K3-07 能量最优的整车协调控制
课程代码 K3-07 · 板块 K 控制、软件与标定 / 控制策略与算法 时长 约 4.0 小时(9 讲) 前置 K3-01 整车热管理控制策略总览与模式管理;B4-01 整车能量流与热量流协同分析 本讲义定位 讲师授课蓝本 / 学员自学讲义,是 K3-07 大纲的完整展开版
按任务导航
| 你手上的事 | 直接看 | 还要配 |
|---|---|---|
| 写一份热管理仲裁层的功能规格 | 第 1 讲:三样交付物的形状——可行域定义书、分配规则、回读与降级路径 | 第 4 讲(下发后的闭环);第 5 讲(全序、兜底、单帧可终止) |
| 定可分配给热管理的电功率上限,说清此刻被哪条卡住 | 第 2 讲:四条电侧上限取小、四条变化规律各不相同、卡住的那条必须上报 | 第 3 讲(电侧账与热侧账量纲不同,怎么对账) |
| 设计或评审一套规则式优先级分配表 | 第 5 讲:三条硬要求,权重一维扫描与「不敏感就别留成标定量」的裁剪判据 | 第 4 讲(防饥饿两条地板);第 7 讲(三场景同一骨架) |
| 定 ECO/舒适/续航三档,交出各档可达边界 | 第 8 讲:三档只是两个旋钮、可达边界清单、降级告知三区两界 | 第 6 讲(代价函数里那个比值);第 1 讲(硬软约束分界) |
| 给一条协调策略做验收并出对账报告 | 第 9 讲:三维口径的可操作定义、组合场景用例的设计路线 | 第 8 讲(三列对账表);第 4 讲(不可达记录=安全裕度的证据) |
⛔ 本课不覆盖:需求量与能力量的在线估计器及其置信度 → K3-10 热管理在线状态与负荷估计:观测器整定、软测量置信度与退出条件;模式定义、优先级阶梯本体、可达域校核与双向契约 → K3-01 整车热管理控制策略总览与模式管理;组合工况覆盖判定与状态机完备性 → K4-05 模式状态机的完备性核对与可验证性设计,MIL/SIL/HIL 分层落地 → K4-03 MIL/SIL/HIL 验证流程;参数自学习 → K7-03 数据驱动的能效自学习控制;多目标权衡方法与仿真 DOE → B1-06 架构方案权衡:性能/成本/重量/可靠性多目标决策 J7-03 基于仿真的 DOE 与多目标优化;整车能量流分析与协同优化方案层 → B4-01 整车能量流与热量流协同分析 B4-04 整车能量管理与热管理的协同优化;快充全过程功率协同 → D4-03 充电过程温控策略与充电功率协同;电池加热方案选型 → D3-01 电池加热策略:PTC / 热泵 / 液热;执行器回报通道的实现 → G9-03 加热器功率控制与温度保护 G6-02 风扇 PWM 调速与噪声品质控制 G1-02 压缩机排量、转速控制与容调 G12-03 执行器硬件接口与电气规格;延迟总账与控制环整定 → K3-05 PID/前馈/增益调度控制实战;故障态提示分级 → K5-01 OBD/UDS 诊断与故障码(DTC)设计 K5-03 制冷剂泄漏检测与安全响应;热泵低温衰减与系统能效优化路径 → C3-02 热泵采暖原理与低温制热衰减 C1-05 空调系统能效(COP)优化路径;以及任何一个具体的功率上限、电池温度窗口、权重初值、时间门限与告知阈值——它们由所选件的规格书与本项目自己的标定和取样统计给出,⛔ 本课一个数都不给(本课给的是每个量的反解路径:由谁定、由什么夹出上下界、取不到时向谁索取)。
引言:把热管理功耗压到最低的那一版策略,冬天往往跑不过多花了电的那一版
「压缩机、PTC、水泵、风扇全开,一定最舒适也最安全,只是电耗很难看。」这句话没人反对,然后大多数讨论就停在这里了。真正要回答的是它的下一句:这一秒钟,这几路各分多少。而且分配的对象远不止热管理自己那几个执行器——驱动、对外放电、算力域和热管理吃的是同一块电池能量,快充时还要跟充电功率本身抢桩端的输出。于是「能量最优」这四个字必须落成一个能写进控制器、能被验收、出了问题能在现场查出是被哪一条卡住的东西。这就是本课要做的事。
本课要防的三类事故有一个共同形状:出事的那一帧,日志上什么都看不出来。
- 几路高压加热的功率之和并没有超预算,只是同时投入,母线电压被拉塌,跳欠压保护的却是另一个高压部件——现场看像那个部件坏了(第 2 讲)。
- 热侧把冷/热量分完了却没有回折成电功率,电侧账面每一帧都在预算之内,而整车在跳保护——最后由电池侧的硬限值兜底,甚至驾驶功率降级(第 3 讲)。
- 报告里只有一个数「能耗降低了多少」,评审顺利通过,车到用户手里之后投诉上升(第 9 讲)。
三件事不是三个孤立的坑,它们是同一件事的三种表现:账本身的形状错了。所以本课不从「怎么省电」开始,而从「这本账长什么样」开始。
⇒ 全课要敲的第一根钉子就是这本账的形状:预算不是一个数,是一组「当下由谁卡住」的上限;分配不是一次下发,是一条带回读的闭环。 两半各治一件事。前半句管分之前——可分配给热管理的电功率上限(记作 P_budget,单位 kW 电)是四条来源完全不同的上限取最小,它们的变化规律各不相同;只读那个合成后的标量,限值一变策略就失配,而且事后分不清是预算真的不够还是读了一个陈值(第 2 讲)。后半句管分之后——配额是承诺、回读值才是事实,不把实际值读回来,那本账永远是开环的;而「给不出」与「没用完」这两种偏差的处置方向恰好相反(第 4 讲)。
★ 反钉子:「热管理是纯开销,压到最低就最省」——现象没看错,动作是反的
本课最容易被读反的一条是:热管理是纯开销,省下来的每一度电都变成续航,所以能量最优就是把热管理功耗压到最低。
它的前半截不能说错——热管理确实在花电,压低它当场也确实少花电。正是「现象没看错」这一点让它成为本课最贵的一条:读者据此会做三个很具体的动作,三个都是反的。
动作一:冬季低 SOC 时关掉或压低电池加热的权重。 电池温度上不去,内阻更高、电池管理系统给出的可放电与可回充上限更低、能量回收被吃掉一块——这三笔全都记在整车能耗账上,赔回来的通常多于省下的那一度电。★ 更麻烦的是它自带一个闭环:温度低 ⇒ 供给上限低 ⇒ 分给加热的功率被压 ⇒ 温度更低。打断它靠的是一条显式的规则(先把电池送到最低可用温度),⛔ 不是靠继续省电(第 7 讲)。
动作二:把 ECO 档做成一次全局功率限幅。 一刀切会把回报为正的那几路一起砍掉;也会把 12V 侧那几件「单件功率很小、单位电耗换来的舒适改善却很高」的接触式加热一起关掉,还可能把除霜除雾跟着座舱舒适一起压下去——后者压掉的已经不是舒适,是视野(第 8 讲)。
动作三:拿「热管理总功耗」当唯一验收指标。 只报一个数,整条产线就会朝那个数优化,最后交出一版能耗漂亮、投诉上升的策略(第 9 讲)。
⚠ 还有一处更隐蔽的反用:本课后面会用到一条把热管理功耗的变化折算成续航变化的近似式,它成立的前提是平均驱动功率与可用能量不随热管理功耗变化;而低温下这两项恰恰跟着变。⇒ ⛔ 它不得反过来用于论证「压低就一定跑得更远」。式子本体、符号方向与失效边界在第 1 讲写清,教学算例在第 9 讲走一遍。
⇒ 正解既不是「压低」也不是「多给」,而是换一个排队规则:投在热管理上的每一度电,按它在整车账上的回报排队——有的路回报为正(低温下的电池加热),有的路省下来也没多少、一关却直接毁掉换热能力(水泵与风扇),还有的路根本不许参与这场排队(安全与法规的硬约束)。
⚠ 一条全课口径就此钉死:本课所写的「最优」「省电」「收益」,算的一律是整车能耗与续航这本账,⛔ 不是「热管理功耗」那本;凡出现这几个词的地方,都要能当场指出它算的是哪一本账。
★ 今天就能用的一条:拿到一份协调策略,先问这四句
不必等读完全课。拿到任何一份热管理能量协调策略(或它的评审材料),按顺序问四句——
- 你的可分配功率上限,此刻是被哪一条卡住的?这个「当下由谁卡住」的信号,有没有跟着值一起上报?答不上来,说明它被做成了一个标量常数(第 2 讲)。
- 配额下发之后,剩余预算是拿下发值算的,还是拿回读值算的?拿下发值算的,那本账是开环的(第 4 讲)。
- 电池温度窗口、除霜除雾底线这两条,写在代价函数里还是写在可行域里?写进代价函数等于给它标了价——标了价就可以被买走,而买走的每一帧日志都合法(第 1 讲立、第 6 讲展开)。
- 这条策略的收益,一共报了几个数?只报一个能耗数的,还没有被验收过(第 8、9 讲)。
四句都答得上来,这门课你可以只挑对应的那几讲读;有一句答不上来,那一讲就是你今天最该打开的。
⇒ 这四句问出来的,正是本课交付的三样东西:两本账(电与热)、一条带回读的闭环、一条硬约束与软约束的分界线。九讲各自落在哪一样上,下面这张图一次画清。
第 1 讲 先钉住「最优」的定义域:三样交付物、两个全集、一条分界线
拿到「能量最优的整车协调控制」这个题目,工程师最先想问的常常是「压缩机和 PTC 各给多少功率最省电」。⛔ 本课不回答那个问题——那是一个平台标定量,换一台车就作废。本课回答的是它上面那一层:凭什么算出来的那个分配是「最优」的,以及分完之后怎么知道它真的落地了。这一讲把全课的形状先摆出来:本课的输入与输出是什么、三样可交付物长什么样(1.1);把「最优」二字的定义域钉住——硬约束进可行域、软约束进代价函数(1.2);点破全课最容易被读反的那一条,它会让人在冬季做出方向完全相反的三个动作(1.3);然后用两个全集画完「谁在要」(1.4)与「在分什么」(1.5),各自指出沿最熟悉的那条线索数会整类漏掉什么;再把仲裁劈成慢快两层(1.6);最后立下全课的评价口径(1.7)与本课和相邻课的边界(1.8)。
本讲开头一次说清的记法与口径(全课通用,后面各讲不再重复) ① 「能量最优」优化的对象是整车能耗与续航,⛔ 不是热管理功耗。全课凡出现「最优」「省电」「收益」字样处,都要能指出它算的是整车账还是热管理账;⛔ 「把热管理功耗做到最小」在本课不是一个正面目标,它只在 1.3 与常见误区里作为被点破的错句出现。(这条硬口径是本课归纳的) ② P_budget = 当下可分配给热管理的电功率上限,单位 kW(电),取在高压母线侧、DC/DC 之前;12V 侧的热管理负载必须先按 DC/DC 效率折算才计入。它是四条上限取最小(第 2 讲逐条展开),⛔ 不是一个恒定标定值——正文凡出现它,都要能说出「此刻是哪一条在卡」。 ③ P_budget ⛔ 不含驱动功率。驱动与热管理吃的是同一块电池能量,但驱动不在热管理的这本账里;两者的关系在 1.4 说清。 ④ 电侧与热侧是两笔账,量纲不同。P_budget 是 kW(电),热侧当下可交付的冷/热量 Q_avail 是 kW(热),中间隔着一个随工况变的换算(第 3 讲)。⛔ 两者不可直接相加、⛔ 不可比大小。 ⑤ 硬约束写成 g(x) ≤ 0 站在代价函数外面,软约束写进代价函数 J。全课统一写成「min J,s.t. g(x) ≤ 0」(x 为决策变量向量;J 的单位由它各项的归一化口径定,第 6 讲写死);⛔ 安全项一律不进 J,理由在 1.2。 ⑥ ΔP_thermal 的符号约定钉死:ΔP_thermal > 0(热管理功耗增加)对应 ΔRange < 0(续航减少)。这条折算式常见的写法不带负号,不把方向写清整句会被读反,见 1.3。 ⑦ 「让度」⛔ 不等于「关闭」。让度=临时降低某路的配额,该路仍在运行、仍持有一份最小保障份额;关闭=显式的状态变更,须由模式层发起。两者混用,防饥饿的地板就失效了(第 4 讲)。
1.1 输入是一台架构已定的车,输出是三样可交付物——⛔ 不是能量流分析课,也不是标定参数表
是什么。本课的输入是这样一台车:架构已定、部件已选、各路的需求量与能力量可观测。输出是三样可交付物,一样都不能少:
| 交付物 | 它回答的问题 | 里面必须写清 | 本课哪几讲交它 |
|---|---|---|---|
| 可行域定义书 | 「最优」的定义域在哪 | 哪些条件是硬约束 · 每条边界由谁给 · 怎么观测到它 · 被违反时走哪条降级 | 1.2 立记法;第 2 讲(电侧四条上限)· 第 3 讲(热侧上限)· 第 7 讲(各场景里的硬约束) |
| 分配规则 | 可行域里怎么挑那一点 | 规则式的优先级表,或优化式的代价函数,或两者组合 · 权重从哪来 · 怎么整定 · 哪些不该留成标定量 | 第 5 讲(规则式)· 第 6 讲(优化式与离线产表)· 第 8 讲(用户档位怎么映射到它) |
| 回读与降级路径 | 下发之后怎么知道它落地了 | 回读哪些量 · 配额与实际差多少算不可达 · 超时怎么回收 · 谁来兜饿死 · 给不出时降到哪一档 | 第 4 讲(闭环本体)· 第 8 讲(降级怎么告知用户) |
(这一分法是本课归纳的。)
为什么少一样都不行。没有第一样,「最优」二字没有定义域——一个不写清可行域的「最优」,在极端工况下会安静地把安全项卖掉(机理在 1.2)。没有第三样,前两样在台架上都跑得通:台架里各路执行器都能给出你要的功率,配额与实际天然相等,闭环缺不缺根本看不出来;到了实车,压缩机会撞排温限降速、chiller 会因为冷却液温度已经很凉而给不出冷量、PTC 会撞母线电流上限——这时账面每一帧都平,而效果一直不到位(第 3、4 讲)。
这三样之外的活各有属主,⛔ 本课不重做:整车能量流与热量流的分析方法是 B4-01 整车能量流与热量流协同分析,协同优化的方案层(该上热泵还是该加保温)是 B4-04 整车能量管理与热管理的协同优化,跨环温跨模式的参数整定与继承是 K6-07 热泵与多模式切换标定。本课要写出来的是它们之间那层可执行的仲裁逻辑——上游回答「这台车该有多少能量、往哪个方向分配才划算」,本课回答「这一帧到底给谁多少、给不出怎么办」。
工程量级。本课几乎所有阈值都是平台相关量或部件规格量,⛔ 一个数都不给。本课给的是每个阈值的反解路径:它由谁定、由哪两条边夹出上下界、本体系内取不到时向谁索取。这不是回避——一个换平台就失效的数,价值远低于一条换平台仍然成立的反解路径;而且本课后面每一处判为「不给数」的地方,都会当场给出它的替代物(去向、反解式、判据结构,或标明为教学假设的算例)。
易错点。① 把本课当「优先级表模板」去抄——表的形状可以借鉴,表的内容由架构与项目定位定,换一套架构整张表作废;② 把本课当能量流分析课,于是花大力气做了一本很漂亮的能量账,却没产出任何一条可以下发的规则。⚠ 检验方法很简单:把你的产出交给软件工程师,问他能不能照着写出「这一帧每一路给多少、给不出时走哪条分支」——答不出来,说明产出停在分析层,还没进到仲裁层。
1.2 硬约束进可行域、软约束进代价函数——把安全写进代价函数,就是给它标了价
是什么。协调控制里两类约束的处置完全不同:
- 硬约束——电池的可用温度窗口、除霜除雾的法规底线、电气侧的额定电流与熔断体的焦耳积分承受能力。写成 g(x) ≤ 0,站在代价函数外面;违反即无解,而无解时的正解是走降级路径,⛔ 不是放松它。
- 软约束——各路的舒适目标偏差。写进代价函数 J,可以被权衡,也可以在资源不足时被买走一部分。
⚠ 硬约束的那几个限值本身,本课一个都不给。电池可用温度窗口的出处是电芯供应商规格书与本项目自己的标定,⛔ 禁止抄上一代平台;⛔ 也不得把它挂在 GB 38031(电动汽车用动力蓄电池安全要求,强制性国标;版次与年份以现行目录为准,引用前须核)名下——那本标准的引言逐字排除了「性能和功能特性」,而可用温度窗口属功能特性层。除霜除雾的性能要求与试验方法,由本项目适用的现行法规目录给出,⛔ 本课不给标准号也不抄条款(写下一个未核过原文的标准号,等于凭空替它盖了一个权威章)。本课交付的是这些限值在结构上的位置:它们进可行域、⛔ 不进代价函数、⛔ 不随用户能耗档位平移(第 8 讲兑现)。
为什么这是记法问题,不是态度问题。把一条安全约束写成 J 里的一个减项,等于给它标了价。求解器不会犹豫:只要 J 的另一端出价够高——舒适 gap 那一项的权重大,或者能量项的权重大——它就会心安理得地把这个减项买下来,交出一个「代价更小」的解,而那个解落在可行域外面。★ 关键在于,这个过程里没有任何一步会报错:求解器是对的,日志里每一帧都合法,错的是模型。所以「只优化能耗、把舒适和安全都当软约束处理」这条常见误区,根子不在工程师不重视安全,在于一个允许安全被标价的记法。
今天就能用的:一句判别问句。拿到一条约束,问它——
这一条被违反时,你接受的是「一个更差的解」,还是「必须换一条路」? 答「一个更差的解」⇒ 软约束 ⇒ 写进 J。 答「必须换一条路」(降级、退出该模式、停止,并且要报出来)⇒ 硬约束 ⇒ 写成 g(x) ≤ 0。
再加一道反向自查,专治「以为写进 J 也差不多」:把它写进 J,然后问自己「另一端出价多高时我愿意卖掉它」。答得出一个价的,它本来就是软的;答「任何价格都不卖」的,它就不该待在 J 里——因为你写下的那个记法,已经替你标好了价。
⚠ 判出来之后的下一个动作:判为硬的,去把它的「边界从哪来 · 怎么观测 · 违反时降到哪一档」三件写进可行域定义书(1.1 那张表的第一行);判为软的,去定它的归一化口径——各路的舒适目标量纲不同,不归一化就没法进同一个 J(第 6 讲)。
⚠ 这条判据什么时候不成立:当一条约束在某些模式下是硬的、在另一些模式下是软的时,⛔ 别取折中,把它按模式拆成两条分别登记。留一条「有时候硬有时候软」的约束在表上,等于把这个判断推给了运行期,而运行期没有人在做判断。
易错点。① 把「优先级最高」当成硬约束——优先级再高,它也还在同一张可比的表里,只要别人的需求足够大它照样被压下去,它是软的;② 反向误判,把本来可以让度的舒适目标写成硬约束,于是资源一紧求解直接无解,系统整段落进兜底分支——现场表现是「一到冬天就整车降级」,而根因只是有人在写规格时多写了一条 g(x) ≤ 0。
1.3 热管理不是纯开销——「压低热管理功耗就一定更远」是反的
是什么。本课最容易被读反的一句话是:「热管理是纯开销,省下来的每一度电都变成续航 ⇒ 能量最优就是把热管理功耗压到最低。」
它的现象部分没有错——热管理确实在花电,冬季低温工况下它是整车能耗里很显眼的一笔。正是「现象没看错、机理接反了」这个组合,让它成为本课最危险的一条:它听起来像常识,于是会被直接写进 KPI,然后由整条链去执行。
机理接反在哪:热管理的支出有一部分是负的。它花掉的电,买回来的是别处更大的节省或更大的可用能量。三条赔付路径:
- 电池温度上不去 ⇒ BMS 给出的可放电/可回充功率上限受限、低温下内阻更高 ⇒ 同样的输出电流损耗更大、制动能量回收拿不回来、可用能量本身也变少。压制电池加热省下的那一度电,会从「可用能量变少 + 内阻损耗变多 + 回收拿不回」三处赔回去。(低温限功率作为需求侧机理,见 D3-01 电池加热策略:PTC / 热泵 / 液热)
- 驱动系统冷却被压制 ⇒ 电机与电控降额,效率工作点变差,同样的车速要花更多电。
- 座舱采暖被压到最低 ⇒ 除霜除雾掉到法规底线之下——这时已经不是能耗问题了,是 1.2 里那条硬约束被违反。
读反之后会做的三个具体动作。⛔ 这三个方向都是反的:
- 方向 A(最贵的一个):冬季低 SOC 时把电池加热的权重调到最低甚至关掉,理由是「先保续航」。表显续航当场好看,实际到达里程更差——而这恰恰是最该投的一路。
- 方向 B:把 ECO 档做成「所有热管理路一律降功率上限」的全局限幅。全局限幅把收益为正的那几路也一起砍了;正解是改代价函数里舒适项与能量项的权重比值、以及 P_budget 的上限,让分配器自己去挑该省哪一路(第 8 讲)。
- 方向 C:拿「热管理总功耗」这一个数当唯一 KPI 去对标,于是策略被优化成「把热管理这本账做小」,而不是「把整车能耗做小」——两者在冬季会给出方向相反的结论。
那条折算式⛔ 不得反用。本课会用到一条把热管理功耗变化折算成里程的近似式:
ΔRange ≈ − ΔP_thermal / (P_drive_avg + P_thermal_avg) · Range
其中 ΔP_thermal 是热管理总电功率的变化量(kW 电),P_drive_avg 与 P_thermal_avg 分别是折算窗口内驱动系统与热管理的平均电功率(kW 电),Range 是同口径下的续航(km)。负号是本课钉死的符号约定:ΔP_thermal > 0 对应 ΔRange < 0。
它成立的前提只有一条,但很紧:P_drive_avg 与可用能量都不随 ΔP_thermal 变化。而低温下改动电池加热功率,恰恰会同时改动这两项(上面三条赔付路径讲的就是这件事)⇒ ⛔ 不得拿它去论证「压低热管理功耗就一定能增加续航」。这条式子回答的是「其他都不变时,热管理功耗的一点变化折算成多少里程」,⛔ 它不回答「该不该压低热管理功耗」——那是两个问题,用一个只服务于前者的量去反算后者,结论方向可能整个反过来。(走一遍这条折算、并画出它的失效边界,在第 9 讲。)
工程量级。⛔ 本课不给「投多少电池加热功率最划算」的数,也⛔ 不给整车热管理能耗占比与冬季低温续航折损的区间。⚠ 后者刻意不作为行业典型区间给出:公开测评值随车型、环温、工况与起始 SOC 变化极大,给一个区间会被当成可对标的量拿去写进规格书。替代物是三样:
- 判据结构——把电池加热功率从零往上加,整车到达里程的响应是一条上凸的曲线:两端都差(给太少,从上面三处赔回来;给太多,多花的电换不回等量收益),最优点在中间,其位置由本项目实测标定。这条曲线在第 7 讲画出来。
- 折算链——上面那条式子,连同它的失效边界一起用。
- 实测口径——整车级能效评价以 GB/T 18386.1-2021(轻型车能量消耗率与续驶里程试验方法,自 2021-10-01 部分代替 GB/T 18386-2017,试验循环由 NEDC 改为 CLTC;版次与年份以现行目录为准,引用前须核)与整车开空调工况(AC17/SC03 线,底盘测功机级)为主,⛔ 本课不写它们的试验参数与限值。
本课的硬口径(本课归纳):评价一条协调策略的对象是整车能耗与续航,⛔ 不是热管理功耗。这条口径在这里立,在第 9 讲的三维对账里兑现。
今天就能用的:三句 KPI 体检。拿到一份写着「热管理能耗降低 X%」的目标或考核指标,逐句问:① 这个 X 算的是整车账还是热管理账?② 达成它的路径里,有没有哪一路的支出其实是负的(电池加热、驱动冷却是最常见的两路)?③ 同一份报告里有没有同时报出续航、舒适达标率与安全裕度(1.7 的三维)?⚠ 三问里有一问答不上来,这个指标就会把策略优化到上面那三个方向上去——而它每一步都会显得很有成效。
易错点。① 只看表显续航——它当场好看,而实际到达里程更差,两者的差别只有跑完整段工况才看得见;② 把折算式的方向读反:这条式子常见的写法不带负号,符号约定必须在用它之前就写死。
1.4 请求方全集九类:沿「座舱/电池」两条数,会整类漏掉五类
是什么。坐在「同一块电池能量」这张桌子边上要钱的,一共九类。按两条分型问句分成三组——问一「它是不是热管理内部的请求」,问二「它能不能进舒适让度队列」:
| 组 | 请求方 | 它的诉求量 | 本课哪一讲 |
|---|---|---|---|
| Ⅰ 热管理内部 | 座舱(制冷/采暖/内外循环/风量) | 功率 + 工作点 | 第 3、5、7、8 讲 |
| 电池(冷却/加热/保温/充电前预处理) | 功率 + 工作点 + 时间 | 第 3、4、7 讲 | |
| 电驱与电控(电机/电控/减速器冷却) | 功率 | 第 7 讲(极端工况) | |
| 充电系统(车载充电机/高压配电盒/快充枪与线束) | 功率 | 第 7 讲;发热机理与热设计见 E3-02 车载充电系统与高压配电盒热管理/E5-04 高压连接器、线束与母排的温升管理 | |
| Ⅱ 不是热管理,但同吃这块预算 | ★ 驱动本身 | 功率 | 本节与第 7 讲 |
| 对外放电(V2L/V2V) | 功率 | 作为竞争者列入;仲裁细节见 K3-01 整车热管理控制策略总览与模式管理 | |
| 智能电子与算力域(域控芯片结温与降额请求) | 功率 | 作为请求方列入;对端接口见 K3-01 整车热管理控制策略总览与模式管理 | |
| Ⅲ ⛔ 不能进舒适让度队列 | ★ 法规类:除霜除雾 | 功率(受法规底线封顶) | 第 5、7 讲 |
| ★ 保温/维持类(电池保温、快充前预处理) | 时间(多久不许被打断) | 第 4 讲 |
(三组的分法是本课归纳的;热侧那几类的需求源清单 K3-01 整车热管理控制策略总览与模式管理 已经列过,本表把射程扩到同一块电池能量上的全部竞争者。)
为什么必须画到九类。沿「座舱和电池」这两条最熟悉的线索数,数出来的是组Ⅰ 的前两类,剩下七类会整类不出现——而漏掉的那一类不会以「表上缺一行」的形式暴露,它会以「实车上出现了一个没人给它定过优先级的请求」的形式暴露。★ 未被列入的请求方,它该取哪一档优先级没有输入,资源不足时它以什么方式退让也没人定义;⛔ 这时候不能默认它「不存在」或「一律最低」——那两个默认值都不会被任何测试用例覆盖,因为没有人写下过它们。
三类最容易被漏,各有各的原因:
- 驱动本身不是热管理,所以在热管理的清单上永远不会出现;而它是这块电池能量里最大的一个消费者。★ 这里要把它与 P_budget 的关系说清:P_budget 是热管理这一侧的可分配电功率,⛔ 不含驱动功率;但驱动与热管理吃的是同一块电池,驱动功率的变化会通过 BMS 的可放电上限反映到 P_budget 上(第 2 讲的上限①)。所以两者不在同一本账里,却由同一条上限耦合——拖挂、爬坡这类工况下,驱动系统的冷却需求优先于舒适需求(第 7 讲)。
- 法规类的除霜除雾长得像座舱舒适(同一套风道、同一个鼓风机、同一个出风口),于是最容易被并进「座舱舒适」这一路一起让度掉。本课在这里只加一条硬口径:⛔ 不得把它并进座舱舒适一起让度。⚠ 但也⛔ 不要反向把它写死成最高档——K3-01 整车热管理控制策略总览与模式管理 已定它是条件档位(可以置顶,但仍受安全硬约束封顶),它与电池的相对次序须按项目定,⛔ 本课不代定。
- 保温/维持类的诉求根本不是「要多少功率」,而是「要多久不许被打断」。用纯功率配额去表达它,每一帧看起来都「只需要很小的功率」,于是每一帧都可以被让度掉——结果是它从来没有被拒绝过,也从来没有完成过。它要落在时间维的配额上(1.5 的第六类、第 4 讲的防饥饿)。
今天就能用的:把这张表填一遍。把你手上这台车的每一个请求方填进上表,每行填三件:它的诉求量是功率、工作点还是时间 · 它在资源不足时以什么方式退让 · 它的最小保障是什么。⚠ 填不出第一列(诉求量)的那几行,说明它的需求还没被定义清楚,回去补需求定义;填出「时间」的那几行,去检查你的仲裁器有没有时间维的配额——多数仲裁器只有功率维(第 4 讲会给它的两条地板)。
易错点。① 把除霜除雾并进座舱舒适一起让度掉(上面已写死,反向写死成最高档同样不许);② 把保温类请求用功率配额表达;③ 把组Ⅱ 那三类当成「不归我管」——它们确实不归热管理管,但它们与热管理抢同一块能量,不列进来,预算这本账就永远对不平。
1.5 被分配的资源不止功率:六类里有三类沿功率线索根本数不到
是什么。「仲裁在分什么」这个问题,沿「功率」一条线索数,只能数到三类;另外三类在原理上就产不出来:
| # | 资源 | 量纲/单位 | 沿功率线索数得到吗 | 数不到会出什么事 |
|---|---|---|---|---|
| (1) | 高压电功率 | kW(电) | 能 | — |
| (2) | ★ 电流与投切时序 | A / A²·s / kW·s⁻¹ | ⛔ 数不到 | 几路加起来没超预算,瞬时同时投入照样把母线电压拉塌,而跳保护的是别的高压部件 |
| (3) | 热交付量 | kW(热) | 能,但⛔ 与 (1) 不同分母 | 电给够了、热仍然给不出,而账面每一帧都平 |
| (4) | 12V 侧功率 | kW(电,经 DC/DC 效率折算) | 能 | 高压账系统性少算一块,而这一块在冬季恰好是全开的 |
| (5) | ★ 共享硬件的工作点 | 吸气压力/蒸发温度 | ⛔ 数不到 | 两路共用一台压缩机时抢的不是功率——加多少功率都解不掉 |
| (6) | ★ 时间 | s | ⛔ 数不到 | 优先级全序本身没有自愈机制,低优先级那一路会被无限期压到零,而每一帧都合法 |
⚠ (1)(3)(4) 三行都写着 kW,但 (3) 的分母在热侧,(1)(4) 在电侧——⛔ 不可直接相加、⛔ 不可比大小,两者之间隔着一个随工况变的换算(第 3 讲)。(「沿功率线索数不到哪三类」这条判据是本课归纳的。)
为什么这三类必须单列。★ 漏掉的那一类不会以「少了一条」的形式暴露——它是整类不出现,而清单看起来是完整的。三条各有一个现成的实例:常见误区里「几路高压加热负载瞬时同时投入、母线电压被拉低、跳保护的却是别的部件」那一条,是 (2) 的实例;快充叠高温时电池冷却与座舱制冷抢同一台压缩机,是 (5) 的实例;防饥饿是 (6) 的实例。这三件事在现场看起来完全不像同一类问题,但共同点只有一个:用功率配额这一种语言,根本表达不出被抢的那个东西是什么。
⚠ 前置课 K3-01 整车热管理控制策略总览与模式管理 已经交付了 (5) 的判据本体(多路共用蒸发压力时的可达域校核,以及「各路能力上限相加 ≠ 总可交付能力」这一判断),⛔ 本课不重推。本课在这里的增量只有一条:可达域校核不通过时,判为分配不可达 ⇒ 立即重新仲裁(降一路的目标,或转成分时轮流),⛔ 不是继续加功率、也⛔ 不是继续加权重(第 3 讲接判据、第 4 讲接动作)。
今天就能用的:给你的仲裁器做一次六格自检。逐格问「我的仲裁器认不认识这一类」——
- (2) 有没有一条以电流而不是功率为判据的约束?有没有投切时序与功率爬坡率的限制?
- (3) 有没有热侧那一本账,还是只有电侧一本?
- (4) 12V 侧的加热件有没有折算进高压账?
- (5) 有没有一处在判「这两路的目标能不能同时达到」,还是只判「功率够不够」?
- (6) 有没有任何一个以秒为单位的配额?
⚠ 六格里凡是答「没有」的,都不是「还没做」,而是那一类问题在你的系统里现在没有任何东西在管它——它会以完全不像资源分配问题的形态出现在现场,比如一个别的部件的欠压故障码。
易错点。① 只做能量仲裁不做电流与时序仲裁——这是本课最难查的一类现场故障,因为跳保护的是别的部件,现场看像那个部件坏了;② 把 (5) 当成功率不足去加功率,工作点冲突加多少功率都解不掉。
1.6 仲裁必须分两层:慢层管能量与功率,快层管电流与投切时序
是什么。把 1.5 那六类资源塞进同一个仲裁器是行不通的——它们的判据量纲不同、时间尺度差两三个数量级。本课把仲裁劈成两层(这一分层结构是本课归纳的):
| 慢层 | 快层 | |
|---|---|---|
| 它回答 | 这一秒每一路分多少功率、多少热量 | 这几路什么时候投、以多快的斜率投 |
| 输入 | 各路需求、各路能力、P_budget、热侧可交付上限 | 母线电压与电流实测、各路的投切请求 |
| 输出 | 各路的功率配额与热量配额 | 投切时刻、爬坡率限制 |
| 判据量纲 | kW | A / A²·s / kW·s⁻¹ |
| 周期量级 | 秒级 | 控制帧级 |
| 它错了长什么样 | 某一路长期给不够 | 瞬间拉塌母线,别的高压部件跳欠压保护 |
⛔ 两层之间的接口必须是双向的:下行是「配额 + 可投切标志」,上行是「快层已经改过什么」。
为什么上行那条通道是必需的。把两层合成一个仲裁器会出两件事,而第二件更贵:
- 合并之后,决策必然按慢层的周期做——于是快层那一半永远来不及。母线电压跌落是毫秒级的事件,一个秒级的仲裁器对它无能为力。
- 就算分了层,如果快层只做硬限幅而不上报,慢层就不知道自己的配额被改过:下一帧它照旧下发同样的配额,快层照旧限幅,两层互相推翻。现场表现是某一路的实际功率长期低于配额而没有任何故障码——它不是坏了,是被另一层默默改了。这条差值该怎么被抓住,是第 4 讲整讲的对象。
工程量级。⛔ 两层的周期不给数——它由控制器的任务周期与报文周期定;这条延迟链怎么合账、它给可用带宽定了什么上限,见 K3-05 PID/前馈/增益调度控制实战(引用时写全称「延迟总账 θ_total」并带单位 s)。本课给的是分层这个结构与「上行通道必需」这条判断。
今天就能用的:三问定位。遇到「预算没超而母线电压还是塌了」,按这三问走:① 这一帧有几路负载同时投入?(功率之和没超预算说明不了任何事,要看同一时刻的电流)② 有没有一条以电流为判据的约束在管它,还是只有功率上限?③ 如果有快层,它把配额改小之后有没有告诉慢层?⚠ 三问里第一个答「没查过」的地方,就是这条链上第一个断点——从那里往下查,⛔ 不要先去查跳保护的那个部件。
易错点。① 以为限住每一路的稳态功率上限就能防母线塌陷——那是慢层动作,治不了瞬时叠加,而且会白白牺牲加热速度,方向做反了;② 快层做成硬限幅而不上报(上面第 2 条)。
1.7 三维评价口径要在动手之前立:续航/舒适达标率/安全裕度
是什么。评价一条协调策略,三个维度缺一不可:
| 维度 | 量与单位 | 口径 | ⛔ 不许 |
|---|---|---|---|
| 续航 | 里程(km) | 按声明的工况与试验方法测,整车级口径见 1.3 | ⛔ 与台架口径的数值互换 |
| 舒适达标率 | 时间占比(%) | 目标偏差落在门限内的时间占比,须声明采样窗口与工况段 | ⛔ 与「峰值偏差」「超差事件计数」混用 |
| 安全裕度 | 离最近一条硬约束边界的距离,按该约束自己的量纲(K/A/s) | 取全程最小值,并单列越界事件 | ⛔ 折算成一个无量纲总分 |
⛔ 三者量纲不同,不得折算成一个综合评分;⛔ 三者也不得用不同工况分别测(结果不可比)。三个维度的门限值本课一个都不给——它们由本项目自己的取样统计与主观评价实测定,⛔ 禁止抄上一代平台。本课给的是它们的定义结构与上面那两条禁令;每一维的可操作定义(量/口径/采样窗口/证据来源四项)在第 9 讲。
为什么必须在这里就立。两个理由。其一,口径不先立,后面每一讲会各自用一套说法,到第 9 讲对账时三张表对不上——而那时候正文已经写完了,改口径等于返工。其二,只报能耗一个数,就是常见误区里「把协调策略的收益全算成能效提升、不评估舒适达标率与用户感知代价」那一条的直接形态:指标好看、用户体验变差,而这个偏差要到用户投诉才会被发现。
为什么第三维不能有统一量纲。★ 这是刻意的。安全裕度问的是「离最近一条硬约束边界还有多远」,而各条硬约束彼此的量纲根本不同:离电池温度窗口还有几 K、离母线电流上限还有几 A、离某个时间约束还有几 s。折算成一个无量纲总分之后,「离电流上限只剩一点点」会被「离温度上限还很远」平均掉,而报表上那个总分看起来还挺健康。
今天就能用的:一张对账表的表头。下次给一条策略出评估报告,表头固定四列——维度 | 本次取值 | 口径(工况段 + 采样窗口)| 证据来源,三行分别是上面三维,⛔ 不加「综合得分」那一行。⚠ 三行必须来自同一段工况:用不同工况分别测出来的三个数放在一张表上,会诱导人去做它们之间的权衡,而它们之间根本不可比。
易错点。① 用「峰值偏差」或「超差事件计数」代替时间占比——三种定义会给出不同的策略排序,也就是说换一个定义,「哪条策略更好」这个结论可能整个反过来,所以口径必须先声明、⛔ 不许中途换;② 把安全裕度折算成无量纲总分(上一段)。
1.8 与相邻课的边界:本课接过 K3-01 整车热管理控制策略总览与模式管理 划下的那条界,交付电侧那本账
是什么。这门课是协调控制这一线的总纲课,它的价值有一半在自己讲的内容,另一半在把散在十几门课里的判据接成一条可执行的链。接口逐条写清:
上游交给本课的:
- K3-01 整车热管理控制策略总览与模式管理 交付热侧的分配约束、可达域校核、双向执行器权限表与上下行契约,并明确把「接口本体与功率仲裁优先级栈」指向本课 ⇒ 本课必须真的把电侧那本账交出来(第 2 讲的 P_budget 本体、第 4 讲的回读闭环、第 5 讲的优先级全序)。
- K3-10 热管理在线状态与负荷估计:观测器整定、软测量置信度与退出条件 交付各路需求量与能力量的在线估计器及其置信度与退出条件;上游的传感与信号可靠性见 G12-01 温度/压力/流量/湿度传感器选型与布置/K1-03 传感器布置、冗余与信号可靠性。⚠ 本课只负责订阅它并按它行动——收下的能力值必须带置信度,置信度不足时预算算法退回保守分支(第 2 讲)。
- B4-01 整车能量流与热量流协同分析 交付整车能量流与热量流的分析方法;B4-04 整车能量管理与热管理的协同优化 交付协同优化的方案层。
本课⛔ 不重推的(每样带去向):
- 模式定义、优先级阶梯本体、可达域校核与双向契约 ⇒ K3-01 整车热管理控制策略总览与模式管理;
- 需求量与能力量的观测器构造、软测量置信度与退出条件 ⇒ K3-10 热管理在线状态与负荷估计:观测器整定、软测量置信度与退出条件;
- 组合工况的覆盖判定与状态机完备性核对 ⇒ K4-05 模式状态机的完备性核对与可验证性设计;分层验证 ⇒ K4-03 MIL/SIL/HIL 验证流程;
- 参数自学习 ⇒ K7-03 数据驱动的能效自学习控制;多目标权衡方法 ⇒ B1-06 架构方案权衡:性能/成本/重量/可靠性多目标决策;基于仿真的试验设计 ⇒ J7-03 基于仿真的 DOE 与多目标优化;
- 母线电压塌陷对压缩机的封顶机理 ⇒ K3-02 空调温控与压缩机转速/过热度控制(制冷与制热两模式);配电、母排与连接器的电气约束 ⇒ E3-02 车载充电系统与高压配电盒热管理/E5-04 高压连接器、线束与母排的温升管理;
- 低温限功率作为需求来源与电池加热方案 ⇒ D3-01 电池加热策略:PTC / 热泵 / 液热;快充全过程的功率协同实例 ⇒ D4-03 充电过程温控策略与充电功率协同,快充产热与温升预测 ⇒ D4-01 快充产热与温升预测建模;
- 执行器回报通道的实现 ⇒ G9-03 加热器功率控制与温度保护/G6-02 风扇 PWM 调速与噪声品质控制/G1-02 压缩机排量、转速控制与容调/G12-03 执行器硬件接口与电气规格;控制环整定与延迟总账 ⇒ K3-05 PID/前馈/增益调度控制实战;
- 热泵低温制热衰减与除霜 ⇒ C3-02 热泵采暖原理与低温制热衰减/C3-05 补气增焓(喷气增焓)低温热泵技术;系统能效系数的定义与优化路径 ⇒ A1-05 制冷循环性能指标:COP、制冷量、过热度与过冷度/C1-05 空调系统能效(COP)优化路径,台架试验口径 ⇒ L2-01 焓差实验室与空调系统性能试验;
- 故障态的提示分级 ⇒ K5-01 OBD/UDS 诊断与故障码(DTC)设计/K5-03 制冷剂泄漏检测与安全响应。
为什么要把边界写这么细。★ 一门总纲课最容易发生的失败是两头都以为对方讲了:K3-01 整车热管理控制策略总览与模式管理 说「本课只划界,接口本体见后」,本课若也只说「见 K3-01 整车热管理控制策略总览与模式管理」,读者就永远拿不到那本电侧的账——而这种失败不会被任何一门课单独的审核发现,因为每一门单独看都是完整的。
今天就能用的:读这门课之前先对一次表。如果你手上的问题落在上面「⛔ 不重推」那张清单里,直接去对应的那门课,⛔ 别在本课里找——本课对它们只会给一句话的接口描述。留在本课的是四样:电侧那本预算账(第 2 讲)· 电热两笔账的对账(第 3 讲)· 配额下发之后的闭环(第 4 讲)· 分配规则本身怎么写与怎么整定(第 5、6 讲),再加上把它们串起来的三个场景(第 7 讲)、用户能耗档位(第 8 讲)与三维对账(第 9 讲)。
易错点。① 重推 K3-01 整车热管理控制策略总览与模式管理 已经给过的东西(热侧可交付能力的构成来源、可达域校核),造成两门课两套说法——读者拿到两套说法时,会默认后看到的那套是修订版,而它可能只是复述得不准确的那一版;② 把 K3-10 热管理在线状态与负荷估计:观测器整定、软测量置信度与退出条件 的估计器输出当成已知常量直接写进代价函数——那等于对一个没有误差条的输入求最优解,求解器会一丝不苟地算出一个建立在不准的数上的答案,而它算得越精确,越不容易被怀疑。
后面还有 8 讲正文 · 关键公式 · 案例拆解 · 常见误区 · 动手做