Sensing large battery pack cell voltages? - Page 1
Forum section: electronics / projects

author: Artlav
author_rank: Frequent Contributor
timestamp: June 17, 2014, 08:09:30 pm
content: How does one sense cell voltages in a battery pack with a uC?The microcontroller is at 3.3V, the battery pack is up to 30V, with 12 cells in it.I can think of two ways that are not ridiculously overcomplicated:-A resistor divider, bringing every cell's voltage into ADC range.Would need quite a high precision ADC, and to get actual cell voltages you'd need to know every one of them, then add up and multiply.The higher the cell is, the lower the precision.-Differential amplifiers, one per cell.I.e.That gives out cell voltages in proper scale for ADC, with no need to add or otherwise account for other cells.However, that seems suspiciously simple.I googled for a bit, but couldn't find any reference to this way of pack voltage sensing.If it is that simple, why isn't it mentioned anywhere?What is this called, googleable, and how to do it properly, what parts to use?If not, why not?And, once again, how to do it properly?Another issue i can think of with both ways is that over long time it would unbalance the battery, since the cells are getting different loads on them through all the resistors.Bonus question: What would be a good way to sense 12 voltage lines by a uC?Use an analog multiplexor, like 74HCT4052, and onboard ADC?Use some sort of 12 channel ADC with I2C/SPI output?I'm looking for part numbers.

author: Richard Crowley
author_rank: Super Contributor
timestamp: June 17, 2014, 09:48:58 pm
content: We kicked this problem around over on the Arduino forum.One of the more brilliant solutions was to put a cell-powered precision voltage to frequency converter across each cell, and then capacitively (or optically) couple each output to a simple multiplexer (like a 4051, etc.). Clearly, what is practical (or not) depends a great deal on other factors not in evidence here.

author: NiHaoMike
author_rank: Super Contributor
timestamp: June 17, 2014, 11:50:05 pm
content: Your best bet is to use a chip designed specifically for that application.

author: dannyf
author_rank: Super Contributor
timestamp: June 18, 2014, 12:19:23 am
content: 3. use a multiplexer to switch to a divider;4. use a mcu controlled divider bridge;...QuoteThat may not be an issue depending on your requirement for precision.

author: peter.mitchell
author_rank: Super Contributor
timestamp: June 18, 2014, 01:06:15 am
content: http://www.ti.com/lit/ds/symlink/ina149.pdf

author: Artlav
author_rank: Frequent Contributor
timestamp: June 18, 2014, 02:20:59 am
content: Quote from: dannyf on June 18, 2014, 12:19:23 am0.05V or so, enough to detect over-/under-discharge conditions.Quote from: peter.mitchell on June 18, 2014, 01:06:15 amNice!Expensive and somewhat hard to get, however.Would INA132 work instead?I assume the opamp idea does in fact work?Quote from: Richard Crowley on June 17, 2014, 09:48:58 pmInteresting. Got a link?What sort of voltage to frequency converter was proposed?Quote from: NiHaoMike on June 17, 2014, 11:50:05 pmSuch as?LT makes a lot of such nice chips, but getting anything from LT over here is an ordeal.And i don't know how to search for anything else.

author: NiHaoMike
author_rank: Super Contributor
timestamp: June 18, 2014, 03:35:06 am
content: http://www.maximintegrated.com/en/products/power/battery-management/MAX14920.htmlhttp://www.ti.com/product/bq77pl900

author: digsys
author_rank: Unknown
timestamp: June 18, 2014, 09:54:26 am
content: I've been doing EV / Solar EV BMs for years and IMO there is only one IC that you'd ever consider - LT1990 (or it's friends)+/- 250V differential IP, x10gain option, cheap and very accurate. I've posted schematics here in the past.

author: gardner
author_rank: Regular Contributor
timestamp: June 18, 2014, 05:26:05 pm
content: Mouser prices Analog Devices ADuM3190 Isolation Amplifiers at $3, a buck less than the LT1999 on Digikey. They do need powering on both sides, which would likely bring the cost back up. But they are fully isolated to 2.5KV.

author: David Hess
author_rank: Super Contributor
timestamp: June 22, 2014, 03:34:11 am
content: Another design I have seen uses a small signal flyback transformer for each cell and measures the pulse height on the low voltage side during the flyback interval. Ah, it was a Linear Technology application note:http://www.linear.com/docs/25643

author: jahonen
author_rank: Super Contributor
timestamp: June 22, 2014, 08:48:25 am
content: There are multicell voltage monitors, such as LTC6803-x, 12 bit ADC and whole level shifting thing in a SSOP SMD package. Up to 12 cells in series. Not the cheapest thing, though.http://www.linear.com/product/LTC6803-1Regards,Janne

author: Artlav
author_rank: Frequent Contributor
timestamp: June 22, 2014, 03:31:54 pm
content: Meanwhile, ordered a couple of MAX14920.These sound like almost perfect for my case, and is not too hard to get.LTC6803 looks great too, but being LTC it's not easily obtainable.bq77pl900 is somewhat wrong, both in cell count and in feature set.Nice to see such chips available, at fraction of the cost and size of separate op-amps.For all the amp chips proposed, i can't quite see what is so special about one or the other?Wouldn't any one that can do the voltage work?Anyway, thanks all for directions!

author: dannyf
author_rank: Super Contributor
timestamp: June 22, 2014, 04:23:47 pm
content: Look up their common volt range.

author: nctnico
author_rank: Super Contributor
timestamp: June 22, 2014, 09:05:52 pm
content: Quote from: NiHaoMike on June 17, 2014, 11:50:05 pmI fully agree. TI has battery monitor chips for this purpose.

author: Artlav
author_rank: Frequent Contributor
timestamp: July 16, 2014, 09:50:47 pm
content: Follow-up, and some observations.I ended up using MAX14920.It's TQFP64 and is close to the upper edge of what can be etched and soldered at home, but is manageable.Schematic:Layout:The chip is great, and allows sensing 12 cells.The SPI controls which cell to measure, and an analog output produces it's voltage shifted to ground, to be measured by AVR's ADC.Current limiting resistors are not "optional", as datasheet claims, but mandatory - during battery attachment/detachment it tries to pull all the current out.The balancing in the chip is somewhat of a meh - it's internal pull-down resistors draw 6mA or so from the cell when balancing outputs are high, and that screws up the voltage reading by drops across the limiting resistors.You have to compensate by turning it off and on around the measurement times.Also, a 1V threshold FET does not mean that it would open to any useful amount at 1V.Or 2V for that matter.So, much more power gets dissipated in the chip as in the balancing resistors.I'm still looking for a true 1V threshold FET.A linear regulator is enough to power the logic - with a proper firmware the total circuit power consumption of a few mA ends up less than or close to the quiescent current/self-consumption of switch mode regulators.All in all, it's a nice chip.Thanks all for advice and recommendation.

author: woodchips
author_rank: Frequent Contributor
timestamp: July 17, 2014, 02:28:28 pm
content: With the cost of microcontrollers with an ADC almost at zero, why not just put one per cell with a simple capacitive serial interface to the main decoder etc board?

author: JonnyBoats
author_rank: Regular Contributor
timestamp: July 17, 2014, 03:08:41 pm
content: Are you using Kelvin clips (https://en.wikipedia.org/wiki/Four-terminal_sensing) on the cells? These are essential if one wants the kind of precision necessary to determine state of charge and health of the cells.

author: Richard Crowley
author_rank: Super Contributor
timestamp: July 17, 2014, 04:15:41 pm
content: Quote from: JonnyBoats on July 17, 2014, 03:08:41 pmPresumably themeasurement currentis very very low, and Kelvin connections would add nothing to the accuracy.