APP下载

电动车智能充电器设计

2013-11-15许洋洋

电子测试 2013年16期
关键词:数码管充电器按键

王 莹 ,许洋洋

(郑州华信学院,河南新郑,451150)

0 引言

如今,随着越来越多的电器的出现,对高性能、小尺寸、重量轻的电池充电器的需求也越来越大。电池技术的持续进步也要求更复杂的充电算法以实现快速、安全的充电。因此需要对充电过程进行更精确的监控,以缩短充电时间、达到最大的电池容量,并防止电池损坏。本文的主要研究目标为实现在充电过程中对电压、电流、温度等参数的检测,具有充电状态、时间等显示功能,具有过欠压、过欠流及超温等情况的处理和报警等。

1 系统的硬件电路设计

1.1 AT89C52的功能特点

AT89C52是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。

AT89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

1.2 ADC0809模块的简介及原理

ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。START为转换启动信号。当START上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,START应保持低电平。单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0 为数字量输出线。CLK为时钟输入信号线。其工作过程:(1)ADC0809 内部带有输出锁存器,可以与AT89S51 单片机直接相连。(2)初始化时,使ST和OE信号全为低电平。(3)送要转换的哪一通道的地址到A,B,C端口上。(4)在ST端给出一个至少有100ns 宽的正脉冲信号。(5)是否转换完毕,我们根据EOC信号来判断。(6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。

1.3 按键控制电路设计

本方案中采用独立按键控制。其中,按键1功能为选择性显示电池的充电时间、电压、电流、温度;按键2功能为电池充电模式的选择。

1.4 数码管显示电路设计

该设计方案采用四位数码管显示超声波测出障碍物的距离。由于在该系统设计中I/O口较为紧张,故采用数码管动态扫描显示,P1口段选,P2口低三位接译码器控制位选,从而达到以少的I/O接口,实现1—8位的数码管动态显示。

1.5 报警电路设计

本方案设有温度、过压、过流报警功能,即电池温度、充电电流、电压超标时,提示用户采取相应措施。由AT89C52的P2.7提供蜂鸣器的控制信号。

2 系统的软件电路设计

2.1 系统软件的功能要求

根据电动车电池的充放电特点,研究充电控制技术,编写以单片机为核心的电动车智能充电器的控制程序,实现智能充电。按照充电过程电压、电流、温度及充电时间的变化,实现充电自动控制,从而延长电池使用寿命。其主要研究目标为:

(1)实现在充电过程中对电压、电流、温度等参数的检测。

(2)具有充电状态、时间等显示功能。

(3)具有过欠压、过欠流及超温等情况的处理和报警。

(4)以及对充电过程的不同阶段编写相应的控制算法。

该系统中对电压、电流的调节是通过搭建三种不同的电路实现的,分别为预充电、恒压充电、恒流充电。A/D采集的数据经过AT89C52单片机的判断选择不同的充电电路;系统的显示部分采用的数码管动态显示。为保证其显示效果亮度均匀,需要准确的设定其数码管扫描时间;同时在系统中加入报警程序,温度过高就报警。程序设计时将定时/计数器T0,设定为6位计数器、工作方式2,单独用来对A/D发送脉冲;将定时/计数器T1,设定为16位定时器、工作方式1,用来控制键盘扫描周期、数码管的扫描周期和时间计数等。其系统总体结构框图如下图1-1所示。

1-1系统总体结构图Fig.1-1 Structure diagram of the power control unit test system

2.2 系统软件的各功能软件程序设计

在充电器的充电过程中,采集参数,进行电压、电流、温度的实时显示。其软件设计流程如下图1-2所示:

图1-2 软件设计流程图

由主程序流程图可知,在经过AD转换器采集电压、电流,温度传感器采集温度后,扫描键盘。本次设计使用独立按键,按键一用来控制温度、电压、电流、时间的显示,按键二用来控制充电方式的选择,由于开始时蓄电池电压低,若以大电流充电,有损电池寿命,因此,当电流小于1.8A时为小电流预充电,当电流大于1.8A时为恒压充电,在恒定电流充电方式下,充到输出电压达到设定的电池组端电压值。然后,输出电压维持恒定不变,电池充满,充电结束。

本系统的软件部分设计主要包含以下几个方面:

(1)主函数程序设计。在主程序设计中,为增加程序的可读性,将主程序中对定时/计数器T0、T1的初始化和按键扫描分别作为其子函数。

(2)按键控制显示程序。按键一通过按键按下次数的不同来控制温度、电压、电流、时间的轮流动态显示。

(3)AD转换模块启动控制程序。由ADC0809模块的时序图可知AD转换模块启动条件为:模块的控制端(Trig)应输入一个10us以上的高电平。考虑到超声波模块的最大测量距离与其测量周期有关,测量周期越大其测量距离越远,但系统反应将会变得迟钝。综合以上考虑,本方案设定测量周期为100ms。其源程序如下:

Void ad _just()

{

If (INT==0)

{

CS=0;

R=0;

_ nop _();_nop_();_nop_(); _nop_();

dat=P0;

_nop_();_nop_();_nop_();_nop_();

R=1;

}

}

(4)温度传感器的启动控制程序。

(5)过流过压程序设计。本系统设计的智能充电器有过流过压的自我保护功能,为避免电池烧坏,当电流、电压过大,超过设定的上限值,电池充电器将会自动报警,保证电池安全,延长电池寿命 。其源程序如下:

if(dat2>230)// 电流大于 3A 报警

SPeaker=0;

if(dat1>230)// 电压大于 4.5V 报警

SPeaker=0;

(6)蜂鸣器报警程序设计。在主程序中设定报警上限值,超过限值即报警。

(7)充电模式切换程序设计。智能充电器能够通过采集电池的电压、电流来判断电池的充电模式。其源程序如下:

3 结论

本次系统软件部分联机调试均在LY-51S V2.0单片机开发板进行。该实验主板集成USB转串口芯片PL2303,只要1根usb线就可以实现供电、下载、通讯一体。能够实现电压、电流的实时采集及动态显示。当改变电源的电压电流时,数码管显示的的数字能够随之改变,同时,电池的充电模式也会随之改。能够实现时间、电压、电流、温度的动态显示,实现过压、过流、温度过高报警。当温度超过上限值时,系统自动报警,当使用者发现报警,只需通过按下按键一就可灭掉报警。过流、过压的情况与此相同。

[1]余锡存.单片机原理及技术接口技术.西电出版社.2007

[2]王为春.单片机Keil Cx51 应用开发技术.人民邮电出版社 2007

[3]陈家胜.低成本电动自行车智能充电器设计[J]电气自动化.2007(5)Chen Jiasheng Design of Intelligent Charger for Electric Bicycle of Low Cost[J]Electrical Automation 2007(5)

[4]刘美俊.基于单片机的通用智能充电器设计[J]仪表技术与传感器 2006LIU Mei-jun.General Intelligent Battery Charger Based on Single-chip Computer[J]Instrument Technique and Sensor.2006

[5]武锋、陈新建编著.PIC单片机C语言开发入门.北京航空航天大学出版社.2005

猜你喜欢

数码管充电器按键
基于有限状态机的按键检测程序设计
微课教学设计之“数码管动态显示”
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
头脑充电器
按键消抖在单片机和FPGA实验教学中的应用
一种多方向导光按键结构设计
一种宽电压输入DC-DC充电器的设计与实现
苹果:或制定充电器统—标准