【原创】我的X23电池换芯、解锁过程(M37516+61040+80AF)
一、前言本人的X23一直用的很好,可借给朋友用几天后,回来使用发现电池电量会从95%一下掉到5%,只能坚持10分钟,冲电时会从27%一下升到100%,只能当UPS用了。由于平时基本不用电池,可能是电池长期未用导致某组电芯性能变坏所致。
笔记本的最大优势在于移动性,没电池太不方便了。在买新电池和换芯之间,我选择了自己动手换芯,一来废物利用,二来可以锻炼自己的动手能力。经过选择,从淘宝买了6节松下18650D的2350mAh电芯,拿到手后测试一致性较好。小心翼翼地拆开电池,
晕,中奖了,是M37516+61040+80AF的易锁芯片组合。在论坛里查了半天,有的XD说保电换电芯不会锁。抱着侥幸心理,按论坛里的方法进行了保电换芯,保电换法参见论坛里相关文章。结果在第三次充电到87%时电池充电灯停止闪烁,感觉有些不妙,拔下电源,立刻断电。看来保电换芯失败。只能通过刷芯片解锁了。
二、数据分析
用别人的源码固然可以解决问题,但有些参数毕竟不是自己电池的,在充电曲线等方面可能存在问题。为了能够用自己的电池数据,我从论坛里下载了相同芯片组合的坏电池数据进行了分析。
1.工具
SBworkshop Demo3.3 ,Ultraedit32
2.标识位
通过SBworkshop的EEPROM Read/write的功能,结合自制的简易并口编程器,读取坏源码
用Ultraedit32修改其中的数据,分段删除,再用SBworkshop读改过的源码,首先分析出的是关键信息,然后得出其它的数据位。具体见图
标识位说明:
1).循环次数(0x2c,0x2d):当前充电次数。
2).满充容量(0x2e,0x2f):
3).关键标识位(0x32,0x33,0x34,0x35):这个标识位我不知叫什么,代表电池采用芯片信息,注意这个标识位是不能修改的。
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,接上自制的编程器
编程器原理图论坛里有,我就不贴了。先用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
为确保写入,可以再读EEPROM数据,存为repair.bin,在命令行窗口中运行fc /b 80_ok.bin repair.bin>comp.txt,打开comp.txt确定内容无差异,解锁完成。焊上80AF,接电芯时要按照电位从低到高的顺序,而且要一次焊上,尤其是正极,否则会再次锁上,这点要特别注意。
四、备注
1.关于80AF
80AF的拆焊最好用热风枪吹下来,用烙铁的话要断电操作,可以用拉丝焊法,将细铜丝穿过引脚,边焊边拉,很容易就取下来了。适配器我是自制的
看出来是什么了吗,对,是坏PCI猫的引脚,正合适,哈哈。
2.关于SBworkshop Demo3.3
接好编程器后不要在Data界面中,而要在EEPROM Read/Write/Reset界面中读写EEPROM数据,我就是犯了这个错误,点了Read Battery,显示Battery not found,还以为编程器做的不对,害得我把花了半天时间做好的编程器又拆了重做。
3.关于电池数据
如果关键位相同,数据可以能用,但建议用自己的电池数据,修改相应的标识位解锁就可以了。解锁成功电池充放电曲线平滑,没有出现跳变现象。
已经解锁成功的电池
完工时的样子
最后再次感谢yyyzoe的帮助!!
[ Edited byhtttg on 2011-3-22 14:00 ] 我的电池也是这个样子的,看来自己换芯是不可能的任务了 楼主的知识面好强啊,赞一个 好强的动手能力,赞一个 自己动手既可以锻炼能力,又可以学到知识
[ 本帖最后由 xu_dd 于 2007-1-13 23:14 编辑 ] 我来顶一下,估计不久就用得上。 牛人,一定要顶~~~~~~~~
强贴
顶,一定要狠狠地顶! 兄弟找到你了,谢谢你的帖子,编程器我也想自己做,材料好买吗?多少米?我的容量要改为52wh,有空请指导一下啊,谢谢,我的QQ379990266 兄弟好强,学习了,顶!!! 学习,要学习 目前电池使用一切正常:):)[ Edited byhtttg on 2011-3-22 13:59 ] "兄弟找到你了,谢谢你的帖子,编程器我也想自己做,材料好买吗?多少米?我的容量要改为52wh,有空请指导一下啊,谢谢,我的QQ379990266"
兄弟帮忙啊 楼主大哥的焊工。。。。
松香似乎多了一点。不过动手超强!! 原帖由 I_am_monkey 于 2007-1-14 09:44 发表
"兄弟找到你了,谢谢你的帖子,编程器我也想自己做,材料好买吗?多少米?我的容量要改为52wh,有空请指导一下啊,谢谢,我的QQ379990266"
兄弟帮忙啊
材料74LS05,10K电阻6个,100n电容一个就这么多。10K电阻我用12K代替的,100n电容我用10u/6.3v代替的。你这个源码满充容量是3196MAH,不知电池标识是多少容量,我的是4AH,我的应该改为4700MAH,但不知为什么会锁,建议你看一下,改为110% 原帖由 yourfrishen 于 2007-1-14 09:49 发表
楼主大哥的焊工。。。。
松香似乎多了一点。不过动手超强!!
这块板子是很久以前的旧板子了,没有清理,条件有限 不错
学习了 不得不佩服楼主一下,知识水平高.我却弱弱呀. 原帖由 xu_dd 于 2007-1-14 09:59 发表
材料74LS05,10K电阻6个,100n电容一个就这么多。10K电阻我用12K代替的,100n电容我用10u/6.3v代替的。你这个源码满充容量是3196MAH,不知电池标识是多少容量,我的是4AH,我的应该改为4700MAH,但不知为什么会锁 ...
改为110%是什么含义?
我的电芯 是 来自一台从来不用移动的R52电池,几乎全新,设计容量52Wh,可以充到51WH多一点。
能否把你的解锁文件发给我看看,比较一下?还有坏的那个我也想要,因为我还没有读出我自己的
[ 本帖最后由 I_am_monkey 于 2007-1-14 10:18 编辑 ] 高人,值得学习 原帖由 I_am_monkey 于 2007-1-14 10:16 发表
改为110%是什么含义?
比如我的电池上标识为4AH,改为4400MAH,即880C。我的改高了会锁,不清楚是为什么,改成4400就不会锁,4400不就是4000的110%么,不过能不能再增大,我不确定。只要不锁可以再校正的。建议你用自己的电池数据修改。
和你上传的文件是数据关键位是一致的,关键位只是充电次数、满充容量不同,其它的是我电池的信息了,怎么看标志位和怎么算你看一下上面的介绍
[ 本帖最后由 xu_dd 于 2007-1-14 10:27 编辑 ] 原帖由 xu_dd 于 2007-1-14 10:23 发表
比如我的电池上标识为4AH,改为4400MAH,即880C。我的改高了会锁,不清楚是为什么,改成4400就不会锁,4400不就是4000的110%么,不过能不能再增大,我不确定。只要不锁可以再校正的。建议你用自己的电池数据修改 ...
好奇怪阿,你的电池标4AH?现在电池一般都才1800mah~2600mah吧,我的电池上什么都没有标,是工业包装的红色三洋,52wh/6节=8.67wh/节 => 8.67wh /3.6=2.41Ah 也就是说我的一节电池容量约是2.41Ah,我该如何110%呢? 我说的是电池,不是电芯,晕 根据你这张图,我推测:你的电池每2个的容量是4ah,那么4ah*10.8v=43.2wh,正好是你电池的设计容量;你提高了110%后,电池每2个的容量是4.4ah,那么4.4ah*10.8v=47.52wh约等于充满容量。
因此你设置为4700mah(即每节电池2350mah,总容量50.76wh)是不行的。因为你电池的容量可能没有那么大,所以锁掉了吧。不知对否?
还有,设计容量在哪里改啊?能改这个值就好了。
[ Edited byhtttg on 2011-3-22 14:01 ] 设计容量不清楚在哪改,图上的满充容量是已经改过的了,再设高了会锁。旧电芯是2000MAH的 原帖由 xu_dd 于 2007-1-14 11:22 发表
设计容量不清楚在哪改,图上的满充容量是已经改过的了,再设高了会锁。旧电芯是2000MAH的
十分感谢您的帮助,有问题再请教 强人......... 又见强贴.
观看! 用自己电池数据放电充电曲线比较平滑 这种松下18650D的2350MAH电芯在松下网站找不到介绍,奇怪