I replaced the battery cells with a model system build with cheap second hand batteries of completely different chemistry.
I saw a lot of problems during charge and discharge. Generally speaking the battery became completely unpredictable.
The main goal is to get a battery board which can work with batteries of ANY chemistry.
I saw the bq20851 chip on the board inside the battery. This chip can be reprogrammed by cheap USB Chinese boards for about 10$ (CP2112 for googling). I bought such a board and connect it to the battery (see the picture: GND = black wire, SDA = red wire, SCL = white wire).
According to the documentation (Texas Instruments`s "SBSCOMPLIANT GAS GAUGE IC FOR USE WITH THE bq29311" ) the battery used sophisticated algorithm to calculate discharge termination voltage constants EDV0, EDV1 and EDV2. But it is possible to completely disable this algorithm and force the battery to use the user-defined fixed values of these constants. To make this working it is necessary to switch off the EDV compensation flag (bit N5 from the byte of the flash data memory 0x29 "Gauge Configuration"). I have also written the user defined values for EDV0(9000 mV), EDV1(9300 mV) and EDV2(9600 mV) by writing values to the data flash. Everything done by running my simple program on GitHub:
https://github.com/friendofthai/Powerboo...
Just run "path_to/read_gauge" from the Mac OS X terminal to read values and "path_to/read_gauge patch" to update/write the necessary values to the battery.
The patch also updates the full capacity (3000 mAh) . The complete list of (addresses, bytes) written to the battery's data flash:
{ 0x29, 0xC9 },
{ 0x86, 0x24 },
{ 0x87, 0x54 },
{ 0x88, 0x25 },
{ 0x89, 0x80 },
{ 0x35, 0x0B },
{ 0x36, 0xB8 },
Before applying any changes I unsealed the battery with a free demo version of the be****** software for Windows XP(run under old version of VirtualBox for macOS Sierra). The software crashes while reading data from the battery's flash (this problem can only be seen on virtual machines). But It successfully unsealed the battery before the crash.
Now I see that the battery works normally. But the percentage of charge is not accurate (because of disabling all the clever features of the battery).
Был ли этот ответ полезен?
Проголосовали
Отменить
Оценка
1
Отмена
Прокрутите эту тему, чтобы найти подходящее место для этого комментария. Затем нажмите «Прикрепить комментарий к этому сообщению», чтобы переместить его.
3 Комментариев
mihuil do you have your battery already disassembled? If so, post some pictures of it with your question.
из oldturkey03
@oldturkey03 pictures have been attached. I removed the original cells and connect the battery board to the external experimental set of Samsung INR18650 30Q connected exactly the same way as the original cells. The computer charges the system normally from 0 to 100%. During the discharge period the system behaves normally. But if I use any power consuming applications I observe unexpected shutdowns. I also see that the calculated capacity is jumping from 1500 to 2500mAh and back (the original capacity of the battery is 5400 and the real capacity of the system is 9000mAh).
The next step is using SMBus commands via EV2300/bqstudio to disable the impedance tracking that cause the problems. Or, alternatively, It could be possible to adjust chemistry - I am not sure about this.
The original board is based on Texas Instruments bq20851DBT + bq29311PW chipset (I have found these chips on the disassembled board).
из mihuil
On the Ti forum I was told that there bq20851 does not use impedance tracking for capacity measurements. It uses different "thresholds" instead. These "thresholds" from the flash memory are described in the bq2085 manual and can be disabled.
из mihuil