現(xiàn)與優(yōu)化)
1. 項(xiàng)目概述與整體設(shè)計(jì)思路1.1 燃料電池能量管理到底在解決什么問題混合動(dòng)力系統(tǒng)的能量管理說白了就是一句話在每一個(gè)控制時(shí)刻決定能量從哪兒來、往哪兒去。對(duì)于燃料電池整車或固定式發(fā)電系統(tǒng)來說通常存在兩個(gè)能量源——燃料電池堆FC和動(dòng)力電池或超級(jí)電容。FC負(fù)責(zé)持續(xù)供電電池負(fù)責(zé)削峰填谷。這里面的核心矛盾是FC的氫氣消耗和壽命損耗與電池的SOC維持之間存在一個(gè)此消彼長的博弈關(guān)系。如果FC輸出功率太高氫耗上去了膜電極還容易因?yàn)轭l繁變載而加速老化如果FC輸出功率太低電池SOC扛不住系統(tǒng)動(dòng)力性和續(xù)航都會(huì)出問題。我這次做的仿真項(xiàng)目核心目標(biāo)就是在MATLAB/Simulink環(huán)境下基于ECMSEquivalent Consumption Minimization Strategy等效消耗最小化策略搭建一套完整的燃料電池能量管理仿真文件解決在任意工況下如何實(shí)時(shí)分配FC和電池的功率這個(gè)問題。這套仿真文件不需要真實(shí)臺(tái)架全部通過建模完成適用于算法驗(yàn)證、參數(shù)標(biāo)定和策略對(duì)比。1.2 為什么選ECMS而不是規(guī)則策略或DP做能量管理的人都知道市面上主流方案大致有三類基于規(guī)則Rule-based、等效消耗最小化策略ECMS、動(dòng)態(tài)規(guī)劃DP。我剛接觸這個(gè)項(xiàng)目的時(shí)候第一反應(yīng)也是能不能用查表規(guī)則先糊弄一下但仔細(xì)想了之后還是決定用ECMS理由如下策略類型優(yōu)點(diǎn)缺點(diǎn)適合場景基于規(guī)則簡單、易部署、實(shí)時(shí)性好依賴經(jīng)驗(yàn)標(biāo)定、非最優(yōu)工程初版、安全兜底ECMS接近全局最優(yōu)、實(shí)時(shí)性好、無需預(yù)知全工況等效因子整定麻煩實(shí)時(shí)控制、在線優(yōu)化動(dòng)態(tài)規(guī)劃DP全局最優(yōu)、可作基準(zhǔn)需要完整工況、計(jì)算量大離線分析、性能上界DP雖然能給出全局最優(yōu)解但它是離線算法沒法用到實(shí)時(shí)控制器里。而ECMS的核心思想是把電池消耗的電能也折算成等效氫氣消耗這樣就把一個(gè)雙能量源的問題轉(zhuǎn)變成單目標(biāo)的最小化問題——每時(shí)每刻只需要求解一個(gè)標(biāo)量函數(shù)的最小值計(jì)算量完全可控且具備實(shí)時(shí)性。這對(duì)我來說是最務(wù)實(shí)的選型。注意ECMS并不是什么新潮技術(shù)它最早可以追溯到上世紀(jì)九十年代末期的混動(dòng)汽車研究。但對(duì)于燃料電池系統(tǒng)來說重新實(shí)現(xiàn)ECMS依然有幾個(gè)坑等效因子的物理意義、SOC懲罰函數(shù)的設(shè)計(jì)、以及FC動(dòng)態(tài)響應(yīng)約束的建模這些搞不定ECMS效果還不如簡單的規(guī)則策略。2. ECMS控制策略的核心原理拆解2.1 等效因子的物理意義一次講透ECMS的核心公式如下J m_H2(FC功率) λ * P_bat / LHV_H2其中J當(dāng)前時(shí)刻的等效總氫耗m_H2(FC功率)燃料電池在當(dāng)前輸出功率下的實(shí)際氫氣消耗率P_bat動(dòng)力電池的輸出功率正值放電負(fù)值充電LHV_H2氫氣低熱值約 120 MJ/kgλ等效因子它把電池的功率折算成等效氫耗這個(gè)公式可以通俗地理解為電池放電相當(dāng)于提前透支了未來的電能而這些電能最終還是要靠FC燒氫氣補(bǔ)回來電池充電則相當(dāng)于把多余的氫能存起來。λ就是這把電能和氫能統(tǒng)一到同一個(gè)計(jì)量單位下的匯率。在實(shí)際標(biāo)定過程中λ并不是一個(gè)固定常數(shù)它會(huì)隨SOC的偏移而調(diào)整。如果SOC偏高λ應(yīng)該調(diào)小讓系統(tǒng)更傾向于用電如果SOC偏低λ應(yīng)該調(diào)大讓系統(tǒng)更傾向于充電。最常見的處理方式是在基礎(chǔ)等效因子λ_base上疊加一個(gè)SOC懲罰函數(shù)λ λ_base * (1 k * (SOC_ref - SOC)^3)這個(gè)式子里的k是懲罰系數(shù)SOC_ref是目標(biāo)SOC一般取 0.5~0.6。三次方的設(shè)計(jì)是為了讓SOC偏差在可控范圍內(nèi)時(shí)懲罰足夠平緩一旦越界懲罰快速增大從而把SOC拉回目標(biāo)區(qū)間。2.2 為什么需要SOC懲罰函數(shù)我在第一次實(shí)現(xiàn)這個(gè)方案時(shí)踩過這樣一個(gè)坑如果不加SOC懲罰只用固定等效因子跑一個(gè)WLTC工況仿真結(jié)果往往會(huì)出現(xiàn)兩種情況之一。要么電池SOC一路狂掉到下限然后系統(tǒng)為了保護(hù)電池強(qiáng)制切到FC大功率充電模式氫耗高得離譜要么SOC居高不下電池幾乎不參與放電FC全程扛負(fù)載系統(tǒng)效率和動(dòng)態(tài)響應(yīng)都很難看。這兩種情況本質(zhì)上都是因?yàn)镋CMS把當(dāng)前時(shí)刻的功率分配最優(yōu)當(dāng)成了唯一目標(biāo)卻沒有約束長期SOC軌跡的問題。加入SOC懲罰函數(shù)之后ECMS才能兼顧瞬時(shí)經(jīng)濟(jì)性與電池電量平衡。懲罰項(xiàng)的設(shè)計(jì)需要注意三點(diǎn)懲罰函數(shù)必須平滑可導(dǎo)否則在SOC邊界處容易引起功率震蕩懲罰系數(shù)k不能太大太大容易導(dǎo)致等效因子頻繁跳變FC功率隨之抖動(dòng)SOC_ref的選取要與系統(tǒng)實(shí)際工作區(qū)間匹配對(duì)于燃料電池系統(tǒng)SOC長期工作在 0.45~0.65 區(qū)間比較合適因?yàn)殡姵厣疃确烹娀蛘邼M充都會(huì)加速壽命衰退。我做仿真時(shí)把k從 1 試到 10最終發(fā)現(xiàn)k4~5時(shí)SOC軌跡最平穩(wěn)FC功率的波動(dòng)也最小。這個(gè)值跟系統(tǒng)的電池容量、FC額定功率都有關(guān)系不能直接照搬。2.3 從系統(tǒng)級(jí)目標(biāo)到控制量的映射ECMS求解出的結(jié)果是當(dāng)前時(shí)刻FC應(yīng)該輸出的最優(yōu)功率P_fc*。但P_fc*不能直接丟給FC還需要經(jīng)過一層動(dòng)態(tài)約束處理包括FC功率爬坡率限制一般不超過額定功率的 10%~20%/sFC最小功率限制避免低功率區(qū)間的低效率運(yùn)行一般不低于額定功率的 20%FC最大功率限制電池SOC安全邊界母線電壓上下限。這些約束做不好ECMS在控制層面就是紙面最優(yōu)實(shí)際根本跑不起來。我在仿真中單獨(dú)封裝了一個(gè)Power Limiter模塊來處理這些邊界條件這也是后面第五章實(shí)操中重點(diǎn)演示的部分。3. 仿真模型整體架構(gòu)與模塊化設(shè)計(jì)3.1 Simulink模型的分層結(jié)構(gòu)整個(gè)仿真模型我按照輸入—控制—被控對(duì)象—輸出的經(jīng)典架構(gòu)分為四層頂層 工況輸入 能量管理控制器(ECMS) 燃料電池模型 電池模型 數(shù)據(jù)記錄 控制層ECMS核心函數(shù)S-Function / MATLAB Function 被控層FC電堆模型、DC/DC變換器模型、動(dòng)力電池模型 信號(hào)層SOC、P_fc、P_bat、氫耗、效率、母線電壓等這里有一個(gè)細(xì)節(jié)值得強(qiáng)調(diào)電池模型和FC模型的復(fù)雜度必須與ECMS控制周期匹配。控制周期通常是 0.1s~1s而FC內(nèi)部的動(dòng)態(tài)響應(yīng)比如空氣供給、膜濕潤度變化是毫秒級(jí)的。如果被控對(duì)象模型太細(xì)致仿真速度會(huì)慢到讓人崩潰如果太粗糙又會(huì)掩蓋ECMS算法的真實(shí)表現(xiàn)。我的經(jīng)驗(yàn)是FC模型采用極化曲線一階慣性環(huán)節(jié)的準(zhǔn)靜態(tài)模型電池采用RC等效電路模型這樣既保證了精度又能在一臺(tái)普通筆記本上幾分鐘跑完一個(gè)完整工況。3.2 負(fù)載需求與動(dòng)力架構(gòu)建模我這個(gè)仿真項(xiàng)目針對(duì)的是某種燃料電池混合動(dòng)力系統(tǒng)的簡化場景負(fù)載直接給定功率需求序列FC和電池通過各自的變換器并聯(lián)到直流母線共同滿足負(fù)載功率。在Simulink中功率平衡關(guān)系可以簡化為P_load P_fc P_bat這里的負(fù)載功率可以是整車驅(qū)動(dòng)功率如果是車載應(yīng)用也可以是固定式發(fā)電系統(tǒng)的用電需求。為了讓仿真文件具備通用性我把負(fù)載模塊設(shè)計(jì)成一個(gè)可配置的序列輸入可以從MATLAB工作空間讀取工況文件也可以直接用Simulink的Signal Builder繪制。負(fù)載工況的選擇直接決定了能量管理策略的驗(yàn)證效果。我的建議是至少準(zhǔn)備三類工況標(biāo)準(zhǔn)循環(huán)工況如WLTC、NEDC——用于橫向?qū)Ρ雀鞑呗詢?yōu)劣極端工況長時(shí)間爬坡、急加速急減速——用于驗(yàn)證SOC約束和FC響應(yīng)極限隨機(jī)工況——用于檢驗(yàn)ECMS的魯棒性和泛化能力。3.3 ECMS核心模塊的實(shí)現(xiàn)方式ECMS核心模塊我用MATLAB Function實(shí)現(xiàn)這樣比手寫S-Function更直觀而且便于調(diào)試。核心代碼如下function [P_fc_ref, m_H2_total] ECMS_controller(P_load, SOC, P_fc_prev, params) % 基礎(chǔ)等效因子 lambda_base params.lambda_base; k_penalty params.k_penalty; SOC_ref params.SOC_ref; % SOC懲罰修正等效因子 lambda lambda_base * (1 k_penalty * (SOC_ref - SOC)^3); % 對(duì)FC功率在可行范圍內(nèi)進(jìn)行網(wǎng)格搜索 P_fc_min max(params.P_fc_min, P_load - params.P_bat_max_ch); P_fc_max min(params.P_fc_max, P_load params.P_bat_max_dis); N params.N_grid; P_fc_candidates linspace(P_fc_min, P_fc_max, N); % 計(jì)算每個(gè)候選點(diǎn)的等效總氫耗 J zeros(1, N); for i 1:N P_fc P_fc_candidates(i); P_bat P_load - P_fc; % FC氫耗查表 m_H2_fc interp1(params.FC_P_map, params.FC_H2_map, P_fc, linear, extrap); % 電池等效氫耗 if P_bat 0 m_H2_bat lambda * P_bat / params.LHV_H2; else m_H2_bat lambda * P_bat / params.LHV_H2 / params.bat_eff_ch; end J(i) m_H2_fc m_H2_bat; end % 取使J最小的候選點(diǎn) [~, idx] min(J); P_fc_raw P_fc_candidates(idx); % 施加FC爬坡率限制 max_delta params.FC_slew_rate * params.dt; P_fc_ref max(P_fc_prev - max_delta, min(P_fc_prev max_delta, P_fc_raw)); % 總氫耗 m_H2_total interp1(params.FC_P_map, params.FC_H2_map, P_fc_ref, linear, extrap); end這段代碼里有一個(gè)細(xì)節(jié)網(wǎng)格搜索點(diǎn)數(shù)N的選取。N太小功率分配精度差結(jié)果會(huì)有鋸齒狀波動(dòng)N太大計(jì)算量增加。實(shí)測下來N200左右是一個(gè)不錯(cuò)的平衡點(diǎn)控制周期0.1s時(shí)單步計(jì)算耗時(shí)在幾毫秒級(jí)別完全能滿足實(shí)時(shí)性要求。提示如果用linspace網(wǎng)格搜索天然會(huì)把FC功率限制在P_fc_min和P_fc_max之間所以不需要額外的邊界判斷邏輯。但要注意P_fc_min不能低于FC最小穩(wěn)定功率否則FC模型可能在低功率區(qū)間出現(xiàn)誤差放大。4. 實(shí)操過程與核心環(huán)節(jié)實(shí)現(xiàn)4.1 仿真參數(shù)設(shè)定與初始化仿真項(xiàng)目的核心參數(shù)我整理如下這些參數(shù)的設(shè)定基于某典型功率等級(jí)的燃料電池系統(tǒng)具體數(shù)值可根據(jù)你的系統(tǒng)規(guī)模按比例調(diào)整參數(shù)數(shù)值說明FC額定功率50 kW電堆額定輸出FC最小功率10 kW低于此值不工作FC最大爬坡率5 kW/s保護(hù)膜電極電池容量10 kWh動(dòng)力電池可用容量電池最大放電功率40 kW短時(shí)峰值電池最大充電功率25 kW制動(dòng)回收/FC充電上限SOC初始值0.6目標(biāo)SOC區(qū)間 0.5~0.7等效因子初始值 λ_base2.4需依據(jù)氫價(jià)/電價(jià)換算控制周期0.1 s實(shí)時(shí)控制節(jié)拍仿真總時(shí)長1800 s標(biāo)準(zhǔn)工況時(shí)長這里最讓我反復(fù)調(diào)整的是λ_base。它的物理含義是電池每消耗1焦耳電能等效折算多少焦耳的氫氣化學(xué)能。嚴(yán)格來說λ_base應(yīng)該根據(jù)系統(tǒng)效率、氫耗曲線和充放電效率通過迭代計(jì)算得到。我的推薦做法是先算一個(gè)理論初值λ_base 1 / (η_FC_avg * η_DC_DC * η_bat_roundtrip)其中η_FC_avg是FC平均效率約 45%~50%η_DC_DC是變換器效率約 95%η_bat_roundtrip是電池充放電往返效率約 90%。這樣算出來的理論值大約是 2.3~2.6。實(shí)際仿真時(shí)再以該值為中心、上下浮動(dòng) 20% 做敏感性分析。4.2 仿真運(yùn)行與代碼生成整個(gè)仿真模型搭建完成后運(yùn)行流程非常清晰。我通常在Simulink中做一個(gè)初始化腳本把上述參數(shù)一次性寫入base workspace然后運(yùn)行模型。仿真結(jié)束后會(huì)自動(dòng)導(dǎo)出各關(guān)鍵信號(hào)的時(shí)序數(shù)據(jù)。為了便于批量對(duì)比不同參數(shù)的影響我建議把Simulink模型改成通過腳本調(diào)用sim()函數(shù)的方式% 批量仿真腳本用于參數(shù)掃描 lambda_base_list [2.0, 2.2, 2.4, 2.6, 2.8]; for i 1:length(lambda_base_list) params.lambda_base lambda_base_list(i); out sim(ECMS_FuelCell.slx, StopTime, 1800); results(i).SOC out.soc; results(i).H2 out.h2_total; results(i).lambda params.lambda_base; end % 對(duì)比不同等效因子下的總氫耗 for i 1:length(lambda_base_list) fprintf(λ%.1f, 總氫耗%.3f kg\n, ... results(i).lambda, results(i).H2(end)); end這個(gè)批量掃描的價(jià)值非常大。通過跑一輪不同λ_base的仿真你可以直接畫出總氫耗 vs 等效因子的U形曲線找到系統(tǒng)在此工況下的最低氫耗點(diǎn)同時(shí)檢查終態(tài)SOC是否回到目標(biāo)區(qū)間。4.3 結(jié)果可視化與性能指標(biāo)評(píng)估仿真結(jié)果出來之后我通常重點(diǎn)看四個(gè)指標(biāo)總氫耗kg直接反映經(jīng)濟(jì)性終態(tài)SOC vs 初始SOC衡量電量平衡能力FC功率波動(dòng)幅度衡量燃料電池運(yùn)行平穩(wěn)性波動(dòng)大了直接影響壽命等效百公里氫耗如果對(duì)應(yīng)整車場景便于橫向?qū)Ρ?。在可視化方面至少需要畫出以下圖形SOC軌跡圖觀察SOC是否被控制在目標(biāo)區(qū)間內(nèi)FC功率與電池功率分配圖觀察功率分配的合理性氫耗累計(jì)曲線觀察經(jīng)濟(jì)性隨時(shí)間的累積趨勢等效因子變化曲線觀察懲罰項(xiàng)對(duì)等效因子的動(dòng)態(tài)修正效果。其中有一張圖我強(qiáng)烈建議畫出來散點(diǎn)圖P_fc, η_fc橫軸是FC功率縱軸是FC效率。把整個(gè)工況下ECMS給出的工作點(diǎn)畫上去你能直觀看到ECMS是如何把FC工作點(diǎn)往高效率區(qū)間吸的。這個(gè)視角非常有說服力。5. 常見問題與排查技巧實(shí)錄5.1 問題一SOC持續(xù)下降或持續(xù)上升現(xiàn)象仿真跑完一個(gè)完整工況后終態(tài)SOC比初始SOC低了10個(gè)百分點(diǎn)以上或高了很多說明電量平衡失敗。排查思路優(yōu)先檢查等效因子λ_base是否匹配。如果終態(tài)SOC偏低說明λ_base偏小系統(tǒng)過度傾向于用電需要適當(dāng)增大反之則減小。還有一種情況是k_penalty過小導(dǎo)致SOC恢復(fù)力不足。這里有一個(gè)快速排查公式意識(shí)SOC偏差方向 f(λ_base的選擇, SOC懲罰強(qiáng)度)正常狀態(tài)下一個(gè)完整工況結(jié)束時(shí)SOC應(yīng)該在初始值附近±3%以內(nèi)。如果超出這個(gè)范圍優(yōu)先調(diào)λ_base而不是去動(dòng)k_penalty。k_penalty調(diào)節(jié)的是恢復(fù)速度λ_base調(diào)節(jié)的是整體傾向兩者不要搞混。5.2 問題二FC功率出現(xiàn)高頻振蕩現(xiàn)象功率分配圖上FC功率呈現(xiàn)類似鋸齒狀的高頻波動(dòng)而不是平滑過渡。排查思路這是網(wǎng)格搜索法在邊界附近容易出現(xiàn)的典型現(xiàn)象。當(dāng)兩個(gè)候選點(diǎn)的代價(jià)函數(shù)值非常接近時(shí)微小擾動(dòng)就會(huì)讓最優(yōu)點(diǎn)在兩個(gè)值之間來回跳。解決辦法有三個(gè)增加網(wǎng)格密度N減少量化誤差但會(huì)增加計(jì)算量對(duì)輸出的FC功率再做一階慣性濾波時(shí)間常數(shù)取0.2~0.5s把上一時(shí)刻的P_fc_ref作為一個(gè)候選搜索點(diǎn)確保算法不會(huì)偏離當(dāng)前工作點(diǎn)太遠(yuǎn)。第三種方法最為有效類似于給ECMS加了一個(gè)慣性錨點(diǎn)。5.3 問題三電池充放電功率頻繁越界現(xiàn)象仿真過程中報(bào)出電池功率超出設(shè)定上下限的警告。排查思路問題通常出在負(fù)載突變時(shí)P_fc_ref的爬坡限制沒有足夠快的速度跟上負(fù)載變化瞬間的功率差額全部由電池承擔(dān)。此時(shí)需要檢查電池最大放電功率設(shè)定是否合理如果電池容量相對(duì)系統(tǒng)功率偏小需要提高允許放電功率或者限制負(fù)載變化率FC爬坡率是否過慢導(dǎo)致長時(shí)間依賴電池出力SOC懲罰函數(shù)在高SOC區(qū)間是否過快把FC功率壓下來造成后續(xù)電池需要強(qiáng)行大功率放電。5.4 問題四仿真速度極慢現(xiàn)象一個(gè)1800s的工況跑了十幾分鐘還沒出結(jié)果。排查思路優(yōu)先檢查模型中是否無意中把可變步長求解器弄成了固定步長且步長極小。對(duì)于這種能量管理級(jí)別的仿真建議使用ode15s或ode23t可變步長求解器最大步長設(shè)為1s。另外如果FC或電池模型內(nèi)部含有高頻振蕩的開關(guān)子模塊也會(huì)拖慢仿真——把它們替換為平均模型速度立刻提升一個(gè)數(shù)量級(jí)。5.5 排查經(jīng)驗(yàn)自檢清單每當(dāng)我新搭建一個(gè)仿真文件都會(huì)按以下順序做自檢先用一個(gè)恒定功率工況跑通模型驗(yàn)證功率平衡關(guān)系再跑一個(gè)簡單階躍工況觀察FC響應(yīng)是否平緩最后才跑標(biāo)準(zhǔn)循環(huán)工況檢驗(yàn)整體表現(xiàn)每次修改參數(shù)后記錄總氫耗和終態(tài)SOC所有工況至少跑兩輪第一輪排除異常第二輪記錄數(shù)據(jù)。個(gè)人經(jīng)驗(yàn)很多問題在第一輪仿真跑不通時(shí)80%以上都是初始條件設(shè)置問題比如SOC初始值沒有寫入、工況數(shù)據(jù)沒有正確加載、或者模型的某個(gè)子模塊被Disable了。在確認(rèn)這些問題之前先不要去懷疑ECMS算法的正確性。先把信號(hào)線檢查一遍把初始值確認(rèn)一遍往往幾分鐘就能解決問題。6. 從仿真到落地?cái)U(kuò)展方向與個(gè)人體會(huì)6.1 仿真的價(jià)值邊界我一直認(rèn)為能量管理策略的仿真驗(yàn)證是算法落地前性價(jià)比最高的一步。它雖然不能替代硬件在環(huán)測試和實(shí)車標(biāo)定但能幫你把80%的算法邏輯問題在純軟件層面暴露掉。等你真正上到臺(tái)架或者實(shí)車的時(shí)候重點(diǎn)就變成了傳感器噪聲、通信延遲、執(zhí)行器響應(yīng)等工程問題而不是算法本身的收斂性問題。6.2 從ECMS到在線優(yōu)化策略的演進(jìn)ECMS這套框架做扎實(shí)以后往兩個(gè)方向擴(kuò)展都很自然一個(gè)是實(shí)時(shí)MPC方向在ECMS的代價(jià)函數(shù)里加入預(yù)測模塊用未來一段時(shí)間的需求功率來動(dòng)態(tài)優(yōu)化等效因子。ECMS中的SOC懲罰本質(zhì)上是短視的而MPC引入的預(yù)測視角可以讓策略“看”得更遠(yuǎn)。另一個(gè)是機(jī)器學(xué)習(xí)方向用ECMS作為離線標(biāo)簽生成器訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)來擬合ECMS的功率分配映射。訓(xùn)練完成后神經(jīng)網(wǎng)絡(luò)可以在微控制器級(jí)別在線運(yùn)行推理成本極低響應(yīng)速度遠(yuǎn)快于在線搜索。6.3 一些真心話這個(gè)項(xiàng)目做到最后我最大的體會(huì)是能量管理策略的價(jià)值不在于某一種算法有多高級(jí)而在于它能不能在系統(tǒng)約束的夾縫里把每一個(gè)功率點(diǎn)都放到性價(jià)比最高的位置。ECMS之所以在很多系統(tǒng)中能持續(xù)成為默認(rèn)選項(xiàng)不是因?yàn)樗趾寐牰且驗(yàn)樗脴O小的在線計(jì)算代價(jià)換來了接近全局最優(yōu)的效果。把這個(gè)邏輯徹底吃透后面做任何優(yōu)化策略根基都穩(wěn)了。最后分享一個(gè)實(shí)用小技巧仿真做完之后一定要保存物理量量綱的自檢腳本。比如氫耗總量乘以氫氣熱值應(yīng)該大致等于電池凈能量變化加上負(fù)載消耗能量之和。這個(gè)能量守恒校驗(yàn)?zāi)軘r住95%以上的模型低級(jí)錯(cuò)誤比看任何曲線都直觀。