手里一大堆镍氢电池和镍镉电池,但苦于没有合适的充电器,最近看上了美信出的镍氢电池专用充电管理芯片DS2711,决定用它来DIY一个。
DS2711功能很好很强大,它适用于对一至两节AA或AAA NiMH和NiCd电池充电,能够识别一次性碱性电池,并避免为其充电。此外,它还能识别锂电池或损坏的NiMH或NiCd电池,并避免为其充电。它采用线性充电控制方式:先对深度放电的电池进行预充,之后进行快速充电,采用负Δ电压(-ΔV)判据结束快充。然后充电器进入辅充(top-off)模式,最后是保持模式,并一直持续到电源断开,它还可以检测电压和温度,一个可调节定时器用于保证安全和辅助结束充电。有两个可编程的LED输出端口显示充电状态以及设定工况。DS2711既可对一至两节串联的电池充电,也可对两节并联的电池充电。芯片会对每节被充电的电池单独进行检测和控制。
着手准备,首先得读懂DS2711的DataSheet,说实话特别不好读懂,到现在也没完全搞明白,只能先搞个大概其,然后理论联系实际,一边试验一边来。
确定电路图,DS2711有三种工况:1节电池,两节电池串联,两节电池并联。其中串联充电比较麻烦,不予考虑;还是用并联方式,既可以一节电池,也可以两节电池。
采用数据手册中推荐的官方线路,这个芯片很怪,充电电源是一个恒流源,然后靠控制开关来起作用。
不过这个很简单,一个LM317(后来换为LM1117低压差三端稳压)加一个电阻就搞定了。
还有两个热敏电阻,因为手册中对热敏电阻要求比较苛刻,原型号很难买到,因此暂时不用温度检测功能,但预留热敏电阻接线位置
随时可以安装热敏电阻。
这是DS2711芯片,SSOP-16封装
这种封装还是使用转接板吧,自己做板容易做坏掉
制作主体线路板,首选热转印
腐蚀
清洗,打孔,涂一层松香酒精做保护
先从最矮的SMT元件开始
然后是直插元件
芯片最后上
主体电路大致完成,先不安恒流源部分,用限流电阻代替,
接通5V电源,找了节工包电池试验
接通电源,所对应通道的充电指示灯亮起,测量电流,充电正常,黄色的是电源指示灯
装上恒流源电路,起初用的是LM317,就算完工了
背面
做好的成品
白色的是接电池的,边上两个小的,是接热敏电阻的
不接也可以正常工作
恒流源最初用的是LM317,后来发现如果5V供电时,317两端电压小于其最小压差,因此换成了LM1117,这是低压差稳压
虽然只有800mA输出能力,但是测试发现,稍微过载也没问题。
调试:
调试用了好几天,测试充电对象分别为1500mAh旧镍镉电池,1300mAh旧镍氢AA电池,800mAh新AAA镍氢电池
关于DS2711的设置,充电定时器设定为5.5小时,也就是说充电如果超过5.5小时,DS2711会自动切断电路。
电池检测,这是最头疼的,设置低了,旧电池不能被很好的区分;设置高了,新电池也会被拒绝充电。最后参考MAXIM的官网上一篇利用DS2711区分电池的应用笔记,决定设置电池检测阈值为170mΩ,还算可以。
恒流源设置为提供0.833A的恒定电流,DS2711设置为双电池并联工况时,对每节电池充电的开关占空比是48.4%,也就是说,快速充电时,每节电池的平均充电电流是0.833AX48.4%=0.4A,这个电流对于800mAh的小镍氢确实大了,但是对于1500mAh以上电池就没问题。
经过不断调试,最终确定各项参数:
输入:DC5V或AC6-9V
最大充电电流(单节):0.4A
最大充电时间:5.5h
特殊功能:电池温度检测,电池内阻检测
电池内阻阈值:170mΩ
使用:
采用DC5V直流供电,充完全放空1500mAh镍镉电池约4小时充满,充1300mAh镍氢电池约3小时充满,充800mAh镍氢电池2小时多充满。对于800mAh电池,0.4A电流有些过大,因此电池发热比较严重。其余电池一切正常,充满电后,该路指示灯自动熄灭。
关于电池检测,相当灵敏,旧充电电池和碱性电池上机后会立刻被识别出来,指示灯闪烁报错,同时拒绝充电。新电池一点问题都没有,充电正常。