杜宇石, 琚長江, 楊根科
(上海交通大學 寧波人工智能研究院, 浙江 寧波 315000; 上海交通大學 自動化系, 上海 200240)
超級電容器作為一種新型的儲能元件, 具有充放電迅速、功率密度高、循環壽命長以及能量轉換效率高等優點, 在混合動力汽車等領域有越來越廣泛的應用. 為了汽車安全可靠運行, 判斷可行駛路程等信息, 需要對其剩余電量, 即荷電狀態(State of Charge, SOC)進行估算. SOC估計方法分安時法和電壓軟測量兩類. 安時法[1]是一種基于直接電流測試的SOC估計方法, 具有較高的精度, 是實驗室中最常用的SOC估計方法. 但從長時運維來看, 由于自放電現象和電流傳感器精度的影響, 如果不定期進行校正, 誤差會越來越大; 基于模型的電壓軟測量方法是機理或半機理或無機理的, 具有精度高和魯棒性強等優點, 被廣泛用于SOC 的實時估計[2]. 本文主要研究基于模型的SOC估算方法.
超級電容器的軟測量模型基本可以分為4種: 電化學模型、等效電路模型、智能模型和分數階模型. 電化學模型能夠描述超級電容器內部真實的反應過程, 具有精度高的優點, 但是耦合偏微分方程帶來了很大的計算量, 某些參數也是不可測量的[3]. 等效電路模型是根據經驗和實驗數據建立的, 具有良好的準確性和實用性, 但也存在物理意義缺失和易受老化影響等不足[4]. 智能模型能夠描述自變量和因變量之間的復雜非線性關系, 而不需要詳細了解其潛在機制和原理, 具有很好的建模能力, 但是對訓練數據的質量和數量要求高, 非機理模型魯棒性也不強[5]. 分數階模型引入了分數階微積分, 有較好的擬合實驗數據的能力, 但計算成本大, 嵌入式實施難度高[6]. 等效電路模型結構簡單且建模精度高, 在實時能量管理系統中得到了廣泛的應用. 因此, 本文深入研究基于等效電路模型的SOC估計算法.
Pavkovic等[7]基于一階非線性模型提出了基于擴展卡爾曼濾波的SOC估計算法. 此外, 還有如無跡卡爾曼濾波[8]等一系列改進方法. 基于卡爾曼濾波的SOC估計器雖然具有較高的精度, 但是此類方法需要精確的模型以及噪聲的統計信息, 并且計算成本較高. Ceraolo等[9]基于線性RC串聯電路模型采用Luenberger型觀測器來計算SOC, 但單一的線性RC 串聯電路不能完全模擬超級電容器的充放電特性. 以上算法雖然原理不同, 但在估計SOC時, 皆用等效電路模型中的非線性電容存儲的電荷近似代替總電荷, 忽略了模型中其余的定值電容存儲的電荷, 這在一定程度上會降低算法的精度.
為了得到更加準確的SOC估計值, Fan等[10]將SOC的定義擴充到所有電容存儲的電荷, 利用滑模觀測器來估計SOC, 在降低計算量的同時取得了較高的精度. 但是文中討論的模型未考慮由于自放電現象產生的泄漏電流的影響, 這在短期內忽略是合理的, 而在長期使用或靜置時可能會帶來一定的累積誤差. 另外, 超級電容器在充電和放電工況下的特性并不一致, 在不同的工況下建立不同的模型參數來表征其充放電特性可提高模擬精度[11].
本文在二分支等效模擬電路模型[12]的基礎上, 建立內部多電容端電壓的狀態空間模型, 將超級電容器的電流和電壓分別作為可控制輸入和可觀測輸出, 來計算內部多電容的端電壓值; 再根據非線性觀測器[13]的思想, 用內部多電容的端電壓來重構SOC. 針對充電和放電兩種工況分別辨識模型參數, 每個模型包括有泄漏和無泄漏兩種情況. 最后, 通過充放電實驗討論區分充放電不同工況以及泄漏電流對SOC估計精度的影響, 并驗證非線性觀測器的性能.
超級電容器有一對金屬箔電極, 每個電極表面都有活性炭, 多孔的活性炭表面在電解液中與離子形成電雙層, 可以決定超級電容器的容性. 超級電容器的物理化學特性比較復雜, 單一的電路器件不足以描述其充放電行為. 因此, 研究人員通常利用一些簡化的等效電路模型來代替超級電容器[14].
本文綜合考慮了超級電容單體等效電路模型的準確性和實用性, 選用Faranda[12]提出的二分支等效模擬電路模型, 如圖1所示. 圖中:R0為等效串聯電阻;R2為電荷再分配電阻;C1為微分電容;C2為小孔隙電容(電荷再分配電容);Rl為泄漏電阻;i1為短期支路電流;i2為中長期支路電流;i3為泄漏電流;i為輸入的充放電電流;v1為微分電容C1兩端的電壓;v2為小孔隙電容C2兩端的電壓;v為單體的端電壓.

圖1 二分支等效模擬電路模型Fig.1 Two-branch equivalent analog circuit model
利用Kirchhoff定律, 建立了基于圖1所示的二階非線性系統的狀態空間模型:
(1)
式中:狀態變量x1=v1和x2=v2為電容器內部多電容的端電壓;電容器的可控輸入u=i為充放電電流, 可測輸出y=v為端電壓.
(2)
式中:k為微分電容C1隨兩端電壓v1線性變化的斜率;C0為微分電容C1兩端電壓為0時的初始電容. 這些參數因超級電容器的型號及規格而不同.
流過泄漏電阻Rl的電流是自放電現象產生的泄漏電流, 一般都比較小.由于泄漏電阻Rl遠大于R0和R2, 所以泄漏電流比較小, 在某些情況下也可以忽略. 電容器的狀態空間模型式(1)在無泄漏電阻情況下[15]的各參數為
(3)
注意到無泄漏效應對應模型式(3)并非式(2)的特例.
文獻[11]針對模型參數選取不準給擴展卡爾曼濾波SOC估計帶來誤差的問題, 設計了變電流放電工況和變電流充電工況實驗, SOC估計結果顯示: 對于變電流充電工況, 使用充電模型參數的擴展卡爾曼濾波SOC 估計值更接近真實值, 而使用放電模型參數的SOC估計值則偏離真實值; 反之亦然. 因此, 電池充電模型參數和放電模型參數是不同的, 如果單獨使用一種模型的參數進行SOC估計就會增大誤差.
本文針對充電和放電兩種不同的工況, 分別辨識不同的模型參數來表征超級電容器不同的物理特性.
以某型號為UCK42V28000的超級電容器單體為測試研究對象. 對超級電容單體進行100 A恒定電流的充放電實驗, 規定充電電流為正, 放電電流為負, 直到超級電容端電壓達到額定電壓3.8 V為止, 分別記錄電流i和端電壓v的測試數據, 如圖2和圖3所示. 圖中:t為時間.

圖2 充電工況的輸入電流和端電壓Fig.2 Input current and terminal voltage of charging conditions

圖3 放電工況的輸入電流和端電壓Fig.3 Input current and terminal voltage of discharging conditions
參考Liu等[16]使用遺傳算法辨識等效電路模型相關參數的方法, 分別對充電和放電兩種不同場景下的模型參數進行辨識. 對比不區分充放電工況[8], 即僅一組參數來表征超級電容器的充放電特性, 辨識了單一模型的參數. 各模型參數如表1所示.

表1 辨識的模型參數Tab.1 Model parameters identified
在MATLAB R2020a/Simulink環境中, 保持和實驗一致的條件, 對式(1)進行仿真. 設置帶噪聲的100 A電流作為輸入, 仿真時間與試驗數據一致, 即272.6 s. 分別記錄有泄漏和無泄漏情況下輸出的端電壓值, 并與實驗得到的端電壓值作對比, 如圖4所示.

圖4 充電時端電壓的仿真值和實測值比較Fig.4 Comparison of simulated value and measured value of terminal voltage during charging
不引入泄漏電阻情況下的端電壓仿真值與實測值間的誤差會越來越大, 整體最大誤差為 0.075 V. 而引入泄漏電阻情況下的端電壓仿真值與實測值在中間部分的誤差比較大, 但在兩端的誤差都比較小, 整體最大誤差為0.048 V. 在充電起始階段和接近結束時誤差變小, 而在充電中間過程誤差較大, 這是由于超級電容器端電壓的非線性變化以及模型中RC電路的滯后特性引起的. 在起始階段和結束階段, 模型能夠比較準確地反映端電壓的變化情況;而在中間過程, 模型準確性相對較低. 在實際工程應用場景中, 超級電容器模型在接近充電結束時的準確度更加重要, 這對精確估計SOC值從而判斷超級電容器是否充滿電具有非常重要的意義. 在充電場景下, 考慮泄漏電流因素, 即引入泄漏電阻情況下的模型能夠提高約0.03 V的精度.
類似地, 設置帶噪聲的 -100 A 電流作為輸入(規定充電電流為正,放電電流為負), 測試時間為272.4 s. 分別記錄有泄漏和無泄漏情況下輸出的端電壓值, 并與實驗得到的端電壓值作對比, 如圖5所示.

圖5 放電時端電壓的仿真值和實測值比較Fig.5 Comparison of simulated value and measured value of terminal voltage during discharging
在放電初始階段, 無泄漏電阻和有泄漏電阻兩種情況的端電壓基本一致. 隨著放電過程的進行, 無泄漏電阻情況下的端電壓誤差先增大再減小, 最大誤差為0.06 V, 在接近結束的時候誤差會變小, 但與實測值仍然有0.038 V的誤差. 有泄漏電阻情況下的端電壓仿真值與實測值的誤差較小, 僅在放電中間階段誤差比較大, 最大誤差為0.036 V, 在接近結束時誤差會變得很小, 最終為0.004 V. 類似地, 端電壓在放電中間過程誤差較大, 在起始和結束時的誤差較小, 這也是由于超級電容器端電壓的非線性變化和模型中RC電路的滯后特性導致的. 與無泄漏電阻的模型相比, 引入泄漏電阻能夠把端電壓最大誤差從1.60%降低到0.96%, 將接近放電結束時的端電壓誤差從1.02%降低到0.11%. 另外, 超級電容器內部存在自放電現象, 故需要在建模時引入泄漏電阻來描述這一特性. 因此, 在放電場景下, 考慮泄漏電流, 即引入泄漏電阻情況下的模型有更好的準確性.
綜上所述, 在充電和放電不同場景下, 考慮泄漏效應的模型有更高的模擬精度.
引入文獻[10]的SOC, 定義為
(4)
式中:Qn為超級電容器的額定容量, 即存儲的最大電荷量.本文的Qn為 25 200 C. 系統模型式(1)是非線性的, 因此利用非線性觀測器來觀測內部電壓, 進而估計SOC.
對式(1)構造非線性狀態觀測器:
(5)

非線性觀測器式(5)的全局漸近穩定性的證明過程如下.
設控制輸入信號是有界的, 即存在uM>0, 對于任意的t, 有|u(t)|≤uM.
定義飽和函數:
(6)
式中:xM是充分大的正常數.
由于狀態變量電壓xk非負, 將其代入式(6)可得:
σ(xk)=xk,k=1, 2
且所得函數σ(xk)具有Lipschiz性質, 即對于任意的n維向量x,y∈Rn, 有
|σ(x)-σ(y)|≤|x-y|
定義函數:
φσ(x,u)=φ1(x1)φ2(x,u)
φ2(x,u)=a11σ(x1)+a12σ(x2)+b1u
注意到函數φσ(x,u)對x滿足Lipschiz性質, 即存在實數γ>0, 有

(7)
對任意的t≥0, 定義Lyapunov函數:
此函數關于t求導, 得:
(8)
將(7)式代入(8)式得:
(9)

由于φσ具有Lipschitz性, 所以存在γ≥0, 有
(10)
根據楊氏不等式, 存在設計常數ε>0, 使得
(11)
將式(11)代入式(10)得:

(12)
式(12)代入式(9), 并整理可得:


因此, 可觀測到系統內部狀態x1=v1,x2=v2的信息, 代入式(4)從而求得SOC的估計值.
通過實驗數據來驗證式(5)的有效性. 參考文獻[13], 考慮到非線性觀測器的魯棒性和收斂速度, 選擇觀測器增益為λ1=7,λ2=9,充電電流和放電電流均與第2節中的保持一致. 在恒流的模式下進行充放電, 采用安時法得到的SOC作為實際參照值.
在充電工況下, 為了研究區分充放電不同工況對SOC估計的影響, 把基于充電模型的SOC估計值與參照值之間的誤差和基于充放電單一模型[8]的SOC估計值與參照值之間的誤差作對比, 如圖6所示. 圖中:SOCE為SOC估計誤差. 計算充電模型和單一模型的最大誤差(ME)、平均絕對誤差(MAE)和均方根誤差(RMSE), 如表2所示.

圖6 充電模型與單一模型的SOCE比較Fig.6 Comparison of SOCE between charging model and single model

表2 單一模型和充電模型的SOC估計誤差Tab.2 SOC estimation error of single model and charging model %
由圖6和表2可知, 不區分充放電的模型得到的SOC估計誤差是逐漸增大的, 并不收斂.本文建立的充電模型得到的估計誤差波動范圍很小. 因此在充電時, 基于充電模型估計的SOC值比基于不區分充放電模型估計的SOC值更加準確.
把仿真得到的觀測器估計的SOC值(包括基于有泄漏的模型和基于無泄漏的模型[10]兩種情況) 與參照值進行比較, 如圖7所示. 計算有泄漏模型和無泄漏模型的ME、MAE和RMSE, 結果如表3所示.

表3 充電工況下不同模型的SOC估計誤差Tab.3 SOC estimation errors of different models under charging conditions %

圖7 充電時有無泄漏估計的SOC值與參照值比較Fig.7 Comparison of estimated SOC value with reference value when charging with or without leakage
無泄漏電流情況下非線性觀測器估計的SOC值與實際參照值的誤差會越來越大, 到充電后期, 甚至會超過1, 這是很不合理的. 而在考慮有泄漏電阻情況下估計的SOC值與實際參照值吻合程度非常好, 均方根誤差降低了4%. 因此, 考慮泄漏會提高SOC的估計精度.
在放電工況下, 將基于原充放電單一模型和放電模型得到的SOCE進行對比, 如圖8所示. 計算其ME、MAE和RMSE, 如表4所示.
由圖8和表4可知, 基于單一模型估計的SOC范圍并沒有包含0%~2%之間的部分, 這會損失一部分的SOC信息. SOC估計誤差是逐漸增大的, 并不收斂. 而基于放電模型估計的SOC在合理的范圍內, 均方根誤差比基于單一模型的小4倍左右. 因此, 基于放電模型的估計效果更好.

圖8 放電模型與單一模型的SOCE比較Fig.8 SOCE comparison of discharging model and single model

表4 單一模型和放電模型的SOC估計誤差Tab.4 SOC estimation error of single model and discharging model %
將基于無泄漏和有泄漏的模型仿真得到的SOC估計值進行對比, 如圖9所示. 計算其ME、MAE和RMSE, 如表5所示.

圖9 放電時有無泄漏估計的SOC值與參照值比較Fig.9 When discharging with or without leakage, the estimated SOC value is compared with the reference value

表5 放電工況下不同模型的SOC估計誤差Tab.5 SOC estimation errors of different models under discharging conditions %
無泄漏情況下非線性觀測器估計的SOC值甚至會低于0, 這在實際應用中不可能發生, 且SOC估計誤差逐漸增大. 而有泄漏情況下估計的SOC最大誤差和均方根誤差都比無泄漏情況下的小一個數量級. 所以, 考慮泄漏會提高SOC估計結果的可靠性.
綜上所述, 非線性觀測器算法具有良好的估計能力, 考慮泄漏因素會提高模型的準確度, 而區分充放電不同工況進行建模可以更加準確地表征超級電容器的充放電特性, 從而顯著降低SOC的估計誤差.
以超級電容器單體的二分支等效模擬電路模型為基礎, 推導了以電容器模型中多電容端電壓為狀態的二階非線性系統的狀態空間方程. 針對充電和放電工況不同, 辨識了充電和放電各自的模型參數集. 討論了自放電現象產生的泄漏電流對模型精度的影響. 實際的充放電實驗數據表明, 與不考慮泄漏相比, 考慮泄漏能夠降低約1%的電容器端電壓模型預測誤差. 依托電容器模型中多電容端電壓, 設計了非線性觀測器來估計SOC的值, 并通過仿真和實驗對觀測器進行了驗證. 結果表明, 非線性觀測器算法具有穩定的跟蹤能力. 與不區分充電放電相比, 區分充電放電能夠降低SOC的估計誤差, 最大誤差降低了一個數量級, 故基于區分充電放電的模型能夠更好模擬實際充放電特性, 顯著提高了SOC的估計精度. 不考慮泄漏得到的SOC估計值在充放電后期會偏離實際參照值, 甚至不在合理范圍內, 所以考慮泄漏會降低SOC估計值的誤差, 提高結果的可靠性. 本文提出的考慮泄漏因素且區分充電放電不同工況估計SOC的方法具有一定的理論價值和實用性, 后續將進一步在車輛加速、勻速、減速等不同工況下開展深入研究和應用.