笔记本电池换芯解锁全过程
【原创】我的X23电池换芯、解锁过程(M37516+61040+80AF)
一、前言
本人的X23一直用的很好,可借给朋友用几天后,回来使用发现电池电量会从95%一下掉到5%,只能坚持10分钟,冲电时会从27%一下升到100%,只能当UPS用了。由于平时基本不用电池,可能是电池长期未用导致某组电芯性能变坏所致。
笔记本的最大优势在于移动性,没电池太不方便了。在买新电池和换芯之间,我选择了自己动手换芯,一来废物利用,二来可以锻炼自己的动手能力。经过选择,从淘宝买了6节松下18650D的2350mAh电芯,拿到手后测试一致性较好。小心翼翼地拆开电池[attach]335268[/attach],[attach]335269[/attach]
晕,中奖了,是M37516,61040,80AF的易锁芯片组合。在论坛里查了半天,有的XD说保电换电芯不会锁。抱着侥幸心理,按论坛里的方法进行了保电换芯,保电换法参见论坛里相关文章。结果在第三次充电到87%时电池充电灯停止闪烁,感觉有些不妙,拔下电源,立刻断电。看来保电换芯失败。只能通过刷芯片解锁了。
二、数据
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
用别人的源码固然可以解决问题,但有些参数毕竟不是自己电池的,在充电曲线等方面可能存在问题。为了能够用自己的电池数据,我从论坛里下载了相同芯片组合的坏电池数据进行了分析。
1(工具
SBworkshop Demo3.3 ,Ultraedit32
2(标识位
通过SBworkshop的EEPROM Read/write的功能,结合自制的简易并口编程器,读取坏源码[attach]339690[/attach]
用Ultraedit32修改其中的数据,分段删除,再用SBworkshop读改过的源码,首先分析出的是关键信息,然后得出其它的数据位。具体见图[attach]340060[/attach]
标识位说明:
1)(循环次数(0x2c,0x2d):当前充电次数。
2)(满充容量(0x2e,0x2f):
3)(关键标识位(0x32,0x33,0x34,0x35):这个标识位我不知叫什么,代
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
电池采用芯片信息,注意这个标识位是不能修改的。
4)(生产日期(0x1bc,0x1bd):
5)(ManufatureName:ASCII字符,这里是松下,有的是SANYO。
6)(DeviceName(0x1ca-0x1d5):
7)(电芯类型(0x1da-0x1df):LION,不要修改
8)(报警锁定(0x1fa,0x1fb):解锁的关键位置,找遍了Smart Battery DataSpecification
Revision 1.1也不知是哪个ALARM数据。但改为00 00即可解锁,这个要特别感谢yyyzoe给我的好的源码,不然找不出来这个位置。
3(关于数据算法
找出相应标志位后,开始只分析出一些简单对应关系,通过写成二进制发现,原来逆
位就可以了,所有的数据均是如此。举例说明:
CycleCount位0x2c=12,0x2d=34
二进制为 0001 0010 0011 0100
逆位后为 1000 0100 1100 0010
按高低位最终数据为 0100 1000 0010 1100 即:482C,18476次,当然这个只是举例说明。
日期有些特殊,格式是年(15,9位,基数1980)、月(8,5位)、日(4,0位),例如:2007年1月12日
年:2007,1980,27,1B,0011011(注意是7位)
月:1,0001
日:12,0C=01100(注意是5位)这样组合在一起为0011011000101100,逆位后为0110110000110100,即6C34
ASCII字符也是同样要逆位后转换。
4(校验值
称为校验值不知对不对,暂时先这样叫了。整个EEPEOM数据为四个区,其中0x00000200,0x000002FF 为0x00000000,0x000000FF对应FF补、0x00000300,0x000003FF为0x00000100,0x000001FF对应FF补,例如0x00000000为29,那么0x00000200就为FF,29,D6
三、解锁
有了以上的分析,解锁就不难了,焊下80AF,接上自制的编程器[attach]339684[/attach]
编程器原理图论坛里有,我就不贴了。先用SBworkshop读EEPROM数据,存为80_bad.bin后用Ultraedit32打开,要修改的部分(注意是6个数据):
充电次数为0(0x2c,00,0x2d,00,对应0x22c,FF,0x22d,FF)
满充容量改为4400mAH(0x2e,88,0x2f,0C,对应0x22e,77,0x22f,F3)
解除报警(0x1fa,00,0x1fb,00,对应0x3fa,FF,0x3fb,FF)
本来想要容量想改为4700 mAH,日期也想改为今天的日期,但改后又锁住了,不知什么原因。(现经实验,是可以修改的,估计是当时焊接时没一次焊好的原因)
改好后另存为80_ok.bin,用SBworkshop打开80_ok.bin文件并写入EEPROM[attach]339691[/attach]
为确保写入,可以再读EEPROM数据,存为repair.bin,在命令行窗口中运行fc /b 80_ok.bin
repair.bin>comp.txt,打开comp.txt确定内容无差异,解锁完成。焊上80AF,接电芯时要按照电位从低到高的顺序,而且要一次焊上,尤其是正极,否则会再次锁上,这点要特别注意。