转载----电池哥科普贴《充电器的秘密》PART2.充电控制篇
本帖最后由 暖阳001 于 2016-8-13 22:25 编辑无意间看到了这个帖子都是干货,对小白很有用,特意从充电头论坛转过来了,原贴地址 (自己搜标题没权限发链接,抱歉 ),如有侵权请告知删帖。
如果说电源是充电器的心脏,那么充电控制器就是充电器的大脑,充电算法就是充电器的思想和灵魂。
一般说来智能充电器的控制部分硬件上可以分为两种:专用IC、微控制单元(MCU)或者叫做单片机。
锂电专用DC-DC充电IC LI4001
充电器中的单片机
那啥时候用专用IC,啥时候用MCU呢?
还是那句话,咋省钱咋用。
那么 那个省钱呢?
这个就不能一概而论了。得看具体的要求。
为啥呢?因为有些设计没有直接的专用IC来对应。比如我要做个4槽独立镍氢充。好,上网一搜镍氢充电的专用IC。尼玛,两串以上的居多,价格还不便宜。而且还是要求恒流电源前级来驱动。汗一个。。。显然是不能用了。
这时候灵活性高的MCU就好多了。反正只要编程功夫深,基本没有MCU玩不转的场合。管你镍氢锂电,只要算法写的好,没有充不了的电池。
又比如我要做个单节锂电充电器,要求电压精度4.20+-1%,充电速度啥的没要求。上网一搜,IC一大把,有DC-DC的有线性的。基本上拿来就用,最便宜的IC几毛一个。控制部分的设计,几个小时画完板子。。。我干嘛没事找事搞MCU费事。
不过上面只是设计原则。具体说有啥规律不?有!
一般说来,镍氢充电器只要各槽是独立的,基本都是MCU搞定。因为基本找不到符合要求的专用IC。而且那么多槽,只要一个MCU,虽然MCU一般比专用IC贵,总体也摊薄了成本。
锂电池充电器就不好说了。一般说来 多于2槽的锂电池充电器用MCU控制可能性大。单槽的用专用IC的可能性大。
同时兼容镍氢和锂电的万能充电器 除了环高那种奇葩的,基本都是MCU的。
那么怎么区分单片机和专用IC呢?看引脚数目是一种不太可靠,但是通常有用的办法。
单片机一般有多于12个脚。专用IC一般低于这个数目。当然,要记住几种脚数特别多的又常常用在充电器里头的芯片。LM324是一种四通道运放,常用于锂电池“非智能”充电器里头。
如果说控制器硬件是充电器的大脑 ,那么充电算法就是充电器的灵魂。一个充电器可能拥有非常好的工艺、非常优质的元器件,但若是算法没写好,那么这些硬件上的优势就都成了浮云了。
那么问题就来了,怎样充电池?
给电池充电就和异性相处一样。
充电器需要仔细揣度电池,然后根据电池本身提供的蛛丝马迹才能了解电池是否需要继续充电。
不同种类的电池,比如镍氢电池和锂电池,充满的标准是不一样的。因此 充电器判断充满的标准也不相同。
锂电池充电,理想情况,是根据电池的静止电压=等于截止电压来判断电池的充电终点的。关于静止电压的详细定义,这里引用我的另一篇帖子《关于锂电池的截止电压问题的回答》的定义:
锂离子电池在平衡状态下的开路电压
平衡状态就是锂离子电池内部的锂离子不再发生扩散或者这种扩散的程度可以忽略。
充电过程中显然不是开路,锂离子从正极飞奔到负极,指望充电器的控制器能直接知道电池的静止电压比看脸就知道妹纸心里在想啥难度还大。因此我们只能想办法曲线救国。
对于通用的锂离子电池充电器,就是不管你是松下还是比亚迪,不管18650还是14500,都充电的充电器,通常有这两种解决办法:
第一种方法简单直接,充电的时候,不论是在线电压或是离线电压都会比同样充满度下静止电压高。于是在在线电压或者离线电压=截止电压的时候我就盯准了它,不要让电池超过这个电压,也不让电池低于这个电压,即恒电压阶段CV。随着电池充满度提高,理论上的“静止电压”越来越接近截止电压。所以充电电流就逐渐减小。
这种方法又叫做CC-CV
当以在线电压作为判断依据的时候,充电电池到电路板之间的连接件的电阻、接触电阻、电池内阻造成的压差将被计算到电池电压中,会使恒电压CV阶段提前到来,这意味着需要减小充电电流并延长充电时间。
下图是Lii500充电三星30Q的电压电流和时间曲线。这就是一个受到回路电阻影响而呈现非理想的CCCV充电过程。可以看到,在还未达到截止电压4.2v之前,已经开始降低充电电流。
下图则是帝博舰A8的充电电压曲线,帝博舰A8采用离线电压检测,每隔2S就停充0.2S并测量电池的离线电压。
第二种充电算法常常被称为脉冲充电。然而这个容易与镍氢电池和铅酸电池的脉冲充电相互混淆。这里我给起个名字叫做充电、停充时间双可变、充电峰值电流恒定脉冲算法。
为啥叫这个名字呢?
镍氢充电器,虽然也叫脉冲充电,但是镍氢充电器两个停充之间的充电时间是固定不变的。两个停充检测的时间也是固定不变的。锂电池的充电终点是基于静止电压=截止电压来确定的。如果停充检测时间很长,就使充电的瞬间电流大大高于平均电流。会白白浪费电源的输出。如果停充检测时间很短且不能改变,大电流充电时,电池内的锂离子快速运动,电池远离平衡状态,短暂的充电暂停不能使电池内锂离子扩散均匀,导致离线电压和静止电压差距很大,若是依据这样获得的离线电压=截止电压来终止充电,就肯定充不满。现象是,静置一段时间,电池扩散均匀的过程中,电池电压慢慢掉下来。
有两款充电器就是这样设计导致电池充不满:
明至S-68D V1的充电曲线:
这里充电电流下降不是充电器刻意控制电流实现恒压,而是充电器最大输出电压不足以克服电池电压+回路电阻使输出电流低于恒流值。
可以看到,一旦停充,电池电压立即降低到4.23v上下,然后缓慢下降到4.20v。这个缓慢的下降过程就是电池内部的扩散过程造成的。可以预计 最终电池电压一定会降低到4.20v以下。
另一个典型的例子蕴力488也是这样,而且我和边际力度说了这事让他去改改算法,边际还瞎扯淡说继续充电就过充神马的。
所以就有了充电时间和停充时间都可以变化的脉冲充电。
当离线的电压达到截止电压后,就立即缩短充电脉冲的时间长度,变相降低平均电流,拉近离线电压与静止电压的差距。当充电脉冲时间长度达到最小后,就开始延长停充时间维持离线电压=截止电压。一方面可以降低平均的充电电流,另一方面还使电池能够有时间进一步接近平衡态。当停充时间足够长,就可以认为电池达到平衡状态,此时的离线电压就可以代表静止电压,离线电压=截止电压就相当于电池充满了。
YPF 1879S充电板、YPF 单片机DC-DC充电板和YPF双充都采用了这种算法:
如图:
这是ypf1879s充电板充电4.35v的LG 18650 3000mAh的电池
后期充电脉冲间隔越来越大 电池电压越发接近于4.35v截止电压。线路中的电阻不会使充电板提前降低充电脉冲的时间。
以上是杂食的锂电充电器的算法。如果是更专一一点,这个充电器只充电同一块电池。那么算法可以更简单:管他那么多,只要充入等于上一次电池放电容量的电量就停充即可。就这么简单。都不用判断电压啥的。完全可以不用降低电流。因此速度比上面的算法都快。
以上就是锂电充电的算法介绍。看晕了吧?!歇歇再看,下面的镍氢算法干货也不比这个少。
接下来再扯扯镍氢电池的充电算法。
或许有些小伙伴们会一跃而起说道:我知道我知道,就是-delta V和0 delta V嘛。充电器的说明书经常这样写。
恩,那么神马事-delta V和0delta V呢
Delta或者就是△ ,数学上常常用来表示增量。没错 这里就是表示增量。V就是伏特、电压,和一起就表示电压负增量和电压零增量。
明白了吧,其实这意思就是说,镍氢电池充满的时候,再充,电压就停止上升(0dv),再充,开始降低(-dv)。
那么0dv和-dv是咋来的呢?
原来,镍氢电池充满或者快要充满的时候,充进去的电流基本上都不会用来把氢氧化亚镍(二价)氧化成羟基氧化镍(三价)了。
你问为啥?因为电池充满就是把能转化的都转化了呀,都转化完了还转化个球啊。
那电流去干嘛了?电解水啊!
所以,你看到的充满电池电压俗称为虚电压。为啥叫虚电压,因为这个电压是分解水的电压而不是转化正负极材料充电啊。分解水又不给电池充电,这电压可不就是虚的么?
那么问题又来了,电解水产生氢氧,小学自然课学过。电解这么多水,电池不会撑破么?
这是个好问题!
下面这个不是镍氢电池,而是铅酸电池。密封免维护的那种。
这电池怀孕了吧,怎么鼓起来了。
铅酸电池和镍氢电池一样,充电末期是分解水的。因为是密封的,气放不出来,电池就怀孕了。
为啥镍氢电池平时不会这样呢?
因为有一个反应可以消耗掉电解水产生的气体啊!
镍氢电池在制造的时候,有意让负极容量大一点。即正极开始电解水产生氧气的时候,负极还能存入氢气。这样电池充满只有氧气产生并通过电解液扩散到电池的负极。说是电解液,实际上镍氢电池的电解液是浸润了氢氧化钾等碱溶液的多孔隔膜,这隔膜甚至远没有1mm厚,氧气扩散过去也不费事。氧气扩散过去干嘛呢?负极存了很多氢气的储氢合金在这等着呢。两个一反应,储氢合金里的氢就和氧化合成水。同时产生很多热能。这里的储氢合金就起着氢氧化合的催化剂作用。
小伙伴:啊,原来如此。那0deltaV是咋回事呢?-deltaV呢?
其实上面也说了,电池充满或者即将充满的时候,电池充电基本是做无用功。就是一边正极分解水一边负极合成水。既然是这样一个坑爹的无用功过程,无疑电池内部成分都不怎么变了,这电压还是来自分解水的虚电,当然电压就不会升上去,就成了0dv了嘛。
至于-delta v嘛,水的分解电压随温度上升是降低的。触类旁通一点说,大家不知道是否注意到,电瓶车铅酸电池的充电器有个开关调节冬天夏天的。那是搞啥的?因为蓄电池充满电压本质也是开始分解水的虚电,夏天温度高这个电压就低啊,要还是按冬天的截止电压那么充,电池怎么分解水都停不下来,对,铅酸电池也有0dv。但是铅酸电池没有特别有效的消耗掉气体的手段啊。所以这样一来妥妥怀孕的节奏啊。扯远了,绕回来,镍氢电池这么一发热,水分解电压就降低,这个虚电压既然是水分解的电压,-delta V可不就出来了嘛。当然,镍镉电池的-delta V的成因和这个不是一回事情,幅度也比这个明显。因为用的少我也懒得说了。
总之呢,不管镍氢镍镉,充满电的时候都会电压不升反降。
光吹比可不行,上图说话:
这充电器是三洋家的智能充TDR02,电流大概500mA平均。电池是三洋的爱老婆1900mah。
看到最后电压停止上升了吧。对,这就是0dv。最后那个突然的电压降低可别觉得是-dv,那是停充了。电流一停当然电压就降了,里头气体自己消耗了,虚电就慢慢没了,剩下就是实的了。
再给个更清晰的。来自BM200也就是BT-C2000的图,电池还是那节1900的爱老婆
看到了吧 最后还是有个电压停止上升。
看完了0deltaV,再看看-delta V。
下图是蕴力488充三洋爱老婆1900,还是那节电池
看到后期电压有些缓慢降低吧。注意对照1.60V线,也就是右边0.35A对的那里的横线。
简单的说呢,镍氢电池多充一点就是-delta V,少一点是0deltaV。这个呢一般我们也不计较,因为差距2%容量顶天了。
既然有这么明显的停充标志,不用显然就是王八蛋了,单片机写个这种判断不要太容易(自己亲自写过,不难)。我也很天真的这样认为,大概用了单片机的智能镍氢充电器就应该都是这样吧,然而国产的智能充电器给我好好上了一节课。这节课的名称就叫《怎样玩花样降低编程难度来减少软件工程师工资的开销从而节约开发成本》。
你猜这些充电器怎么玩?
截止电压停充。当离线电池电压达到预先设置的截止电压就停止。俗称VMAX。MAX是最大的意思。VMAX就是电压最大值。当电压最大值达到预设截止电压就停充。这和0dv是不一样的,电压最大值意味着电压是上升的,因此最大值不停刷新,直到最新的最大值达到截止电压而停止。
粗看起来,好像没有什么不对的嘛。
怎么没问题,问题可大了!我问你,这个截止电压多少合适?
显然刚好让水开始分解的那个电压嘛。问题是这个电压多少?答案是,不一定。
前面说了温度影响这个电压,所以冬天夏天这电压还不一样。
啊,那我用热敏电阻测测看,然后补偿一下得了嘛。
恩,貌似可以嘛。但是不同种类的电池这电压的值也不一样啊,我问你这怎么玩?
一般低自放电的电池这电压高,高多少呢?0.04-0.1V。这么大的差距你告诉我怎么玩?
而且 就算低自放电的电池里头,这电压也有点小差距的。大概有0.01-0.02V。
那这些不用0deltaV的智能充电器是怎么搞定停充的?
脑补以下场景
开发工程师:恩,截止电压取多少呢?好头疼,淘宝上买个镍氢试试吧。
淘宝搜索中。。。。。。选销量最高准没错
第一页
爱老婆那个尼玛105,太贵不要。其他的,恩 南孚不错,大牌啊就它了。于是南孚中选。
攻城狮:恩截止1.45v吧,留点余地吧,就1.44v好了。截止1.44v就这样确定了。
后面的故事是,其他的厂家通过各种方法“参考”了这家的算法,于是一传十十传百,这种算法就几乎蔓延了整个国产充电器,然后因为电压基准不准等原因,实际的截止电压又千奇百怪。这真是一个悲伤的故事~
这种算法当然也能找出不少充电电压的图,比如:
这是soshine的SC-F7镍氢双充,和之前的0delta V和-delta V的末期是不是完全不是一回事。
下面是猎电王的液晶智能充电器。这个和不少和他长得差不多的充电器是同一款公模,这都是应该上黑名单的
这是我用了14天时间测到的结果。如下表。
国产镍氢充电器清一色宣称是0deltaV,然而实际情况呢?只有少数几种是。这张表里没有标的是,根据丹麦的朋友lygte的测试结果,C9000也不是0deltaV、-deltaV。
坑爹呢这是!
看看这就是没有采用0dv的结果。
以最高的容量1989mAh为100%。
在各种采用了0dv判断的充电器里头,最低充入了96.7%。
而VMAX的充电器里头,最高是91.4%。最低75.3%。简直惨不忍睹。
有些小伙伴评价充电器好坏的标准是充电全过程电池都不发热。实际上这个判断标准十分荒谬。我之前也提到了,电池达到电压停止上升时的水分解又复合的反应是必然要产热的。而要使0deltav明显到足以让充电器不会判断失误,电池的温度上升是不可避免的。电池直到充电结束都不发热只有一个解释,就是用的VMAX,电池根本没充满就停了,当然不怎么发热。真正的好充电器结束前电池都发热,但是不会热到非常烫手。电池的温度应该是温热到微烫,视室温而定。很烫手说明充电器停充过晚了。
图全挂了。 howard113 发表于 2016-8-13 21:54
图全挂了。
发完贴检查了一下,图还在。现在真没了,我再重新编辑一下 howard113 发表于 2016-8-13 21:54
图全挂了。
谢谢提醒,已修复
好长的文章啊!图片能看了!
我的充电器就是文中提到的soshine F7,说是依据deltaV来判停,实际上完全不是呀,有种受骗的感觉。 锂电池充电管理,先恒流再恒压然后最小电流断电早就普及了,开始是线性芯片,到buck降压芯片等,比较特别的就是1879需要外置限流电路。镍氢电池充电管理,主要是加快充电速度和防过充算法,遗憾的是对于内阻大的镍氢电池容易拒充,要是能自动识别切换到慢充档更好。 这么多占个位慢慢看 谢谢楼主分享
好帖,帮顶 学习
非常好文,学习…… 学习了 好文章
正要找镍镉充电器可惜不提 1.5v截止电压也不错,不一定要deltav 本帖最后由 szcpu 于 2016-8-14 18:24 编辑
太对了,老早就知道所谓的智能充好多都是VMAX的,从来不买,实在不行就自己做,有个max712/713(镍镉)的IC做镍氢镍镉非常好用。
页:
[1]