I have a 7S battery (made out of 168 x 18650, 24 each bank) and each bank goes into a voltage divider to make a safe voltage read into two ADS1115. Each ADS1115 has it right address and works fine reading.
the only problem I'm facing is in the first bank (which has no voltage divider and measures between 3,3 and 4,2V (good health of 18650 Lithium battery) is that it reads fine when no charge is being applied to the hole battery, but when charging the voltage get slightly off by a 0,015v.
all the other bank reads well with the charging state.
should I use a voltage divider as somehow needs a load resistor de ADS1115?
should I use a capacitor between A0 and ground to stabilize readings? (I make 50 readings and average them for each bank every loop to have a consistent value)
Is the first battery connected to the ADS1115 or the Arduino ?
Could you apply the charging and measure the GNDs ?
What is the voltage between the minus of the first battery and the ADS1115 GND ?
What is the voltage between the minus of the first battery and the Arduino GND ?
That is a very small error. My guess is that its due to charging current flowing through a path with a small resistance. You may want to look at how your grounds are connected, especaially your charging circuit - which is not shown in the diagram.
So you are saying: we are getting there, but we are not there yet
I think that the resistors of the voltage dividers are too high in value.
The ADS1115 has a input impedance in the range of MegaOhms, and a input leakage current of -10 to +10µA.
Do you know the internal leakage current of your batteries ? If you lower the resistor values and are still below 10% of the leakage current of the batteries, then you would almost not notice it.
Can you add a protection resistor at the input of ADS1115 for the first battery ? Perhaps the ADS1115 is damaged because of a missing protection resistor. For example 10kΩ in the signal line between the battery and the input of the ADS1115.
Which internal voltage reference of the ADS1115 do you use ? I hope you don't use the 5V of the Arduino as voltage reference. That would be bad in more than one way.
A "star ground" is better than randomly connected GND wires, but it is still not ideal.
You measure the + side and the - side of every battery, except for the first battery. You also need to know the voltage of the - side of the first battery. If that is lower than the GND of the ADS1115, then you have a problem.
The ADS1115 can't use that. It always uses it's internal reference.
That should be 4.096volt (PGA1), not the default 6.144volt (with a lower resolution).
That means battery#1 also needs a voltage divider.
It's only a matter of connecting ADS ground directly to the negative terminal of the battery (Kelvin connection), not a grounding scheme as drawn on the diagrams.
Because the ADS (in single-ended mode) measures between the inputs and it's ground.
You can (should) connect other (Arduino) grounds to the same point.
Sure, you can reduce ground differential with heavier wire, but it's better to eliminate.
By measuring the voltage where it originates from (+ and -).
Replace every wire in the diagrams with a (1 ohm) resistor, and you'll see what I mean.
this seems like a funny advice until I tried just a few minutes back with a second parallel wire from ground of the battery to the ground of my solar controller Arduino and with easy I got from 20-30mV to just 5mv or so, also values where more near TRUE values of a good multi tester
so It seems that having not so much cable or good cable or short cable works agains the current flow in my circuit.
will try with better-shorter-wider cable to see what happens