电压电流检测电路的设计如图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 与磁场强度有较好的线性关系。

ATmega16L单片机实现电动车锂电池组状态监控保护功能的设计

图4 电压电流检测电路

5、温度检测模块

温度检测和控制模块选用电压输出型的半导体温度传感器LM60. 该传感器是一种已校正的集成化温度传感器,它的工作温度范围是- 40 ℃至125 ℃,工作电压范围是2. 7 V至10 V。信号输出与温度成正比,信号大小可达+ 6. 25 mV /℃。

基于LM60的温度检测电路如图5所示。 由稳压部分输出的3. 3 V 电源为此电路供电,经过温度传感器将探测点的温度转化为电压值通过ADC0,ADC1输出,再将ADC0, ADC1送入单片机进行检测,当电压值达到温控要求时,单片机控制开关通断。

ATmega16L单片机实现电动车锂电池组状态监控保护功能的设计

图5 温度检测电路

6、开关模块

开关采用MOSFET,型号选用P沟道的MOS管的IR530N。工作原理:单片机控制端口输出高电平,功率三极管导通,功率场效应管的栅极和漏极之间产生压降,功率场效应管导通。

软件设计

本系统软件采用C语言编写,处理程序采用模块化编程, 程序运行的环境是ICCAVR 开发系统。

在电池组空载的时候,系统进入掉电模式,以使功耗降至最低;当电池组接入负载或对电池组充电时,单片机被激活,由低功耗掉电模式转入正常工作模式,并持续运作。 整个程序的流程如图6所示。

ATmega16L单片机实现电动车锂电池组状态监控保护功能的设计

图6 程序流程

根据本系统的模块分布,单片机程序分为电压测量模块、电流测量模块和温度测量模块,每一模块调用共同A /D转换函数和延时判断函数等,以缩短代码长度和增强程序代码的可读性。 下面给出程序主函数的代码: