随着电动自行车的逐渐普及,电动自行车的主要能源---锂电池也成为众人关心的焦点。 锂电池与镍镉、镍氢电池不太一样,因其能量密度高,对充放电要求很高。 当过充、过放、过流及短路保护等情况发生时,锂电池内的压力与热量大量增加,容易产生爆炸,因此通常都会在电池包内加保护电路,用以提高锂电池的使用寿命。 针对目前电动车锂电池组所用的保护电路大多都由分立原件构成,存在控制精度不够高、技术指标低、不能有效保护锂电池组等特点,本文中提出一种基于单片机的电动车36 V锂电池组(由10节3. 6 V锂电池串联而成)保护电路设计方案,利用高性能、低功耗的ATmega16L 单片机作为检测和控制核心,用由MC34063构成的DC /DC变换控制电路为整个保护电路提供稳压电源,辅以LM60 测温、MOS管IRF530N作充放电控制开关,实现对整个电池组和单个电池的状态监控和保护功能,达到延长电池使用寿命的目的。
1 保护电路硬件设计
本系统以单片机为数据处理和控制的核心,将任务设计分解为电压测量、电流测量、温度测量、开关控制、电源、均衡充电等功能模块。 系统的总体框图如图1所示。
电池组电压、电流、温度等信息通过电压采样、电流采样和温度测量电路,加到信号采集部分的A /D输入端。 A /D模块将输入的模拟信号转换为数字信号,并传输给单片机。 单片机作为数据处理和控制的核心,一方面实时监控电池组的各项性能指标和状态,一方面根据这些状态参数控制驱动大功率开关。 由于使用了单片机,使系统具有很大的灵活性,便于实现各种复杂控制,从而能方便地对系统进行功能扩展和性能改进。
1. 1 ATmega16 L单片机模块
从低功耗、低成本设计角度出发,单片机模块采用高性能、低功耗的ATmega16 L单片机作为检测与控制核心。 ATmega16 L 是基于增强的AVRR ISC结构的低功耗8位CMOS微控制器,内部带有16 k 字节的系统内可编程Flash, 512 字节EEPROM, 1 k字节SRAM, 32个通用I/O口线, 32个通用工作寄存器(用于边界扫描的JTAG接口,支持片内调试与编程) , 3个具有比较模式的灵活定时器/计数器( T/C) (片内/外中断) ,可编程串行USART,有起始条件检测器的通用串行接口, 8路10位具有可选差分输入级可编程增益( TQFP封装)的ADC,具有片内振荡器的可编程看门狗定时器,一个SP I串行端口,以及6个可以通过软件进行选择的省电模式。 由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 L的数据吞吐率高达1M IPS/MHz,从而可以缓减系统功耗和处理速度之间的矛盾。
单片机的输入输出设计如图2所示。 由电源部分降压、稳压得到的3. 3 V电压通过端口10为单片机提供工作电压;端口12和13为反向振荡放大器与片内时钟操作电路的输入端和反向振荡放大器的输出端,为单片机提供工作晶振;端口30是端口A与A /D转换器的电源,使用ADC时通过一个低通滤波器与端口10的VCC连接;端口37,38的ADC3, ADC2是经过转换后待检测的电压、电流值;端口39, 40的ADC1,ADC0是经过温度传感器转换后的温控电压值。
1. 2 稳压电源模块
稳压电源是单片机系统的重要组成部分,它不仅为系统提供多路电源电压,还直接影响到系统的技术指标和抗干扰性能。 ATmega16 L单片机的工作电压为2. 7~5. 5 V,为保证单片机稳定的工作电压为3. 3 V. 稳压部分是由MC34063构成的DC /DC变换控制电路,从电池组分出的25 V电压经过电路降压、稳压,输出3. 3 V,供保护电路工作,其电路如图3所示。
1. 3 充电均衡模块
采用模拟电路方案。 即在每节电池的外部搭建过压保护电路,充电过程中当电压超过预定值时,保护电路自动闭合,使电池通过电阻回路放电,以保护电池不会过度充电。 当电池电压减小到均衡充电动作电压4. 18 V时,保护电路自动断开。
1. 4 电压电流测量模块
待测的电压通过集成运算放大器LM358,将输出送至单片机进行检测。 LM358内部包括2个独立、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用和双电源工作模式,由于其低功耗电流,也适合于电池。 用霍尔传感器UGN - 3501 M 检测直流电流。 UGN -3501M是集成型霍尔传感器,采用差动霍尔电压输出,检测灵敏度为1. 4 V /0. 1T.
电压电流检测电路的设计如图4 所示。 运算放大器LM358的5, 6引脚所接的BB,AA为待测的充电、放电电压,经过放大后由7脚输出至单片机进行检测,当检测到待测电压达到过充、过放保护电压时,由单片机控制断开充放电回路。 电流检测通过霍尔传感器完成,如图4所示,将从UGN -3501M1, 8引脚输出的霍尔电压uH 接至LM358的3, 4引脚,经过放大后从1 脚输出ADC3 至单片机,进行过电流保护。 UGN - 3501M 的5, 6, 7引脚连接调整电位器,用以补偿不等位电势,同时改善线性。 调整5, 6引脚外接电阻R16,可使输出霍尔电压uH 与磁场强度有较好的线性关系。
1. 5 温度检测模块
温度检测和控制模块选用电压输出型的半导体温度传感器LM60. 该传感器是一种已校正的集成化温度传感器,它的工作温度范围是- 40 ℃至125 ℃,工作电压范围是2. 7 V至10 V. 信号输出与温度成正比,信号大小可达+ 6. 25 mV /℃。
基于LM60的温度检测电路如图5所示。 由稳压部分输出的3. 3 V 电源为此电路供电,经过温度传感器将探测点的温度转化为电压值通过ADC0,ADC1输出,再将ADC0, ADC1送入单片机进行检测,当电压值达到温控要求时,单片机控制开关通断。
1. 6 开关模块
开关采用MOSFET,型号选用P沟道的MOS管的IR530N. 工作原理:单片机控制端口输出高电平,功率三极管导通,功率场效应管的栅极和漏极之间产生压降,功率场效应管导通。
2 软件设计
本系统软件采用C语言编写,处理程序采用模块化编程, 程序运行的环境是ICCAVR 开发系统。
在电池组空载的时候,系统进入掉电模式,以使功耗降至最低;当电池组接入负载或对电池组充电时,单片机被激活,由低功耗掉电模式转入正常工作模式,并持续运作。 整个程序的流程如图6所示。
根据本系统的模块分布,单片机程序分为电压测量模块、电流测量模块和温度测量模块,每一模块调用共同A /D转换函数和延时判断函数等,以缩短代码长度和增强程序代码的可读性。 下面给出程序主函数的代码:
void main ( void)
{
int ( ) ; / /单片机初始化,打开所有开关;
sleep ( ) ; / /单片机进入休眠模式;
int sign︱ = 1;
while ( sign = = 1 ) / /判断系统是否运行正常;
{ int( ) ;
dianya ( ) ; / /调用测压模块;
delay(30000) ;
delay(30000) ;
dianliu ( ) ; / /调用测流模块;
delay(30000) ;
delay(30000) ;
wendu ( ) ; / /调用温度模块;
delay(30000) ;
delay(30000) ;
}
int ( ) ;
sign︱ = 1;
main ( ) ;
}
3 结束语
通过实验,本保护电路系统实现了全部基本功能。 与传统采用分离元件的电池保护系统相比,本文中提出基于单片机的电池保护电路系统具有系统体积小、功能多、功耗低、成本低等特点,可用于工业生产。