I replaced the battery cells with a model system build with cheap second hand batteries of completely different chemistry.[br]
I saw a lot of problems during charge and discharge. Generally speaking the battery became completely unpredictable.[br]
The main goal is to get a battery board which can work with batteries of ANY chemistry.[br]
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).[br]
[br]
[image|2825343]
[image|2825346]
[image|2825345]
[br]
[image|2825344]
[br]
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:[br]
[br]
https://github.com/friendofthai/Powerbook-G4-A1107-battery-patcher/tree/main/build/Debug[br]
[br]
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.[br]
[br]
The patch also updates the full capacity (3000 mAh) . The complete list of (addresses, bytes) written to the battery's data flash:[br]
{ 0x29, 0xC9 }, [br]
{ 0x86, 0x24 }, [br]
{ 0x87, 0x54 }, [br]
{ 0x88, 0x25 },[br]
{ 0x89, 0x80 }, [br]
{ 0x35, 0x0B },
{ 0x36, 0xB8 },[br]
[br]
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.[br]
[br]
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).[br]