Battery stack voltage measurement - good vs cheap - Page 1
Forum section: electronics / projects

author: poorchava
author_rank: Super Contributor
timestamp: October 29, 2021, 01:24:55 pm
content: Hi, I have a project, where the customer wants to monitor some Li-Ion battery packs. So the thing is not for series production, but a few dozen of those will be made for large scale battery pack testing, with some more in the future.We need to measure cell voltages on 2...14S battery packs in completely unknown condition (including shorted/dead cells). Now there are specialized chips from AD/LT, TI and others, but they are either extremely complex and/or expensive and/or have lower limit on number of cells and/or require NDAs. Also, the customer wants to avoid using super-specialized parts if at all possible, because of current semiconductor shortage (we already have had 2 projects that went tits-up and are currently on indefinite hold due to critical parts being on back order with lead time of "honestly, we don't know"). So the only reasonable solution seems to be to build it out of opamps. At 60V max pack voltage it should be possible without floating circuits etc. The goal is to achieve <10mV accuracy on cell voltage as cheaply as possible. Most modern precision opamps are 5V parts, so 3.3V will be assumed as opamp supply. Every channel will be 2-point calibrated using linear function.Now I've come at a few solutions:1. Make a diff-amp using precision/autozero opamp with .1% resistors. Obviously common mode is an issue, so the diff amp gain will have to be in the order of 1/20, which means output voltage in 150...210mV range, and this has to be amplified by another non-inverting opamp to fit the ADC dynamic range. In general 28 precision opamps are needed. Most likely this will offer best acuracy.2. Make diff amps as in 1) and then mux the results into a single non-inv amplifier, this would result in 15 precision opamps. This is obviously slower than 1., but speed is not an issue. Potential issue I see is additional error due to a multiplexer in the analog path.3. Make 14 different dividers feeding into buffer opamps, subtract voltages in the CPU. This cuts the number of precision resistors, although many different values would be required and therefore cost of a single resistor could end up pretty high (0.1% resistors seem to be ~0.1€/piece at 100s). Requires 14 opamps.4. Make 14 different dividers as in 3, but feed them into a mux, and buffer after the mux. This reduces opamp count to 1.What would you do and why?Currently I want to use Microchips MCP6V79 as opamps, since they seem to offer good price/performance ratio, have high CMRR and other parts I'd use in such situation are not available.

author: mycroft
author_rank: Regular Contributor
timestamp: October 29, 2021, 02:34:26 pm
content: Use 14 relays? Since the current is small and the switching infrequent they should survive a long time.

author: poorchava
author_rank: Super Contributor
timestamp: October 29, 2021, 07:34:48 pm
content: Relays would be a solution, but the cost would roughly equal that of an opamp solution. I don't think I can get a miniature relay below 0.5€ a piece, which is what a 1 channel of MCP6V79 costs, also the relay would have to be of decent quality to actually endure the number of cycles. Plus being in the same room as a 100 of such units would probably make anyone nuts.In the past I'd probably just use 14 0.5€ stm32's reporting readings through some cheap optocoupler, but nowadays those are unavailable. The ADC and internal VREF in STM32 are just good enough to get a confident 0.2..0.4% accuracy over 0...55*C (for comparison, some 12bjt ADCs in PIC microcontrollers have something like +/- 13lsb of INL+SNL, which effectively makes them same as good as an 8bit). We're mostly talking about 100Ah + cells here, so the current draw of some low powercu would be negligible.I mean this design will be based on a TI C2000 series DSP, just because we have lots of them in stock and they have CAN bus and a decent ADC.

author: salihkanber
author_rank: Regular Contributor
timestamp: October 29, 2021, 08:50:33 pm
content: Have you checked monitoring IC's from Chinese manufacturers? Afaik chip shortages do not seem to happen with them and some major designers I know switched to Chinese mics, motor controllers etc. They lack tech sources and support but..https://www.hindawi.com/journals/js/2021/6611648/

author: mycroft
author_rank: Regular Contributor
timestamp: October 29, 2021, 08:56:15 pm
content: Check this one:https://www.arrow.com/en/products/tq2-l2-3v/panasonic.Expected life (mechanical) 1E7 cycles.

author: Kleinstein
author_rank: Super Contributor
timestamp: October 29, 2021, 09:21:05 pm
content: CMOS switches are resonable available up to some 30-36 V (max. limit 44 V) (e.g. DG408, DG508 or simular). This would be just enough to span a +-30 V range with 2 separate MUX xhips with a separate supply: one half for the positive side and one for the negative side. With a divider and reasonable high resolution ADC (e.g. 16 bit range) one should get away reading the voltage taps one (or two, pos. and neg side separate) at a time in a reasonable fast sequence.

author: wizard69
author_rank: Super Contributor
timestamp: October 30, 2021, 02:36:49 am
content: How old school are you willing to go??? There are many retro approaches if you are really in need and can't or don't have the time for a modern approach.You could always use a "Stepping Relay" such as seen here:https://www.surplussales.com/switches/SWLedex-1.html.Depending upon what you actually get these where pretty reliable and where seen in telephone switching hardware years ago.An allied technology would be old drum switches or sequencers (not the AC reversing switches). I'm not even sure these are available any more. What I'm talking about here is the type of drum switch that might have been found in a robot from the 1960's or 1970's. In the the simpler forms these where nothing more than a motor driving a bunch of cams, each cam setup to actuate a switch.Now that the look back in history is done, have you consider a data acquisition unit from the likes of Keysight (or whatever they are called now). On the surface they may look expensive but if the goal is to test a potential product why not use real test and measurement hardware. You would need to carefully consider the available cards to see if they can operate as needed. In any event if you are making test hardware why not use test instrumentation that is already engineered and focus on software. Now I haven't used such hardware in a high voltage application but I can't imagine that this hasn't come up before.

author: David Hess
author_rank: Super Contributor
timestamp: October 30, 2021, 03:56:52 am
content: The complexity of implementing a multiplexer which operates above the supply voltage makes one of the dedicated solutions more attractive. But here is what I would try:Instead of implementing a separate divider and operational amplifier for each voltage, I would use one operational amplifier configured as an inverting amplifier with the non-inverting input tied to the positive supply. Then each input resistor, likely all identical 0.1% or better resistors, can be switched to the inverting input using a JFET or depletion mode n-channel MOSFET, or an enhancement mode n-channel MOSFET. If n-channel MOSFETs are used, then a charge pump will be needed to boost the gate voltage above the positive supply. JFET or depletion mode MOSFETs are instead pulled to the negative supply to shut off which is a little easier, but they are not quite as available.When one channel is on, the inverting amplifier produces a negative output referenced to the positive supply, which becomes common. Some ADCs can read this voltage directly, or it can be referenced to the negative supply and inverted with another amplifier.The non-inverting version of this circuit produces an output referenced to the negative supply which seems more convenient, however the JFET or MOSFET switches are more difficult to control because their source voltage varies with the measurement voltage. This would not matter with charge pumps driving n-channel MOSFETs so maybe this would be preferred.The channel resistance of the transistor switches create a gain error term however at reasonable resistances, it is insignificant compared to the 0.1% or better tolerance. In a precision design a different configuration would be used to remove this error term.

author: Miyuki
author_rank: Frequent Contributor
timestamp: October 30, 2021, 03:42:56 pm
content: Why not just use a simple resistor divider, measure it with any MCU with reasonable ADC with plenty of inputs (differential input is preferred), and then just measure calibration data for it and store them in that MCU?You can easily get to more than 12bit effective resolution with some oversampling.

author: David Hess
author_rank: Super Contributor
timestamp: October 30, 2021, 09:52:49 pm
content: Quote from: Miyuki on October 30, 2021, 03:42:56 pmResolution is increased by oversampling lowering noise, but this does not inherently increase accuracy.