《电子技术应用》
您所在的位置:首页 > 电源技术 > 业界动态 > 电动车用动力电池状态检测与显示系统设计

电动车用动力电池状态检测与显示系统设计

2009-03-04
作者:张彩萍, 张承宁, 李军求, 张

    摘  要: 为了更好地监测动力电池组状态参数,易于电池管理,设计了动力电池状态检测与显示系统。系统由多个电池单体检测模块组成,其核心是电池单体电压采集电路;系统利用总线通信技术实现数据的传输与显示。 

    关键词: 动力电池组; 电池单体检测; 总线通讯 

 

    蓄电池是电动汽车的主要动力源,其状态好坏和寿命长短在很大程度上决定了整车性能的优劣[1]。为保证车辆正常可靠行驶,电池管理系统必须实时监测电池电压的数据。为了避免电池电压不均衡带来的局部电池过充/过放与电池工作温度过高引起的安全问题,要求检测系统必须对电池单体电压和电池工作温度进行精确测量,并对电池工作温度进行实时控制[2]。因此,电池单体电压与工作温度的检测及其在线监测是电池管理系统的重要组成部分。 

1  蓄电池状态检测与显示系统组成 

    蓄电池状态检测与显示系统是由多个电池单体检测模块组成的,利用总线技术实现数据的传输,通过CANUSB智能CAN接口卡将传输的数据在PC机上显示出来。电池单体检测模块以内嵌CAN控制器的AVR型单片机AT90CAN128为核心,外围电路主要由电压采集电路、温度采集电路、风扇控制电路以及CAN通信驱动电路等几部分组成,如图1所示。系统依靠核心器件AT90CAN128完成A/D转换和数据处理功能,利用总线通信技术实现数据的传输与显示。 

 

 

2 系统的硬件设计 

2.1 电池单体电压采集电路设计 

    在车载环境下,电池单体电压是进行电池管理的主要依据参数之一,因此电池单体电压的采集电路是电池状态检测模块电路的核心部分,这里通过一种带有模拟开关的压控恒流源电路加以实现[3],其原理如图2所示。该电路利用差动放大电路对共模信号的抑制作用实现长串电池组电池单体电压的测量,把被检测的电压差(即单体电池端电压)转换成电流的形式长距离传输而不受外界干扰,且传输精度高,适合于不同电压级别的微机接口电路。这里尤其要指出的是多个电池串联引起的共地干扰问题,在采集电压时,每一组采集电路都共用电路板上的模拟地,即图2中的US-端点全部与地相连,若不加场效应管,被采集串联电池组间的电压差就会在整个前项采集电路内形成不流经运算放大器的回路。若假设电池单体检测模块要采集n块电池单体电压值,那么在上述循环回路内势必有电流i产生,并且总的流向为从采集电路1输入正端流入,从采集电路n的输入负端流出,也就是说会使电路1中的恒电流I1因正向叠加而变大,电路n中的恒电流因反向叠加而变小,中间各电路也相应受不同程度影响。运用具有低导通内阻的N沟道增强型场效应管做模拟开关后,通过单片机I/O口来调节场效应管的栅-源极电压UGS值,进而控制漏-源极间的导通或关断,通过合理控制场效应管的关断,就能保证任一时刻只有一组电路参与工作,从而从根本上避免了多个电池串联引起的共地干扰问题。

 

 

    图3所示为电池单体检测模块中电压采集部分的结构原理图,其中a1~a8为电池单体电压采集电路的输出端,ADC0~ADC7为单片机AT90CAN128上对应的A/D转换接口,PB0~PB7分别控制场效应管的导通与关断以保证任一时刻只有一组电路参与工作,TXCAN、RXCAN和STB分别为CAN总线通信的相关引脚。不难看出,模块就是将八组单体电压采集电路置于同一块电路板上设计而成的,再经过A/D转换和CAN串行总线通信即可完成数据采集、处理和传输。由此根据串联电池组中的电池数量采用一个或多个电压检测模块就实现了对其中每块电池单体电压的测量。

 

 

2.2 单线式温度采集与控制单元设计 

    电池单体检测模块中工作温度的采集通过单总线数字式温度传感器DS18B20加以实现。DS18B20是美国DALLAS半导体公司生产的高性能数字式温度传感器,能将温度感应电路、A/D转化电路、寄存器和接口电路集成在一个芯片中,从而实现直接数字化输出和测试,并且有精度高(通过简单的编程可实现9~12位的采集精度)、控制功能强、传输距离远、抗干扰能力强、微型化、微功耗和使用方便等特点[4]。温度采集电路如图4所示。 

 

 

    单片机的PA4口经过光耦、驱动器与DS18B20 的I/O端(DQ)相连,通过PA4口串行发送相关的DS18B20 控制命令,控制DS18B20 完成温度的转换和输出;DS18B20 串行输出的温度值再经驱动器、光耦由单片机的PA5口读入。 

    温度控制电路是单片机通过场效应管与风扇相连,当采集的温度高于设定的温度值上限时,单片机通过控制场效应管导通使风扇打开;当采集的温度低于设定的温度值下限时,单片机通过控制场效应管关断使风扇关闭。它的控制电路比较简单,这里不再给出。 

2.3 CAN串行通信总线的硬件设计 

    图5为基于AT90CAN128单片机的CAN总线实现的硬件连接图。 

 

 

    从图中可以看出,电路主要由三部分组成:单片机AT90CAN128、高速光隔6N137和高速CAN总线收发器。单片机的PD4口通过光隔连接了CAN收发器,以控制收发器使能;单片机的TXCAN和RXCAN也分别通过光隔连接CAN收发器的TXD和RXD引脚,以进行数据交换。整个CAN通信接口电路就是把单片机的TTL电平经过光电隔离后,再经由CAN驱动器将其变为符合CAN接口标准的差分信号发送出去,并利用TJA1040内的接收器将总线上的差分信号转化为TTL电平信号,再经光电隔离后接收进来。 

    高速光隔6N137将微控制器与现场总线隔离,可以提高系统的抗干扰能力。CAN总线收发器采用了TJA1040,它与82C250芯片引脚完全兼容,是CAN 控制器与物理传输媒体之间的物理连接子层接口。 

3 系统的软件设计 

    系统的软件设计主要包括A/D转换、温度采集和CAN的发送程序,主程序流程如图6所示。从流程图中不难看出,主程序在系统初始化后就开启定时器中断,如无中断发生,则在循环体里执行电压采集及其相应的数据发送程序。一旦中断发生,则执行温度采集及其相应的数据发送程序,并判断温度值是否达到设定的温度值上限,若达到则开启风扇,否则关闭风扇。程序利用中断从时序上保证了各项任务的有序进行、互不影响,故较为实用。 

 

 

3.1 CAN总线节点的软件设计 

    在电池单体检测模块中,CAN总线节点的软件设计主要包括CAN控制器的初始化和数据的发送程序。对内嵌于单片机AT90CAN128的CAN控制器,其初始化主要包括波特率参数设置、接收代码寄存器和接收屏蔽寄存器的设置以及使能允许寄存器的设置等,其主要程序清单如下: 

    CANGCON=0x80;//进入复位模式并且复位MOb 

    while(CANGSTA&0x04); 

    CANGIE=0x00;    //禁止CAN的所有中断 

    CANEN1=0x00;    //使能MOb0,MOb1 

    CANEN2=0x03;     

    CANIE2=0x00;    //MOb中断禁止 

    CANIE1=0x00;  

    CANBT1=0x00;    //波特率参数设置,设为1M 

    CANBT2=0x04; 

    CANBT3=0x13; 

    CANTCON=0x00; 

    CANPAGE=Volt_MOB;   //指定消息的Mob页 

    CANCDMOB=0x18; //禁止状态,CAN2.0B协议,8位数据长度 

    CANIDT1=0x00;       //初始化接收码寄存器 

    CANIDT2=0x00; 

    CANIDT3=0x01; 

    CANIDT4=0x08; 

    CANIDM1=0xff;       //初始化接收屏蔽寄存器 

    CANIDM2=0xff; 

    CANIDM3=0xff; 

    CANIDM4=0xff; 

    CANGCON=0x02;          //初始化完成,进入操作模式

    while(!(CANGSTA&0x04));     //等待,直到CAN控制器使能标志位置1 

    这里尤其要指出的是,在AT90CAN128单片机中验收屏蔽寄存器的设计逻辑与其他CAN控制器验收屏蔽寄存器设计逻辑刚好相反。在AT90CAN128单片机内嵌的CAN控制器中,对所有验收屏蔽寄存器为1的位,仅当接收码寄存器和CAN信息帧对应位相对应的验收才能通过;而对所有验收屏蔽寄存器为0的位,接收码寄存器对应位的验收滤波功能被屏蔽[5]。 

3.2  单线式多点温度采集的软件设计 

    温度传感器DS18B20遵循1-WIRE网络通信协议,该协议是分时定义的,有严格的时隙要求。单片机控制DS18B20完成温度转换必须经过3个步骤:初始化、ROM操作指令和存储器操作指令。控制过程为:启动DS18B20,采用默认的12位转换精度开始温度值转换,读出转换值。由于本系统多个DS18B20在一条总线上,为了识别不同的器件,本文采用先将DS18B20逐个与主机挂接,读出其序列号后,再将读出序列号的各个DS18B20挂在一条总线上与系统相连接。这样单片机的一个I/O口就可以控制多个DS18B20,节省了单片机内部资源。 

4 试验设计与验证 

    为了验证电池单体检测模块的工作性能,采用直流稳压电源代替锂离子电池,通过改变直流稳压源电压值模拟锂离子电池电压变化情况。图7为以电池输入电压3.6V为基准、先逐渐增大电池输入电压后逐渐减小电池输入电压,电池单体检测模块所得到的电压值与理论值的误差曲线图,其误差均保持在0.02V范围内。因此,整体上能够满足设计和使用方面的要求。 

 

 

    通过试验验证,整个动力电池检测与显示系统表现出了良好的稳定性和精确性。其中,电池单体检测模块中电压采集部分采用带有模拟开关的压控恒流源电路,该电路将电压信号转换成电流信号,大大提高了抗干扰性能,使其能够满足电动车辆的使用要求。此外该检测模块具有结构简单、工作稳定、传输距离远等优点。利用内嵌于单片机内的CAN控制器,接口电路简单、可靠、并具有良好的工作稳定性。 

参考文献 

[1] 朱正.动力电池组分布式管理系统设计及实车试验[D].北京:北京理工大学,2006.  

[2] 张彩萍,张承宁.电动车辆动力电池组电压采集电路设计[J].电气应用,2007,26(12):91-93. 

[3] 童诗白,华成英.模拟电子技术基础(第3版)[M].北京:高等教育出版社,2000. 

[4] 高云红.数字温度传感器在多点温度测量系统中的应用[J].沈阳航空工业学院学报,2006,23(2):61-63. 

[5] ATMEL Corporation. AT90CAN128 [EB/OL].http://www.atmel. com. Rev. 4250-CAN-04/ 05.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。