高恒 王力 杜瑞 张鹏 严琼
(1.武汉理工大学,现代汽车零部件技术湖北省重点实验室,武汉 430070;2.上汽通用汽车有限公司武汉分公司,武汉 430000)
发展新能源汽车是汽车行业降低碳排放的主要路径,其中传统燃油车增加48 V 轻混系统可以显著降低燃油消耗量[1-3]。
传统燃油车起动时,12 V 蓄电池为起动机供电,进而带动发动机工作。在整车运行过程中,发动机通过带动起动机做功,实现对12 V 蓄电池的充电,并为12 V 车载低压负载供电。但整车长期未起动时,由于12 V 蓄电池的自身特性及整车休眠状态下唤醒车辆各模块工作的能量消耗,蓄电池的电压会逐渐降低。
对于P0 架构的48 V 混合动力车型,在整车起动时,12 V 蓄电池提供电压用于闭合48 V 动力电池继电器,再由48 V动力电池驱动48 V电机带动发动机起动,为整车提供动力。因此12 V 蓄电池电压不足状态对48 V 系统和整车工作状态的影响与48 V动力电池的电池管理系统(Battery Management System,BMS)控制逻辑和低压工作特性密切相关。
本文通过试验研究12 V 蓄电池低电压工况下BMS 的工作状态,针对BMS 出现的无响应问题提出解决方案,并通过试验验证其可行性。
P0架构的混合动力系统与传统车的不同之处是其增加了48 V 动力电池、DC/DC 电源变换器模块和电动机-发电机单元(Motor-Generator-Unit,MGU)。混合动力系统由混合动力控制单元(Hybrid Control Unit,HCU)控制,通过轻混系统可以实现车辆的智能起停、能量回收和扭矩补充等功能,也可以搭载更多电气设备,为整车提供更多电气化功能[4]。
本文的研究对象为上汽通用某48 V 混合动力车型,该车型48 V 混合动力系统结构如图1 所示。12 V蓄电池为整车低压负载和BMS供电。48 V总线连接48 V动力电池、DC/DC电源变换器和MGU,48 V动力电池可以通过48 V 总线输出电流至MGU 提供辅助动力。当动力电池电压低时,可以通过MGU回收制动能量和发动机多余能量进行充电。在48 V混合动力系统工作时,48 V 动力电池的部分电流通过DC/DC电源变换器转换为12 V直流电流。当12 V蓄电池电量较高时,由12 V 蓄电池和DC/DC 电源变换器共同对整车模块和BMS供电;当12 V蓄电池电量较低时,DC/DC 电源变换器在为整车模块和BMS 供电的同时为12 V 蓄电池充电。HCU 监控12 V 蓄电池的状态,控制DC/DC电源变换器和BMS,保证整车模块和48 V混合动力系统正常工作。
图1 48 V混合动力系统结构
48 V混合动力系统BMS外部控制逻辑如图2所示。HCU 通过低压接口连接动力电池BMS模块,当整车状态为附属配件电源接通(ACC)/起动(Crank)时,HCU 进行状态检查,控制DC/DC 电源变换器进行预充,当48 V 总线电压达到动力电池电压的90%时,HCU 发送继电器闭合(Relay Close)信号至BMS,BMS 控制动力电池继电器闭合,48 V 总线上电开始工作。HCU 根据系统工作需要控制MGU 的开关及输出功率。
图2 48 V混合动力系统BMS结构
BMS 除控制和监控继电器状态外,还会对电芯和模组电压、电流、温度和12 V 电源电压进行监控,通过CAN 总线与HCU 通信。在整车熄火休眠时,HCU 向BMS 发送继电器断开(Relay Open)信号,BMS 控制继电器断开后停止工作,HCU 按一定频次唤醒BMS 进行动力电池状态检查并保存状态数据。在整车休眠期间唤醒BMS 检查过程中,如果发现模组内电芯电压差值过大,则需要进行自均衡,保证电芯电压的一致性。
在48 V 混合动力系统工作时,HCU 根据控制策略控制48 V动力电池荷电状态(State Of Charge,SOC)不低于30%,保证48 V动力电池在长时间停放条件下不会由于采样芯片能量消耗和电芯自放电导致电压不足。较高的SOC 下限也可以避免过度放电,保证48 V动力电池具有较好的容量保持率和寿命[5]。
车用12 V 蓄电池一般为铅酸蓄电池,结构如图3 所示,由正极板、负极板、隔板、电解液、槽壳、连接线和正负极接线端子等组成。
图3 12 V蓄电池结构
在车辆使用过程中,根据车载用电器的需求,12 V 电池可能频繁充放电,如果充放电控制策略不能有效保护电池,12 V 蓄电池可能产生电压不足、容量降低等故障。尤其是长期停放时,12 V 蓄电池电压不足会导致整车无法起动[6]。
12 V 铅酸蓄电池的正常工作电压一般为10.5~12.5 V,整车设置相应的低压阈值,在电池电压过低时提醒驾驶员12 V 蓄电池状态不正常,整车进入弱电模式。弱电模式下整车各模块用电受到限制,且48 V 混合动力系统由于继电器无法闭合而停止工作,BMS 模块会继续监控动力电池状态。当车辆长期停放或者12 V 蓄电池老化导致电压进一步降低时,BMS 等低压模块仍会被HCU 唤醒继续工作,直到电压低于模块最低工作电压。
在12 V蓄电池电压处于10.5~12.5 V范围内时,整车各模块正常工作,车辆可以正常起动,48 V 混合动力系统正常工作。在12 V 蓄电池电压低于10.5 V时,48 V混合动力系统可能出现2种状态:
a. 当12 V 蓄电池电压满足BMS 等模块正常工作但不满足继电器闭合条件时,BMS 可以正常监控动力电池状态,如电压、温度等,但48 V 混合动力系统无法正常工作。
b. 当12 V 蓄电池进一步放电导致电压严重不足时,12 V 蓄电池供电电压低于BMS 内微控制单元(Microcontroller Unit,MCU)芯片工作电压,MCU 芯片工作状态异常,BMS故障。
为了研究12 V 蓄电池电压对48 V 混合动力系统工作状态的影响,本文进行台架试验研究。使用可编程电源替换12 V蓄电池,设置电源电压从12.5 V起每小时降低0.5 V,直到降低至6.0 V,其间车辆处于ACC 模式。由于DC/DC 电源变换器和MGU 控制器工作电压为5 V,由HCU 供电,该试验仅需观察HCU和BMS状态。
试验结果如表1 所示:当12 V 电源电压处于[10.5,12.5]V 范围内时,系统正常工作,可以读取到BMS 反馈的电池电压等信号;当12 V 电源电压处于[6.0,10.5)V范围内时,继电器工作异常,无法正常闭合,BMS 上报继电器状态异常故障码;当12 V 电源电压低于6.0 V 时,BMS 无响应,HCU 上报该故障,请求点亮故障灯。
表1 12 V电源电压与BMS工作状态的关系
试验中继电器无法闭合的原因可能是线圈供电电压不足,导致动触点无法有效吸合。BMS 无响应的原因可能是12 V 电源电压过低导致MCU 无法正常工作。
试验后拆除可编程电源,重新安装正常12 V 蓄电池并检查车辆状态。车辆进入ACC 模式后发现BMS 依然无响应,车辆发动机故障灯点亮。为确认问题,将48 V 动力电池从整车拆下,研究其故障原因。
由48 V 动力电池系统结构可知,12 V 蓄电池只为BMS 供电,且48 V 动力电池与HCU 的通信由BMS 负责,初步判断为BMS 故障。更换故障电池BMS 控制器后其通信恢复正常,电芯电压和模组电压正常,故锁定故障发生在BMS 内部。BMS 内部主要芯片为MCU 芯片和采样芯片,其中采样芯片由模组直接供电,与MCU 芯片的通信方式采用串行外围设备接口(Serial Peripheral interface,SPI),其工作不受12 V 电源电压影响。MCU 芯片的供电由BMS 将12 V电压转换为5 V的芯片工作电压。故BMS无响应很可能是12 V电源电压过低,MCU芯片供电电压不足使芯片工作异常所致。根据相关研究,MCU 芯片出现的异常经常为程序跑飞、随机存储器(Random Access Memory,RAM)写入错误等失效模式,会导致应用系统卡顿、无法复位等问题[7]。
为了确定BMS 无法恢复正常的具体原因,设计台架试验模拟12 V 供电电压降低工况,进一步研究BMS的MCU芯片具体失效原因。
该BMS 的MCU 芯片为汽车行业应用较为广泛的NXP S12ZVC 系列MCU 芯片,芯片的工作电压为3.5~18.0 V。该芯片工作电压范围宽、集成度高、接口多、可拓展性强,成为很多动力电池BMS 硬件的低成本解决方案。
48 V 动力电池BMS 试验台架搭建如图4 所示,由上位机、可编程电源和48 V 动力电池组成,由可编程电源模拟12 V 电源供电,电源设置为在2 000 s内电压在6.0 V、3.5 V、6.0 V 间线性变化,电源编程曲线如图5 所示,正常情况下HCU 每隔4 h 唤醒BMS 工作一次,BMS 每次被唤醒后工作30 s 左右。为了加快试验进度,设置上位机每分钟唤醒BMS 工作一次,30 min后试验结束,检查BMS状态。
图4 试验台架
图5 电源电压随时间变化曲线
试验后对BMS进行状态检查发现BMS无响应,更换电路板后BMS 通信恢复。对故障电路板进行检查,使用万用表检查CAN 通信线路通断和线路终端电阻,确认CAN 通信线路和电压正常。通过40倍显微镜和X 光探测观察MCU 芯片焊点,均无异常。连接示波器对MCU 芯片进行晶振测试,故障BMS 的MCU 芯片晶振周期为4.040 ms,频率为247.5 Hz,正常MCU 芯片晶振频率为4 MHz,故障BMS 的MCU 芯片晶振频率严重异常,MCU 芯片发生故障可能是导致BMS无响应的原因。
通过专用工具读取MCU 芯片内数据,如图6 所示,发现在地址0x100084 开始出现“X”,“X”代表编程器或调试器无法判断读出的内容是“0”或“1”。结合试验分析该问题出现的原因为BMS 被唤醒对电池状态进行检查,在擦写数据时发生供电电压低或者不稳定情况,影响了电擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)的擦写操作,在EEPROM 中存储了无法识别的错误值,EEPROM 出现纠错块(ECC Block)错误[8]。
图6 EEPROM内故障值
12 V电源维护后MCU芯片被重新唤醒,在启动过程中读到该段故障代码时根据芯片底层逻辑会立即复位重启。但是故障代码无法自行清除,该EEPROM 中故障依然存在,MCU 会陷入重复启动的循环过程,由于复位循环时间过短,其应用层无法启动,因此HCU 上报BMS 无响应故障并点亮故障灯。
试验及分析结果确认了BMS 工作电压低于6 V时会导致MCU 芯片供电电压不足产生故障,且MCU 芯片无法自行清除故障。由于MCU 应用层无法启动,也就无法通过正常的车载诊断系统(On-Board Diagnosis,OBD)接口对其进行软件刷新修正故障。如果用户由于车辆长期停放或者12 V 电源故障引起该问题后无法通过售后服务解决,只能更换48 V动力电池。
该无响应故障产生的直接原因是MCU 芯片底层逻辑要求其读到故障码后立即重启,MCU 芯片无法自行清除故障值。因此最直接的解决方案应该是将MCU 芯片的底层逻辑修正为识别到该故障值后清除代码再重新启动,该方案验证周期较长,无法快速解决当前产品故障。
通过研究BMS 控制逻辑和软件程序,发现可以通过修改BMS 的控制逻辑避免MCU 存储故障值。具体方案为:当BMS 被唤醒后,如果监测到12 V 电源电压低于6 V,则BMS 本次工作不在MCU 中保存任何数据,避免在低电压条件下MCU 对EEPROM的擦写操作,从而避免电压严重不足产生故障值后MCU芯片无法正常启动的问题。
对BMS 的控制逻辑进行优化后,将新软件刷写至MCU,按照3.3 节搭建的试验台架,设置同样的12 V 电源低电压供电试验。设置完成后,使用试验台架进行验证。
试验过程中BMS 的电压信号正常,试验后BMS通信正常,使用示波器对MCU 芯片进行晶振频率检测,确认其晶振频率为4 MHz,晶振频率正常。
由于MCU 在低电压下不保存状态数据,在整车12 V 电源得到维护后,车辆起动时动力电池的初始SOC可能由于中间状态数据未保存而存在误差。但是在充放电循环后可以通过SOC 修正算法进行修正,由于该48 V 动力电池容量较小且充放电倍率大,因此其实际充放电循环较快,SOC可以得到快速修正[9-11]。
经过整车测试,更换12 V 电池后发动机故障灯不点亮,行驶约3 km 后电池可以正常进入起停状态,确认该方案对车辆使用无影响。
本文基于上汽通用某48 V 混合动力车型,通过对BMS 低电压供电的试验研究,发现MCU 芯片在低电压条件下工作不稳定将导致BMS 无响应故障,通过对BMS 控制逻辑的修改可以有效避免低供电电压导致的MCU 芯片复位循环,提高了12 V 蓄电池低电压情况下48 V混合动力系统工作的可靠性。
BMS 软件修改后在12 V 蓄电池电压严重不足的情况下不保存动力电池状态数据,针对SOC 初始值不准确的问题,BMS 在电池重新启动后可以对SOC 进行修正,通过算法优化可实现混合动力系统正常工作且不影响用户体验。