之前的章节已经从整车电气的角度描述了整车上下电的过程,预充电,整车电容放电,高压器件的控制及诊断,这一节将从软件的角度分析描述整车上下电,为了方便控制实现,首先将整车上下分为几个主要的状态,初始化,低压上电,预充电,高压上电,整车上电完成,0扭矩,高压断开,整车放电,低压下电,详情见 “行车上下电状态机”图,
行车上下电状态机
1,低压上电完成,
- 在车辆钥匙上电以后,低压电会唤醒各个控制器,有些车辆会单独唤醒VCU,再由VCU输出电信号去唤醒其他的ECU及附件,
- 各个ECU被唤醒后各自自检,各自代码初始化,读取EE,以及一些复杂硬件的自检,比如电源控制芯片,高低边控制芯片,MCU的旋变信号采集芯片等
- 自检的时间不能太长,一般20-30ms,
- 在这个过程中如果钥匙下电,状态机会跳转到低压下电状态,
2,预充电状态,
- 各个ECU自检完成后,状态跳转到预充电状态,
- 预充电状态下,BMS先闭合负极继电器,延迟xms之后BMS闭合预充继电器,待到预充电电压达到电池包电压的90%以上时预充电完成,延迟xms之后BMS闭合正极继电器,最后之后BMS断开预充电继电器,
- 预充电的时间不能太长,一般在1S以内,预充电次数不能太多,一般3次,
- 预充电超时或者失败 以及发生高压下电的故障时,都会终止预充电过程,状态机跳转到高压断开状态,
3,高压上电状态,
- 预充电完成后,整车状态跳转到高压上电状态,
- 高压上电状态时,该状态停留片刻,再次检测各个系统的故障,
- 发生高压下电故障时状态机跳转到高压断开的状态,
4,整车上电完成,
- 高压上电完成后,状态机跳转到高压上电完成状态,这个状态是整车行驶的状态,该状态也是整车ready状态,如果这时VCU收到挂档的D档信号,同时收到踩下油门的油门开度信号,MCU会按照油门开度的大小输出驱动扭矩,车辆加速行驶,
5,0扭矩,
- 高压上电完成状态中,车辆收到高压下电请求 或者 高压下电故障时,状态机跳转到0扭矩状态,
- 该状态下MCU扭矩清零,输出0扭矩,车辆停止,各附件停止运行,为下电做准备
6,高压断开状态,
- 检测到MCU扭矩清零并且母线电流清零后状态机从0扭矩跳转到高压断开状态,
- 该状态下断开BMS主正继电器,方便高压回路放电,有些车辆中有主动放电回路,这需要MCU控制开启主动放电回路,加速放电,该状态下VCU也会向MCU发送关闭IGBT指令,
7,高压放电,
- 确认主正继电器断开以后,状态机跳转到整车放电状态,
- 该状态下会重复判断放电是否完成,当VCU检测到母线电压 < 60V时,整车放电完成,
- 放电状态检测时间不能太长,之前的国标是3S,现在是1S,超过1S时报超时故障,同时跳出该状态机,
8,低压下电,
- 在整车放电完成 或者 放电超时状态机从高压放电状态跳转到低压下电状态,
- 低压下电的状态下,各ECU需要将必要的数据参数写入EE,比如BMS的SOC,VCU的里程,以及ECU的冻结帧数据等,
- 该状态下不再进行故障检测,防止误判断,
- 存储完成后,ECU释放低压电的硬件锁定,完成下电,