Battery Cell voltage measurement - switched cap vs opamp deltaV? - Page 1
Forum section: electronics / projects

author: max_torque
author_rank: Super Contributor
timestamp: February 01, 2023, 04:22:46 pm
content: On my continuing saga of battery management and specifically cell voltage measurement for long string batteries, i have moved away from a commercial cell voltage measurement chip due to it's high cost and very poor availability (if you want any component that say VW or FORD want too, they will always get the ones being made in times of supply constraint.........) and have a dev board being made up using a basic switched capacitor type arrangement where an analogue switch couples a small cap to each cell in turn, then brings it down to the ground ref of a 12b ADC. This is a pretty cheap and easily sourcable (multi sourcable atually using std components available from multiple manufacturers) solution, but i am worried about things like charge leakage and charge injection. Ive done a lot of simulation and think i have some reasonably optimium starting values and a decent(ish) system.However, i am a bit worried that it would be "better" to use a opamp as a simply voltage shifter to achieve the same things, or perhaps to even just use (switchable-offable) resistive dividers and a higher resolution ADC etc? Both approaches seem simpler, but have some issues such as CMRR and resistor matching that is not that hard to ignore without using expensive high tolerance parts.So, back to the start, i have:4 cell string, of between 2.5 and 4.25 Volts for a string max of about 17v.Want to measure cell voltage with better or equal to 1mV resolution and about 0.5% absolute accuracy across a temperature range of -10 to 65 degC (accuracy can get worse outside of these limits)There will be significant common mode noise in a spectrum spread between approx 50 Hz and 1MHzThe system should be not be damaged by a voltage of 60Vdc appearing between any of its connections continuouslyThe system should ideally not be damaged by a voltage of 300Vdc appearing between any of its connections for up to 10msThe system should fail gracefully when gross and continuous voltage application outside of those cases is appliedThe current drawn from a single cell i the string should be limited and each cell should be equally loadedThe current drawn from the string should be used to power the circuitry, ideally i'd like to keep average current at around 50mA when measurin and sub 1mA when not measuringWHat would people do? Any experience?1) 14 noise free bits and switchable 0.1% resistor dividers would do it with a suitable accurate voltage referenceor2) Low offset opamps as voltage subtractors would enable the same resolution with a 12b ADC (makes it possible to use an on-board ADC in a uC) but resistor spec and CMRR start to look a bit problematicor3) other architectures?I'm going to continue with the switched capacitor architecture through to some basic test h/w, but i'd very much like to understand other options and to have a "fall back plan" all queued up and ready

author: pqass
author_rank: Super Contributor
timestamp: February 01, 2023, 06:18:32 pm
content: Quote from: max_torque on February 01, 2023, 04:22:46 pmEach individual cell has a voltage-to-current converter whose output is gated onto a common bus.That bus is terminated with a resistor to ground.An ADC measures the voltage across this resistor as logic turns on each voltage-to-current converter sequentially.See the BJT implementation (not the one with the optos):https://www.eevblog.com/forum/projects/diy-bms-for-measuring-the-voltage-of-individual-cells-in-a-pack/msg3897641/

author: MasterT
author_rank: Frequent Contributor
timestamp: February 01, 2023, 06:40:33 pm
content: Application Note 112Developments in Battery Stack Voltage Measurement

author: max_torque
author_rank: Super Contributor
timestamp: February 01, 2023, 06:59:45 pm
content: Quote from: MasterT on February 01, 2023, 06:40:33 pmI wonder if that circuit was ever run on a real battery and one that had as much common mode noise as i have? (i have a >600kW inverter firing it's gates off at 20kHz next to the battery....)One of the attractions of the switched capacitor sampling was the inherent differential and "sample and hold" nature of it.

author: max_torque
author_rank: Super Contributor
timestamp: February 01, 2023, 07:02:01 pm
content: Quote from: pqass on February 01, 2023, 06:18:32 pmwhilst clearly a valid approach this would need a fair amount of work especially in compensation to return the real world / application resolution and accuracy i am looking for i think?

author: max_torque
author_rank: Super Contributor
timestamp: February 01, 2023, 08:31:23 pm
content: Another option to leverage someone elses precision and hard work (and EOL trimming.....), ie use an COTS high side current sense amplifer.Something like an INA180 which is relatively available and fairly cheap:https://www.ti.com/lit/ds/symlink/ina180-q1.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&ts=1675281317110&ref_url=https%253A%252F%252Fwww.mouser.co.uk%252F26v of common mode capability so plenty for a 4 cell stackWould have to use a reasonably precision high resistance value divider to bring the cell voltages down into the range of the ampliers inputs (150mV approx) (unless buffered behind some sort of front end amp/buffer) but i would plan to do a bench cal on each device anyway, so the absolute errors could be cal'd out, leaving just tempco errors for those resistors. Also i think a nice high impedance input path way is good for over voltage protecton and i guess a suitable "differential" sytle layout is going to be ok for CMRR too?Will have to check what sort of sense resistor value can be tollerated by the device to maintain it's offset voltages and accuracy, because normally that device would have a pretty low resistance between it's IN+ and IN- inputs?

author: uer166
author_rank: Super Contributor
timestamp: February 01, 2023, 09:06:12 pm
content: Quote from: max_torque on February 01, 2023, 06:59:45 pmHow big is each individual cell? If big enough, it can warrant it's own small MCU doingjustthat cell, and feeding the data to the next MCU in a daisy chain (you only need to level shift/isolate by a cell voltage in this case).Lots of solutions proposed are DOA due to asymmetric loading of each cell, throwing the pack out of balance. The rule #1 of a big battery BMS is do no harm, which means:Extremely low power consumption overall, in the order of the self-discharge of the cellsBalanced power consumption per cell; this is a challenge if you have level shifting to the common railReliability in case of failure (e.g. a single point failure shouldn't cause it to drain one of the cells to zero)If you can avoid having balancing, and you only need monitoring, then do so, since it effectively removes the chance of a Battery Murdering Systemtm

author: pqass
author_rank: Super Contributor
timestamp: February 01, 2023, 09:07:22 pm
content: Quote from: max_torque on February 01, 2023, 07:02:01 pmThat thread's OP says his modelling reports: "... Now between -10*C and 40*C the output current only changes by 0.32-0.31%, which i think is a great improvement. ..." See his replies #10..#12 here (includes new schematic):https://www.eevblog.com/forum/projects/diy-bms-for-measuring-the-voltage-of-individual-cells-in-a-pack/msg3901352/#msg3901352Maybe you could just take an ambient temp. reading (via LM35) and apply a global adjustment to the ADC values returned. Additionally, you could also record a calibration factor for every current source (at -10, +25, +65 degC) to achieve your required 1mV resolution and 0.5% accuracy.

author: max_torque
author_rank: Super Contributor
timestamp: February 02, 2023, 08:00:24 am
content: Quote from: uer166 on February 01, 2023, 09:06:12 pmBalancing is a must and is easily actioned with a fairly simple resistive scheme. I have big cells (>100 Ah) so i'm not too worried about the absolute level of current consumption of the system but as you mention the drain must be the same for each cell in the string! That does make some of the schemes difficult, although even with a basic resistive dropper to string ground which clearly un-evenly loads the cells, you can play s/w tricks if that resisitive dividier is switchable-on-off-able (<<< technical term.....) and you only turn it one when you actually want to take an ADC measurement, and you turn the cell droppers on for a different length of time to balance the total energy removed from the cells (ie bottom cells turns on for 4 times longer than top cell)I may actually make a dev board that has a plug in card for the voltage measurement front end and filtering, and that way i can experiment with different architectures whilst keeping my overall scheme the same?

author: uer166
author_rank: Super Contributor
timestamp: February 02, 2023, 07:55:12 pm
content: Quote from: max_torque on February 02, 2023, 08:00:24 amFor 1% a year of BMS load, you'd want 1Ah usage per year. If I did my math right it's a average load of 114uA. Easily achievable with today's low power MCUs.. I suppose switchable dividers can also work here as long as the duty is low. You'll never be able to pull balanced current with dividers to pack- though, regardless of how long or short you keep the pulses, since measuring cell N+1 will pull same current through all the bottom N cells simultaneously. I guess you can use the balancing resistors to cancel that out but it gets messy with more opportunity of screwing up..