Jump to content

Brainstorming - Battery pack surveillance/checking


Chriull

Recommended Posts

Just got reminded again of my idea to check my battery packs.

I did not drive overly much like some others, but my KS16S packs are getting older - so i thought of checking the balancing once. This would make it necessary to open the plastic wrap to access the single cells and then closing it again... Once one does this cables should be soldered onto the BMS, so future cell checks are easily possible. Best with some nice connectors accessible from the outside (without the need to open the wheel) but still weatherproof... ;)

Has anyone done this already with his wheel and found some great solution? I can't remember any reports here?

Second step beside checking the single cell voltages would be the problem of balancing them, once they drifted apart:

- Manually charging each cell (pair) with a "small" li ion charger. My charger could handle up to 6s with balancing (have to look how "good" this balancing is implemented...) - so this would mean charging each pack (2 times 16s2p) 3 times, or in the worst case each cell which is not up to the maximum voltage separately :(. For sure something that i will not too very often ;) But if one starts early enough seldom manual balancing could be more than sufficient?!

- @zlymex once posted a solution with a low constant current source at the charging port to enable the passive balancing of the BMS. I fear that, since the passive balancing just puts some resistance in parallel the cells with voltage above some threshold (~4.1xV?) they still get charged a bit and could reach the overvoltage threshold (~4.2xV?) and lead to a BMS cutoff at the charger input? Could be a solution for small imbalances, but stressing the cells by forcing them to charges a bit over 4.2V? :(

- I just got two ESP32 dev boards - a nice small and cheap thing with bluetooth, wlan, adc and dac. (Also many cheap stm32 with this setup are available - one would have to look in detail what's best for this. Read somewhere that ADC measurements with the ESP32 are totally off once one uses the WLAN...;( ). With this a nice solution could be developed to monitor the cell voltages and charge the not so fully charged cells with the other battery pack or the charger... But I'd assume that this could be some long time project, were in the meantime the wheels are sold with great BMS's that already include this functionality ;)

Would be great to get some input if and how others approached this!

Link to comment
Share on other sites

On 3/18/2019 at 11:38 AM, Chriull said:

Just got reminded again of my idea to check my battery packs.

I did not drive overly much like some others, but my KS16S packs are getting older - so i thought of checking the balancing once. This would make it necessary to open the plastic wrap to access the single cells and then closing it again... Once one does this cables should be soldered onto the BMS, so future cell checks are easily possible. Best with some nice connectors accessible from the outside (without the need to open the wheel) but still weatherproof... ;)

Has anyone done this already with his wheel and found some great solution? I can't remember any reports here?

Second step beside checking the single cell voltages would be the problem of balancing them, once they drifted apart:

- Manually charging each cell (pair) with a "small" li ion charger. My charger could handle up to 6s with balancing (have to look how "good" this balancing is implemented...) - so this would mean charging each pack (2 times 16s2p) 3 times, or in the worst case each cell which is not up to the maximum voltage separately :(. For sure something that i will not too very often ;) But if one starts early enough seldom manual balancing could be more than sufficient?!

- @zlymex once posted a solution with a low constant current source at the charging port to enable the passive balancing of the BMS. I fear that, since the passive balancing just puts some resistance in parallel the cells with voltage above some threshold (~4.1xV?) they still get charged a bit and could reach the overvoltage threshold (~4.2xV?) and lead to a BMS cutoff at the charger input? Could be a solution for small imbalances, but stressing the cells by forcing them to charges a bit over 4.2V? :(

There's a gazillion connectors available, but probably the balancing doesn't need to be done that often. So off the top of my head, if I'd bother doing something like this, at simplest I'd just get something like a basic 40-pin ribbon IDC cable (if you've worked with PC's, it's the "old" 2x20 -pin IDE-hard drive connector), or something with 17 or more wires/pins, cut the cable and strip 17 wires and solder the wires to the cells (16 wires to "+" -sides of the cells, which is the "-" -side of "previous" cell, and the last wire to the "-" of the last cell) , and leave it inside the shell. Since it's a female connector ("holes" instead of "pins"), it shouldn't cause a short circuit at any point (well maybe if there's water inside, but then the connector probably isn't your biggest problem anyway).

idc-flat-ribbon-cable-40-pins-2x20-254-m

tnyOcGR.png

When checking the voltages, you just take 2 "consecutive" (one after another) pins to check the voltage between them. To automate this, you'd need to connect two consecutive wires to the measurement circuit, so that the "low" side is connected to the ground and the high side is connected to the measument high side.

To automate this, my first thought was using something like using a bunch of basic (and older than me) CD4067 16-channel analog switches to select the high- and low-side... you'd put the "high-side" 16-channel from wires 1-16 and the "low-side" from 2-17. High-side would connect to the "+" of the measurement, and low-side would connect to the measurement circuit ground (so the "low-side" / measurement circuit 0V would be at the "top" of the cell "below" the one being measured), and you'd move them one-by-one so that either channels from both would be at the same node of the battery cells (0V) or the high-side would be one higher (single cell voltage). The basic idea is to connect the measurement circuit ground to the negative side of the cell to measure, and leave the rest "floating outside the circuit".

BUT, I don't think the inputs of these analog multiplexers are galvanically isolated, probably just a MOSFET? You'd still have up to 15 * 4.2V voltage between the first and last channel, something that I doubt the ICs could take (= I'm a bit drunk, didn't find anything on a minute glance at the datasheet, and first google results for "maximum voltage between cd4067b channels" didn't sound like they answer my question :P), but the general idea would be to "step" through the cells one-by-one and check the voltage. Or charge, basically you'd just need a simple CC/CV power source with very low output current and maximum voltage of 4.2V, or if the voltage would be lower, the circuit should be able to also sink (enough) current, in case the cell voltage was above it. I'd need a (lot) more time to think this entire thing through really  :P  

It might work, but if you get around playing with this idea, or some derivative of it, better test it without an actual battery first, or at least something that can't spew out large currents :P  There are probably some nice balancing ICs available to get away from all the hassle ;) 

 

Quote

- I just got two ESP32 dev boards - a nice small and cheap thing with bluetooth, wlan, adc and dac. (Also many cheap stm32 with this setup are available - one would have to look in detail what's best for this. Read somewhere that ADC measurements with the ESP32 are totally off once one uses the WLAN...;( ). With this a nice solution could be developed to monitor the cell voltages and charge the not so fully charged cells with the other battery pack or the charger... But I'd assume that this could be some long time project, were in the meantime the wheels are sold with great BMS's that already include this functionality ;)

I have a couple of ESP32's, but haven't used them much. If they have a separate AREF (analog reference) -input, you can use a precision voltage reference (for example, there are fixed voltage references with 0.1% tolerance, or even lower, I check my tabletop HP34401A with 0.05% references, although technically it has precision of 0.0035% DC, but hasn't been calibrated in 10 years) to use for ADCs to vastly improve the precision. About the WLAN and such, if you want to do precision ADC-measurements with pretty much any MCU, you need to shut off things anyway, as anything giving ripple / interference will cause problems with the measurement precision. If memory serves, ATMegas have separate power down-states specifically for more precise ADC measurements, where certain clocks are shutdown etc. to minimize "noise" in the circuitry.

And memory serves:

"AVR® devices have an Analog to Digital Converter (ADC) Noise Reduction mode, that stops the CPU and all I/O modules except asynchronous timer, PTC, and ADC, to minimize switching noise during ADC conversions. It's used when a high-resolution ADC measurement is required."

Don't know if the ESP32's have anything similar, but shutting down all the unrelated peripherals probably would at least help.

Link to comment
Share on other sites

11 hours ago, esaj said:

...but probably the balancing doesn't need to be done that often

That's the point were i have absolutely no idea. If it helps to balance regularly and "early", before the cells drift too far apart - or if it's absolutely uncritical and one just balances once the cells drifted apart too much...

 

11 hours ago, esaj said:

When checking the voltages, you just take 2 "consecutive" (one after another) pins to check the voltage between them. To automate this, you'd need to connect two consecutive wires to the measurement circuit, so that the "low" side is connected to the ground and the high side is connected to the measument high side.

To automate this, my first thought was using something like using a bunch of basic (and older than me) CD4067 16-channel analog switches to select the high- and low-side... you'd put the "high-side" 16-channel from wires 1-16 and the "low-side" from 2-17. High-side would connect to the "+" of the measurement, and low-side would connect to the measurement circuit ground (so the "low-side" / measurement circuit 0V would be at the "top" of the cell "below" the one being measured), and you'd move them one-by-one so that either channels from both would be at the same node of the battery cells (0V) or the high-side would be one higher (single cell voltage). The basic idea is to connect the measurement circuit ground to the negative side of the cell to measure, and leave the rest "floating outside the circuit".

BUT, I don't think the inputs of these analog multiplexers are galvanically isolated, probably just a MOSFET? You'd still have up to 15 * 4.2V voltage between the first and last channel, something that I doubt the ICs could take (= I'm a bit drunk, didn't find anything on a minute glance at the datasheet, and first google results for "maximum voltage between cd4067b channels" didn't sound like they answer my question :P), but the general idea would be to "step" through the cells one-by-one and check the voltage.

Yes - the idea was to make an array of mosfets muxing all the lines, but this will be quite an bunch of mosfets/voltage dividers and gate driving circuitry. ... for not fixed voltage potentials, since every celll could be really dead(0V), almost dead (1,5V) or in some charged state (2,5-4,2xV).

Once one has this cell muxing measuring should (hopefully) be quite easy - with an high accuracy opamp and resistors on could come near to the needed accuracy for 8-10 bit sampling. The 4,2 Volts sampled with finally 1% gives some +/- 42 mV error which is about acceptable...

11 hours ago, esaj said:

Or charge, basically you'd just need a simple CC/CV power source with very low output current and maximum voltage of 4.2V, or if the voltage would be lower, the circuit should be able to also sink (enough) current, in case the cell voltage was above it. I'd need a (lot) more time to think this entire thing through really  :P  

Integrated charging solutions for single cells are well available - just mostly in subminiature housings "without pins" (qfn) :(

11 hours ago, esaj said:

It might work, but if you get around playing with this idea, or some derivative of it, better test it without an actual battery first, or at least something that can't spew out large currents :P  There are probably some nice balancing ICs available to get away from all the hassle ;) 

Investigating the available BMS/balancing/monitoring ICs is for sure worth the time! There should be most solutions available on the market... Less hassle and much higher accuracy with their laser trimmed resistor networks and masses of muxing circuitry inside...

 

11 hours ago, esaj said:

Don't know if the ESP32's have anything similar, but shutting down all the unrelated peripherals probably would at least help.

Yes - they have an ULP (ultra low power) co-processor with access to the ADC and the whole rest of the ESP32 can imo be shut off...

Link to comment
Share on other sites

On 3/22/2019 at 11:09 PM, esaj said:

There are probably some nice balancing ICs available to get away from all the hassle ;)

The AD7284 ( https://www.analog.com/en/products/ad7284.html#product-overview ) looks great - SPI interface, 8 cell measurement, +/- 16 mV, can be daisy chained to 20 or 16 cells.

And offers for passive Balancing Mosfet drivers for each cell - freely programable over SPI. 

4RMC0FW.png

Have to check once, if this external Fets can be misused to inject some constant current for single cell charging ;)

As far as i understand Mosfets and the drivers of this AD7284 one could "open" the drains to "inject" some constant charging current. Since they swith from n-Channel to p-Channel unfortionately there is then no access to VPIN5 (between Cell 5 and Cell 6...) ... ;(

But would be at least an easy, safe and precise measurement and (additional) passive balancing solution - or with some brains and much trial and error this should be possible to be extended to an "real switching matrix"...or there should also exist some real active balancing BMS integrated solutions...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...