Electrical – Configuration to measure voltages of batteries in series

adcbatteriesmicrocontroller

I'm implementing a battery voltage monitoring system which uses the MCU ADC differential mode like the picture below. The batteries are connected in series and I'm quite sure that battery ground and MCU ground are isolated. The MCU is the F28377S from Texas Instrument, it's a 3.3V MCU, it has 16 single ended ADC channels that could be paired up into 8 differential channels.

With this configuration, I hope that there will be no ground connection between the charger and and the MCU. With the ground completely isolated, no common mode DC offset, the MCU will be able to handle a 12V battery pack since its ADC only tolerates up to 3V.

enter image description here

Best Answer

This would work IF and ONLY IF

  • EITHER you can isolate the 6 x 2V cells from each other at all times that connections are made to the MCU

  • OR the ADC pairs are switch connected one at a time to the cells by 2 pole switches which otherwise provide complete isolation.

It is very unlikely that the first arrangement above would be practical, and it is unlikely that you envisaged the second arrangement which is "easy enough" but which requires 6 x isolated 2 pole switches.


If you connect the ADCs as shown the mcu WILL DIE.
As the cells are interconnected you have 6 voltages in the battery stack - 0 2 4 6 8 10 & 12 Volts.
ADC B4/B5 see 2/0 V
ADC B2/B3 see 4/2 V
ADC B0/B1 see 6/4 V
...

ADC A0/A1 see 12/10 V

SO

ADC A0/B5 see 12/0 V
= 12 volt difference
= Death.


For this to work as you describe the ADC channels need to have "input common mode voltage" capabilities equal or above the highest voltage to be applied. In this case if that is a lead acid battery Vmax ~= 15V + any spikes, noise etc.

One way to accomplish this is to use suitably common mode rated differential input instrumentation amplifiers per channel.

An easy way to accomplish this is to use ground referenced voltage dividers to bring the Vmax within the ADC allowed common mode range. In this case dividing say 15V say down to say 2.048V (a potential reference voltage requires a divide ratio of 15/2.048 or just under 8:1. With an 8:1 divider you would lose log_base_2(8) = 3 bits of ADC resolution. With a 12 bit ADC you get 12-3 = 9 bits of resolution or about 0.2% of Vfullscale. With an 8 bit ADC you get 8-3 = 5 bits = lower than may be desired.

Related Topic