用51单片机+DS2438做个简单的充电检测器,上位机用组态王

2020-01-21 21:37发布

用51单片机做了个电池充电检测装置,可检测充电电流、电压、温度、充电电量,并通过上位机软件绘制曲线图。

上位机用组态王,使用组态王提供的通用单片机ASCII通信协议,通过串口与单片机通信,获得电压、电流、温度、电量等参数,在监控画面显示出来。每分钟取一点数据,用于绘制充电电流、电压、温度的曲线图。

充电电流、电压、温度、充电电量等参数的检测用DS2438电池监控芯片,其片内集成数字温度传感器、电压和电流的A/D转换器,可检测温度,电压,电流。集成电流累积器提供电量计量。

单片机负责控制DS2438温度、电压的转换,读取各参数值(每秒读一次),并通过串口将数据传到上位机。

DS2438为单总线接口,之前玩过DS18B20,读写时序是一样的,程序可以拿过来直接用。

DS2438电流和电量检测要外接检流电阻,这里外接50毫欧电阻。
检测电流最小分辨率:4.88mA
检测电量最小分辨率:9.76mAhr,最大可检测2500mAhr
检测电压最小分辨率:10mV
检测温度最小分辨率:0.03125℃

点击此处下载 ourdev_719427TCNFCQ.rar(文件大小:59K) (原文件名:程序和电路图.rar)

点击此处下载 ourdev_719431KYMGL4.rar(文件大小:1.54M) (原文件名:相关资料.rar)



(原文件名:dianlu.JPG)


(原文件名:1329310289995.jpg)


下面用TP4057充电板和品胜优能充做充电测试。
先来测试TP4057,这里用双TP4057充电板,其中一片TP4057充电电流设置为500mA,而另一片设置为250mA,对一块970mAh的飞毛腿电池进行充电测试。


(原文件名:1329231220030.jpg)


(原文件名:1327471586117.jpg)


(原文件名:1327471571252.jpg)


(原文件名:tp4057-1.JPG)

当电池电压上到4V,充电电流开始逐渐下降。充电到140分钟时,充电电流设定为500mA的那片TP4057停止充电,另一片继续以小电流充电,这时充电电量约为900mAh。


(原文件名:tp4057-2.JPG)

充电差不多到4小时,另一片TP4057也停止充电,充电结束。充电截止电压为4.19V,截止电流29mA,停充后电池电压降到4.17V。整个充电过程电池温度基本没有什么变化。最终充电电量显示为986mAh,比标称的970mAh还多出16mAh,看来这个飞毛腿电池容量是没有虚标。

下面再来看品胜优能充的测试,这次用一块摩托罗拉920mAh的手机电池。因为在网上看到这个万能充的拆机图,感觉用料和做工不错,在淘宝上花十几块钱买了一个。


(原文件名:1329231405091.jpg)


(原文件名:1327566004025.jpg)


(原文件名:ps01.JPG)

这个充电曲线与上面的双TP4057相似。充电到约2小时,发现充电器已经转绿灯,这时电池电压为4.15V,但不会停充,充电电流还有100多mA,充电电量约为800mAh。


(原文件名:ps02.JPG)

转灯后,充电器继续在充电,电流不断减少,当到3小时30分,电流下降到30mA,电压上升到4.17V。不等了,我把它断电了,不知道最后电流会不会降到0。后来电压降到4.16V。最后充电电量为889mAh。在转灯后继续充了1个半小时,容量增加了80多mAh。可能充电器里变压器发热,电池的温升较大。
看来这个充电器在转灯后继续补充了1个小时比较好,会充满一点。这个充电器转灯较早,也不会自动停充。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。