新闻  |   论坛  |   博客  |   在线研讨会
基于ATmega8的电动车蓄电池智能管理系统设计
yanqin | 2009-04-17 23:32:41    阅读:1798   发布文章

   摘 要:本文以ATmega8单片机为核心,设计了一种分布式、模块化、通过LIN总线通信且具有智能化充电功能的电动车蓄电池管理系统,实现了对多组蓄电池的有效监测和管理。
  关键词:蓄电池管理系统;智能化充电;LIN总线

引言
   电动汽车的无(低)污染优点,使其成为当代汽车发展的主要方向。电动汽车的发展需要解决两大难题,即能量存储和动力驱动。由于短期内动力电池储能不足的问题难以解决,使能量管理技术成为电动汽车发展的关键。在传统充电技术中,常用的恒压充电、恒压限流充电、恒流充电等模式,都是由人工控制充电过程,大多存在着严重的过充电现象。充电质量的好坏,直接影响蓄电池的使用寿命。而新型蓄电池智能管理系统的设计,就是为了在线检测动力电池状态,提高充电质量和效率,使操作人员只担任辅助性工作。

740)this.width=740"border=undefined


图1系统原理框图

管理系统的组成及硬件设计
   本文设计的智能化管理系统是一种分布式、模块化的车载电池监控系统,它主要由主控模块、可控充电系统模块、电压采集子模块、温度采集子模块、电流测量子模块及显示模块构成,通过LIN总线实现相互通信。该管理系统原理框图如图1所示。

740)this.width=740"border=undefined


图2 LIN总线通信电路图

LIN总线通信电路
   LIN总线的通信简单,方便,使智能电源管理系统与汽车的各系统之间既相互联系又相对独立,从而克服了目前电池管理的漏洞,能使汽车和汽车蓄电池的安全性和可控性得到大大的提高。图2为其具体电路,本设计中各个模块均包含该电路,以此实现信息共享和传输,本设计中实际通信波特率为1200bps。其中,pc817起到隔离作用,max1487保证收发信号在时间上错开。

电压检测电路设计
   对多个蓄电池串联的电压测量方法主要有变阻分压,继电器开关切换,分布式电压测量3种方案。本设计的检测对象是4组并联、每组为40节串联的末端电压为48V的电池组,其单节电池标称电压为1.2V,主要用来检测电池状态,避免其中的单节坏电池影响使用,要求的精确度不是很高。所以,每个测压模块测量一组电池,即以每8节电池为一单元进行测量。考虑到工艺及成本,测压电路采用变阻分压与继电器开关相结合的电路结构。

740)this.width=740"border=undefined


图3电压测量电路图

   如图3所示,U1~U5为分压后电平,分别连接在单片机带A/D转换功能的PC0-PC4口,完成电压采样。在进行可调电阻R1和固定电阻R2的参数选择时,其分压应保证Ui≤5V,即对第i路采样,
 
    其中,Umax为单元电池组的最大电压。本设计采用继电器开关,用以检测模块不工作时是否彻底与电池组断开,避免电池小电流放电;采用可调电阻,在A/D转换后的程序处理中可以采用统一的变量设计,简化程序,方便实际调试。

温度检测设计
   在温度测量模块中主要使用了DS18B20数字温度传感器,该器件的主要特点为:独特的单线接口只需一个接口引脚即可通信;多点能力使分布式温度检测应用得以简化;不需要外部组件;可用数据线供电;不需要备份电源;测量范围为-55℃~+125℃,增量值为0.5℃;以9位数字值方式读出温度;具有用户可定义的、非易失性的温度告警装置。此外,由于每一个DS18B20有唯一的系列号,因此,多个DS18B20可以存在于同一条单线总线上,给应用带来了极大的方便。

740)this.width=740"border=undefined


图4 可控充电模块主电路

可控充电模块设计
   该模块(见图4)是实际设计中的难点,它与外电网相连,对车载电池进行充电,并能根据控制电路发出的指令或标志位,实现对蓄电池分阶段、以不同电流进行充电,且有自动断电的功能,实现智能充电。根据实际需要的大功率、高电压的特点,其主电路采用全桥拓扑结构,输出回路采用全桥整流,同时,为改善功率开关器件的工作状态,主电路采用了软开关技术。

740)this.width=740"border=undefined


图5主控及液晶显示模块电路图

主控及液晶显示模块
   主程序模块是整个系统的核心,其根据需要从各模块收集数据,判断分析数据,并把相关信息显示在液晶屏上。当处于充电状态时,根据电流采集子模块发送的信息,结合电池电压参数和温度测量值进行充电控制,依据电流测量模块计算的电量值,实现充电模式的判别和转变,当电充满时,单片机将对数据设立标志,使可控充电模块断开继电器,充电电路与电池组断开。

   本设计采用内置T6963C的MGLS240128T点阵液晶显示模块。显示及主控模块的电路如图5所示。其中,VCC为5V电源,D0~D7与MC68HC912D60A的一个8位数据口相连,引脚5、6、8为控制口,用来控制液晶显示模块的读写操作,RST(10脚)为液晶显示模块硬件复位脚。V0口输入液晶显示驱动电压,滑动变阻器用来调节液晶显示亮度。

软件编程及测试
   本管理系统的核心软件是在ICCAVR编译环境下用C语言编程实现的。依据硬件设计中的模块化设计,每一个模块中均有一个ATmega8芯片,所以,在编程时按照模块任务进行单独编程,子模块主程序基本包含模块初始化和数据处理,以及串口接收和发送中断程序,在串口中断程序中,主控模块发送数据请求,各子模块在中断程序中根据收到的相关数据串向主控模块发送相应的数据。此外,各子模块根据主控模块返回的数据,进行实际器件的操作,管理系统就这样通过LIN总线进行通信及操作。在通信的软件调试中,通过使用串口调试软件,并将总线数据通过串口连接到PC上,便于监测各个模块的数据,发现问题并进行调试。

结语
   本设计采用ATmega8单片机,充分利用了其外围接口多、功能强的特点,操作方便、成本低。整个系统已经在一款电动工程车上使用,系统稳定。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客