1、基于 AVR 的锂电池智能充电器的设计与实现 1 引言 锂电池闲其比能量高、自放电小等优点,成为便携式电子设备的理想电源。近年来,随着笔记本电脑、PDA ,无绳电话等大功耗大容量便携式电子产品的普及,其对电源系统的要求也日益提高。为此,研发性能稳定、安全可靠、高效经济的锂电池充电器显得尤为重要。本文在综合考虑电池安全充电的成本、设计散率及重要性的基础上,设计了一种基于ATtiny261 单片机 PWM 控制的单片开关电源式锂电池充电器,有效地克服了一般充电器过充电、充电不足、效率低的缺点,实现了对锂电池组的智能充电,达到了预期效果。该方案设计灵活,可满足多种型号的锂电池充电需求,且 ATtin
2、y261 集成化的闪存使其便于软件调试与升级。2 锂电池充电特性锂电池充电需要控制它的充电电压,限制其充电电流。锂电池通常都采用三段充电法,即预充电、恒流宽电和恒压充电。锂电池的充电电流通常应限制在 1C(C 为锂电池的容量)一下,单体充电电压一般为 42V,否则可能由于电聪过高会造成键电池永久性损坏。预充电主要是完成对过放的锂电池进行修复,若电池电压低于 3V,则必须进行预充电,否刚可省略该阶段。这也是最普遍的情况。在恒流阶段,充电器先给电池提供大的恒定电流,同时电池电压上升,当魄池电压达到饱和电压对,则转入憾压充电,充电电压波动应控制在 50mV 以内,同时充电电流降低,当电流逐渐减小到规
3、定的值时,可结束充电过程。电池的大部分电能在惯流及恒压阶段从充电器流入电池。曲上可知,充电器实际上是一个精密电源,其电流电压都被限制在所要求的范围之内。3 硬件电路设计该系统在电路设计上主要由单片开关电源、控制电路及保护电路三部分组成。31 单片开关电源单片开关电源负责将电能转化为电池充电所需要的形式,构成了充电器的主要功率转换方式。与传统线性充电器大损耗、低效率的缺点相比,由美国 Power Integrations 公司的 TNY268P 构成的单片开关电源,其输入电压范围宽(85265VAC)、体积小、重量轻、效率高,其有调压、限流、过热保护等功能,特别适合于构成充电电源。其原理图如图
4、1 所示。图 1 单片开关电源该电源采用配稳压管的光藕反馈电路实现 15V 的低压直流输出,当输出电压发生变化时,通过线性光藕 PC817 的发光管的电流发生相应的变化,使得 TNY268P 的 EN 脚流出电流也发生变化,从而控制其片内功率 MOSFET 的断、通、调节输出电压,使输压电压稳定。具体反馈原理分析详见后文脉宽调制(PWM) 的控制。在电路结构上,线性光藕 PC817,不但可以起到反馈作用还可起到隔离作用。由 PNP 管 Q2 和电阻 R9、 R1O 及 R12 组成的限流电路,则从源头上防止了过电流的问题。由 C6 及 R11 构成的缓启电路,则有效抑止了电源上电瞬间的产生的电
5、压尖峰。而二极管 D9 则防止了电池组的反向放电。此外,对整个充电系统而言,当因意外情况系统失控时,开关电源所提供的 15V 直流低压也在某种程度上起到了限制其最高电压的作用。32 控制电路单片机负责控制整个系统的运行,包括充电电流电压值的设定,电流电压的检测与调整,充放电状态的显示等。与专用充电控制芯片相比,单片机控制系统不仅不受电池组容量大小的阻将电流转换为电压进行的,因此其 PWM 控制调整过程与恒限制,还可通过软硬件配合实现更灵活的综合控制,也便于进一步的后续开发。系统控制选用 Atmel 公司的 AVRATtiny261 来实现,控制框图见图 2。ATtiny261 采用 AVR R
6、ISC 结构,其大部分指令执行时间仅为 1 个时钟周期可达到接近 1MIPS/MHZ 的性能;11 路lObitADC。且 15 对具有可编程增益的 ADC 差分通道,精度高达 2.5mV 的内置 256V 基准源,3 个独立PWM 发生器,片上温度传感器,足以满足设计需求。图 2 系统控制结构框图321 志愿检测系统电压采样采用精密电阻分压方法,将测量电压范围转换成 0-256V,然后通过 1 倍的差分ADC 通道转换成数字信号,在充电过程中将测得的电压值与预先设定的值进行比较,再控制调整 PWM占空比完成对充电电压的控制与调节。322 电流检测在系统电流的榆测上,由于选用 ATtiny26
7、1 的 ADC 差分通道,这就要求其正端输入电压必须大予负端输入电压。困此,在电路设计上,通过串联在电流主回路中的高精度采样电阻 RsenseB 和RsenseA,经 ADC2-ADCl 和 ADCl-ADC0 两对 32 倍的 ADC 差分通道( 参见图 3),分别完成对充、放电电流的检测。可见,差分 ADC 的选用,既保证了电流采样的精准,又避免了因电路中引入差分远放所带来的功率损耗问题,很好的满足了系统性能与功耗两方面的要求,充分体现了 ATtiny261 的优势。 图 3 电池保护电路323 温度检测温度检测确保了安全充电步骤的执行。系统中使用 ATtiny261 的毖上湿度传感器,通
8、过 ADCIl进行温度检测。测量电压与温度基本成线性关系,约 lmv/C 的精度可提供充分精度的温度测量。如欲获得更高精度的温度检测,可通过软件写入校准值的方法来实现。3。2。4 PWM 控制设计中,在前述稳压管反馈控制的摹础上,在反馈环节中引入 PWM 的方法控制充电。其基本控制思想是利用单片机的 PWM 端口,在不改变 PWM 波周期的前提下,通过电流及电压的反馈,用软件的方法调整 PWM 占空比,从而使电流或电压按预定的充电流程进行。因系统进入充电工作状态后,受锂电池终止充电电压的限制,其最高电压不得高于 127V,所以开关电源中的稳压管 Zl 始终处于截止状态,充电过程完全由 PWM
9、的控制来实现。以恒压充电为例,在充电电压调整之前,单片机先快速读取充电电压检测值,然后将设定的电压值与实际读取值进行比较,若实际电压偏高,则提高 PWM 占空比,使线性光耦 PC817 的发光二极管的电流 1F 增大,致使 TNY268的 EN 脚置为低电平,其片内功率 MOSFET 关断,输出电压降低。反之,则降低 PWM 占空比-IF 减小-EN 脚为高电平,片内功率 MOSFET 接通,输出电压升高。在预充电,恒流充电阶段对电流的调整,是通过采样电阻将电流转换为电压进行的,因此其 PWM 控制调整过程与恒压阶段完全类似。当充电结束时,PWM 持续输出占空比为 1 的高电平,关断 TNY2
10、68P 的片内 MOSFET,中断功率转换回路,实现充满后自动停充。为保证采样的准确,尽量避免由于 ADC 的读数偏差和电源工作电压等引入的波纹干扰,所有采样点都经过阻容滤波处理,并在软件 PWM 的调整过程中采用了数字滤波技术。您当前的位置:首页 应用 电源3.2.5 按键与显示充电器的功能按键响应由 ATtiny261 的外中断来实现,与 LED 显示相配合可获知池放电状况,并提醒系统即将终止。系统充放电的每个状态都与相应 LED 显示对应。可根据电压检测判断是否有电池装入及提供电池短路保护,并给出 LED 报警信号。33 保护电路由于锂电池的化学特性,在使用过程中,其内部进行电能与化学能
11、相互转化的化学正反应。但在菜蝗条件下如对其过充电、过放电和过电流将会导致电池内部发生化学副反应,该副反应加剧则会严重影响锂电池的性能与使用寿命,甚至会引起爆炸而导致安全问题,因此锂电池保护电路显得至为重要。如图 3 所示,该电路选用精工的多节锂电池保护芯片 S8233 构成,可对电池电压和回路电流进行有效监测,并通过对 MOS 管 FET-A 或 FET-B 的控制在某些条件下关断究、放电回路以防止对电池发生损害。与其它电池保护芯片如 S8254 相比较,S8233 还可通过外接 MOS 管 FET1,FET1 及 FET3 来保证锂电池组的充电平衡,这是其它类似芯片所不具备的优点。通过单片机
12、对 S8233 芯片 CTL 端子的控制,可实现对锂电池的故障保护。 4 软件设计系统软件采用汇编语言编写,并在 AVR Studio4 环境下编译调试完成。整个系统软件内充电主程序和中断服务子程序组成。主程序主要完成系统、变量及看门狗定时器的初始化控制系统实现充电功能。单片机完成初始化后,根据电池状况判断应该进入哪一个充电阶段,然后通过 AD 采样与中断响应完成 PWM 的调整,实现相应阶段的控制。主程序流程见图 4。程序中通过 AD 中断子程序来改变 PWM 占空比,定时中断子程序来控制最大充电时间,外中断来判断电池组放电状态。图 4 主程序流程5 实验测试结果实验中采用 750mA 恒流
13、对 3 节 1500mAh 的锂电池组进行充电,充电电流电压测试曲线如图5 所示。实验结果她示,由单片开关电源实现 AC-DC 的转换,通过 ATtiny261 与 S8233 保护芯片的相互配合与控制所实现的锂电池充电器,满足了 3 节锂电池组的充电要求,取得了较好的充电效果。图 5 电池充电测试热线6 结束语由于 AVR ATtiny261 良好的性价比,使得产品的智能性与应用性大大提高,且缩短了开发时阔降低了开发成本。并且,系统采用综合控制的软件算法,避应了不同型号及容量的锂电池需求机电路集成度高,结构简单,性能可靠,经济轻便,具有很大的实用价值。此外,在系统现有功能实现的基础上,充分利用 ATtiny261 的片内外资源,通过其所具有的 12C 通信功能,可以很方便的升级为智能电源管理系统,直接成用于各种便携式电子设备。本文作者创新点:采用 PWM 控制的单片开关电源实现充电,大大提高系统效率;基于AVRATtiny261 的控制核心搜综合控制的软件算法,使系统控制更加灵活,便于进一步升级开发。