分享

智能快速充电器的设计过程

 风舞狂鲨 2014-02-11

   

    摘要:本文介绍了一种智能快速充电器的设计过程。该充电器基于Motorola 公司的MC68HC908SR12 单片机为控制核心,将SR12 特有的模拟电路模块、高精度A/D 转换、I2C总线接口以及高速PWM 等功能运用到充电控制中,详细讲述了其硬件和软件的设计过程,并从元器件筛选、PCB 板绘制和软件设计等方面介绍了该充电器抑制和防电磁干扰的措施。

    关键词:单片机 A/D 转换 I2C 总线 传感器 电磁干扰

    1 、引言

    随着便携式设备不断小型化、轻量化和高性能化,作为其电源的二次电池的使用率日益提高。我单位于1998 年在对充电器市场调研后,设计开发了“ZXG -99 型智能快速充电器”,1999 年设计定型,同年投入生产,截止到2001 年底,已经累计生产了5000 多部,取得了一定的社会效益和经济效益。今年又签定了几千部的生产合同,但是随着产量的逐年增加,以及二次电池市场的不断变化,该产品在设计中的不足越来越明显。主要有以下几点:

    a .“ZXG -99 型智能快速充电器”的中央微处理器选择的是OTP 型单片机,不具有片上FLASH 存储器,程序固化后不能更改,这在产品批量生产时十分不便,而且随着市场上二次电池的充电特性不断变化,设计人员要及时更改充电控制参数或开发新的充电算法,这样对已出厂的产品只能更换新的MCU ,增加了生产成本;

    b .“ZXG -99 型智能快速充电器”只能对镍镉电池(Nicd )和镍氢电池(NiMH )充电,没有涉及锂离子电池,主要原因是当时锂离子电池的普及率低,价格高。但是锂离子电池具有较高的能量重量比和能量体积比、无记忆效应、可多次重复充电、使用寿命长等优点,促进了便携式产品向更小更轻的方向发展,使得选用单节锂离子电池供电的产品越来越多,同时其价格也越来越低。今后二次电池的主流将是锂离子电池,作为一个完整的产品应该将其纳入到设计中;

    c .该OTP 型单片机的A/D 采样值只有8 位,在对电池进行-△V 检测中精度不够,不能对充电过程实行更精确的控制。

    在开发新型智能充电器中,首要环节就是中央微处理器MCU 的选型。考虑到既要增加产品的智能化和实用性,又要降低生产成本,最终决定选用Motorola 公司新近推出的MC68HC908SR12 作为新型智能快速充电器的MCU ,这是因为SR12 具有模拟电路模块、高精度A/D (10 位)、I2C 总线接口以及高速PWM 等功能,特别适合开发电池充电器和SMBus智能电池,可极大的减少片外其它元器件的开销,达到降低生产成本的目的,同时也提高了产品的一致性和可靠性。

    2 、概述

    2.1 、功能特性

    a. 以MC68HC908SR12 单片机为控制核心;

    b. 根据二次电池的充电特性,软件智能识别镍镉电池(Nicd )、镍氢电池(NiMH )和锂离子电池(Li+),选择相应的控制模块和算法对其快速充电;

    c. 采用最高端电压Vmax 、最高温度Tmax 、最长充电时间tmax 、电压负增长-△V 、温度变化率△T/△t 等快速充电终止法;

    d. 能对1 ~4 节镍镉电池(Nicd )、镍氢电池(NiMH )单独或同时充电;

    e. 能对1 ~2 节锂离子电池(Li+)单独或同时充电;

    f. 充电速率,每0.1Ah 的充电时间 ≤10min ;

    g. 对镍镉电池(Nicd )、镍氢电池(NiMH )采用脉冲充电模式,消除记忆效应;

    h. 对锂离子电池(Li+)采用恒流转恒压充电模式;

    i. 使用具有I2C 接口的高精度数字温度传感器LM92 ,检测电池温度;

    j. 设有过充电保护、过放电保护和过电流保护;

    k. 设有电池开路、短路、反接保护;

    l. 快速充电结束后自动转入涓流充电模式。

    2.2 、系统框图

    该智能充电器以MC68HC908SR12 单片机为控制核心,主要包括电源电路、恒流恒压电路、温度检测电路、键盘响应电路以及状态显示电路。图1 是其系统框图。

    图1 智能快速充电器系统框图

    3 、硬件设计

    3.1 、电源电路

    使用开关电源作为充电器的供电设备。

    开关电源采用脉冲调制方式PWM (Pulse Width Modulation )和MOSFET 、BTS 、IGBT 等电子器件进行设计。开关电源集成化程度较高,具有调压、限流、过热保护等功能。同线性电源相比其输入电压范围宽(通常可达交流85 ~265V )、体积小、重量轻、效率高。其缺点是有脉冲扰动干扰,设计电路板时采用同主控板隔离和添加屏蔽罩等措施,来抑制干扰。

    3.2 、恒流恒压电路

    恒流恒压电路是智能充电器的关键部分。图2 是其电路原理图。恒流恒压电路由SR12 单片机片内模拟电路模块和片外的MOSFET 开关管、肖特基二极管、滤波电感、滤波电容等器件组成。模拟电路模块是SR12 的特有部件,图3 为它的结构框图。它由输入多路开关、两组可程控放大器、片内温度传感器、电流检测电路等组成。可程控放大器总放大倍数为1 ~256 。放大器的输入可选择为两路模拟输入脚(ATD0 、ATD1 )、片内温度传感器、模拟地输入(VSSAM )。ATD0 和VSSAM  间可接一个电流检测电阻,用于测量外部电流,它还连接至电流检测电路,可在电流超过指定值时产生中断并输出信号。

    图2 恒流恒压电路原理图

    在充电开始前的预处理阶段,根据不同的电池,软件选择相应的充电算法,将通道选择控制字写入SR12 单片机的AMCR 寄存器中,将两级可程控运算放大器的增益值写入AMGCR寄存器中。充电开始后,软件定时采集采样电阻Rsense 上的电压值,经过计算,设置SR12 单片机PWM 的输出参数。同时,电流检测电路实时检测充电电流,在电流超过指定值时产生中断并将SR12 单片机的PTC0/PWM0/CD 端口置为低电平,及时关断充电电流,实现恒流恒压的充电控制。

    图3 MC68HC908SR12 片内模拟电路结构框图

    设计中为了减小电流的脉动,降低输出纹波,在体积和成本允许的情况下设计选用饱和电流比较大的电感,因为当磁芯接近饱和时损耗增大,会降低转换效率。电感的饱和电流至少应大于充电回路中的峰值电流。同时,电感的直流电阻会消耗一定的功率,在体积和成本许可的情况下设计选用直流电阻尽量小的电感。另外对于低噪声应用,为降低电源的EMI,设计选用具有闭合磁芯的电感。

    设计中选择滤波电容的主要依据是系统对电源纹波的要求。滤波电容的等效串联电阻(ESR )是造成输出纹波的主要因素,而且也会影响到转换效率,设计选用低ESR 的电容。陶瓷电容和钽电解电容具有较低的ESR ,也可选用低ESR 的铝电解电容,但应尽量避免标准铝电解电容。容量一般在10 μ F ~100 μ F ,对于较重的负载设计选取大一点的电容。较大容量的滤波电容有利于改善输出纹波和瞬态响应。

    在每次充电周期结束后,充电环路中可以观察到振荡现象。这是由于电感中的能量全部释放给负载后,在电感自身的寄生电容和引脚分布电容中还储存有一定的能量,在这些能量的作用下,电容和电感构成的谐振回路将发生振荡,部分能量将以电磁波的形式向外辐射出去,造成对SR12 单片机和其它电路的干扰,在对噪声敏感的设计应用中必须对其加以抑制。在充电回路中接入肖特基二极管D14 来抑制这种EMI 。具体做法是,当电感中的能量释放完毕后,通过D14 使谐振电路处于临界阻尼或过阻尼状态,将剩余能量消耗在D14 上,减小电磁辐射,确保SR12 单片机正常工作。同时,肖特基二极管D14 的另一重要作用是吸收电感的反向电动势,保护MOSFET 开关管Q6 。

    3.3 、温度检测电路

    在快速充电过程中,电池的温度会随着充电容量的增加而上升,尤其在接近充电终止时,温度变化率△T/△t 最大,该特性是判断电池是否充满的主要条件之一,因此,及时、快速和准确地检测电池的温度变化是本电路的关键。

    本设计选用集成电路温度传感器LM92 检测电池温度,图4 为其电路原理图。同时,利用SR12 单片机的内部温度传感器概略监测环境温度,其测温范围-20 ℃~70 ℃。

    图4 温度检测电路原理图

    以往的充电器均多使用热敏电阻作为温度传感器,在本设计中为何舍弃,这是因为热敏电阻的电压输出与温度并非成线性比,在高温时的电压变化率比较小,不易分辨,而且需依靠查表或加设电路才能得知输出电压与温度的关系,其产品一致性差,在出厂前需要校正,增加成本。

    集成电路温度传感器的参数输出是与温度成线性比,两者之间的关系可以用公式来表达,故即使在较高的温度范围内,集成电路温度传感器也具有很高的准确度,设计中需要较少的芯片支持,有助于节省印刷电路板的板面空间,简化部分系统的设计,加快产品推向市场的时间。

    LM92 是美国国家半导体公司出品的单片高精度数字温度传感器。其内部的12 位温度模数转换器,可将被感应温度的模拟量转换为 0.0625 ℃ 量化间隔的数字量,常温下精度可达±0.33 ℃ ,并可与用户设置的温度点进行比较。其片内寄存器可以设置高/低的温度窗口门限及临界温度告警门限,当温度偏离设置门限时,漏级开路中断INT 及临界温度告警T_CRIT_A 输出有效信号。通过I2C 总线接口可对该传感器的内部寄存器进行读/写操作,最多可允许4 片LM92 挂接在同一条串行总线上。MC68HC908SR12 单片机具有I2C 接口控制模块,使用通道0 (SDA0 和SCL0 ),可十分方便地同温度传感器LM92 连接。图4 为温度检测电路原理图。

    LM92 采用I2C 串行总线和数据传输协议实现同MC68HC908SR12 单片机的数据传输。在数据传输的过程中LM92 为从器件,通过数据输入、输出线SDA 以及时钟信号线SCL 与总线相连。其传输时序如图5 所示。当SCL 保持高电平时,SDA 从高电平到低电平的跳变作为数据传输的开始信号,随后传送LM92 的地址信息和读/写控制位。地址信息的格式为:

    根据A1A0 的不同编码,最多可允许4 片LM92 挂接在同一条串行总线上,分别对应四节充电电池。读/写控制位为1 表示对LM92 进行读操作,为0 表示进行写操作。每个字节传送结束,要收到接收数据一方的应答信号(ACK )后方可开始下一步操作。最后,在SCL 保持高电平的情况下,SDA 从低电平到高电平的跳变作为数据传输的结束信号。

    具体操作过程是:MC68HC908SR12 单片机首先传送开始信号,接着写入芯片地址信息和读/写控制位,之后写入要访问的片内寄存器地址,当收到LM92 的应答信号(ACK )后,再次传送开始信号,并写入芯片地址信息和读/写控制位,当收到LM92 的应答信号(ACK )后,可读/写被访问寄存器的数据,最后传送结束信号。

    图5 LM92 与SR12 单片机进行数据传输的时序

    3.4 、键盘响应电路

    设计键盘响应电路时,使用MC68HC908SR12 单片机PORT D (PTD6 和PTD7 )端口的键盘中断功能(KBI )。根据实际情况,在MC68HC908SR12 单片机的键盘中断使能寄存器KBIER中写入相应的值,写入“1 ”表示中断允许,写入“0 ”表示不能中断。键盘中断允许的端口,MC68HC908SR12 单片机将对其内部上拉30kΩ 的电阻,这样键盘响应电路的设计十分简洁,要注意的是应用软件中要增加键盘消抖动子程序,防止误操作。

    3.5 、状态显示电路

    同样,状态显示电路的设计使用了MC68HC908SR12 单片机PORT A (PTA0 ~PTA5 )端口的LED 直接驱动功能。编程时首先设置PORT A 的工作状态,在LED 控制寄存器LEDA中写入相应的值,写入“1 ”表示可直接驱动LED ,写入“0 ”表示作为标准I/O 端口。在充电的每个阶段均有状态显示,如:电池处于正在充电状态、电池因温度过高进入温控状态、电池快充结束转入涓流充电状态等。

    4 、软件设计

    本智能快速充电器的软件设计思想是:各个功能组件实现模块化编程,软件流程采用中断工作方式。目的是使应用软件流程清晰,可读性强,易于功能调试以及产品的维护和升级。本软件主要由初始化、预处理、快速充电和涓流充电四个部分组成。其流程如图6 所示。

    4.1 、初始化

    在程序的初始阶段应首先对MC68HC908SR12 单片机进行初始化操作,包括设置I/O 端口的输入输出状态,设置PLL 锁相环电路参数,设置TIM 定时器参数等等。

    4.2 、预处理

    预处理阶段是进入快速充电前的准备工作。程序初始化后,首先利用MC68HC908SR12 单片机的内部温度传感器检测环境温度。环境温度过低或过高时,均不能够对电池进行充电,否则将损伤电池。例如:锂离子电池(Li+)的适宜充电温度范围在2.5 ℃~50 ℃之间。

    然后,设置A/D 转换参数和通道,检测电池的端电压。将检测数据同理论经验值比较,判断电池的类别以及是否连接正确。对端电压低的电池,采用短时间的脉动电流充电,这样有利于激活电池内的化学反应物质,部分恢复受损的电池单元。对端电压在标称范围内的电池选择相应的充电控制模块和算法,对端电压不在标称范围内的电池,软件自动将其剔除。

    4.3 、快速充电

    按预定的充电控制模块和算法设置MC68HC908SR12 单片机PWM 的控制寄存器PWMCR 、时钟寄存器PWMCCR 以及数据寄存器PWMDR0 ~PWMDR2 ,打开中断使能位,开始快速充电。

    快速充电时,MC68HC908SR12 单片机必须不断检测以下几项关键技术指标:电路是否出现断路、电池是否出现不均衡现象、电池是否达到规定的安全电压、电池是否温度过高、电池是否满足-△V 或△T/△t 条件。

    其中电池的断路主要通过检测采样电阻Rsense 上的电流大小来判断。而且为了避免误判断,应该反复检测。当出现断路时,应重新返回预处理阶段。断路的判断时机应该在电池端电压已经达到预定值的情况下进行,否则在电池端电压没有达到预定值的情况下,充电电流比较小,可能出现误判断。

    均衡充电是本智能充电器的另一个重要特点。在充电的过程中,由于电池的质量不相同,容量小、质量差的电池端电压在充入相同电量后会出现电压增长比另一个电池多的情况,如果不采取措施,它们的电压差将会增大,以至其中一个电池很快达到规定的安全电压,充电过程也将被迫停止。此时应该停充电压高的电池,即均衡充电。这样有利于恢复电池内受损的单元,使充电过程能顺利地进行下去。

    电池的端电压检测使用MC68HC908SR12 单片机的片上10 位高精度A/D 模块,采用中断控制方式,这样可节省MC68HC908SR12 单片机在A/D 转换期间的等待时间。端电压检测的数据,通过充电算法计算电池的电压负增长-△V 是否满足快速充电终止条件,时实修改MC68HC908SR12 单片机PWM 的输出参数,控制充电电流的大小。

    电池的温度检测在端电压检测之后进行。MC68HC908SR12 单片机通过设置不同的地址编码(A1A0 ),访问相应的数字温度传感器LM92 ,读取温度数据,通过充电算法计算电池的温度变化率△T/△t 是否满足快速充电终止条件,时实修改MC68HC908SR12 单片机PWM 的输出参数,控制充电电流的大小。

    为了防止电池被冲坏,在电池电压到达最高端电压Vmax 或最高温度Tmax 时应立刻停止充电,否则会损坏电池。

    4.4 、涓流充电

    快速充电结束后,MC68HC908SR12 单片机自动转入涓流充电模式,补偿电池因自放电而损失的电量,这样可使电池总处于充足电的状态。

    图6 软件流程图

    5 、结束语

    经过几个月的设计和调试,以MC68HC908SR12 单片机为控制核心的智能快速充电器已能正常工作。由于SR12 具有良好的性能价格比,将其特有的模拟电路模块、高精度A/D 转换、I2C 总线接口以及高速PWM 等功能运用到充电控制中,有效使用了SR12 的片内外功能,增加产品的智能化和实用性,节省了产品的开发时间和费用,降低了生产成本,同时也提高了产品的一致性和可靠性。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多