首页 > 58必威网

基于AVR单片机的可充电电池的放电监测

来源:新能源汽车网
时间:2016-06-26 08:03:31
热度:

基于AVR单片机的可充电电池的放电监测摘 要:本文介绍AVR单片机ATtiny12的主要性能特点,并利用它实现了可充电电池放电的自动监测。关键词:单片机;可充电电池;自动监测AVR

摘 要:本文介绍AVR单片机ATtiny12的主要性能特点,并利用它实现了可充电电池放电的自动监测。
关键词:单片机;可充电电池;自动监测
AVR是增强型RISC、内置Flash的高性能8位单片机。设计上采用低功耗CMOS 技术,而且在软件上有效支持C语言及汇编语言。其型号较多,可供不同场合选用。在8位MCU市场上,AVR单片机具有最高的MIPS/mW能力。本文介绍ATtiny12单片机的主要性能特点及其在实际中的应用。

ATtiny12单片机简介
AVR核将32个工作寄存器和丰富的指令集联结在一起。所有的工作寄存器都与算术逻辑单元ALU直接相连,允许在一个时钟周期内执行的单条指令同时访问2个独立的寄存器。这种结构提高了代码效率,使AVR得到了比普通CISC单片机高将近10倍的性能。
ATtiny12工作于空闲模式时,CPU将停止运行,而定时器/计数器和中断系统将继续工作;掉电模式时振荡器停止工作,所有功能都被禁止,而寄存器内容得到保留。只有外部中断或硬件复位才可以退出此状态。引脚电平变化中断的特点使得ATtiny12对外部事件有很高的响应性,同时具有掉电模式的低功耗优点。
ATtiny12内部集成有RC振荡器,其固定频率为1MHz。它还可以通过XTAL1和XTAL2引脚外接晶体振荡器或陶瓷振荡器。当使用外部时钟时,XTAL2应悬空。通过熔丝位控制,可以有多种时钟选择。

ATtiny12应用于电池的放电监测
图1为放电监测电路图,其功能是对6V/10AH铅酸免维护电池的放电进行实时监测。电路中使用了TLC549,用于采集可充电电池的电压。TLC549是8位串行ADC芯片,可与通用微处理器、控制器通过CLK、CS、DOUT三条线进行串行连接。它具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17ms,允许的最高转换速率为40,000次/s。总失调误差最大为±0.5LSB,典型功耗值为6mW。采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,VREF接地,VREF+-VREF-≥1V,可用于较小信号的采样。
ATtiny12使用其内部上电复位、内部RC振荡器,其PB2与TLC549的CS连接,作为片选信号端口;PB1与DOUT连接作为数据接收端口;PB0与CLK连接作为脉冲时钟端口。PB3接一个蜂鸣器,PB5接一个发光二极管,它们用于声光报警,在可充电电池电压低于5.5V时,蜂鸣器报警,而发光二极管也开始闪烁。PB3控制继电器JRC的关/闭,通过控制继电器来控制外部电源的供给,当可充电电池电压低于5.4V时,将切断对外部电路的电源供给,以保护6V/10AH铅酸免维护电池,否则将导致过度放电,降低电池寿命。
电路中还用了一个稳压器TPS7250。TPS7250具有低漏失(LDO)电压、微功耗和小型化封装的优点。此稳压器的特点和一般LDO稳压器相比有特别低的漏失电压和静态电流。模块中运用它来给单片机ATtiny12和TLC549提供稳定的+5V电压。当可充电电池的电压低于5.4V时,停止给外部供电,但还会给ADC与单片机供电,不过ADC将不再工作,而单片机继续工作(发出警报)。通过开关S1可切断内部供电。

软件设计
软件程序流程如图2所示。与MCS-51系列单片机不同,开机后首先要对ATtiny12的B口进行初始化,定义每一个PB脚是输入口还是I/O口。初始化结束后直接启动ADC。通过它采集到的电压信号是可充电电池的实际电压值,若此电压值小于5.4V,则关闭继电器JRC,A/D转换也不再进行,可发光二极管LED快速闪烁,蜂鸣器BEEP发出警报声音(频率较高),告诉工作人员可充电电池已经不再给外部供电了,需要充电。若此电压值不小于5.4V,再看它是否低于5.5V,如果低于5.5V,则发光二极管LED慢速闪烁,蜂鸣器BEEP发出警报声音(频率较低),告诉工作人员可充电电池电压不足,但是此时ADC还在继续工作,可充电电池也还在给外部供电。若电压值高于5.5V,警报停止,可充电电池给外部电路正常供电。

结语
本设计的软硬件很简单,而且功耗比较低,价格低廉,所以对于可充电电池的放电监测非常实用。■

参考文献
[1]. ATtiny12 datasheet http://www.dzsc.com/datasheet/ATtiny12_145166.html.
[2]. RISC datasheet http://www.dzsc.com/datasheet/RISC_1189725.html.
[3]. ALU datasheet http://www.dzsc.com/datasheet/ALU_2089372.html.
[4]. TLC549 datasheet http://www.dzsc.com/datasheet/TLC549_1095365.html.
[5]. PB2 datasheet http://www.dzsc.com/datasheet/PB2_1202177.html.
[6]. PB1 datasheet http://www.dzsc.com/datasheet/PB1_1148989.html.
[7]. PB3 datasheet http://www.dzsc.com/datasheet/PB3_1202138.html.
[8]. PB5 datasheet http://www.dzsc.com/datasheet/PB5_1139269.html.
[9]. TPS7250 datasheet http://www.dzsc.com/datasheet/TPS7250_1116102.html.
[10]. MCS-51 datasheet http://www.dzsc.com/datasheet/MCS-51_477840.html.
[11]. 德根,宋建国,马潮等编著. AVR高速嵌入式单片机原理与应用.北京航空航天大学出版社,2002
[12]. 吉雷主编. 电子电路设计师Protel 99完全手册. 四川电子音像出版社,2000


来源:零八我的爱
Baidu
map