With replacement hardware in hand, I went about fixing everything I blew up in my last experiment. I'm getting better with my hot air rework station and quickly had an ADS1115 replaced. In addition to destroying all three ADS1115 chips, I also managed to short something that destroyed the Atmel CPU on the I/O shield—for the second time. It too was changed out quickly.
It was time to implement a little current protection to protect my replacement A/D converters. I used precision 100k resisters to both protect the circuit, as well as a 22 μF cap for a producing low-pass filter. I quickly had the setup working on my test Arduino, and everything looked good. Then I moved the setup to the I/O shield. This time when I powered the I/O shield up there was no smoke. But after a lot of frustration, I found I was not reading anything across the shunt resister. This only happened on the I/O shield.
I tried hooking up my bench top power supply to the analog input, and it was reading that just fine. But it refused to read anything on the current resister. Using my multimeter I could see that when I plugged in the current sense into the A/D, the voltage dropped to almost zero. I had a thought and tried disconnecting the Sun Dragon's power from the battery. Sure enough, I began to receive correct current sense readings.
I suspect there is something about how the battery charger is wired into this circuit that is causing the problem. The charger connects all the positives together but switches the negatives for doing it's charge functions. This method of uncommon negatives might be causing me problems. I will have to consult some electrical engineers at work to see if they can shed any light on the problem.
The good news is, nothing exploded this time. The protection offered by the resisters kept whatever strange current loop I have going on from hurting the hardware. So despite not working, progress is being made.