xu_dd 发表于 2007-1-13 22:45

【原创】我的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 ]

oooovoooo 发表于 2007-1-13 23:10

我的电池也是这个样子的,看来自己换芯是不可能的任务了

oooovoooo 发表于 2007-1-13 23:11

楼主的知识面好强啊,赞一个

ehua 发表于 2007-1-13 23:11

好强的动手能力,赞一个

xu_dd 发表于 2007-1-13 23:12

自己动手既可以锻炼能力,又可以学到知识

[ 本帖最后由 xu_dd 于 2007-1-13 23:14 编辑 ]

蟋蟀的帅 发表于 2007-1-13 23:22

我来顶一下,估计不久就用得上。

死鸡 发表于 2007-1-13 23:32

牛人,一定要顶~~~~~~~~

zzy600x 发表于 2007-1-14 00:27

强贴

顶,一定要狠狠地顶!

I_am_monkey 发表于 2007-1-14 00:50

兄弟找到你了,谢谢你的帖子,编程器我也想自己做,材料好买吗?多少米?我的容量要改为52wh,有空请指导一下啊,谢谢,我的QQ379990266

hi-end 发表于 2007-1-14 01:02

兄弟好强,学习了,顶!!!

cole_zhang 发表于 2007-1-14 01:27

学习,要学习

xu_dd 发表于 2007-1-14 09:38

目前电池使用一切正常:):)

[ Edited byhtttg on 2011-3-22 13:59 ]

I_am_monkey 发表于 2007-1-14 09:44

"兄弟找到你了,谢谢你的帖子,编程器我也想自己做,材料好买吗?多少米?我的容量要改为52wh,有空请指导一下啊,谢谢,我的QQ379990266"
兄弟帮忙啊

yourfrishen 发表于 2007-1-14 09:49

楼主大哥的焊工。。。。
松香似乎多了一点。不过动手超强!!

xu_dd 发表于 2007-1-14 09:59

原帖由 I_am_monkey 于 2007-1-14 09:44 发表
"兄弟找到你了,谢谢你的帖子,编程器我也想自己做,材料好买吗?多少米?我的容量要改为52wh,有空请指导一下啊,谢谢,我的QQ379990266"
兄弟帮忙啊
材料74LS05,10K电阻6个,100n电容一个就这么多。10K电阻我用12K代替的,100n电容我用10u/6.3v代替的。你这个源码满充容量是3196MAH,不知电池标识是多少容量,我的是4AH,我的应该改为4700MAH,但不知为什么会锁,建议你看一下,改为110%

xu_dd 发表于 2007-1-14 10:01

原帖由 yourfrishen 于 2007-1-14 09:49 发表
楼主大哥的焊工。。。。
松香似乎多了一点。不过动手超强!!

这块板子是很久以前的旧板子了,没有清理,条件有限

chinawolf 发表于 2007-1-14 10:08

不错
学习了

lpx911 发表于 2007-1-14 10:11

不得不佩服楼主一下,知识水平高.我却弱弱呀.

I_am_monkey 发表于 2007-1-14 10:16

原帖由 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 编辑 ]

atao 发表于 2007-1-14 10:17

高人,值得学习

xu_dd 发表于 2007-1-14 10:23

原帖由 I_am_monkey 于 2007-1-14 10:16 发表

改为110%是什么含义?

比如我的电池上标识为4AH,改为4400MAH,即880C。我的改高了会锁,不清楚是为什么,改成4400就不会锁,4400不就是4000的110%么,不过能不能再增大,我不确定。只要不锁可以再校正的。建议你用自己的电池数据修改。
和你上传的文件是数据关键位是一致的,关键位只是充电次数、满充容量不同,其它的是我电池的信息了,怎么看标志位和怎么算你看一下上面的介绍

[ 本帖最后由 xu_dd 于 2007-1-14 10:27 编辑 ]

I_am_monkey 发表于 2007-1-14 10:53

原帖由 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%呢?

xu_dd 发表于 2007-1-14 11:01

我说的是电池,不是电芯,晕

I_am_monkey 发表于 2007-1-14 11:05

根据你这张图,我推测:你的电池每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 ]

xu_dd 发表于 2007-1-14 11:22

设计容量不清楚在哪改,图上的满充容量是已经改过的了,再设高了会锁。旧电芯是2000MAH的

I_am_monkey 发表于 2007-1-14 11:29

原帖由 xu_dd 于 2007-1-14 11:22 发表
设计容量不清楚在哪改,图上的满充容量是已经改过的了,再设高了会锁。旧电芯是2000MAH的
十分感谢您的帮助,有问题再请教

扑腾 发表于 2007-1-14 11:45

强人.........

aq5200 发表于 2007-1-14 11:57

又见强贴.
观看!

xu_dd 发表于 2007-1-14 13:13

用自己电池数据放电充电曲线比较平滑

xu_dd 发表于 2007-1-14 19:24

这种松下18650D的2350MAH电芯在松下网站找不到介绍,奇怪
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 【原创】我的X23电池换芯、解锁过程(M37516+61040+80AF)