You can't keep the clock idle for over 35 milliseconds or the controller drops the conversation.īut don't go TOO fast because SMBus can't go over 100Khz (I2C can do 400). You can't implement SMBus because your code, the windows API, driver, USB stack and controller firmware response overhead added up is over the limit (especially if your serial thing uses only USB1.1). How nasty are the timing constraints? You can implement I2C through a USB serial dongle's flow control pins. or just 1-Wire in more exotic hardware but let's not think about that). SMBus, which is I2C's impatient cousin with nasty hard timeouts and bulk transfer modes not standard in I2C along with a RESTART condition in addition to the START and STOP you normally deal with (. Ok, so how do you talk to these controllers? A sample size of two and the CJ pack was lower capacity to begin with (4.4AH vs 5.2) but still.) a ChangJiang pack at 230 cycles petered out at 50 minutes. (I've actually recently tested a 6-cell LG pack at 540 cycles and it held a 1.5Amp load for 80 minutes. It's also a good bet that brand cells will survive more cycles without capacity loss than ChangJiang ones. You have some options when the battery of your laptop dies: Replace the whole shebang because it's too slow anyway, replace the battery with a factory one for $100+, buy a chinese knockoff for $20-50 or re-cell with good brand cells for $20-50ish.Īs demonstrated in my previous article about laptop batteries, keeping the original controller board has certain advantages such as temperature monitoring and an extra safety feature. A 3.5hr battery ending up in a landfill is not the best outcome.Īnother reason would be for re-celling the pack. It ended up with 100% the design capacity lasting 3.5 hours (it's a power hungry AMD system with an ATI GPU)įor the manufacturer, taking no chances from a legal standpoint is understandable but sometimes they can go a little overboard. After recharging the cells externally while carefully monitoring their temperature and reprogramming the controller the pack was fine. Take the battery pack I mentioned above for example. Over-discharge voltages where cells are still easily and safely recoverable The new controllers on the other hand happily commit suicide at Tried to fix over-discharged cells and they succeeded in the majority of cases because you rarely have a true 0V scenario unless you have a shorted cell or something. It's not nearly as bad as some urban legends would have you believe.Ĭlarification: True 0V discharge kills Li-ion cells and you If that was true there would've been a lot more cases of batteries setting houses on fire back in the early 2000s as "0V deep discharge recovery" used to be a feature in some laptop battery pack controllers back then. Some people will say "Well that's by design, a single overdischarge turns Li-Ion cells into potential fire-bombs!" Trying to charge the battery in the laptop resulted in a rapidly flashing charge LED indicating charge failure. Querying the controller reveals it's had 43 charge/discharge cycles so the cells are practically new! And yet the controller was in permanent lockout mode due to a single overdischarge condition getting logged. So why would you want to mess with a smart battery controller anyway?Ĭonsider the case of one ThinkPad X100e I purchased a few months ago. (Aside from a few outtakes from chinese developer forums) Usually the chips' datasheets aren't even publicly available. Looking around there's very little software available out there for working with battery controllers in general and most of them cost hundreds or even thousands of dollars. Having gone deep down the rabbit hole of researching smart laptop battery controllers I've ended up reverse engineering a couple of them used in ThinkPad batteries.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |