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

  • 2
    \$\begingroup\$ You will have 12 volts between ADC A0 and ADC B5 - I'm sure that will exceed the allowable input voltage range of the MCU, whether the battery and MCU ground are isolated from each other or not. \$\endgroup\$ – Peter Bennett Sep 15 '16 at 4:33
  • \$\begingroup\$ Would you please elaborate your comment? Thank you. \$\endgroup\$ – kingyo Sep 15 '16 at 4:43
  • \$\begingroup\$ Even if the grounds are floating, how would your MCU handle the 12 V difference between ADC A0 and ADC B5? \$\endgroup\$ – winny Sep 15 '16 at 7:45

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


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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.