CN204794281U - 一种轻质充电器 - Google Patents
一种轻质充电器 Download PDFInfo
- Publication number
- CN204794281U CN204794281U CN201420766494.XU CN201420766494U CN204794281U CN 204794281 U CN204794281 U CN 204794281U CN 201420766494 U CN201420766494 U CN 201420766494U CN 204794281 U CN204794281 U CN 204794281U
- Authority
- CN
- China
- Prior art keywords
- battery
- voltage
- circuit
- charging
- cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Charge And Discharge Circuits For Batteries Or The Like (AREA)
- Secondary Cells (AREA)
Abstract
本实用新型公开了一种轻质充电器,包括充电主电路及分别与其连接的检测电路、移相脉冲控制器和基于单片机的主控单元;所述充电主电路由整流电路、高频直流变换电路组成;主控单元通过检测电路检测充电器的工作状态,通过移相脉冲控制器发出充电控制信号,完成对输出电流和电压的检测和控制,实现蓄电池充电过程的控制。本实用新型可以完成对矿用大容量锂离子电池组的安全智能性充电,将推动矿用锂离子动力电池取代矿用传统的铅酸蓄电池的步伐,体积小,重量轻,实现了充电器的小型化与轻量化。同样的输出功率,体积可以缩小为原来的1/3,重量可以减轻为原来的1/4。
Description
技术领域
本实用新型涉及电池充电器,特别涉及一种轻质充电器。
背景技术
锂离子电池是20世纪末研发成功的新型高能电池,由于锂离子电池具有放电电压稳定,工作温度范围宽、自放电率低、无公害等优点,目前已逐渐替代铅酸蓄电池成为电池的主流。锂离子动力电池是指容量在3Ah以上的锂离子电池,相对于镍氢、铅酸、镍镉电池,就能量、体积、寿命、环保等多方面,其具有无可比拟的优势,这些年来备受人们青睐。轻量化的高频智能充电器,再结合智能化的电池管理系统是由电力电子技术、微电脑控制技术、检测技术而构成的装置,它与锂离子动力电池同步而生,同步发展,是支撑锂离子动力电池应用发展的关键性技术装置。电池管理系统对电池组和电池单元运行状态进行动态监控,精确测量电池的剩余电量,同时对电池进行充放电保护,并使电池工作在最佳状态,达到延长其使用寿命,降低运行成本,提高电池组运行的可靠性。近年来国内外纷纷掀起研究锂离子动力电池管理系统的热潮,国外一些大的汽车生产商和电池生产商对电池管理系统的研究已取得了一定的成果,如美国Aerovironment公司开发的SmartGuard系统,德国B.Hauck设计的BATTMAN系统,有很多芯片产商也推出了一些锂离子电池管理芯片,如比亚迪微电子的BM309/310,可以对级联多数量的电池组进行管理。国内针对锂离子动力电池,也在关键性技术的发展上给予了一定政策和资金的支持,但国内就锂离子电池的很多方面都还没有形成统一的标准,目前,国内很多高校联合汽车制造商和电池供应商在做这方面的研发,如北京理工大学、清华大学、北京交大等,在电池充电和管理方面取得了一些成果。但由于针对锂离子动力电池的容量等级划分标准、测试试验条件都还很不成熟,因此,针对锂离子动力电池的充电器和管理系统,还有许多关键技术有待研究。
虽然说锂离子动力电池在通信、电动汽车等领域的研究和应用取得了较大的进展,但在煤矿机电装备上至今还未使用,直至今年6月我国才首次出台一项“100Ah容量的锂离子动力电池防爆应用”标准,锂离子动力电池在煤矿井下的应用潜力巨大。例如避难硐室动力电源的提供,矿用轨道牵引电机车、牵引胶轮机、单轨吊车、运人侯车等设备,这些都是煤矿重要的运输装备,其运行状况、可靠性、耗能情况、运输成本等,直接影响着煤矿生产的安全、效率和经济效益。如今,这些动力的能量提供还主要依靠传统的铅酸蓄电池,它存在体积大、重量重,污染重、不环保,设备自重大、工作效率低,可靠性差、报废率高,维护繁琐、占场地大等一系列缺点。而锂离子电池完全可以克服这些缺点,所以在煤矿设备上推广应用锂离子动力电池优势明显、潜力巨大。可以针对锂离子动力电池在煤矿领域应用的相关标准,其井下隔爆智能充电器技术,以及智能化的电池管理系统等方面展开研究,取得一些成果,为锂离子动力电池在煤矿井下的推广应用服务,这种研究需求是很迫切的。具体概括如下:
1、锂离子电池是20世纪末研发成功的新型高能电池,相对于镍氢、铅酸、镍镉电池,就能量、体积、寿命、环保等多方面,其具有无可比拟的优势,这些年来备受人们青睐,已逐渐替代铅酸蓄电池成为电池的主流。
2、锂离子动力电池在煤矿机电动力装备上至今还未使用,锂离子动力电池在煤矿井下的应用潜力巨大。针对锂离子动力电池在煤矿领域应用的相关标准,对井下隔爆智能充电器技术以及电池管理系统等方面展开研究,为锂离子动力电池在煤矿井下的推广应用服务,这种研究需求是很迫切的。
3、电池管理系统对电池组和电池单元运行状态进行动态监控,精确测量电池的剩余电量,同时对电池进行充放电保护,并使电池工作在最佳状态,达到延长其使用寿命,降低运行成本,提高电池组运行的可靠性,近年来国内外纷纷掀起研究锂离子动力电池管理系统的热潮。
煤矿行业对锂离子动力电池智能充电器的要求:
1、考虑到煤矿蓄电池组的实际串并联情况,充电器的容量应不低于55kW,最大充电电流为60A;
2、锂离子动力电池充电器输出电压:0V-100V连续可调;输出电压精度:±0.5%;输出电流:0~60A连续可调;输出电流精度:±1A;
3、锂离子动力电池充电器要满足蓄电池组充电的要求,运行可靠,设备体积小,质量轻,便于移动,运输和维修;
4、考虑到井下的防爆要求,充电器为自然散热;
5、自动适应井下供电网电压波动的适应能力(75%~120%)。
现有的充电器主要采用几种充电器主回路方案:
1、传统交-直(AC-DC)
这是目前矿用铅酸蓄电池充电器普遍使用的充电方案。主电路采用工频变压器和晶闸管三相整流电路。输出电压的连续调节是通过晶闸管相控方式来实现的。
此充电方案电能变换直接简单,直接由直流电整流成交流电,同时变压器的加入有效实现了系统的输入输出电气隔离使,但此充电方案表现出的不足之处有两点,首先:根据变压器的构造原理可知,工频变压器的加入在一定程度上增加了整个充电设备的体积和重量。其次是控制系统一般采用模拟控制,充电模式单一化,很难实现蓄电池的多段快速充电功能,更大程度的偏离蓄电池可接受的充电曲线,达不到预期充电效果。
2、交-直-直(AC/DC1/DC2)
此充电方案主电路由工频变压器、二极管整流电路和斩波电路组成,660V/50Hz三相交流电压经过工频变压器、二极管三相不控整流滤波和IGBT斩波后输出直流电压,输出电压的连续调节是通过控制IGBT斩波部分来实现的。
此充电方案是依靠IGBT来实现电压的有效调节,控制方法新颖,自动化程度高。但主电路中工频变压器的加入以及直流侧滤波电感的加入,大大增加了设备的体积和重量,不便于安装、搬运和拆卸。
3、现有的矿用蓄电池充电方案主要针对的对象是铅酸蓄电池,充电方式比较简单,只需控制好充电电压电压和充电电流实现多段充电即可,无需复杂的电池管理系统(BMS),而大容量锂离子动力电池在煤矿上的应用,就必须有与之相配套的安全智能充电方案,与传统的铅酸蓄电池充电方案相比最大的不同就是在充电的过程中加入了电池管理系统(BMS),可以实现对锂离子动力电池组的均衡性、智能性充电,而且通过合理的电池荷电状态估算方法,可以有效的避免过充和欠充等现象。
实用新型内容
为克服上述现有技术的缺陷与不足,本实用新型提供一种适用于矿用AC380V/660V输入电压,井下和地面均可适用,充电过程中主回路和电池管理系统协调工作,给锂离子电池进行安全充电的轻质充电器。
本实用新型的技术方案是:
一种轻质充电器,包括充电主电路及分别与其连接的检测电路、移相脉冲控制器和基于单片机的主控单元;主控单元通过检测电路检测充电器的工作状态,通过移相脉冲控制器发出充电控制信号,完成对输出电流和电压的检测和控制,实现蓄电池充电过程的控制。
所述充电主电路由整流电路、高频直流变换电路组成。
优选的,所述充电主电路由即前级功率变换器和后级功率变换器共二级功率变换器组成。
优选的,所述前级功率变换器输入三相AC380V50Hz交流正弦电压经三相不可控二极管整流,再接入电容滤波,利用电容所具有的储能作用将整流后输出电压的脉动成分降低,得到DC510V的直流电,再经过单相IGBT逆变器变换,得到幅值为AC510V/20kHz的交流高频方波电压;所述后级功率变换器实现了从输入幅值AC300V/20kHz的交流方波电压至直流电压的整流变换。
优选的,所述检测电路对充电电流和充电电压以及充电主电路功率器件参数进行实时数据采集,采集的数据提供给单片机以及移相控制器,单片机根据预定的算法对数据进行分析和计算,得出相应的控制数据,送到移相控制器的输入端,通过与反馈信息相比较,调节输出移相角,控制功率器件开关和导通的时间,从而完成对充电主电路的输出电压、电流的控制。
优选的,待充电锂离子动力电池还带有电池管理系统,所述电池管理系统对电池的SOC估算方法,采用基于安时法和电动势法的带加权因子的估算方法。
优选的,所述电池管理系统包括管理芯片及分别与其连接的信号采集电路和单体电池均衡电路;所述信号采集电路包括单体电池电压采集电路、单体电池温度采集电路、总电流采集电路和总电压采集电路。
进一步优选的,通过MOS管实现对电池放电,当电池组充电时,电池组中的某一电池单体的电压与其他电池单体之间的差异超过设定值时,MOS管控制均衡电路的分流旁路闭合,通过并联在该电池单体的均衡电阻消耗该电池的电流,从而达到降低该电池充电电压的目地;当该单体电池的电压趋于一值时,MOS管将控制均衡电路旁路断开,均衡电阻断开与该单体电池的并联停止均衡。
进一步优选的,还包括由供电电源、通信电路、隔离电路、数据存储电路和短路保护电路组成的外围电路。
所述电池带有电池硬件保护板,和电池管理系统的主控板通过通信电路连接,所述通信电路采用RS485通信和CAN通信的双总线通信。
进一步优选的,所述短路保护电路分为两级:一级是安装在电池组的正接线端的保险,另一极安装在电池箱内。
本实用新型的有益效果有:
(1)本实用新型可以完成对矿用大容量锂离子电池组的安全智能性充电,将推动矿用锂离子动力电池取代矿用传统的铅酸蓄电池的步伐。
(2)体积小,重量轻,实现了充电器的小型化与轻量化。同样的输出功率(容量),体积可以缩小为原来的1/3,重量可以减轻为原来的1/4。
(3)控制系统方面:全数字化微机控制代替了传统的模拟控制。
(4)主电路改进方面:IGBT高频整流电路代替了晶闸管工频相控整流电路,高频DC/DC功率变换电路代替了相控调压AC/DC变换电路。
(5)功能扩展方面:微机控制实现了智能充电、充电特性多段、自适应、多变量控制调整充电曲线,延长了蓄电池的运用寿命。
(6)电池管理方面:采用专业的电池管理芯片AD7280A,将BMS加入传统的矿用铅酸蓄电池智能充电机中,在对锂离子电池进行充电的时候,可以对各个锂离子电池单体进行电压均衡,有效的防止单体电池的过充或欠充,采用合理的SOC估算算法,可以较为精确的估算电池的荷电状态,对于合理的控制充电过程具有重要意义。
附图说明
图1为本实用新型所述的锂离子动力电池充电器整体结构拓扑图;
图2为实施例的前级功率变换器的原理图;
图3为实施例的后极功率变换器的原理图;
图4为实施例的控制系统原理框图;
图5为实施例的电池端电压脉冲波形;
图6为实施例的二阶段放电实验记录的电量与放电倍率的曲线图;
图7为实施例的二阶段放电试验相对电量与相对放电电流的对数关系图;
图8为实施例的主AD7280A的配置原理图;
图9为实施例的温度采样电路原理图;
图10为实施例的热敏电阻端接电阻的电路原理图;
图11为实施例的传感器管脚连接图及初级电流和输出电压曲线图;
图11(a)图是霍尔电流传感器的管脚连接图;
图11(b)是初级电流和输出电压曲线;
图12为实施例的传感器管脚连接图及初级电流和输出电压曲线图;
图13为实施例的均衡电路;
图14为实施例的供电电源电路;
图15为实施例的通信电路;
图15(a)为CAN收发器电路;
图15(b)为485收发器电路;
图16为实施例的隔离电路;
图17为实施例的数据存储电路;
图18为实施例的短路保护电路;
图19为实施例的PDC定时器原理框图;
图20为实施例的ADC原理框图;
图21为实施例的控制系统主程序流程图;
图22为实施例的波形发生器中断程序流程图;
图23为实施例的外部故障中断程序流程图;
图24为实施例的定时器中断服务程序流程图;
图25为实施例的AD转换程序流程图;
图26为实施例的电池管理系统的功能图;
图27为实施例的电池管理系统主程序流程图;
图28为实施例的AD7280A串行接口时序图;
图29为实施例的数据采集处理任务的流程图;
图30为实施例的AD7280A的写操作流程图;
图31为实施例的AD7280A的读操作流程图;
图32为实施例的电池故障判断子程序;
图33为实施例的SOC计算子程序流程图;
图34为实施例的安时法计算电池剩余电量的程序流程图;
图35为实施例的电动势法计算电池剩余电量的程序流程图;
图36为实施例的通信任务的主流程图。
具体实施方式
本实用新型所揭示的轻质充电器总体设计框图如图1所示。整个装置由充电主电路、检测电路、移相脉冲控制器和基于单片机SPMC75F2413A的主控单元组成,采用模块化设计模式。主电路由整流电路(AC-DC)、高频直流变换电路(DC-DC)组成。交流电经过交流接触器作为输入整流模块的输入电压,整流输出的直流电压作为DC-DC变换器输入电压。控制电路由SPMC75F2413A及辅助电路组成,发出充电控制信号,检测充电器的工作状态,实现人机接口,完成对输出电流和电压的检测和控制,实现蓄电池充电过程的控制。
1、充电功能实现
由380V/660V(50HZ)三相交流电经二极管整流滤波形成直流电,由电子开关调制成高频(25KHZ)脉冲电压提供给高频变压器原边,其副边转化为低压脉冲,再经过快速二极管全波整流和电容滤波后构成适合锂离子动力电池组所需的直流充电电压,同时,通过传感器检测交流侧电压电流、直流侧电压电流及蓄电池电压,经采样电路进行数模转换后,将采样信息转如数字处理器中,针对采集的信号进行一系列的控制算法处理,产生相应的PWM控制信号来调节开关型器件IGBT的导通脉冲占空比,从而调节直流充电电压电流。另一方面,通过电池管理系统来对动力锂离子电池进行相应的检测和控制等处理。
本装置采用的新型充电电源结构实质是传统的高频脉冲充电电源结构的补充形式。电压电流采集模块采集直流充电电压的数值进入单片机A/D转换成数字量,并与单片机设定的直流充电电压数值进行比较、判断,然后单片机控制改变PWM调节模块输出波形的导通比,进而实现稳定直流充电电压的目的。
2.充电器主电路
主电路由2级功率变换器组成,即前级功率变换器(AC/DC/AC1)、后级功率变换器(AC2/DC),其原理图如图2和3所示。前级AC/DC/AC1功率变换器输入三相AC380V50Hz交流正弦电压经三相不可控二极管整流,再接入电容滤波,利用电容所具有的储能作用将整流后输出电压的脉动成分降低,得到脉动较小的直流电,即DC510V的直流电压,再经过单相IGBT逆变器变换,得到幅值为AC510V/20kHz的交流高频方波电压。后级AC2/DC功率变换器实现了从输入幅值AC300V/20kHz的交流方波电压至直流电压的整流变换。从AC1到AC2的变换是一种高频交流电压变换,由超微晶铁芯的高频方波电压的降压变换,即将幅值为AC510V/20kHz的交流高频方波电压降压至幅值为AC300V/20kHz的交流高频方波电压,即实现了输入电压与输出电压之间的电气隔离。最终提供给铅酸蓄电池的充电电压是DC0—300V连续可调的,适用于不同额定电压、不同容量的铅酸蓄电池组。充电器输出电压的连续调节由前级变换器中的IGBT单相逆变器来完成,采用PWM控制方式。
3.主回路控制电路:
检测电路、保护电路、移相控制器UC3875和基于单片机的主控单元构成了充电装置的控制系统。其工作原理为:检测单元对充电电流和充电电压以及主电路功率器件温度等参数进行实时数据采集,采集的数据提供给单片机以及移相控制器,单片机根据预定的算法对数据进行分析和计算,得出相应的控制数据,送到移相控制器的输入端,通过与反馈信息相比较,调节输出移相角,控制功率器件开关和导通的时间,从而完成对充电装置主电路的输出电压、电流的控制。
系统控制部分的原理框图如图4所示,控制电路核心部分是凌阳单片机SPMC75F2413A及移相控制器UC3895。经过采集后所检测到的电压、电流信息送给单片机内部A/D转换器进行转换,经过单片机分析和处理,通过D/A口输出相应的控制信号送入移相控制器UC3895,UC3895将给定控制信号与反馈值处理后输出移相PWM波,控制IGBT的开通和关断,从而实现对输出电流电压的控制。同时控制系统对主电路的部分电压和电流以及对IGBT模块的温度进行实时监控,根据预先设好的温度、电压、电流的技术指标,判断电路是否出现异常,有效的防止事故的发生,对充电装置起到很好的保护作用。
本实用新型是以矿用锂离子动力电池充电器为研究基础,主要对煤矿用锂离子动力电池管理系统进行研究,设计出符合矿用锂离子动力电池充电器的电池管理系统。
4.电池管理系统(BMS)设计
4.1采用的SOC估算方法
4.1.1算法原理
结合实际应用本系统选用的荷电状态的估算是基于安时法和电动势法的带加权因子的估算方法。该方法运用了在短时间内使用可以获得不错的精度的优点,也结合电动势法能在电池充放电的两端对实时电池修正的特点。在上一节给出了被辨识系统的数学模型的差分方程:
V(k+1)-E(k+1)=[V(k)-E(k)]×a-i(k+1)×b+i(k)×c
方程中的系数a、b、c用实验的方法得到,由于i(k)、i(k+1)、V(k)和V(k+1)是可以测得的,只要给定了E(k)的初值就可以通过递推的方法得到当前的E(k+1):
E(k+1)=V(k+1)-[V(k)-E(k)]×a+i(k+1)×b+i(k)×c
有了E(k+1)然后根据荷电状态(SOC)与电动势的固定的非线性关系得到当前的电池的荷电状态。这种计算荷电状态的方法单一的使用电动势法,如前文所述它的估算精度也与电池模型的精度息息相关,因此本系统选用安时法与电动势法相结合使用,以减少算法对模型的依赖,具体算法通过下式实现:
SOC(k)=SOCA(k)×w+SOCV(k)×(1-w)
SOCA(k)=SOC(k-1)+ΔSOC(k)
式中:SOCA(k)是安时法求的电池荷电状态,SOCV(k)是电动势法求的电池的荷电状态,w是加权因子。中SOC(k-1)为前一时刻的电池荷电状态,ΔSOC(k)是安时法计算的荷电状态的增量。式中给出了安时法计算荷电状态增量的离散公式,式中w的取不同的值,算法有不同的含义:
当w=1时,SOC(k)=SOCA(k),是安时法求荷电状态;
当w=0时,SOC(k)=SOCV(k),是电动势法求荷电状态;
当0<w<1时,使用的为带加权因子的方法,当w接近于1时,安时法占的比重大,当w接近于0时,电动势法占的比重大。当电池管理系统初始上电时,会把w设为为0然后开始运算,此时可以用开路电压代替电池的电动势,实际上就是采用开路电压法为SOC赋初值,然后根据电池所处的不同状态在0~1范围内调节w的值,使算法进行递推运算,从而实现了安时法与电动势法的结合。
4.1.2电动势法参数的取得
用加权因子的方法求电池组的荷电状态时,需要事先通过实验的方法求的的电动势法中参数a,b,c的值,要求取该参数必须对磷酸铁锂锂离子电池做脉冲实验。图5是实验的一小段端电压脉冲波形,该波形是磷酸铁锂锂离子电池组在10A放电过程中1个小时静止时对应的端电压波形。由图可以看出,该端电压波形由两部分组成:V1是电流消失的瞬间端电压的突变,这一现象和纯电阻在电流消失瞬间的特性一致,可与电池的欧姆内阻相对应;V2是电池端电压上升的过程,这个过程和电池极化现象对应,曲线特点与惯性环节的特性十分相像,可用惯性环节来模拟。根据该端电压脉冲波形可以求出R1、R2和C的值。
图5是在10A放电末期端电压的脉冲波形,V1=28.27mv为电流为10A时的欧姆压降R1,V2=92.64mv为电流为10A时的极化压降R2。由欧姆定律可以求出:R1=V1/10=28.27mΩ,R2=V2/10=92.64mΩ。电压上升的过程用一阶惯性环节模拟,其时间常数τ=R2C,在3τ时间内完成了上升过程的94%,图5中的上升过程在1803s内完成了94%,即3τ=1803s,τ=601s则C=t/R2=6847F。然后根据式 即可求出a,b,c的值。按照此方法求出在不同的SOC下a,b,c的值列出表格即可用于软件编程中。
4.1.3安时法修正因子的取得
1)放电倍率修正因子kI
为了修正安时法放电倍率对电池荷电状态的影响,本系统采用Peukert模型和二阶段放电试验法求取放电倍率修正因子。该过程分为三个阶段:A阶段,静置阶段以及B阶段。A阶段:将充满电的电池组以待考察的放电倍率进行放电至放电结束电压,记录此时放出的电量,静置一段时间,进入B阶段。B阶段:以小倍率再次放电到结束电压,记录此时的电量。然后采用把电池充满电,再以不同的待考察的放电倍率重复A阶段,B阶段的实验步骤。图6是以1/6C放电,静置1小时然后以1/30C放电的二阶段放电试验电压电流与时间曲线。图中的红线代表端电压与时间的波形,黑线代表放电电流与时间的波形图。
由于本实验做的是小电流的放电实验,所以只做了1/6C~1/3C的二阶段放电试验,试验数据如表5所示。然后根据表格绘制实验时记录的电量与放电倍率的曲线如图6所示,横轴为1/6C时实际测量的电流与相对放电电流实测值之比取对数,纵轴表示相对放出的电量与1/6C时放出的电量的比值并取对数。
表5二阶段放电试验数据
二阶段放电的总的放电电量与放电电流的Peukert的形式数学表达式为:
Qn1A+Qn1B=(QnA+QnB)(In/InI)n-1
由式得:根据表格绘制出ln(Qn1/Qn)~ln(In/In1)的图形,图欧诺个采用线性拟合,截距为0,可以通过EXCEL中线性拟合求出拟合直线,拟合直线的斜率即为n-1,则Peukert系数n的大小即可确定。图7中的拟合直线的斜率为0.0199,此时Peukert系数为n=1+0.0199=1.0199。则放电倍率的修正因子kI为1.0199。通过拟合直线的方法求出放电倍率修正因子kI,在计算电池的SOC时,直接调用修正因子即可。
2)温度修正因子kI
设Q0为标准(温度20℃,电流1/3C)情况下的容量,QT为T温度(电流与标准下的电流一样)时的容量。通过实验可得电池在不同温度下放的电量,通过公式kT=Q0/QT计算得到表6,表中的第3列即为温度修正因子。
表6温度修正因子
4.2信号采集电路设计
因为磷酸铁锂电池过充或过放电要求很高,所以必须对每节单体电池进行严格的监控。在实际使用过程中需要对电池单体的电压,温度,充放电电流以及电池组的总电压进行实时的监控,完成对电池的过压保护、欠压保护、过温保护、欠温保护、过流保护及短路保护。
4.2.1单体电池电压采集电路
单体电压的测量直接影响到系统对单体电池的过压或欠压等的判断报警以及过压保护和欠压保护的动作,也影响了单体电池的均衡控制。本系统要检测的电池组有16节,由前面的介绍可知,每片AD7280A可以测量6节单体电池的电压和温度,所以使用了3片AD7280A堆叠起来测量16节单体电池的电压和温度。从底片AD7280A到顶片AD7280A测量电池单体的数目分别为6节、5节、5节,3片AD7280A通过菊花链接口堆叠起来。菊花链接口的特性之一是可以通过单个转换命令启动菊花链堆叠中的所有器件的转换,最底片AD7280A为主器件与CPU连接,当CPU向主AD7280A发送转换命令时,该命令沿着菊花链依次向上传递。
图8给出了主AD7280A的配置,AD7280A的电源端(VDD、VSS)放置的齐纳二极管是为了防止AD7280A菊花链初始连接到电池组时各个AD7280A的电源过压。模拟输入端VINx串联的10kW电阻不仅可以在模拟输入发生过压或欠压时,例如任意电池电压输入不当地短接到VDD或者VSS,为这些输入提供保护,而且当AD7280A菊花链初始连接到电池组时,这些10kW的电阻也也能提供保护。相邻差分输入端上的100nF电容构与10kW电阻组成一个低通滤波器,其截至频率为80Hz。作为主器件AD7280A的MASTER引脚通过一个10K的电阻连接到VDD电源引脚。主器件AD7280A的VDRIVE是由外部的5V驱动,而从器件的VDRIVE是由本身的VREG驱动。与VREF引脚相连接的1uF的电容是储能电容,当ADC转换开始后,内部的开关就会把VREF上的电压接入ADC核,这时会有一个瞬态流的需求,如果VREF上的电容太小,储存的电量少,其上的电压就会有很大的波动,所以需要有足够的电量来维持稳定的参考电压,模拟输入的电压都是根据这个参考电压比较转换成数字值的,如果VREF电压不稳定就会导致AD转换结果的不稳定甚至发生严重的错误。
设计中除了主器件外其余的两个从器件测量的电池单体的数目均为5节,图8为5个电压单元模拟输入的连接图。需要注意的是AD7280A用于6个以下电压测量的应用中,要确保各个电池电压之和超过最小VDD(8V)电源电压。还应注意确保VIN6输入上的电压始终大于或等于VDD电源引脚上的电压。虽然只需要测量5个单体电池的电压,但是AD7280A都会采集和转换全部6个电池电压输入通道上的电压。所有六个电压通道的转换数据通过SPI菊花链接口供给CPU,可以忽略不需要的转换数据。
4.2.2单体电池温度采集电路
电池都有一个正常工作的温度范围,但是在其充放电过程中始终伴有温度的变化,通过实验发现,电池的温度与电池的容量和充放电电流之间有一定的联系,是计算SOC的一个不可忽略的因素。一般情况下,在高温条件下锂电池的放电容量要大于低温时的放电容量。但是温度过高,也会影响电池的性能。此外,在判断电池安全和热处理方面也需要温度参数。因此,实时监测电池单体的温度是很必要的。温度采样,我们选用的是热敏电阻作为温度传感器。AD7280A向ADC提供6路单端模拟输入(AUX1~AUX6),通过转换热敏电阻温度测量电路的电压求出温度。热敏电阻和AD7280A的连接如图9所示。本系统使用负温度系数的热敏电阻,当单独上升时,热敏电阻的阻值减小。电阻温度特性可以近似的表示为:
式中RT表示在温度T(K)时的热敏电阻阻值。RN表示在额定温度TN(K)时的热敏电阻阻值。B是热敏电阻的材料常数又叫热敏指数。T和TN代表温度,单位是K(TN(K)=273.15+TN(℃))。本系统采用的NTC热敏电阻的的额定温度为25℃,在额定温度下的热敏电阻的阻值为10K。在计算温度的时候通常采用查表法,即采集转换来的热敏电阻的电压准换成的阻值制作成表格,然后通过查取温度与电阻的关系得到该热敏电阻的温度。下面公式所示的是一路电池温度采集的计算公式。
VADCx=((float)VAUXx/4096)×VREG(2)
RNTCx=(10×VADCx)/(VREG-VADCx)(3)
式中,VAUXx为辅助AD7280A的辅助ADC通道的采样值,即AD7280A辅助通道采集的热敏电阻电压的二进制数。VADCx为热敏电阻的电压,单位(V)。RNTCx为热敏电阻阻值,单位(kΩ)。由公式(2)可以求出热敏电阻的电压,根据公式(3)可以求出热敏电阻的电阻,然后通过电阻与温度的关系即可求出相应的温度。由于热敏电阻是安装在电池的电极上,所以该温度也就近似认为是电池的温度。
如果使用热敏电阻端测量各个电池单元的温度,则对于每一路辅助ADC输入测量,可以使用热敏电阻端接引脚AUXTERM端接热敏电阻输入,这样就能将端接电阻要求从6个电阻减至1个。图10是使用热敏电阻端AUXTERM接电阻的典型电路,将端接电阻置于VSS与AUXTERM之间,这样AUXTERM输入可以将热敏电阻输入接至热敏电阻电路中。但是这样连接热敏电阻端电阻选项只能用在AD7280A的采集时间被设置最高值,而且使用AUXTERM输入时,除了有建立时间的要求外还需要设置AD7280A的控制寄存器相应的位。虽然使用此方法可以减少电阻的数目、缩小PCB板的尺寸,但是有时间的限制,所以本系统的热敏电阻采用的是图9的接法。
4.2.3总电流采集电路
精确测量流过电池组的电流是实时准确计算SOC必不可少的条件,因为它直接决定了使用安时积分法进行SOC估算的精度,正因为此对电流采样的精度、抗干扰能力、温度漂移和线性度误差都提出了很高的要求。除了这些要求外,表5所示电池组的电流测量误差必须小于等于0.2%。另外,电池组的充电电流和放电电流工作范围是不同的,所以在应用中为了保证其测量精度采用了两个电流传感器A和B。电池组在充电的时候充电电流很小,一般在3A左右,因此电流传感器A选用的是TBC06DS3.3霍尔电流传感器。该传感器额定输入电流为6A,测量电流的范围是12A,电源电压是3.3V。电池组在放电的时候最大的放电电流达到20A,因此电流传感器B选用的是TBC15DS3.3霍尔电流传感器。该型号的传感器额定输入电流15A,测量电流的范围为30A,电源电压是3.3V。电流传感器A和B是串联在电路中的,如果电流超过电流传感器A的量程,A的输出就会饱和,其输出电压会是3.3V左右,这时就会以电流传感器B的采样值为准。同理,当电流都低于两个传感器的量程,选择量程小的传感器的采样值为准。传感器A和传感器B的输出电压都是1.65±0.625V,其管脚连接图及初级电流和输出电压的曲线如图11所示。
图中(a)图是霍尔电流传感器的管脚连接图,这种连接可以使得额定电流为规定的额定电流,还有两种管脚连接图可以使得器件的额定电流分别为规定的额定电流的1/2、1/3。本系统采用的就是图(a)中的连接方法,该连接方法的额定电流为±6(±15)A,额定输出电压为1.65±0.625V。图(b)是初级电流和输出电压曲线,PN代表霍尔电流传感器的额定电流,比如需用额定电流为±6A的电流传感器,那么1PN为6A,2PN为12A。计算电流时由CPU采样的电压值然后根据该曲线就可以通过输出电压求出电池组的总电流。
4.2.4总电压采集电路
电池组的总电压也是估算电池状态估算的重要特征量,这是由于电池组的开路总电压与电池组的SOC有直接关系。对于电池组的总电压,虽然可以通过AD7280A采集的单体电池的电压进行累加得到,但是AD7280A采集的每个单体电池电压都有一定的误差,叠加起来误差就会很大,在进行电压采集的时候采集的单体电池的电压不是同一时刻的电压值,因此对瞬态变化的电压,累加得到的总电压值不能很好的反应相同时刻真实的电压值。因为AD7280A的辅助ADC输入管脚可以转换任何模拟输入范围是0V到5V的电压,所以当把总电压转换到0V到5V内就可以选用主AD7280A的AUX1输入管脚作为总电压的测量。其测量电路如图12所示。
当单片机控制输出5V电压,N-MOS管导通,进而P-MOS管也导通,总电压VZDY由R1和R2分压得到,进入AUX1的电压VAUX为:VAUX1=R2/(R1+R2)×VZDY,合理选择R1和R2来保证AUX1V的范围为0V~5V即可。当AD7280A监视电池是否断线时,不可以用总电压的变化作为判断导线是否断裂的依据,因为当第N节电池的导线断开的时,AD7280A测量的第N节电池的电压为1,而相邻的上一节的电池的电压为5V左右。这时总电压的累加和没有断线时的总电压差别是不大的。
4.3单体电池均衡电路
在对串联电池组进行充电时,由于各个单体电池之间各有差别,当其中的某些电池充满时,而某些电池没有充满,如果继续充电会使得充满电的单体电池发生过充现象。过充电会对单体电池产生不利的影响甚至发生危险事故,同时那些长期充电不足的单体电池的容量会下降,长此以往电池组的单体电池之间会存在容量失配,容量失配会加速电池组中某些单体电池容量的衰减。
解决单体电池之间的不一致性主要有:(1)保证电池的出现质量,尽量缩小单体电池之间的差别;(2)在成组时对单体电池参数的一致性进行严格的筛选;(3)使用时让单体电池处于相同状况下,实时采集所有单体电池的电压,及时发现单体电池电压与其它单体电池有很明显时然后及时进行处理;(4)配置均衡系统。方法①是电池组成组的前提,如果因为制造工艺导致单体电池之间的差异很大,即使后三种方法也不会减小电池组的一致性。方法②是电池组成组的关键步骤,如果单体电池成组的前提有了保证,不进行严格的筛选后两种方法使用起来也是很麻烦的。方法③首先,如果可以更换但是更换的电池不一定是同一批次的电池,这就会导致新的不一致性。其次,充电器由于是矿用产品,都会存在隔爆问题,本课题的电池组都是放在铁制防爆箱中,更换电池是不可行的。即使真是电池组有问题,也是成组的更换。所以说在单体电池的制造工艺有保证并在成组之前进行严格的筛选,配合第(4)种方法是最可行的。这样可以最大限度的减小电池组的不一致性对电池寿命的影响。
常用的均衡电路有主动均衡和被动均衡。主动均衡就是当电池的电荷状态超过其同组的其他电池时利用电容、电感等储能元件将多余的电荷转移到其他电池,电荷在电池间往返运动最终实现平衡同时电荷被利用不会产生浪费。虽然使用主动均衡热量不会被浪费掉,但是使用主动均衡电路复杂且算法比较复杂,实际使用的比较少。被动均衡就是当电池的电荷状态超过同组的其他单体电池时,通过该电池两端的电阻器将其多余的电荷变成热量被消耗掉,所以该方法也称电阻均衡。虽然被动均衡损失了电量且存在热管理问题,但是使用该方法硬件电路和软件控制都比较简单,所以实际应用中主要使用被动均衡。
被动均衡时均衡电阻的选择是十分重要的,在单体电池之间的电压相差很大的情况下,如果均衡电阻选的过大,因均衡电流很小,均衡需要很长时间;如果使用小的均衡电阻,系统消耗的能量大,均衡电路的作用低,同时加大了系统对热量的管理难度。本课题的热管理策略是:当防爆箱内温度过高时停止均衡,等温度降低到规定的阈值后继续均衡。其均衡电路是通过MOS管实现对电池放电,当电池组充电时,电池组中的某一电池单体的电压与其他电池单体之间的差异超过设定值时,MOS管控制均衡电路的分流旁路闭合,通过并联在该电池单体的均衡电阻消耗该电池的电流,从而达到降低该电池充电电压的目地。当该单体电池的电压趋于一值时,MOS管将控制均衡电路旁路断开,均衡电阻断开与该单体电池的并联停止均衡。这种均衡电路如果在电池充电到充电平台电压时,均衡就会需要很长的时间虽然该方法的效率很低,但是其简单的均衡电路是其它的均衡电路无法相比的。
AD7280A给各个单体电池提供一个MOSFET开关,如图13中的Q1。Q1可给任一个过充的单体电池放电,Q1用于充电时电阻的均衡。CB1用于控制MOS管Q1,Q1和R1负责提供被动均衡,R2和D1用于显示电池是否处于均衡状态。当与之相对应的电池放电时,D1就会被点亮,电流通过电池、R1,Q1构成放电回路,电流将在均衡电阻R1上被消耗掉。当该电池均衡结束时,控制AD7280A的CB1管脚关断Q1,那么放电回路被切断,D1将熄灭。输入串联的10K电阻R3和R5与相邻差分输入端上的100nF电容构成了低通滤波器,如果电池电压发生过压或欠压,R3、R5可以为这些输入提供保护。R1为均衡电阻,均衡电路的配置还包括AD7280A的CBx端与外部电池平衡晶体管的栅极之间放置的串联电阻R4。如果外部电池平衡晶体管在监控电路与电池组的初始连接器件损,R4可以保护AD7280A。
4.4外围电路设计
本系统的外围主要是芯片供电电源,通信电路,隔离电路。供电电路主要是给CPU、隔离芯片以及通信电路供电。本系统采用RS485总线和CAN总线两种通信电路,隔离电路是主要是CPU和AD7280A电池管理芯片之间的隔离。
4.4.1供电电源
图14是磷酸铁锂电池保护板的供电电路,U1是PWB4805MD-1W5带隔离的DC-DC电源转换模块,该模块是由电池组供电的,模块的电压输入范围是18-72V直流,输出是5V直流。U1输出的5V直流经过U2变成3.3V直流。U2是AMS1117-3.3电源转换模块,该模块不带隔离。经过变化的3.3V直流给保护板的CPU、隔离芯片、JTAG仿真、DS18B20以及24C02等芯片供电。设计时考虑到两种给芯片供电的方法,一种是直接通过电池组给芯片供电,另一种是通过外电供电。如果使用电池组供电时电路不需要改变,如果使用外电供电时,只需把图中的两个0欧姆的电阻去掉,外电接入插针供电。图中的二极管是防止在装配时反接电源会对电池管理系统造成损害。
4.4.2通信电路
为了提高通信系统的可靠性,本磷酸铁锂锂离子电池硬件保护板(下文中均简称保护板)和主控板采用双总线通信,即RS485通信和CAN通信。图15为保护板用到的CAN收发器电路和485收发器电路,其中ADM3053是CAN收发器,ADM2587是RS485收发器。ADM3053是信号和电源隔离式收发器,其内部集成隔离式DC-DC转换器。可以看出ADM3053的逻辑侧有两个供电电源,分别为5V和3.3V,5V是给DC-DC隔离电源转换模块供电的,3.3V是给CAN收发器的逻辑侧供电。ADM3053可以使得CAN控制器与总线接口之间完全隔离,而且能够以最高1Mbps的数据速率工作。ADM2587为隔离式RS-485收发器可以采用3.3V或5V直流供电电源,该芯片使能时需要高电平、接收器有效时为低电平、禁用时可使能接收器输出进入高阻抗状态。该芯片具有的限制电流和温度过高时关断的特性,防止发生芯片的输出短路的情况以及发生总线竞争的状况。
4.4.3隔离电路
图16所示的是隔离电路。本隔离电路主要使用在AD7280A菊花链的底层器件与STM32F103RBT6之间的隔离。需要隔离的信号包括SPI通信管脚SDO、SDI、SCLK、CS、AD7280A的AD转换控制管脚CNVST,报警信号管脚ALERT以及关断输入引脚PD。ADUM5401是集成DC/DC转换器的四通道隔离器,它有3个逻辑输入和1个逻辑输出。正好对应于AD7280A与CPU的SPI通信相对应,其中CPU作为主器件的3个逻辑输入分别为:SDI、SCLK、CS管脚,逻辑输出为SDO管脚。ADUM1201是双通道数字隔离器,一个逻辑输入一个逻辑输出,其中CNVST转换信号是有CPU发送的,报警信号ALERT是由AD7280A发送给CPU的。关断输入引脚是由CPU控制的,CPU控制ADG849单刀双掷开关,通过该开关决定是否给两个隔离芯片ADUM5401及ADUM1201供电。ADG8479S是一款单芯片CMOS单刀双掷开关,供电电源由3.3V电源供电,他具有超低的导通电阻,典型值为0.5欧姆,非常适合要求极低开关失真的应用。
4.4.4数据存储电路
在电池管理系统中需要存储的数据主要有电池运行的日志、故障数据记录、保护参数以及电池运行数据记录。为了可靠准确的记录该数据,采用24C02作为存储芯片。该芯片具有32页,每页有8个字节。其参考电路如图17所示。
4.4.5短路保护电路
短路保护是为了防止电池组发生短路情况,本系统设计的短路保护分为两级。一级是安装在电池组的正接线端的保险,防止危险的发生。当发生短路时,保险熔断,电池组断开,但是保险有一段时间的反应,可能板子已经烧毁时,保险还没有熔断。另外,保险是安装在电池箱内的,当保险熔断时,即使板子没有烧坏,更换保险也是非常麻烦的。基于以上原因,本系统设计了二级短路保护电路如图18所示。
图18中网络标号的BATTERY-代表电池组的负极,网络标号Sensor代表的是霍尔电流传感器的电流输入端,而霍尔电流传感器的电流输出输出端接到电池组的正极。当电路接通时,通过三个并联的电阻R91、R92、R93采样,然后通过运算放大器进行放大,再经过比较器与设定的值比较输出控制三极管Q24的开通和关断。当比较器输出高电平也就是短路时,三极管导通,R56短路,Q17关闭,电路断开。图中的uC_CONTROL是由CPU控制的,当CPU输出低电平的时候,Q17和Q18处于导通状态,当CPU输出高电平的时候,Q17和Q18处于关断状态。当短路时也可以用uC_CONTROL控制电路的导通关断,但是这个时间比较长,这里用uC_CONTROL控制电路的导通关断是保持电路导通或者关断的。真正的短路保护关断是由BH1和BH2控制的。图中的BH1和BH2是经过隔离芯片与CPU连接的,BH1是给CPU的信号,当CPU检测到BH1是高电平时,CPU就会控制BH2输出高电平是的BH1输出低电平。
5充电器控制系统的软件设计
充电器控制系统的模块分为:数据采集模块、主控模块、脉冲控制模块和上位机人机接口模块。数据采集模块使用了单片机SPMC75F2413A芯片作为数据采集用,主控模块同样使用了一片SPMC75F2413A芯片负责各模块之间的数据通讯,脉冲控制模块使用了UC3875用来产生PWM脉冲,上位机人机接口模块也使用SPMC75F2413A芯片负责键盘命令输入和显示部分的处理。相应编写了软件包括人机接口程序、数据采集芯片程序、主控板程序和脉冲控制程序。各程序又由本程序的主程序,中断服务程序和完成各模块功能的子程序组成。主要由汇编语言开发。
其中人机接口程序要实现的功能有起/停机控制、工作方式控制、充电系统工作状态显示和故障显示。系统上电初始化后进入待机状态等待键盘输入和通讯请求。若有输入,则程序根据输入信息进入相应的工作状念,调用相应子程序工作。数据采集程序主要是跟踪电压,电流的变化,完成各种信息量的检测。当检测到故障信息后,程序立刻进入故障处理子程序,同时送出故障代码显示并报警。实现对数据定时进行AD转换并向主控板和显示终端通过SMbus总线传送。主控板作为数据传递的中枢,负责各模块之间数据的交换。脉冲控制程序实现的功能为接收数据采集模块的数据并处理数据,发生PWM脉冲.
5.1编程要求
根据系统要求和硬件构造,本次设计中软件的主要任务是输出恒流恒压的给定值,处理采样电路反馈回来的信号,对系统进行保护,实现恒流恒压的平稳过渡。
5.2编程环境
unSPIDE
5.3端口选择
对于PWM波输出端口选择,由于SPMC75F2413A提供5个通用定时器(PDC0、PDC1、TPM2、MCP3和MCP4),每个MCP定时器都有独立的三相六路PWM波形输出;每个PDC定时器包含3个可编程的特殊功能引脚,用来进行捕获、比较输出、PWM输出和位置侦测;TPM2是一个通用定时器,用来进行捕获输入、比较输出和PWM输出。而我们的设计需要输出1路PWM波作为模拟给定量,所以我们利用PDC0定时器作为PWM发生器,其原理如图19,选择IOB8/TIO0C着个管脚作为PWM波的输出口。
另外,选择优先级比较高的故障输入引脚FTIN作为电路故障中断信号FAULT的输入引脚,以使发生故障时能够快速有效关断UC3875,停止PWM波输出,实现软件保护。为了在系统故障时接收故障信号和在系统恢复正常时清除故障信号,我们选择IOD7、IOD9作为过流和短路保护故障信号的输入引脚,选择输出引脚IOC/BZO作为输出复位信号U2-69。由于SPMC75F2413A芯片中内嵌一个100Ksps转换速率的高性能10位通用ADC模块,采用SAR(逐次逼近)结构。它与IOA[7..0]复用引脚作为输入信道,最多能提供8路模拟输入能力。同时,ADC模块有多种工作模式可选,以满足不同的应用。ADC的原理框图如图20所示。因此我们选择IOA0~IOA7作为模拟量输入通道,选择5V电压作为基准电压。输入模拟量分别是外部给定、输出电压、电流、直流母线电压的检测、两个IGBT模块的温度和高频变压器的温度检测。
5.4程序流程图
图21~25分别是实现充电器恒流恒压充电过程的整个控制程序流程图,包括主程序、定时中断服务程序、波形发生器中断服务程序及故障中断服务程序等。
6电池管理系统的软件设计
6.1软件开发环境
本电池保护板使用的是ST公司生产的STM32F103RBT6中容量产品。根据STM32系列产品命名规则可以知道,STM32F103RBT6中SMT32表示该产品是基于ARM的32位微控制器,F表示该产品是通用类型,103表示该产品是增强型,R表示该产品有64个管脚,B表示该产品具有128K字节的闪存存储器,T表示该产品的封装类型是LQPF,6表示该产品工作的温度范围是工业级温度范围:-40℃-85℃。STM32系列产品是根据其闪存存储器容量确定产品是小容量、中容量或者大容量。小容量产品是指闪存存储器容量范围在16k-32K之间,中容量产品是指闪存存储器容量范围在64K-128K之间,大容量产品是指闪存存储器容量范围在256K-512K之间。除了小容量、中容量和大容量产品外还有互联型产品。
本实用新型选用的是ARM公司于2011年3月发布的集成开发环境RealViewMDK,其集成了KeiluVision4实现了编译器、调试工具与ARM器件的完美匹配。利用它自动生成代码的特点,可以大大提高开发速度。KeiluVision4提供功能丰富且方便的窗口界面。配合仿真器,可以监控整个程序的运行状态和内部空间分配,并且通过设置断点和单步运行程序,检测程序的缺陷。程序在线调试是通过标准的20针JATG接口和STM32的JTMS(PA13)、JTCK(PA14)、JTDI(PA15)、NRST(7脚)、JTDO(PB3)、JNTRST(PB4)引脚按照一定的时序串行传递程序代码和数据的,调试指令都是通过这些数据线和控制线传递的。
6.2系统总体设计框图
根据开发需求,本文设计了16节60Ah磷酸铁锂电池管理系统,该电池组应用于矿用充电器电源。根据矿用电源的要求及电池管理系统的任务,本电池保护板主要完成以下功能:
(1)电池组信息的实时采集。
(2)电池组的充放电管理,主要包括把电池组的电压、电流以及温度与事先设定的电压、温度以及电流阈值进行比较,看是否发生过压、欠压、高温、低温、过流以及短路等情况并进行报警,并根据规定的条件停止对电池充电或放电。
(3)电池组SOC估算。
(4)电池组的均衡。
(5)通信功能,提供数据传送的接口,包括同上位机通信和CAN总线部分的通信以及RS485通信。
图26为锂离子电池管理系统的功能图,系统采用双总线通信:CAN通信和RS485通信,完成保护板和主控板两个部分的通信。本课题只是完成保护板部分,完成电路的硬件设计和软件编写,并实现和上位机的通信。图中的主控板和保护板之间可以通过RS485通信以及CAN通信实现数据的传输与控制。主控制板主要用于显示,控制电池组的充放电,一个主控板最多挂10个电池保护板。每个电池保护板控制16节单体电池,它的主要任务是数据采集,即16节单体电池的电压和温度、总电压、电池的均衡控制、估算电池的SOC、数据的存储。
由图可知,电池管理系统从功能上可以分为三个方面:保护板作为底层完成数据的采集,处理、分析和控制,中间层为数据通信进行数据的交换和传输,主控板作为顶层完成显示功能。系统采用STM32F103RBT6作为控制器,并依托于一个完善的软件程序将各个硬件电路功能模块连接在一起,完成信号检测、数据处理、功能调用、数据存储、数据通信等功能。因此软件在电池管理系统中也占有很大比重,它就像人的大脑一样管理各个功能有条不紊的进行。系统能否正常可靠的工作,除了与硬件的合理设计有关外,也与科学合理的软件编程分不开。本节主要介绍电池保护板的软件设计,在软件设计时,要根据系统要实现的功能进行分析,然后进行模块化设计,最后将各个模块进行组合调试,实现需要的全部功能。
6.3系统总体设计框图
程序中使用RT-Thread操作系统,该操作系统完成3个任务。分别为:数据采集并且进行故障判断、485通信以及SOC估算。每个任务有自己的相关子程序,下面分别介绍这这些程序的流程图。
6.3.1主程序设计
RealViewMDK的用户程序入口也采用的是main()函数,所以系统的主程序也在main()函数中。图27就是程序的主流程图,从图中可以看出主程序中只调用了rtthread_startup()函数,这是因为此函数是RT-Thread的统一入口点。
rtthread_startup()函数包括4个部分,初始化系统相关的硬件、初始化系统组件、初始化系统设备以及初始化各个应用线程并启动调度器。本系统共有三个应用线程这三个线程是在rt_application_init()函数中建立的。在建立线程的时候就定义了每个任务的优先级大小,RT_Thread支持256个优先级,数值越小优先级越高,RT_Thread中提供的线程调度器是基于全抢占式优先级的调度。当系统第一次启动第一次调度时,系统就根据建立线程时设置的优先级大小执行任务。
6.3.2数据采集处理
电池单体的电压、电池单体的温度以及总电压是通过电池管理芯片AD7280A进行采集的,总电路是通过STM32F103RBT6的AD转换通道采集电流传感器的输出采集的。下面首先介绍电池管理芯片AD7280A的串行接口,然后在介绍数据采集及处理任务的程序流程图。
1.AD7280A的串行接口
AD7280A串行接口通信方式为SPI通信,及时钟极性为0,时钟相位为1。由前文可知其接口部分由CS、SCLK、SDI、SDO四个信号构成。其中SDI用于将数据传输至片内寄存器中;SDO用于读取片内寄存器和转换结果寄存器;SCLK是旗舰的串行时钟输入,所有数据无论是输入还是输出都是相对于SCLK进行;CS输入用于对来往器件的串行数据进行数据帧传输。由于AD7280A仅支持32位数据传输,在CS的上升沿复位一个计数器,确保AD7280A在CS的每个下降沿自动与CPU重新同步,为了正确构建32位命令,使用单个32位宽CS帧。图28给出了AD7280A串行接口的时序图。
在电池管理系统中,由于电池之间是串联的,因此当写入AD7280A时除了包括要写入的数据之外,每个写操作还必须包括器件地址和寄存器地址。AD7280A使用32为写周期可以更新菊花链中任何器件的寄存器,其写序列如表7.1所示。
表6.1AD7280A位写周期
AD7280A的读操作有两类,一类是读取AD转换结果,另一类是读取寄存器数据。表6.2为32位转换结果读取周期,表6.3为32位寄存器数据读取周期。无论是读周期还是写周期,器件地址都是以LSB优先的方式配置的。除了器件地址以外的寄存器地址、数据位以及CRC位则是以MSB优先方式输入。
表6.232位转换结果读取周期
表6.332为寄存器数据读取周期
2.数据采集及处理
图29是数据采集及处理任务的程序流程图。系统上电后读取2EPROM中电池信息,电池的信息包括电池组的地址、过压保护值、欠压保护值、过压保护恢复值、欠压保护恢复值、高温保护值、低温保护值、超温保护恢复值、电流过流保护值及容量等级。在写入E2PROM时,最后附有CRC校验值,所以当读取E2PROM时,也会计算读取值的CRC值,如果写入的CRC值与回读计算的CRC值一样,就说明回读的数据是正确的。当回读正确之后就开始对AD7280A进行操作。首先,初始化AD7280A,初始化主要完成的任务是给菊花链中的每个AD7280A设置一个地址,这样便于CPU寻址任何一个器件以及任何器件的寄存器。当初始化成功时AD7280A进行自测检验,自测是为了验证AD7280A的ADC及基准电压缓冲器的工作状态,如果回读的自测转换结果的代码在970与990之间说明AD7280A的ADC转换没有问题。
自测成功后清零自测故障标志位,然后检查电路是否发生短路及过流故障,确认没有这些故障之后调AD7280A数据采集子程序。如果数据采集的结果正确就会根据采集的结果判断电池是否发生其它故障,然后计算电池的耗电量,最后令保护板作为从站的地和电池信息中设定的地址一样。在初始化AD7280A地址、AD7280A自测以及AD7280A数据采集时,都要对AD7280A执行写操作,写操作的流程图如图29所示。
在对AD7280A执行写操作时,如图30所示,首先判断写操作是否有效,如果无效就返回写错误标志,如果正确再判断器件地址是否正确。这里说的器件地址指的是AD7280A初始化时确定的地址,菊花链中每个AD7280A的地址是唯一的。完成初始化后,从主AD7280A到最顶层的AD7280A的地址分别为0,1,2。如果器件地址是错误的就返回地址错误标志位,如果正确就按照32位写周期构造数据然后通过DMA传输。从流程图和AD7280A的串行时序图中可以看出当写入AD7280A时,置为低电平,所以在DMA传输数据之前把管脚拉低。
由前文可知AD7280A的读操作有两种,一种是读转换结果,一种是读寄存器。每种情况下,必须先写入选定器件的读取寄存器,用以配置该器件通过输出端提供正确的数据,从图31可以看出读转换结果和读寄存器时写入的值和步骤是不一样的,但是无论读取哪一个在启动DMA传输的时候都有一步就是把拉低,并且在结束时吧拉高。在读取转换结果时,为了可以通过引脚启动转换,需要把0x02写入控制寄存器,在开始转换时在下降沿即可开始转换。并且可以通过设置控制寄存器设置读取所有器件的电压和辅助ADC输入,这样就可以读取16节电池的电压、温度以及总电压。则电池单体的电压可以表示为式(6.1),电池单体的温度和总电压计算方法第四章已经介绍。
V_cell[i]=4.0*(V_temp[i]/4096)+1(6-1)
式中:V_cell[i]表示电池单体的电压,单位:V;V_temp[i]表示读取的ADC转换的值。AD7280A电压输入的模拟输入范围是1V到5V,这样可以使得在连续整数LSB上的码跃迁小,增加电压测量的精度。
图32为电池故障判断子程序,本系统中对电池的操作有四种:启动对电池的操作、暂停对电池的操作、停止对电池的操作以及结束对电池的操作。当电池到达电压上限时,这时电池就要对电池暂停一切操作;当电池过流、低温及高温时,就要停止对电池的操作;当电池的电压及温度采集线断裂、MOS管关断失效及欠压这些无法通过软件控制解决的问题时就要结束对电池的操作;当没有发生以上任何故障时,这时才可以启动对电池的操作。电池的状态主要有充电状态、放电状态及搁置状态,所以电池的操作就是指对电池进行充放电的动作。如图所示故障的判断分为有外电和没有外电两种情况,无论有无外电都要判断MOS管是否关断失效及采集线是否断裂。MOS管关断失效是最危险的,这不仅容易造成电池组的过充电和过放电而且当发生短路故障MOS管不及时关断容易造成电池组爆炸的危险。采集线断裂如果不及时发现就会导致误判断,会导致电池组过充电,长此以往就会缩短电池组的使用寿命。
6.3.3SOC算法任务
本系统使用的SOC的估算策略是带加权因子的SOC估算策略,电池剩余电量估算部分被封装在一个子程序中,主程序中通过查询标志位定时调用,这样做的好处是改变电池剩余电量的的估算方法时只需改变子程序的内容,而无需改变整个程序的结构。
程序第一次上电时会判断是不是第一次上电,如果是第一次上电采集板就会读取电池的电压,判断电压是否在电压平台上,如果在电压平台上,系统就会对电池组进行充电至SOC为1;如果不在电压平台上就通过开路电压法计算电池初始的SOC。当程序不是第一次上电时,系统首先调用安时法计算电池的SOCA(k),调用电动势法计算电池的SOCV(k)。然后调用权重因子计算子程序计算权重因子,最后根据公式(3-23)计算电池的SOC。但是要使用公式(3-23)还要确定加权因子w,而w的值根据具体情况确定。如果第一次调用SOC计算洗程序而且电池的电压不在电压平台之上,w的值应该设为0,此时就是单纯的电动势法。如果不是第一次调用SOC计算子程序,就要确定SOC是不是在电池电压变换缓慢的部分,如果在就要减小电动势法求得的剩余电量的权重,如果在两端,用电动势法求得的SOCV(k)有较高的精度,因此在程序设计时将电池的剩余电量分为三个部分:0%~30%,30%~80%,80%~100%,在不同的区间有不同的权重值。图33即是SOC计算子程序流程图。
图34和35分别是安时法和电动势计算电池剩余电量的程序流程图。当调用安时法计算电池的剩余电量时,首先根据采样的电流、温度信息查表确定电流修正系数Ki和温度修正系数Kt,然后根据式(3-24)计算剩余电量的增量XSOC(k),完成安时法的计算。然后根据(3-22)计算电池的当前电动势,但是在计算之前必须计算式中的各项系数,本系统是根据实验方法得到这些参数的。编程前根据大量实验对系统进行辨识得到系数做成系数与SOC关系的表格存放在EEPROM中,在程序中只需根SOC查表和线性插值获得当前的系数值,确定系数后可以根据(3-22)来计算电池的当前电动势。然后根据电动势与SOC的表格查出电动势法求出的电池剩余电量SOCV(k)。
6.3.4通信任务
虽然本系统设计是基于CAN总线和RS485总线,但是仅实现了RS485通信,通信协议使用的是MODBUS通信协议。MODBUS通信采用的是主从问答形式的通信,即主设备发出查询信号,从设备响应。MODBUS通信协议有两种传输方式,分别为MODBUSRTU模式和MODBUSASCII模式,相对于MODBUSASCII模式,MODBUSRTU模式传输相同的信息需要较少的位数,即在相同的通信速率下具有更大的数据流量,因此本文选用的是RTU模式。
如图36所示,本系统中电池保护板作为从站,主站通过发出命令请求,从站接收后进行数据分析,如果主站发送的命令请求满足通信协议,从站就会做出响应。本系统中主站发送的命令请求主要包括读保持寄存器、写单个寄存器、读输入寄存器和写多个寄存器,相对应的功能码为0x03、0x06、0x04和0x10。主站请求后验证功能码,根据不同的功能码执行不同的响应格式,如果功能码异常,从站就会返回一个错误响应。错误响应的差错码是功能码加上80H,异常码有0x02和0x03两种。0x02表示非法的数据地址,0x03表示非法的数据,这两个异常码都与请求有关。
表6.4为读保持寄存器的通信格式,其功能码为0x03,表中N代表寄存器数量。主站请求的通信格式中从站地址和电池信息中设置的地址是一样的,当从站接收到主站的请求时首先判断发来的从站地址和电池信息中设置的从站地址是否一样,如果一样的话继续后面的判断,如果不一样就不会响应。读保持寄存器主要读取的是电池故障标志、主回路电流、当前电池电量、能量消耗、均衡、电池剩余电量、对电池的操作、电池消耗的电量、采集线断裂以及基准电压。
表6.4读保持寄存器的通信格式
表6.5为写单个寄存器的通信格式,其功能码为0x06。从表中可以看出写单个寄存器主站请求和从站应答的格式是一样的。写单个寄存器主要应用在对电池信息的修改中,如果电池信息中的某一项需要修改,主站会把要修改的项及要修改的值发送给从站,从站首先判断寄存器地址是否在规定的范围之内,如果在就会读取E2PROM中电池信息的值,并且用要修改的值覆盖原来的值,并且进行CRC校验。最后,把新的电池信息写入E2PROM中。
表6.5写单个寄存器的通信格式
表6.6为读输入寄存器的通信格式,其功能码为0x04。读输入寄存器在本系统中主要是读取电池信息,前文已经介绍电池的信息包括电池组的地址、过压保护值、欠压保护值、过压保护恢复值、欠压保护恢复值、高温保护值、低温保护值、超温保护恢复值、电流过流保护值及容量等级。
表6.6读输入寄存器的通信格式
表6.7为写多个寄存器的通信格式,其功能码为0x10。写多个寄存器主要是接收主站传递过来的系统时间,外电标识以及电池组输出控制。其中外电标识是表明是否有外电,在有外电时才可以对电池进行均衡,电池组的输出控制是通过MOS管的开通关断实现的。
表6.7写多个寄存器的通信格式
Claims (1)
1.一种轻质充电器,其特征在于:包括充电主电路及分别与其连接的检测电路、移相脉冲控制器和基于单片机的主控单元;主控单元通过检测电路检测充电器的工作状态,通过移相脉冲控制器发出充电控制信号,完成对输出电流和电压的检测和控制,实现蓄电池充电过程的控制;
电池管理系统包括管理芯片及分别与其连接的信号采集电路和单体电池均衡电路;所述信号采集电路包括单体电池电压采集电路、单体电池温度采集电路、总电流采集电路和总电压采集电路;
电池带有电池硬件保护板,和电池管理系统的主控板通过通信电路连接,通信电路采用RS485通信和CAN通信的双总线通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201420766494.XU CN204794281U (zh) | 2014-12-05 | 2014-12-05 | 一种轻质充电器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201420766494.XU CN204794281U (zh) | 2014-12-05 | 2014-12-05 | 一种轻质充电器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN204794281U true CN204794281U (zh) | 2015-11-18 |
Family
ID=54534259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201420766494.XU Expired - Fee Related CN204794281U (zh) | 2014-12-05 | 2014-12-05 | 一种轻质充电器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN204794281U (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107632188A (zh) * | 2017-08-21 | 2018-01-26 | 深圳市恒翼能科技有限公司 | 电池充放电设备用双电压采样电路 |
CN109450062A (zh) * | 2018-10-25 | 2019-03-08 | 张家港市华为电子有限公司 | 一种砖式智能模块化充电机 |
CN112628450A (zh) * | 2020-12-22 | 2021-04-09 | 潍柴动力股份有限公司 | 一种电磁阀电流的控制方法及装置 |
-
2014
- 2014-12-05 CN CN201420766494.XU patent/CN204794281U/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107632188A (zh) * | 2017-08-21 | 2018-01-26 | 深圳市恒翼能科技有限公司 | 电池充放电设备用双电压采样电路 |
CN109450062A (zh) * | 2018-10-25 | 2019-03-08 | 张家港市华为电子有限公司 | 一种砖式智能模块化充电机 |
CN112628450A (zh) * | 2020-12-22 | 2021-04-09 | 潍柴动力股份有限公司 | 一种电磁阀电流的控制方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104682487A (zh) | 一种矿用动力电池 | |
CN104682523A (zh) | 一种智能充电器 | |
CN103887853B (zh) | 一种锂离子电池组均衡控制方法 | |
CN101762800B (zh) | 电池组管理系统测试平台 | |
CN103941210B (zh) | 一种bms的验证监控系统及其方法 | |
CN107492917B (zh) | 动力电池的电量均衡方法、电池管理系统及动力电车 | |
CN204012834U (zh) | 一种磷酸铁锂动力电池管理系统 | |
CN104104137A (zh) | 一种磷酸铁锂动力电池管理系统及管理方法 | |
CN202696179U (zh) | 一种电池管理系统 | |
CN105429226A (zh) | 大容量充放电电池管理系统 | |
CN204832469U (zh) | 一种车辆动力电池包的上电测试装置 | |
CN102638085A (zh) | 电动汽车蓄电池智能充电及电池管理装置 | |
CN105071453A (zh) | 一种电池管理系统 | |
CN205880181U (zh) | 一种电池包高压模拟测试系统 | |
CN102645638B (zh) | 一种锂电池组soc估算方法 | |
CN103412205A (zh) | 一种电动汽车充电设备的测试方法 | |
CN103019234A (zh) | 新能源汽车电池管理采集子系统及其控制方法 | |
CN202995453U (zh) | 新能源汽车电池管理采集子系统 | |
CN103683428A (zh) | 一种用于电动汽车的电池管理系统以及电动汽车 | |
CN204794281U (zh) | 一种轻质充电器 | |
CN102539973A (zh) | 一种电动汽车充放电检测系统 | |
CN105425168A (zh) | 一种供电系统中蓄电池核容检测方法和装置 | |
Song et al. | A novel electric bicycle battery monitoring system based on android client | |
CN104142446A (zh) | 一种电动汽车充电机充电控制响应时间测试系统及方法 | |
CN103171451A (zh) | 基于协处理器和固态继电器的电池管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151118 Termination date: 20161205 |
|
CF01 | Termination of patent right due to non-payment of annual fee |