Question regarding ADS1115 project

Hello all,

I hope everyone is doing well! I am currently working on my Battery monitoring system project for my electric car which has a 41S lifepo4 pack, and I am trying to make 12 cell battery monitoring boards. With this I am using 3x ADS1115 boards with a nodeMCU. I am using the ADS's in single ended mode, and I will tie arduino GND to the negative most terminal of the 12 cell group. I will then use an isolated Dc/DC converter to power each board so that it stays isolated from chassis GND on the car. How I measure them is I basically have voltage dividers for each cell, consisting as a 100k ohm as the leading resistor and a 6.9k ohm as the secondary resistor of the voltage divider. I did this so that the arduino can read each step up in voltage as it goes along the string of 12 in series, and then subtracts them from one another to calculate the voltages. not sure if this was the best way to do things, but I got all of them to read very accurately.

Anyways, when a group of 12 cells are sitting on the bench, the board measures all of them perfectly! But the second I start to charge the cells, the voltages are reading all wrong, except for the first cell. I didn't bother to include arduino code because I don't know how relevant that is, I feel like this is more just wiring and theory, but if you guys need that, let me know I'll post it.

Anyone know why this is happening? In my head I thought I had done everything right but apparently not...been working on this darn project for 4 months now and ready to get it finished!

Thanks!

Adam

I think a circuit diagram is the first thing we need to see.
And a picture of the actual build.

YoungestEVer:
not sure if this was the best way to do things

Could have used a "flying capacitor" setup with 41 small DPDT relays, and one A/D input.
That would have had zero drain on the battery bank, except for the measuring Arduino when active.
No "floating ground" problems either. And full resolution of the A/D.
Leo..

Wawa:
I think a circuit diagram is the first thing we need to see.
And a picture of the actual build.
Could have used a "flying capacitor" setup with 41 small DPDT relays, and one A/D input.
That would have had zero drain on the battery bank, except for the measuring Arduino when active.
No "floating ground" problems either. And full resolution of the A/D.
Leo..

Thanks for the reply. I am attaching my schematic and a photo of the board, note that the NodeMCU is not pictured or in the schematic, but the board has Vin, GND, SDA, and SCL out that connect to the same on the NOdeMCu board.

Also, I will get reading on that thread you sent, thank you. But in regard to the way I tried to build this, why was this problem happening to begin with? I am just curious if anyone knows because I love learning these things

Schematic_12-Cell-BMS_BMS-Cell-Tap_20190702191150.pdf (79.2 KB)

IMG_4957.jpg

Nice build. Don't see a problem on the ADS side.
I suppose you power the board with 3.3volt (ESP8266 logic).
6k9 dosn't make sense though.
Charging voltage of a lifepo4 12-pack should be 43.8volt (3.65volt per cell).
100k:6k9 works out to 2.83volt for the stack.
I would have expected a matching divider for a PGA gain of 2 (2.048volt).

Not sure what the actual charging problem is.
Probably need to see a link/picture/diagram for those "isolated DC/DC converters".
Leo..

Thanks for the reply.

I used that combination or resistors so that u can use these boards with lithium NMC (lipo) down the line, so that’s why it’s quite a bit higher than you’d think for lifepo4.

As I’m testing, I’m not using an isolated DC converter yet. The isolation isn’t too important just testing on the bench with 12 cells in series. But in regard to the power of the esp8266, the nodeMCU accepts 5V for the VIN, so it’s supplied with that.

Is the flying capacitor design worth redesigning everything over? I’d prefer to try to figure out what the issue is charging and why the values change instead of redesigning everything, but whatever it takes I guess

The NodeMCU accepts 5volt on it's V-in power pin, but the processor works on 3.3volt.
So you must power the ADS board from 3.3volt, to protect the ESP8266 from 5volt logic signals from the ADS.
This is not a problem, as long as you select the right voltage divider and PGA gain.
As said, a PGA gain of two (2.048volt range) and a divider for 2.048volt max would suit a 3.3volt ADS supply.

Tell us more about this charging setup.

Problem with this design is that the grounds of two sets of ADS/NodeMCU are floating on a dangerous/lethal voltage.
Another problem is constructing a mesh network for these three NodeMCUs.
Floating cap? Maybe next design.
Leo..

Edit: The three ADS boards can be powered from the NodeMCU's 3.3volt pin, since they draw very little current.
Some buffer/smoothing capacitance (~220uF/6.3volt) on the 3.3volt supply of the ADS board could be needed.

Thanks for the reply. All that makes sense, thanks for that input about the input power.

My charging setup right now is with an elcon 2.5kW Charger and I’ve got 41S 200ah pack so charging time right now isn’t bad, but I just got my hands on a new TC charger that’s 6.6kw that’s liquid cooled and runs on CAN. So I wanted to teach myself CAN and wanted to build a BMS system to go with that.

Do you really think that input power would have anything to do with this issue? I personally think that it isn’t impacting right now, but that’s definitely something I need to fix like you’ve said.

Do you think the voltages peak high when it’s charging because the charging leads are right there connected on the same alligator clips as the voltage sense leads? Because it’s so sensitive, could that be causing the false readings when charging?

Would testing out the setup by using alligator clips as the sense leads possibly cause the problem? I am just not sure...

After thinking, could the issue mentioned above with my build have to do with simply electrical noise when I start charging? Should I add like 0.1uF ceramic caps between each input of the ADC and GND? Will this reduce noice? I don’t really use caps too often so I’m kinda struggling if that’s the right capacitance, or if that’s the right place for them, or if it’ll even fix the problem at all.

Any thoughts? Thanks for any help, it’s really appreciated

Don't know how you're poweriing the NodeMCU now.
PC/laptop, or from that battery bank.
There could be groundloop noise from that charger that upsets your readings.
Who knows if we can't see the whole setup.
A 100n ceramic cap from each A/D input to A/D ground might be wise.
As is the ~220uF smoothing cap on A/D VCC that I mentioned in post#5.

Could use a common 5volt phone charger, connected to the USB socket of the NodeMCU, to power one NodeMCU and A/D board. Shouldn't be a problem to power the phone charger from the full DC volatage of the 41C battery bank.
Leo..