So, my quick question to tinfever would be, does any of the EEPROM data look like configuration data for the BMS chip? I'm guessing some of it is likely to be info like battery parameters (min/max safe charge voltage/current etc) but does anything you (or anyone else?) has extracted, look like data that is dumped directly into the BMS chip's configuration registers? i'd be interested to find out if there's any information we could garner about remaining capacity, dis/charge cycles etc once the bulk of the EEPROM data has been ruled out.
I honestly haven't analyzed the stock EEPROM data much. However, I would guess it is mostly logging data and also a record of tripped flags. For example, when you run the vacuum until the battery gets too low and cuts out, it remembers that it had a low battery cutout and even if the PIC loses power (like it does when the BMS board goes to sleep), it remembers that flag was set and only clears it when you connect the charger.
I'd guess the min max voltages and safe current settings are all hardcoded in the firmware. EEPROM would only make sense to use for data that changes over the use of the battery. For anything that is always the same, like the cell low voltage cutoff limit, I don't see why they'd use any of the precious 256 EEPROM bytes.
The BMS IC doesn't actually have much configuration loaded in it, other than the overcurrent and short circuit levels and time windows, and few other boring operational settings. Nearly all the smarts are in the MCU.
I'm glad it sounds like you had success in repairing your vacuum, or at least bringing someone else's battery back to life
When you said that the cells were balanced but the vacuum was still cutting out very quickly, those may be cells that have legitimately aged and now have higher ESR (a normal age/use degradation thing I think). High ESR cells may measure fine with no load, but as soon as you apply a load to them, their voltage plummets. A good cell might have an ESR of 50mOhm, so 3A draw (normal vacuum power) might cause cell voltage to drop 150mV, like going from 4.20V to 4.05V while the load is applied. A high ESR cell with something like 350mOhm (random number I made up) would drop from 4.2V to 3.15V, which is very close to the 3V cutout. Thus, you get very little time until it cuts out but as soon as you remove the load, the cells measure OK.
Hi, thanks for the reply. After reading the forums I did find his firmware and on my Dyson V8 SV10 battery I can confirm his firmware works! Thanks tinfever! on the SV10 it changes the led pattern from how it used to display but no biggie, at least the pack is up and working again.
I'm glad it worked for you!
Only thing is I can only use it on the low suction setting which lasts for 20 mins or so. But even with a fully charged battery when I try the high suction mode I get like 5 seconds and then it cuts the power and blinks the blue led 3 x, 3x, 3x, 3x then back to a solid blue led on and after that led turns off (I’m guessing it goes to sleep) only after the last led turns off can use the vacuum again, and once I can the led blinks 6 times indicating it’s still fully charged.
I'm curious, was the battery able to operate longer in high suction mode before installing my firmware? What it sounds like is happening is under the high suction mode (draws 17A vs 3A in low suction mode) any higher ESR of the battery cells is greatly exacerbated like I describe earlier in this post.
My thought was even though I balanced charged the cells before I put the pack back together, maybe I didn’t do it correctly and the cells are still out of balance so when the high output is used the bms sees the unbalance and cuts off power? I’m going to check cells again and and see if that could be the case. Does anyone know of a sequence to properly balance the cells? I’m using a Hyperion 6 cell charger (which I use for my Traxxas batteries) with the balance wires soldered on the leads of battery, I first used the balanced function which lowers all the rest to the lowest cell and once finished I use same charger to charge which is also balancing them as it charges. Only thing I didn’t do is to let the battery sit after the first balance, perhaps the cells need to sit to settle down to their nominal voltage and then rebalance a second time before charging?
My firmware doesn't lock you out if the cells are far out of balance. However, it will shutdown with those 3 blue blinks if any battery cell goes too low. Of course, it can only charge the battery pack until the highest cell hits 4.2V, and only discharge the pack until the lowest cell hits 3.0V, so if the pack it out of balance, you'll get diminished usable battery capacity.
I don't claim to be a Li-Ion battery expert, but I don't think there is a terribly wrong way to balance a pack. As long as the cell voltages are all close together after letting the pack sit for a few minutes, I'd consider it successfully balanced. The way I would recommend balancing it, at least with a bench PSU, is to charge the battery pack with the normal charger until full, then charge the cells individually with the bench PSU set to 4.2V and a current limit of maybe 500mA (all assuming no cell is terribly low like 2V). Once the cell being charged goes in to current voltage mode, you'll see the current going in to the cell slowly drop. Once it drops to maybe 50mA, you can probably consider it done. Rinse and repeat for any cell below 4.2V. Once you are done going through all the cells, they should all be pretty close to 4.2V. They will drift a bit after you stop charging though.
At that point, you could call it done balancing. Or to be extra thorough, you could use the battery pack until low voltage cutout, charge it back up again with the normal charger, and then recheck the cells and rebalance any lower ones.
Using the cell charger that also balances like you described also sounds perfectly fine. As long as all the cells are close together and all near 4.2V when completely, I'd call it a success. Waiting a few minutes and rebalancing isn't going to hurt anything either though.
Does anyone know of an aftermarket BMS for these batteries that will actually balance charge the cells? I bought a battery off Amazon to try out and after I charged it and discharged it a few times I did a time test with out the carpet head and on low setting and the battery only lasted 10 min when they advertised 35-40 min. Either I got a bad battery or they are full of crap! I’m leaning towards the latter. But I opened that battery up to see if they were at least balance charging them and found the circut board had all the populated slots to solder the tabs going to each cell, however they weren’t even being used as there was no tabs/leads coming from the other cells even though there were spots for them in the shell moldings. And looking close the populated slots don’t have any traces going anywhere top or bottom of PCB.
That's disappointing to hear the battery off Amazon doesn't even monitor the voltages on each cell, let alone balance them. Unfortunately I haven't worked with any of the aftermarket BMS's or batteries so I can't help much there.