/

热管理系统控制算法设计案例

负责过一个很特别的项目,一个人独立负责整个热管理系统架构、部件选型、控制算法、零部件交付,简单的说除了代码不是自己写的以外整个热管理系统都是一个人从头做到尾的,因此也成为第一个独立完成系统控制算法的项目,这里来简单谈谈一种热管理算法正向设计的思路。

热管理系统架构

假设有如图这样一个热管理系统架构,存在模块1、模块2两个部件,需要通过冷却液对两个模块进行热量管理。从算法设计的角度来说,个人认为从接收到需求开始,主要按照如下路径开展工作:(以下案例并非实车情况,实际温度、档位设定均不满足实车需求,仅仅是为了方便介绍算法设计方法)

系统场景&功能特性分析

在这个环节,根据用车场景,识别整个热管理系统运行的状态,梳理出系统的功能特性。基于实际模块1、模块2温度状态及其对温度的控制 要求,梳理出如下的模式(图中灰色状态为不工作,实际情况场景更多,这里为了介绍方便仅梳理出部分场景):

热管理系统使用场景
  1. 模式一:用于模块1内部均温
  2. 模式二:用于模块1内部降温
  3. 模式三:用于模块1使用环境温度梯度升温
  4. 模式四:用于模块1、模块2同时制冷
  5. 模式五:用于模块1使用模块2产生的热量升温

场景进入条件分析

对于模式一~模式五,都是用相应的进入、退出条件。举几个简单例子说明各模式下进入条件(实际条件更复杂,需要详细分析):

  1. 模式一: 模块1温度25~35℃,模块2温度<50℃
  2. 模式二:模块1温度≥35℃,模块2温度<50℃
  3. 模式三:模块1温度≤18℃,且环境温度-模块一温度>2℃
  4. 模式四:模块1温度≥35℃,模块2温度大于50℃,且环境温度<模块1温度
  5. 模式五:模块1温度≥35℃,模块2温度>35℃且<50℃,且环境温度<50℃

可以看到,模式进入条件,额外引入了环境温度,说明我们需要监控环境温度,这也说明我们在系统架构上要增加环境温度传感器。(同时可以看到逻辑上还有环境温度≥50℃的场景这里没有分析)

单场景逻辑设计

根据如上的模式,进一步细化系统内所有可控部件实际的工作状态如下表。(其中假设水泵、散热风扇均使用档位控制,1~4档分别对应从小功率到全功率运行)

  模块1状态 模块2状态 三通阀状态 水泵状态 散热风扇状态
模式一 均温工作 不工作 小循环 1~2档工作 不工作
模式二 需降温 不工作 小循环 1~4档工作 1~3档工作
模式三 需升温 不工作 小循环 1~2档工作 3~4档工作
模式四 需降温 需降温 大循环 3~4档工作 3~4档工作
模式五 需升温 适温 大循环 1~3档工作 不工作

这里,可以清楚的看到被控部件三通阀、水泵、散热风扇在不同场景下需要的运行状态,叠加各个模式场景进入的条件就能进一步往下设计控制逻辑。

以风扇为例,分解风扇运行状态如下:

模式二风扇运行逻辑
模式三风扇运行逻辑

同理,可以把各个状态下的各个部件运行逻辑全部梳理出来。

总体控制逻辑设计

基于以上场景分析得到了各模式下部件运行控制逻辑,再结合各场景模式进入条件,可以汇总合并各个场景下部件运行逻辑。

对不同模式下运行状态进行增量合并,对相同的部分进行简单合并,对于有冲突的部分再引入冲突解决机制或者根据系统功能优先级进行调整取优先级高的逻辑,最终可以得到如下表的一种合并控制逻辑:

风扇控制逻辑

细看会发现这里面没有风扇1档的场景,这可能正是因为逻辑上存在冲突,为了简化最终逻辑,按照优先级顺序进行了排序,选择了高优先级的逻辑执行,因此最终体现就是没了风扇1档的运行情况。(也有可能是用于展示的案例并非实车情况,只是简单写了下运行场景,场景划分的不对,所以逻辑仅供参考)

后续步骤

到了这里,逻辑正向设计工作就基本完成了,接下来进入如下环节这里就不详细展开:

  1. 逻辑校验:通过一些测试工具验证逻辑框架的合理性,排除掉逻辑冲突
  2. 具体数值标定:进一步的实车使用,需要对以上的各参数进行数值的确认,微调各个逻辑判断的输入和执行参数
  3. 验收:标定完成后,就可以根据系统需求,验收整体系统功能、性能了,验收完成整体工作也就正式完成

后记

通过以上的分析,可以看到整个算法正向设计的过程还是比较复杂的,尤其当系统运行场景、可控部件变多的时候,算法的复杂程度成指数级上升,同时内部逻辑的复用部分会变少而各场景逻辑冲突问题变得更为严重。对于电动汽车热泵而言,系统需要管理的部件增多、控制部件增多,使用场景变得更为复杂,这就大大增加了算法设计的难度和后期标定的难度,这也是导致当前热泵系统车型算法及其难做。

对于不同的系统架构而言,系统的可控部件不尽相同、系统的运行场景不同、相同场景下部件的运行状态有所区别,这些都会造成控制算法的变化,因此简单的套用相近车型的算法可能会带来严重的问题。而这些场景分析、系统零部件运行状态可能并不是简单的算法工程师就能一个人搞定的,需要系统工程师、零部件工程师参与详细的逻辑设计,如果简单的挖角某些算法工程师,可能无法达成想要的结果。

Leave a Reply

Your email address will not be published. Required fields are marked *