电池管理系统(BMS)测试
电池管理系统的测试更多侧重软件测试,一般在软件功能开发过程中进行。
与尚未量产的自动驾驶系统偏向于使用C语言实现软件设计不同,现今成熟的电动汽车控制系统(如整车控制器、电机控制器、电池管理系统)软件都是以模型为基础的软件开发(Model-Based-Design)。MBD开发相比C的优点是能够以图形化的方式表达复杂的逻辑、代码可读性、可移植性、开发调试便利程度都大大增强,同时利用成熟的代码生成工具链,也避免了手工代码容易产生的低级错误。在基于模型的软件开发环节中规定了MIL/SIL/HIL等多项测试:
1)MIL(Model-In-Loops)既模型在环测试,就是验证软件模型是否可以实现软件功能,测试依据是由系统需求分解而来的软件需求。
2)SIL(Software-In-Loops)软件在环测试,对比模型自动生成的C代码和模型本身实现的功能是否一致,使用Simulink自身工具就可以进行Sil测试。
3)PIL(Processer-In-Loops)处理器在环测试,目的是测试自动生成的代码写入控制器后,功能实现上是否与模型有偏差。PIL看似无关紧要,但不做重视也会引起一些不良后果(如调度问题、CPULoad,堆栈溢出等)。
4)HIL(Hardware-In-Loops)硬件在环测试,测试控制器完整系统功能,一般会搭建控制器所在系统的测试台架,使用电气元件模拟传感器(如温度)和执行器(如风扇负载)的电气特性,验证完整的系统功能。
这些测试环节的用例来源于系统需求。在汽车软件开发流程中,开发和测试成V字型进行,俗称软件开发V模型,感兴趣的同学可以查看汽车软件开发流程ASPICE。
统开发流程中非常强调测试软件环节的。要知道手机软件出问题最多也就是秒退而已,车辆软件出问题影响的是人命。
当年丰田刹车门事件,美国政府就派了嵌入式软件专家和卡耐基梅隆的计算机教授详细审查了发动机控制系统的软件代码,丰田对全局变量的滥用(上万个)以及软件安全机制的混乱就遭到了巨额处罚。如果丰田重视软件测试工作的话,这件事也许不会发生。
最后再聊下零部件在整车极限环境下的测试情况:整车耐久测试这部分工作一般是整车厂的测试&标定工程师负责。整车耐久试验的花销很大,造工程样车(每辆100万左右)、租用测试场地、工程师团队花销,很考验厂家的资金实力,没有强大的资金池根本无法运行起来。但在极寒、高温、高湿度等各种极限环境下的测试进行的越多,越能充分的验证零部件的功能、性能以及耐久表现,越早发现问题,解决修复所耗费的成本越低。
1.低温耐久测试,主要测试冷起动性能,一般在黑河/牙克石进行。电池包的低温充放电能力、低温保护策略、电池包加热功能在该项测试中都会进行考核。
2.高温耐久测试,一般在格尔木进行。主要测试电池包在高温下充放电能力、电池包冷却功能和过热保护策略。下图是蔚来在澳大利亚墨尔本进行高温测试,为了整车开发整车厂都是不惜成本。
3.高温+高湿环境耐久测试,一般在海南进行,海水环境会加速部件腐蚀,零部件的耐久会经受严格考验。(Ps:传统车还有重要的高原测试,主要测试在低气压下发动机的性能表现。电动车一般不需要进行此项测试。)
电池包做的比较好的都会承诺使用寿命内的电池衰减,比如蔚来ES8就承诺10年30万公里电池容量衰减不超过20%,做电池开发的都知道做到这个水平是非常不容易的。敢公开承诺也说明他们的电池包耐久测试做到了非常优秀的水平。