电压电流检测电路的设计如图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 与磁场强度有较好的线性关系。
图4 电压电流检测电路
5、温度检测模块
温度检测和控制模块选用电压输出型的半导体温度传感器LM60. 该传感器是一种已校正的集成化温度传感器,它的工作温度范围是- 40 ℃至125 ℃,工作电压范围是2. 7 V至10 V。信号输出与温度成正比,信号大小可达+ 6. 25 mV /℃。
基于LM60的温度检测电路如图5所示。 由稳压部分输出的3. 3 V 电源为此电路供电,经过温度传感器将探测点的温度转化为电压值通过ADC0,ADC1输出,再将ADC0, ADC1送入单片机进行检测,当电压值达到温控要求时,单片机控制开关通断。
图5 温度检测电路
6、开关模块
开关采用MOSFET,型号选用P沟道的MOS管的IR530N。工作原理:单片机控制端口输出高电平,功率三极管导通,功率场效应管的栅极和漏极之间产生压降,功率场效应管导通。
软件设计
本系统软件采用C语言编写,处理程序采用模块化编程, 程序运行的环境是ICCAVR 开发系统。
在电池组空载的时候,系统进入掉电模式,以使功耗降至最低;当电池组接入负载或对电池组充电时,单片机被激活,由低功耗掉电模式转入正常工作模式,并持续运作。 整个程序的流程如图6所示。
图6 程序流程
根据本系统的模块分布,单片机程序分为电压测量模块、电流测量模块和温度测量模块,每一模块调用共同A /D转换函数和延时判断函数等,以缩短代码长度和增强程序代码的可读性。 下面给出程序主函数的代码: