微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 基于AVR微控制器的蓄电池充放电控制器

基于AVR微控制器的蓄电池充放电控制器

时间:10-24 来源:电子产品世界 点击:

放电电阻并联在单格电池两端,从而完成单格电池剩余容量放电。继电器驱动电路原理图如图3所示。图中只包含1片74LS573,其它4片控制方法类似。


图3  继电器驱动电路原理图

软件设计

软件采用主从结构。单片机收到上位机指令后,根据通信协议提取出命令字和数据,然后根据命令字完成相应的控制。软件基于模块化设计思想,主要包括:主程序模块,通信程序模块,D/A转换与通道选择模块,继电器组控制模块等。

主程序模块

主程序模块完成单片机初始化,等待并处理中断等工作,流程图如图4(a)所示。


图4程序流程图

通信程序模块

单片机与上位机间采用RS232串口通信。单片机采用中断方式接收上位机发出的命令,并根据接收到的数据内容向上位机发送应答信息。当命令的起始标志和结束标志都正确时,单片机向上位机发送ASCII字符‘Y’表示接收成功,然后处理收到的命令;否则,向上位机发送ASCII字符‘N’,表示发送不成功,要求上位机重新发送命令。

上位机向单片机发送的命令符合以下格式:命令以帧为单位,每帧包含7个字节。每帧包含的命令字规定了单片机的控制方式。每帧中的数据字则以ASCII码的形式确定了充、放电电流的大小和继电器的代号。通信模块流程图如图4(b)所示。

当上位机需要控制充、放电电流时,单片机采用查询方式,通过SPI口向TLV5638发送命令和数据,然后通过控制CD4053确定模拟控制信号输出通道。因为Mega16L的SPI口字宽为8位,因此必须连续进行两次写操作才能完成对TLV5638的编程。

单片机收到上位机命令后,先将数据写到PA口,然后向相应锁存使能位写‘0’,将数据锁存入74LS573中,完成对继电器的控制。

结语

本文提出了一种基于Mega16L的蓄电池充放电控制器。该控制器利用串口RS232接受上位机发送的控制指令,然后根据控制指令完成对蓄电池充电电流、放电电流以及放电电阻接入的控制。该控制器部分实现了电池充、放电电源的数字化控制。该系统已应用于539CH-1型Ni-Cd电池的充放电设备中,性能良好。

参考资料:
1.  Nickel-Cadmium Aircraft batteries operating and maintenance manual. SAFT. 2002.08
2.  Datasheet of Atmega16, Atmel, 2003.12
3.  TLV5638 2.7-V to 5.5-V low-power dual 12-bit digital-to-analog converter with internal reference and power down, Texas Instruments Incorporated, 2000
4.  沈文、Eagle lee、詹前卫,AVR单片机C语言开发入门指导,清华大学出版社,2003.2-3
5.  张军,AVR单片机应用系统开发典型实例,中国电力出版社,2005.8

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top