基于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 德根,宋建国,马潮等编著. avr高速嵌入式单片机原理与应用.北京航空航天大学出版社,2002
2 吉雷主编. 电子电路设计师protel 99完全手册. 四川电子音像出版社,2000