意大利上海大使馆电话:用Atmega8单片机自制智能型液晶显示充电器 (527DZ作品) 中国电子开发网(www...

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 02:07:48
用Atmega8单片机自制智能型液晶显示充电器 (527DZ作品)
一、概述:
移动通讯、消费类数码产品、笔记本电脑、便携仪器等便携设备市场的不断扩张,使得我们对电池的性能和工作寿命的要求不断地提高。从20世纪60年代的商用镍镉和密封铅酸电池到近几年的镍氢和锂离子技术,可充电电池容量和性能得到了飞速的发展。
但充电电池的使用离不开对其补充能量的充电器,而且充电器的好坏将会直接影响到电池的充电性能和使用寿命。
本文详细介绍了镍镉、镍氢、锂电池这三种最为常用的充电电池的特点,同时介绍本站设计的智能型充电器的电路原理。


二、各种充电电池特性:
目前各种电器使用的充电电池主要有镍镉电池(NiCd)、镍氢电池(NiMH)、锂电池(Lilon)和密封铅酸电池(SLA)四种类型。
1.各种充电电池的优缺点
NiCd电池是前几年使用最为普遍的充电电池。它的优点主要是价格便宜,缺点是其自放电率较高,存在记忆效应,且镍镉电池会对环境产生污染,因此也将逐渐地退出市场。通常NiCd电池可以充放电1000次左右。
近两年来,重量更轻容量更大的NiMH电池得到了更为普遍的使用。在手机、数码相机、数码摄像机等便携式设备中都能见到NiMH电池的身影。镍氢电池的容量比镍镉电池高1.5-2倍,且具有不污染环境、价格便宜、性能好等优点。NiMH电池的自放电率大概为20%左右
同其他充电电池相比较,锂电池具有最高的能量/重量、能量/体积比、无记忆效应等优点。但是锂电池成本高而且充电器要求也是最高的。如果对锂电池充电不当的话,很容易损坏电池,甚至产生电池爆炸。
2.影响充电电池使用寿命的因素
影响镍氢、镍镉电池使用寿命的主要因素是过充电和充电时电池温度过高(通常要求电池温度保持在45度以下进行充电)。另外,由于镍镉电池具有记忆效应,因此,如果在镍镉电池存储的电量没有完全放完的情况下充电的话,也会影响电池的使用寿命。
而影响锂电池使用寿命的主要因素有以下几点:
过放电:锂电池放电过程中,锂离子不断地从电池负极移动到电池正极,但是不能使锂离子完全地移动,必须保留一部分锂离子在电池负极中。否则电池寿命就会大大地缩短。为保证电池放电结束后电池中还保留部分锂离子,就要求电池在使用中不能过放电。通常锂电池单体的终止放电压为3.0,不要低于2.7V。
充电温度:通常要求锂电池在充电过程中温度不能超过50度,否则会影响电池使用寿命。
最高充电电压:锂电池的最高电压为4.2V,否则会使正极的锂离子移动太多,从而大大缩短电池的使用寿命。
三、智能型充电器的设计要求
几乎是所有用户都希望充电器的充电速度越快越好。因此,充电器能够提供的充电速率就是充电器设计的一个重要指标,但是要提高这个指标的前提是充电器必须能够在快速充电阶段能够准确的判断电池的状态。快速充电器的一个本质特征就是在过度充电之前自动降低充电速率。同时充电速率最好也不要超过电池生产商的建议值,通常不要超过2C的充电速率。
如果充电器做不到这一点的话,那么我觉得只能设计和使用合适的小电流涓流充电器。
因此,一个安全可靠的充电器就需要能够在电池的充电过程中能够严格的控制电池的充电电流、电压、温度等物理参数。因此,智能型充电器通常应该包括恒流/恒压控制环路、电池电压监测电路、电池温度监测电路等基本单元。智能充电器的基本硬件方框图如下图所示:

四、CPU电路:
本充电器设计采用ATMEL公司2002年推出的一款AVR高档单片机Atmega8。其内部集成了大容量的存储器,提供了PWM脉宽调制脉冲产生器、多路AD转换器、实时时钟电路、串行接口等硬件接口。非常适合用作智能型充电器的MCU控制单元。Atmega8有DIP28和TQFP/MLF32三种封装类型。我们选择了DIP28封装,如下图所示:

MCU控制单元电路如下图所示:

MCU系统时钟和实时时钟的选择:
Atmega8具有5种类型的系统时钟源,即外部晶振、外部低频晶振、外部RC振荡、内部RC振荡及外部时钟。由于充电器在充电过程中需要计算充电时间,因此智能充电器的设计中必须包括实时时钟源。根据Atmega8的时钟源特点,本充电器的MCU系统时钟选择使用可校准的内部RC振荡器产生8M时钟,外接32.768KHz的晶振做为实时时钟的时钟源。
PWM脉宽调制波产生器:
Atmega8具有3个定时/计数器,可以实现定时/计数功能外,还具有任意小于16位相位和频率可调的PWM脉宽调制输出功能。本充电器使用T/C1产生PWM,为了获得较高的PWM脉冲频率,T/C1的工作模式选择快速模式。PWM脉冲从PB1(15脚)输出。
AD转换器:
DIP28封装形式的Atmega8具有4个10位精度和2个8位精度的AD转换通道。本充电器在充电过程中需要随时采集电池的充电电流、放电电流、电池电压和电池温度,共需要4个AD转换通道。我们采用ADC0(PC0)采集充电电流数据,ADC1(PC1)采集电池电压,ADC2(PC2)采集电池温度,ADC3(PC3)采集放电电流。
Atmega8的21脚AREF是AD转换器的电压参考源。20脚Avcc是AD转换器的电源引脚,为了减小电磁干扰提高测量精度,Avcc是通过L1和C6组成的LC网络才连接至5V电源端。
五、1602B字符型液晶模块
1602B字符型液晶模块是2行16个字的5x8点阵图形来显示字符的液晶显示器,控制芯片为KS0066。液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形。这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

下图是该模块的外形封装尺寸图:

脚注意事项:
从该模块的正面看,引脚排列从右向左为:15脚、16脚,然后才是1-14脚。

VDD:电源正极,4.5-5.5V,通常使用5V电压;
VL:LCD对比度调节端,电压调节范围为0-5V。接正电源时对比度最弱,接地电源时对比度最高,但对比度过高时会产生“鬼影”,因此通常使用一个10K的电位器来调整对比度,或者直接串接一个电阻到地;
RS:MCU写入数据或者指令选择端。MCU要写入指令时,使RS为低电平;MCU要写入数据时,使RS为高电平;
R/W:读写控制端。R/W为高电平时,读取数据;R/W为低电平时,写入数据;
E:LCD模块使能信号控制端。写数据时,需要下降沿触发模块。
D0-D7:8位数据总线,三态双向。如果MCU的I/O口资源紧张的话,该模块也可以只使用4位数据线D4-D7接口传送数据。本充电器就是采用4位数据传送方式;
BLA: LED背光正极。需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右;
BLK: LED背光地端。
1602B在智能充电器中的电路

六、恒流/恒压电路
下图是采用PWM方式控制的恒流/恒压电路。由于图中的开关管是工作在开关状态,因此电路的工作效率较高。

工作原理:
当开关管Q导通时,输入电源通过电感L向电容C充电,同时电感L开始存储能量。当Q断开后,电感要保持电流从而开始释放能量,二极管D开始导通,电感继续给电容充电。开关管周期性的导通,从而保证了电路输出恒定的输出电压。如果开关管的导通时间增加,则输出电压升高,充电电流加大。反之则输出电压下降,充电电流下降。
因此,通过调整PWM的占空比,就可以实现实现充电器的恒流和恒压功能。占空比与输出电压的关系如下:
ton/T = (Vo + VD) / (Vi – Vsat + VD)
其中:
ton :开关管导通时间
T :PWM脉冲的周期
Vi :输入电压
Vo :输出电压
Vsat :开关管的饱和压降
VD :二极管导通压降
电感L的计算方法如下:
L = (Vi – Vsat - Vo)ton / Ipk
其中:
Ipk = 2IoMAX
IoMAX = 最大输出电流
下图是本充电器的恒流/恒压电路。

图中开关管选用了东芝的TPC8103 MOSFET管,为8脚贴片封装。其外形和内部原理图如下。

七、基准电压源
TL431是一个具有良好的热稳定性能的三端可调基准电源。外形如下图所示:

TL431有3个引脚,分别为:阴极C(CATHODE)、阳极A(ANODE)和参考端R(REF)。
其内部工作原理图如下图所示:

充电器基准电压电路如下图所示:

TL431的内部含有一个2.5V的基准电压,所以当在REF端引入输出反馈时,器件可以通过从阴极到阳极很宽范围的分流,控制输出电压。输出电压可以控制在Vref(2.5V)到36V范围内。当R12和R16的阻值确定时,两者对Vo的分压引入反馈,若V o增大,反馈量增大,TL431的分流也就增加,从而又导致Vo下降。显见,这个深度的负反馈电路必然在VI等于基准电压处稳定,此时Vo=(1+R12/R16)Vref。选择不同的R1和R2的值可以得到从2.5V到36V范围内的任意电压输出,特别地,当R1=R2时,Vo=5V。需要注意的是,在选择电阻时必须保证TL431工作的必要条件,就是通过阴极的电流要大于1 mA 。
本充电器选择的基准电压值=(1+3/6)×2.5=3.75V
八、电流检测电路:
本充电器需要实时监控充电过程中的充电电流、电池电压、电池温度以及放电电流值。因此需要运放电路来对这些参数进行放大。LM324是一款使用普遍且价格便宜的4运放集成电路。其工作电压为3-32V,封装如下图所示:

电流检测电路如下图所示。通过检测与电池串联的电流检测电阻R26上的电压,即可计算出充电电流和放电电流。运放2为充电电流检测放大器,运放3为放电电流检测放大器。

两路放大器的增益均为:R27/R30=87/6.6=13。即最大电流检测值为:基准电压/电流放大器增益/R26=3.7/13/0.1=2.8A。
九、电池电压检测电路
为了监控电池电压,需要将电池电压变换在单片机的AD测量范围以内,即0至Vref范围内。这里采用了一个普通的差分放大电路。如下图所示:

其运放输出电压TEST_V=Vbattery×R17/R14。即电池最大测量电压为:
Vbattery_max=Vref×R14/R17=3.75×12/3.08=14.6V。
十、温度传感电路
温度传感器:LM35
LM35是一款精密集成电路温度传感器,其输出的电压线性地与摄氏温度成正比。LM35系列传感器生产制作时就已经过校准过,其输出电压与摄氏温度一一对应,使用极为方便。其灵敏度为10.0mV/℃,精度在0.4℃至0.8℃(-55℃至+150℃温度范围内),低输出阻抗,线性输出和内部精密校准使其与读出或控制电路接口简单和方便,可单电源和正负电源工作。
特性
在摄氏温度下直接校准
+10.0mV/℃的线性刻度系数
确保0.5℃的精度(在25℃)
额定温度范围为-55℃至+150℃
适合于远程应用
工作电压范围宽,4V至30V
低功耗,小于60uA
在静止空气中,自热效应低,小于0.08℃的自热
非线性仅为±1/4℃
10输出阻抗,通过1mA电流时仅为0.1Ω
参数指标及外形图(三种封装)
本充电器选用了LM35DZ型号,封装类型为TO-92塑封,如下图所示。工作温度范围为0℃至+100℃。

TO-92封装(底视图)
1脚:+VS,2脚:Vout,3脚:GND
典型应用
利用数字表可以直接测量温度,如室温25℃时,表上读数为0.25V。如下图所示:

本充电器温度测量电路如下图所示:

运放电路增益为R34/R35=12/2=6。因为AD转换器基准电压为3.7V,因此充电器的温度测量最大值为(基准电压/温度测量增益)/10mV=3700/6/10=62摄氏度。
十一、RS232接口电路
这里采用下图分立元件构成的RS232接口电路,该电路工作稳定可靠,而且无须调试。如果需要缩小体积的话,可以采用MAX232专用串口芯片。

本充电器除了使用LCD做为状态显示以外,还采用了一个双色发光二极管做为充电器的状态指示。这样的话,即使在黑夜里使用充电器,也能够在远处一眼就看出充电器的状态。双色二极管的驱动也是ATMEGA8串口的TX和RX脚。
__________________________
There's something good in this world. And it's worth fighting for ……