从应用层软件角度看BMS---走入ASW

汽车电子行业,软件开发一般区分应用层软件ASW和底层软件BSW

BSW关注通讯、芯片驱动、C代码,继续往上则是诊断、Autosar、Aspice等
ASW关注软件算法及功能逻辑实现,控制电池充放电、故障诊断,计算SOC/SOP/SOH/SOE等

ASW需要做什么,这是一个好问题,简而言之,就是在特定的行业标准下,按照特定的开发流程,实现客户的各种功能上的需求。

image

 

1、高压上下电

       高压上下电,主要是为了形成高压回路,使得电池能够对外进行放电。BMS在这里主要的工作就是吸合继电器(以前我的领导曾说最专业应该叫接触器,因为以前课本上学的接触器才是主要用于大功率负载,其触点电流更大,继电器主要用于控制回路,其线圈电流为mA级别,但是现在行业内已经慢慢习惯这么叫了,就叫继电器吧),听起来很简单是不是,其实不是吸合继电器对于只管感受上说只做了一件事,其实应用层软件要做很多事,吸合继电器之前,软件要进行自检,应用层要检查什么,采集有没有问题,供电KL30电压有没有问题,继电器本身有没有问题,整车其它控制器有没有问题,这些都检查完,OK,那就可以去吸合继电器了,但是这样就结束了吗,还没。吸合继电器有一定顺序,高压回路一般具备三个继电器,一个主正一个主负一个预充继电器,按照特定时序吸合后,就完成上高压了,当然,在这吸合的过程中,还有很多诊断要做,继电器的吸合看起只是IO口的驱动,实际上它是影响安全问题最重要的一点,所以对它的诊断要复杂很多,这个等后面再单独提一篇探讨继电器控制。

2、国标快充---直流充电

       当前GB27930-2015版本是市面上最通用的协议,2011版本和2015差别不大,就不提了。从握手BHM开始到充电结束,国标规定了完整的报文交互流程,相对应的,GB18487.5规定了交互电气原理图,作为充电硬件方面的补充介绍。从2023年开始,陆续出现了两套标准,一个是由中国电力企业联合会牵头制定的GB/T20234.4,俗称超级充电,另外一个由工业和信息化部主导制定的GB/T20234.3,俗称2015+,也就是2015的升级版,超级充电对标国际标准,其充电接口出现变化,机械强度更高;2015+与当前市面车桩能实现兼容,目前车企可以自由选择,不过,国内2015+应用趋势明显,至于未来哪个标准会引领潮流,再看吧。

3、国标慢充---交流充电

  交流充电也有对应的国标要求,但是慢充对于硬件和电气要求做了严格规定,对于通讯协议并相比直流充电要简单,18487.5中对于交流充电的电气结构做了很多描述,具体可参考对应标准。慢充的功能现在对于BMS来说,更多是由其它控制器主导,BMS配合进行。

4、故障诊断

  故障诊断是BMS领域较为关键且复杂的一环,故障诊断要开发的内容有很多,从直接对象看,和电池包相关的故障,电池的过压、欠压、过温、过流、热失控等与安全息息相关和采集相关的,电压采集、温度采集、总压采集等相关的诊断,与高压相关的继电器的诊断、高压互锁、绝缘检测等,与通讯相关的,报文的丢失、E2E故障等。

5、热管理

  电池包的正常工作,需要确保温度在合理的范围内,低温下电池包内阻较大,容量严重衰减,高温下使用电池包,对于电池损伤较大因此,热管理的工作就是给电池加热和冷却,但是其实对于BMS来说,需要BMS做的工作一般来说比较简单。现在很多车辆都是VCU或者热管理设备自己调度处理,BMS需要通过CAN报文实时发送电池基本信息给到整车就可以,难度指数两颗星,难度不大,对于逻辑复杂的项目,工作量会比较大,尤其涉及充电加热这一块,出bug最多的地方。

6、SOX

  SOX是锂电池使用过程中最重要的也是最核心的功能,不过行业对于SOX算法的研究已经很多很多了,抛开论文中铺天盖地的高级算法理论先不谈,实车上现在用的SOC估算方案其实非常简单,有多简单,你只要会一点点微积分,你就能明白。事实上,主流的方案加上安时积分已经可以覆盖所有车型,只是精度稍差,但是胜在简单呀,只要给出电池基本参数,就可以快速完成针对该电池包的算法软件。可能有的专业做算法的工程师质疑这一点,认为SOX有很多东西要做,比如数据分析和处理,先进算法研究等,先说数据分析,电池本就是高度非线性的系统,任何算法公式和理论都是来源于测试数据,把一块电池不停地测试不停地研究,慢慢就能发现其基本规律。

  在不同温度将电池静置几个小时,能发现电压和SOC存在一定的关系,并且这个关系好像不随SOH有较大变化,OK,我们得到了OCV数据。在常温下将电池充满,放到低温下测试,我们又发现了电池“低端冻结”的特性,OK,就是这么神奇。再有,国外有工程师通过不停地测试和数据分析拟合,发现可以将电池等效为二阶RC电路,将一个不确定的系统,明确为一个已知的电路,那么接下来,我们需要做什么,就是去找等效电路中电容和电阻的参数,这部分工作用MATLAB拟合就可以了,等效电路创建完,就可以进行先进算法研究了,扩展卡尔曼估算SOC无迹卡尔曼估算SOC,龙伯格修正,EIS计算等。这些先进算法的确大大提高了SOC估算的准确性(不过项目上使用不多,样本量较少,目前这么认为),但是需要大量前期数据支撑,且对数据的准确性要求较高,后期电芯参数的变动,拟合状态方程需要的测试数据都要重新测,测试成本,测试机构测试数据基本按照天为单位算费用,对于研发成本来说已经很高了。

个人觉得,安时积分其实是比较好的方案,虽然简单,但是高效,关键在于修正手段可以多研究一点,效果不一定比先进算法要差。

7、均衡

  均衡是比较特别的一个功能,目前都是以被动均衡为主,即给电压较高的单体放电,从而维持电池组的一致性。均衡的第一个难点是,需要给哪些单体开均衡,开多久,这个问题其实比较难量化,大部分公司做的都比较简单,SOC偏差多少开,开多少这些都是固定值,有来源吗,其实没有经验为主,但是效果也还不错,为什么,均衡是一个现象级的功能,直观感受比较明显,很少有人能去评价均衡功能是否足够完美,比如开均衡的时间,哪些单体开了。不过,如果做得细致一点,能做很多工作,比如我们希望均衡要达到的状态是什么样,一致性达到多少以内,当这个一致性目标量化后,其它的参数可以定量去达到这个目标。

8、关于开发流程

  应用层软件以matlab/simulink开发为主,它已经具备了完整的开发流程工具链,可以生成Autosar规范代码,可以生成非Autosar代码,代码风格支持自定义,开发和执行效率很高。此外,应用层开发更多工作量要体现在开发流程上,从需求架构到测试,文档的整理工作要贯穿整个项目,如果要达成标准化流程证书认证的地步,基本上整理文档要整理一年,这个一点都不夸张。国外项目比较重视Aspice开发流程,国内的开发现在也基本都会去拿2级或者3级证书,功能安全的认证证书会更难一点,这些应用层开发的工作量会更大。

posted @ 2026-03-18 22:52  五里雾锂不二门  阅读(0)  评论(0)    收藏  举报