基于MC9S12D64镍氢电池充电系统设计

2006-12-08 15:23:09来源: 电子元器件应用

引言

镍氢电池的工业化生产从90年代初期开始,随着新型镍氢电池技术的发展,现已要满足设备对镍氢电池技术特性不断提高的技术要求,镍氢电池的能量高,为镍镉电池的1.8-2倍,为铅酸电池的3倍且具有良好的充电性能,可快充深放,无记忆性,不含镉、铅、汞等有害物质,从而避免了二次电池对环境带来的污染[1],这些优势使得镍氢电池广泛应用于混合动力电动汽车,纯电动汽车和燃料电池电动汽车中。

但是由于镍氢电池的充电方式、充电电流、充电结束电压、放电电流,放电深度和电池的温度等条件会影响电池的寿命,此外,电池状态的不均衡,充放电过程的不均衡,重复的不均衡充放电,也会使处于充电状态的电池寿命缩短,从而导致整个电池包的寿命缩短,为此,本文设计了一套镍氢电池的充电系统,该系统能检测每个单体电池的电压,充电电流,单体电池温度等,并能人为设定充电模式,或根据电池的具体状态自动选择充电模式。

系统硬件组成

系统MCU的选型

MCU是镍氢电池充电系统的核心,它需要有完善得自检测和控制功能,以及较高的智能化水平,能对镍氢电池充电电压、充电电流及镍氢电池组的电压、电流、温度等进行检测和显示,并根据电池当前状态选择合适的充电方式,这里选用Motorola公司的112脚表面贴芯片HSC12系列16位MCU MC9S12D64。

MC9S12D64采用高速S12内核(StarCore),CPU外部总线频率为8MHz,内部运算速度可达25MHz[3]。片内集成了64KB Flash、4KB RAM和1KBE2PROM,可满足程序对存储空间的不同要求,MC9S12D64包括1路CAN总线接口,2路异步串行通信接口(SCI),1路同步串行通讯接口(SPI),1个BDLC(J1850)接口,8路8位或4路16位PWM输出,2个8路10位AD转换器,8路键盘中断等。通过内部的PLL电路可以使用0.5-16MHz的低功耗晶振以产生25MHz的片内总线时钟,单线后台调试模式BDM还能缩短系统开发周期。

系统硬件设计

镍氢电池充电系统由MC9S12D64最小系统--包括电源模块、外围复位电路、时钟晶振电路、工作模式选择、PLL电路及BDM调试接口电路,镍氢电池充电电路选择控制,键盘控制,液晶显示,实时时钟电路,电池充满指示,PWM电流调节控制电路,镍氢电池状态检测,RS-232通信电路和CAN总线通信电路组成,具体硬件框图如图1所示。


整个镍氢电池充电系统硬件设计的重点有以下两个方面:镍氢电池状态检测电路和PWM电流调节控制电路。其中镍氢电池状态检测电路包括检测镍氢电池单体电压,镍氢电池充电电流及镍氢电池组的温度,它是硬件电路设计的核心,状态检测的准确性直接关系到电池充电效果和充电的安全性[2],在镍氢电池组中电池是串联在一起的,要测量每个单体的电压,每次只能使一只待测单体电池接入到电路中通过两片模拟电子开关CD4067将单体电池的正负端与系统中的AD采样端和模拟地相连,并依次接通对应电池的正负极,从而实现各个单体电池电压之间的切换,充电电流通过电量隔离传感器,将充电电流转化成电压,电压测量通过外扩AD芯片ICL7109来完成,ICL7109是12位数字输出AD。供电电压为±5V,硬件电路如图2所示,图中,J11的管脚1-11依次连接电池负极及电流传感器的负输出端,对应的CD4067(即U45)输出与模拟地相连,J12的管脚1-10依次连接电池正极及电流传感器的正输出端,对应的CD4067(即U44)输出通过运算放大器LM358后接入AD转换芯片以将其信号转化为数字量由MCU读入并进行处理。

电池组温度检测采用的是美国DALLAS半导体公司生产的数字温度传感器DS18B20。它的测温范围为-50+125℃,精度可达到0.1℃,且不需要A/D转换,并可直接将温度值转换为数字量[4]。DS18B20严格地遵守单线串行通信协议,每一个DS18B20在出厂时都用激光进行了调校,并具有唯一的64位序列号,多个DS18B20可采用一线制通信,DS18B20与单片机的接口电路设计如图3所示,将DS18B20的信号线与单片机的PB0口相连,并在口线上接一个上拉电阻,便可采用外加电源方式供电。

PWM电流调节控制电路可调节镍氢电池的充电电流,因为对镍氢电池组进行充电的电流一般在几安培到上百安培,这里选用基于IGBT的智能功率模块IPM进行大电流充电,IPM是先进的混合集成功率器件,由高速、低功耗的IGBT和驱动电路及保护电路构成。内有过电压、过电流、短路和过热等故障检测电路,并具有自动保护功能,简化的镍氢电池充电电流调节回路如图4所示,其中R1、光隔、R2、R3、IGBT集成在IPM中,由PWM通道3控制光隔的通断来控制IGBT的导通,由PWM的占空比来调节对镍氢电池充电电流的大小。

系统软件设计

镍氢电池组SOC(荷电状态)计算

电池的SOC状态可用来反应当前电池的剩余容量,他在数值上定义为电池剩余容量占与电池容量的比值:

Soc=Qc/Ci (1)

式中,Qc为电池剩余容量,Ci为电池以恒定电流I放电时放出的容量,若电池充满电状态定义为Soc=1,则Soc的定义可表示为:

Soc=Q/Ci (2)

式中,Q为电池充入的容量,电池Soc的计算是通过计算充入电池电量来间接计算的。考虑到电池的充电效率,当前电池容量的计算公式为:

Qn+1=Qn+Itη (3)

时间间隔t可通过定时时间t来产生,Q可通过定时中断服务程序计算,Soc的值可由公式(2)得到。

控制器软件设计

控制器软件主要包括单片机系统初始化、液晶显示初始化、实时时钟初始化、充电控制、状态检测、键盘处理、液晶显示、实时时钟处理,CAN通信及定时中断处理等,系统软件设计采用模块化程序设计,不同的功能模块由不同的子程序来实现,系统主程序流程如图5所示,图中的虚线部分为存在多个充电控制器时或有上位机监控时的情况。

单片机系统初始化模块的内容有:PLL电路初始化、端口初始化、CAN通信初始化、AD初始化、SCI口初始化等,系统初始化是保证系统能正常工作的基础。

充电控制设计

在系统软件设计中,充电控制是软件设计的重点,充电开始时,首先读入镍氢电池的电压,电池温度及键盘选择标志位,当选择涓流充电方式时,系统将以C/16的充电速率对电池涓流充电。当无充电方式选择或选择恒流充电模式时,首先判断电池组的初始温度是否大于10℃,若电池组初始温度小于10℃,则以C/16的速率进行涓流充电到电池温度大于10℃,然后以充电电流C/4或由键盘设定的充电电流恒流充电,若镍氢电池的初始温度小于10℃,则首先以C/16的充电速率涓流充电2分钟,然后再恒流充电,充电过程中,系统要实时检测镍氢电池电压、充电电流、电池组温度并读取充电时间以便计算剩余充电时间和当前电池的Soc。同时由液晶显示,当检测到镍氢电池的电压开始下降(du/dt为零或负值)或电池温度达到最大时,系统将由快速充电方式转入涓流充电方式,并根据当前电池的Soc确定剩余充电时间,当充电满标志位置时,结束充电。其具体的流程如如图6所示。


结束语

充电系统作为电池能量的再次补充,直接决定着充电电池补充能量的有效程度及电池循环使用寿命的长短,在选用10QNF12进行充电测试时,使用本系统充电与普通充电方式充电相比,在相同充电条件,相同充电次数下,电池的平均充电时间可大大缩短,电池充电有效容量可得到提高,电池充电结束后,单体端电压一致性提高,结果表明:本系统在一定程度上消除了充电不均衡现象,从而延长了电池的使用寿命。

关键字:MCU  HSC12  控制

编辑: 引用地址:http://www.eeworld.com.cn/designarticles/power/200612/7390.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
MCU
HSC12
控制

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved