您当前的位置:五五电子网电子知识电源动力技术电池技术锂离子电池组监控系统下位机软件设计 正文
锂离子电池组监控系统下位机软件设计

锂离子电池组监控系统下位机软件设计

点击数:7620 次   录入时间:03-04 12:00:14   整理:http://www.55dianzi.com   电池技术

    4.1开发平台

    由于本系统采用的是TI公司的MSP430系列的单片机,因此开发平台选用IAR Embedded Workbench for Msp430 3.42A这个版本。该软件是一种增强型一体化嵌入式集成开发环境,其中完全集成了开发嵌入式所需的文件编辑、项目管理、编译、链接和调试工具。该软件除了可以进行纯软件仿真,也可以结合仿真器实现在线仿真调试。

    4.2软件模块划分

    下位机软件系统主要由定时中断数据采集处理模块、外部中断短路保护模块、充放电保护模块和均衡保护模块等构成。软件主程序流程图如图4.1所示。

    4.3数据采集模块

    数据采集处理模块是整个检测系统的核心,通过在主程序中设置定时器1的定时时间,使其产生中断,在中断程序里完成对电压、电流和温度等参数的采集和处理。该模块包括电压,电流及温度的采集以及处理。这些数据的精确度对系统的性能有着决定性的作用。

    4.3.1电压采集模块系统需要对16节锂电池模组的单节电池电压进行采集,由于MSP430F233只有8路A/D,同时还要对4路温度及1路电流采样,因此,系统采用分时复用的方式用一路A/D实现对16节锂电池进行电压采集,复用方式采用4片CD4052实现。程序中建立两个枚举类型的数据来对CD4052进行选通,每次选通时,利用CD4052的差分功能可得到单节的电池电压。这两个枚举类型为:

    enum ADD_STATA{S0,S1,S2,S3}

    enum CS_STATA{CS1,CS2,CS3,CS4}

     

 
 

    其中ADD_STATA用于对单片的CD4052的四路通路进行选择,CS_STATA对CD4052进行片选,在程序中对应这两种枚举数据类型的变量分别为ADD_A_B和CS_SEL,电压的采样利用定时器1中断。定时器每计数200下采样一次,每路信号采样10次。

    系统晶振频率为32K,因此,每次采样的采样周期为:t=200/32k=0.006s

    4.3.2电流及温度采集模块

    系统电流的采集通过检测高端电流检测芯片MAX4081上RS-和RS+两端的电压获得。温度的采集通过检测热敏电阻两端的电压获得。电流和温度信号的采集共占用5路A/D通道。

    4.4充放电管理模块

    4.4.1充电管理模块

    锂电池模组在正常情况下充电回路要保持一旦接通就充电,但在充电过程中如果单体电压的最大值大于4.2V时,启动定时器2,定时一段时间后进入中断,在中断内再次对该过充信号进行检测,如果仍然超过设定值,就需要启动充电保护,断开充电回路。但由于某种原因(比如放电)而使最大值下降到4.0V且持续一定时间要接通充电回路,以方便下次充电。为实现此功能定义了几个标志位:charge_guard, chage_f_guard, charge_guarded,分别代表单体电池电压最大值大于4.2V标志,单体电池电压最大值小于4.0V标志和进入充电保护标志。具体实现方式为先根据电池最大值决定是否启动定时器中断,流程图如4.2所示:

     



www.55dianzi.com

         一旦启动了定时器,当定时器中断发生时,进行充电保护的判断,流程图如图4.3所示:

     

     

    4.4.2放电管理模块系统的放电管理模块与充电管理模块类似,只是充电保护及恢复通过对电压的最小值的判断来实现。在放电过程中如果单体电压的最小值小于2.7V,启动定时器2,定时一段时间后进入中断,在中断内再次对该过放信号进行检测,如果仍然超过设定值,断开放电回路。但由于某种原因(比如充电)而使最小大值上升到2.9V且持续一定时间要接通放电回路,以方便下次放电。为实现此功能定义了几个标志位:discharge_guard,dischage_f_guard,discharge_guarded,分别代表单体电池电压最小值小于2.7V标志,单体电池电压最小值大于2.9V标志和进入放电保护标志。具体实现方式为先根据电池最小值决定是否启动定时器中断,流程图如图4.4所示:

     

     

    如果启动了定时器,当定时器中断发生时进行放电保护判断,流程图如图4.5所示:

     

     

    4.4.3电压均衡处理模块

    在电池充电过程中,由于锂电池的个体差异,可能会造成某节电池产生过充,为了避免过充造成电池损坏,需要在过充时对电池旁路。从而使每节电池电压达到均衡。均衡方法为在满充电态时,也就是当检测到某节电池达到4.2V时,开始启动均衡,首先计算16节锂电池的平均电压,然后将各节电池的单体电压与平均电压相减,如果其中某节电池的电压与平均电压的差值大于0.2V,便将该电池旁路,启动均衡。

    4.5短路保护

    系统的短路需要很高的实时性,因此该保护通过硬件中断的方式实现,当硬件检测到短路发生后产生硬件中断,主控CPU立即断开负载回路,而当短路解除时,CPU会接收到硬件电路发送的解除保护信号,系统恢复正常。

    4.6软件抗干扰

    整个系统稳定工作的前提是电压采样值能够精确,但是由于硬件电路本身结构所限,每次采集的数据会有一定误差,为了降低采集误差给系统造成性能的降低,加入了软件抗干扰措施。具体方式是对每一路信号都连续进行10次采样,然后去掉其中的最大值和最小值,对剩下的8个数据求平均值,最终得到有效的采样值。试验证明该方法可使采样误差从10毫伏降低到5毫伏以内,从而提高了系统的稳定性。

    4.7小结

    本章介绍了锂离子电池组监控系统的下位机软件系统设计,主要包括了信号采集、短路保护、均衡保护、充放电保护等模块以及系统的软件抗干扰措施,整个软件系统已和硬件系统联调成功,各项功能均已达到预期效果。




本文关键字:监控系统  软件设计  电池技术电源动力技术 - 电池技术