<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 基于逐次最鄰近插值的動(dòng)力電池電壓模擬方法*

          基于逐次最鄰近插值的動(dòng)力電池電壓模擬方法*

          作者:張晉,易吉良,陳松伯,李中啟(湖南工業(yè)大學(xué),湖南 株洲 412008) 時(shí)間:2021-08-16 來源:電子產(chǎn)品世界 收藏
          編者按:動(dòng)力電池模擬系統(tǒng)是新能源汽車測(cè)試平臺(tái)等工業(yè)領(lǐng)域的重要裝備,而電池模型是該系統(tǒng)能否精確模擬電池特性的關(guān)鍵環(huán)節(jié)。為兼顧數(shù)據(jù)容量和給定電壓的精確性,提出逐次最鄰近插值算法應(yīng)用于電池模型數(shù)據(jù)查表,該方法根據(jù)動(dòng)力電池在電池電荷狀態(tài)(State of Charge,SOC)初始段、平穩(wěn)段和末尾段的輸出特性,建立了三個(gè)不同分辨率的模型子表,并借鑒最鄰近插值算法的計(jì)算量小和容易實(shí)現(xiàn)的優(yōu)點(diǎn),采用對(duì)模型表逐次迭代分區(qū),進(jìn)而逼近實(shí)際SOC和采樣電流對(duì)應(yīng)的電池模型給定電壓值,達(dá)到細(xì)化電池模型表分辨率效果。討論了迭代次數(shù)選擇對(duì)算法

          *基金項(xiàng)目:湖南省自然科學(xué)省市聯(lián)合基金資助項(xiàng)目(資助號(hào)2019JJ60055)湖南省教育廳重點(diǎn)科研項(xiàng)目(資助號(hào)18A272)

          本文引用地址:http://www.ex-cimer.com/article/202108/427605.htm

          作者簡(jiǎn)介:張晉(1994—),男,山西太原人,湖南工業(yè)大學(xué),碩士生,主要研究方向?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/動(dòng)力電池">動(dòng)力電池模擬。E-mail:1498641264@qq.com。

          0   引言

          隨著能源危機(jī)與環(huán)境污染壓力的加大,新能源汽車特別是純電動(dòng)汽車成為各國(guó)政府政策支持和各汽車廠商大力發(fā)展的解決方案[1]。英、德等國(guó)政府宣布將于2025—2040 年內(nèi)全面禁售傳統(tǒng)燃油汽車,在2017 年9月舉行的中國(guó)汽車產(chǎn)業(yè)發(fā)展國(guó)際論壇上,工信部相關(guān)負(fù)責(zé)人表示,我國(guó)也已啟動(dòng)傳統(tǒng)燃油車的退出計(jì)劃。

          測(cè)試平臺(tái)采用模擬電源能夠克服直接采用帶來的成本高和不便利的缺點(diǎn),并解決使用普通穩(wěn)壓電源不能模擬動(dòng)力電池特性的問題,因此,動(dòng)力電池模擬電源是電動(dòng)汽車測(cè)試平臺(tái)不可缺少的裝備。電池模型是模擬電源實(shí)現(xiàn)高逼真度電池伏安特性的關(guān)鍵要素,直接影響電源模擬電池的效果。建立電池模型主要任務(wù)是根據(jù)電池的 和負(fù)載電流給出模擬電源輸出端口的參考電壓,現(xiàn)有的模擬電源電池模型建立方法主要有:①用已有標(biāo)準(zhǔn)電池模型獲得電池特性參數(shù);②采用分段擬合電池伏安特性曲線[4];③法。其中方法①使用電池模型獲得特性曲線的精度高,但模型中含有指數(shù)函數(shù),在芯片中實(shí)現(xiàn)難度高,需要大量的計(jì)算且對(duì)芯片要求也較高,不適用于動(dòng)態(tài)系統(tǒng)。方法②雖然減少了計(jì)算量,但是誤差也顯著增大,如果使用高階方程可以提高精度,但是在工作電流大范圍變化的工況下,則需要擬合多條曲線,運(yùn)算量大且算法時(shí)間長(zhǎng),無法跟上系統(tǒng)的實(shí)時(shí)動(dòng)態(tài)響應(yīng)。方法③需要先得到V-I 特性曲線,再通過曲線離散化獲得需要的數(shù)據(jù),計(jì)算量小[2]。

          為獲得足夠的模擬精度,法往往需要采用大數(shù)據(jù)樣本,但這會(huì)對(duì)系統(tǒng)容量提出很高的要求。為了減少數(shù)據(jù)容量法一般會(huì)使用插值算法,而傳統(tǒng)方法如和雙線性插值算法要么精確度不夠,要么算法計(jì)算量大,系統(tǒng)實(shí)現(xiàn)成為難題。為了減少數(shù)據(jù)樣本和運(yùn)算量,同時(shí)滿足輸出精度要求,本文通過改進(jìn)最鄰近差值算法,提出了一種基于逐次最鄰近差值算法的動(dòng)力電池模擬系統(tǒng)的輸出電壓給定方法,并通過仿真實(shí)驗(yàn)證明了該方法的有效性。

          1   背景知識(shí)

          1.1 動(dòng)力電池模擬系統(tǒng)

          典型的動(dòng)力電池模擬系統(tǒng)包括雙向PWM 整流器和雙向DC/DC 變換器[3],如圖1 所示。

          1629082474781188.png

          1.2 常用插值法

          電池模型表類似于數(shù)字圖像處理中的像素灰度表,因此電池模型查表可以借鑒圖像處理中的插值算法,其中常用的插值算法包括和雙線性插值算法。最近鄰插值算法[4] 是依據(jù)距離最短原則將實(shí)際坐標(biāo)值映射到模型表中的坐標(biāo),并將模型表中該坐標(biāo)的電壓值作為電池輸出的電壓。如圖2 所示,U 點(diǎn)為運(yùn)行過程中獲取的待求輸出電壓,U1(1)、U2(1)、U3(1)、U4(1) 是模型表中鄰近U 點(diǎn)的4 個(gè)坐標(biāo)對(duì)應(yīng)的電壓值,因U1(1) 的坐標(biāo)位置與U 點(diǎn)的距離最短,因此將U1(1)的值賦給U 點(diǎn)作為模擬電池的輸出電壓值。

          1629082537289334.png

          2   逐次

          2.1 系統(tǒng)工作流程

          圖3 為本文動(dòng)力電池模擬系統(tǒng)電壓給定方法的流程圖,由圖可見,系統(tǒng)包括 估算、動(dòng)力電池模型表和插值算法3 個(gè)部分,其中, 估算是根據(jù)初始值SOC* 以及采集的負(fù)載電流i,采用安時(shí)法實(shí)現(xiàn)對(duì)動(dòng)力電池的SOC 值估算。

          1629082626274935.png

          考慮動(dòng)力電池在SOC 較大和較小時(shí),輸出電壓變化較快,因此將動(dòng)力電池模型表分成3 個(gè)子表,即:當(dāng)SOC ≥ 85% 時(shí),稱為模型子表1;當(dāng)85%>SOC ≥ 20%時(shí),稱為模型子表2;當(dāng)SOC<20% 時(shí),稱為模型子表3。因?yàn)閯?dòng)力電池V-I 特性曲線在SOC 值為5%~20% 區(qū)間以及85%~100% 區(qū)間起伏大,這使得離散后的兩個(gè)相鄰坐標(biāo)之間的電壓值相差大;而20%~85% 區(qū)間V-I 特性曲線變化不大。因此,子表1 和子表3 采用SOC 分辨率dSOC 較小的模型表,而子表2 采用SOC 分辨率dSOC 較大的模型表,同時(shí)電流的變化對(duì)電壓的影響不大,所以三個(gè)模型表負(fù)載電流i 的分辨率di 相同。

          由圖3 可以看出,根據(jù)不同的SOC 選用對(duì)應(yīng)的動(dòng)力電池模型子表后,利用估算的SOC 和采集的電流i 便可確定待求輸出電壓在模型子表中的4 個(gè)相鄰電壓值,利用本文提出的逐次最鄰近插值算法對(duì)這四個(gè)電壓值進(jìn)行迭代運(yùn)算,不斷更新坐標(biāo)和對(duì)應(yīng)電壓值,最終輸出值U*。

          2.2 逐次最鄰近插值算法原理

          由上節(jié)可知,逐次最鄰近插值算法根據(jù)估算的SOC和采樣的負(fù)載電流i 查找動(dòng)力電池模型子表,進(jìn)而得到四個(gè)鄰近電壓值U1~U4 即點(diǎn)U1(1)、U2(1)、U3(1)、U4(1),將這四個(gè)點(diǎn)看成一個(gè)正方形,按照如下步驟實(shí)現(xiàn)逐次最鄰近插值算法。

          1) 以表1 的分區(qū)依據(jù)將正方形平均分成四個(gè)小正方形即四個(gè)區(qū),設(shè)m=1。

          2) 將與待求點(diǎn)U 位于同一個(gè)區(qū)的Ux(m)(x 為1~4中之一) 作為不變點(diǎn)。

          3) 用表2 更新待求點(diǎn)U 所在區(qū)的四個(gè)頂點(diǎn)U1(m+1)、U2(m+1)、U3(m+1)、U4(m+1)。

          4) 用(6)~(10) 式更新分區(qū)依據(jù)。

          5) 令m=m+1,若m<M(M為設(shè)定的最大迭代次數(shù)),根據(jù)表1 的分區(qū)依據(jù)對(duì)U 點(diǎn)所在區(qū)進(jìn)一步分區(qū),返回步驟2,否則算法結(jié)束。

          1629082736836545.png

          表2 中更新公式(1)~(5)分別為:

          1629082781762713.png

          公式(1)~(5)分別描述了不變點(diǎn)左側(cè)、右側(cè)、上方、下方以及對(duì)角點(diǎn)的電壓更新方法。

          每次迭代后需要根據(jù)所在分區(qū)對(duì)坐標(biāo)SOC 和i 進(jìn)行更新,1~4 區(qū)的更新公式分別為公式(6)~(9)。

          1629082902402753.png

          SOC 和i 的分辨率的更新方法采用公式(10):

          1629082950913021.png

          當(dāng)m=M 時(shí),用式(5) 計(jì)算動(dòng)力電池模擬系統(tǒng)的輸出電壓給定值U*,即Ux(m) 的均值。

          3   實(shí)驗(yàn)及分析

          3.1 模型表容量的確定

          查表法往往要采用大數(shù)據(jù)樣本,但這會(huì)對(duì)系統(tǒng)容量提出很高的要求,在保證輸出電壓精度的情況下,盡量減少模型表的數(shù)據(jù)容量,可以減少查表時(shí)間和降低系統(tǒng)成本。

          1629083019891119.png

          3.2 與最鄰近插值法的對(duì)比

          采用MATLAB&Simulink 中的標(biāo)準(zhǔn)動(dòng)力電池模型產(chǎn)生基準(zhǔn)表數(shù)據(jù),使用雙線性插值算法查基準(zhǔn)表獲取基準(zhǔn)值。以D2 抽取表和基準(zhǔn)表作為數(shù)據(jù)樣本,采用最鄰近差值算法和本文方法計(jì)算電池模擬系統(tǒng)的,分析兩種方法得到的與基準(zhǔn)值的絕對(duì)誤差的絕對(duì)值。以固定SOC(5% ≤ SOC ≤ 100% 的隨機(jī)值)和不同電流(-100 A ≤ i ≤ 100 A 隨機(jī)產(chǎn)生的100 個(gè)值)進(jìn)行實(shí)驗(yàn),兩種方法查表得到的給定電壓與基準(zhǔn)值電壓的絕對(duì)誤差的絕對(duì)值,部分結(jié)果如圖5 所示。

          由圖5a 可以看出,在SOC 為13.7% 的條件下,本文方法查基準(zhǔn)表的絕對(duì)誤差小于0.000 4,而相同條件下最鄰近方法的絕對(duì)誤差在1.2 以內(nèi)。對(duì)D2 抽取表本文方法的查表絕對(duì)誤差小于0.03,而最鄰近方法的絕對(duì)誤差在1.7 以內(nèi)。所以在相同的查表?xiàng)l件下本文方法具有更高的準(zhǔn)確度。同時(shí)該結(jié)果表明,因?yàn)?3.7% 的SOC 值處于動(dòng)力電池特性曲線變化大的區(qū)間內(nèi),這使得離散抽取后的兩個(gè)相鄰坐標(biāo)之間的電壓值相差大,從而致使最鄰近方法的查表誤差變大。而本文方法通過逐次逼近修正了因數(shù)據(jù)表分辨率降低造成的誤差。

          1629083112552362.png

          由圖5b 可以看出,在SOC 為39.5% 的條件下,本文方法查基準(zhǔn)表的絕對(duì)誤差小于0.000 2,而最鄰近方法的絕對(duì)誤差在0.2 以內(nèi);對(duì)D2 抽取表本文方法的絕對(duì)誤差小于0.02,而最鄰近方法所得的絕對(duì)誤差在0.6以內(nèi),所以在該查表?xiàng)l件下本文方法同樣具有更高的準(zhǔn)確度。因?yàn)镾OC 為39.5% 時(shí)處于動(dòng)力電池特性曲線平滑的區(qū)間內(nèi),這使得最鄰近查表誤差比SOC 為13.7%時(shí)得到查表誤差小。

          本文還在SOC 值為5%~100% 的條件下進(jìn)行了大量實(shí)驗(yàn),結(jié)果表明本文方法查D2 抽取表的絕對(duì)誤差的絕對(duì)值均小于0.03,相較于最鄰近方法,在給定電壓準(zhǔn)確性方面具有明顯優(yōu)勢(shì),限于篇幅不再給出圖示。同時(shí),相較于雙線性算法,本文方法只需進(jìn)行幾次迭代加減計(jì)算,需要的時(shí)間短且實(shí)現(xiàn)容易。

          4   結(jié)語(yǔ)

          本文提出的基于逐次最鄰近插值的動(dòng)力電池模擬系統(tǒng)的輸出電壓給定方法,在模型表的數(shù)據(jù)容量縮減了98.4% 的條件下,相比較采用最鄰近插值算法的給定電壓精度從個(gè)位提升至百分位,減少了查表時(shí)間和降低了系統(tǒng)成本。插值算法的迭代次數(shù)4~5 次就可以滿足電池模擬的要求,迭代的次數(shù)增加可以提高查表精度。本文方法在邊界點(diǎn)的處理還不夠完善,對(duì)邊界點(diǎn)查表過程進(jìn)行優(yōu)化處理可以增強(qiáng)方法的穩(wěn)定性,便于實(shí)際應(yīng)用。

          參考文獻(xiàn):

          [1] GENIKOMSAKIS K N,GUTIERREZ I A,THOMAS D,et al. Simulation and design of fast charging infrastructure

          for a university-based e-car sharing system[J]. IEEE Transactions on Intelligent Transportation Systems,2017(99):1-10.

          [2] 唐金成,林明耀,張蔚.光伏電池陣列模擬器的研究[J].江蘇電器,2007(06):10-12+28.

          [3] 張丙寅.動(dòng)力電池模擬電源控制系統(tǒng)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2012.

          [4] WANG Y, WAN W, WANG R, et al.An improved interpolation algorithm using nearest neighbor from VTK[C].Audio L a n g u a g e a n d I m a g e P r o c e s s i n g ( I C A L I P ) , 2 0 1 0 International Conference on,2010.

          [5] 趙煌,彭勇.雙線性插值算法的優(yōu)化及其應(yīng)用[J].電視技術(shù),2012,36(17):30-32.

          [6] 莫林利,趙秀紹,鄭偉,等.二維表查找和雙線性插值算法的設(shè)計(jì)與應(yīng)用[J].華東交通大學(xué)學(xué)報(bào),2015,32(05):93-98.

          [7] 何志超,楊耕,盧蘭光,等.一種動(dòng)力電池動(dòng)態(tài)特性建模[J].電工技術(shù)學(xué)報(bào),2016,31(11):194-203.

          (本文來源于《電子產(chǎn)品世界》雜志2021年2月期)



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();