譚興國,曲 凱
(河南理工大學(xué)電氣工程與自動(dòng)化學(xué)院,河南 焦作 454000)
電動(dòng)汽車作為新能源產(chǎn)品,已得到各國重視并迅速發(fā)展。電池作為電動(dòng)汽車的主要驅(qū)動(dòng)源,其性能以及使用壽命也得到了越來越多的關(guān)注[1-2]。電池管理系統(tǒng)是非常關(guān)鍵的部件[3]。在硬件在環(huán)(hardware in loop,HIL)測(cè)試環(huán)境下,為了準(zhǔn)確模擬電動(dòng)汽車電池管理系統(tǒng)(battery management system,BMS)中電池的溫度變化[4],需要高精度的程控電阻器來模擬負(fù)溫度系數(shù)(negative temperature coefficient,NTC)溫度傳感器的溫度-電阻特性[5]。
目前,常見的可調(diào)電阻是通過改變電阻接入電路的長度來改變阻值,例如滑動(dòng)電阻器和旋鈕電位器。這種機(jī)械式的可變電阻輸出精度低,阻值很難精確控制在特定值,更不容易實(shí)現(xiàn)遠(yuǎn)程控制。而半導(dǎo)體芯片方式的可編程電阻[6],通常只有有限的步長和阻值范圍,電阻的可用功率也很小,其應(yīng)用場合受限。本文設(shè)計(jì)了基于CAN總線通信的高精度程控電阻器。該電阻器可借助LabVIEW上位機(jī)軟件,通過CAN總線實(shí)時(shí)控制電阻在范圍內(nèi)連續(xù)可調(diào)輸出,大大改進(jìn)了上述電阻器的缺陷。
系統(tǒng)主要由主控單元(microcontroller unit,MCU)、供電模塊、開關(guān)和電阻陣列模塊、電阻采樣模塊和CAN總線模塊等組成。主控單元采用飛思卡爾MC9SXDT256芯片,負(fù)責(zé)驅(qū)動(dòng)開關(guān)和采樣輸出電阻,并利用LabVIEW上位機(jī)界面通過CAN總線發(fā)送設(shè)定指令給MCU。MCU利用電阻采樣模塊對(duì)輸出的電阻值進(jìn)行回讀且對(duì)回讀的結(jié)果進(jìn)行適當(dāng)修正,以進(jìn)一步提高精度[7]。系統(tǒng)結(jié)構(gòu)如圖1所示

圖1 系統(tǒng)結(jié)構(gòu)圖
1.2.1 開關(guān)和電阻網(wǎng)絡(luò)拓?fù)?/p>
為滿足模擬NTC溫度系數(shù)溫度變化要求,設(shè)計(jì)的開關(guān)和電阻網(wǎng)絡(luò)拓?fù)淙鐖D2所示。

圖2 開關(guān)和電阻網(wǎng)絡(luò)拓?fù)鋱D
Ki取值為0代表閉合,取值為1代表斷開。總輸出阻值R為:
(1)
在實(shí)際應(yīng)用中,采用的開關(guān)網(wǎng)絡(luò)為光耦A(yù)QY212GS,其二極管一端由5 V供電,另一端由主控單元MCU控制輸出高低電平?jīng)Q定光耦二極管是否導(dǎo)通。當(dāng)二極管導(dǎo)通,對(duì)應(yīng)開關(guān)就會(huì)閉合,此時(shí)對(duì)應(yīng)電阻被短路。相反,二極管不導(dǎo)通,對(duì)應(yīng)開關(guān)斷開,對(duì)應(yīng)電阻將會(huì)被選中。
1.2.2 減小誤差的改進(jìn)拓?fù)?/p>
圖2中,只有在理想開關(guān)閉合時(shí),阻抗為0,即K×R=0,但實(shí)際開關(guān)閉合時(shí)仍具有約0.4 Ω的導(dǎo)通阻抗,即K=0開關(guān)閉合,但K×R≠0。這在整體阻抗比較大的情況下可以忽略不計(jì),但在調(diào)試控制輸出小阻值時(shí),如控制輸出10 Ω以下時(shí),其所占比例將會(huì)引起較大誤差。這是因?yàn)榇?lián)閉合的開關(guān)過多時(shí),累積的導(dǎo)通阻抗不容忽略,則輸出絕對(duì)誤差較大,造成可控輸出電阻精度降低。
為解決該問題,改進(jìn)的開關(guān)電阻網(wǎng)絡(luò)拓?fù)淙鐖D3所示。

圖3 改進(jìn)的開關(guān)和電阻網(wǎng)絡(luò)拓?fù)鋱D
在小于100 Ω的所有阻值處,本文采取將低阻抗開關(guān)KD與大于相應(yīng)阻值的所有電阻并聯(lián),以減小阻抗,從而有效減小誤差,提高輸出精度。
1.2.3 電阻選型原則
電阻選型應(yīng)考慮阻值大小及其精度等方面的因素。由開關(guān)和電阻網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可知,電阻阻值大小的選擇是關(guān)鍵,既要盡可能擴(kuò)大阻值范圍以滿足更多的應(yīng)用,同時(shí)又能將范圍內(nèi)任意阻值覆蓋。電阻的選型需要滿足如下公式:
(2)
式中:θ為步進(jìn)電阻值;N≥1。
另外,可根據(jù)實(shí)際所需電阻阻值范圍選擇相應(yīng)電阻精度。為滿足輸出阻值絕對(duì)誤差的要求,每個(gè)阻值的選擇都有一定精度的要求。電阻阻值越大,則需要選擇越高的精度,否則會(huì)導(dǎo)致較大的絕對(duì)誤差,從而降低精度。電阻的阻值選型具有非常重要的意義。
1.2.4 CAN總線
為了能夠通過上位機(jī)實(shí)時(shí)測(cè)控程控電阻器的模擬阻值輸出,需要建立上位機(jī)與程控電阻控制器的通信聯(lián)系。
本文選用的單片機(jī)MCU為飛思卡爾的MC9S12XDT256,它內(nèi)部集成有CAN模塊,支持CAN 2.0 A/B。CAN總線具有差分的信號(hào)傳輸方式,能提高抗電磁干擾的能力,而SCI、SPI等通信方式不具備該能力。故本文采用CAN總線實(shí)現(xiàn)程控電阻器的設(shè)計(jì)[8-10]。
在實(shí)際應(yīng)用中,采用CAN總線收發(fā)器TJA1040器件。其CAN_Tx和CAN_Rx與單片機(jī)MCU的CAN總線引腳相連,CAN_H和CAN_L通過外部CAN工具與上位機(jī)相連實(shí)現(xiàn)數(shù)據(jù)傳輸。采用一個(gè)雙向瞬態(tài)抑制器,用以保護(hù)收發(fā)器免受電磁干擾和靜電放電的影響。采用抑制共模線圈,提高電磁兼容性性能。
本程序按照模塊化設(shè)計(jì)思想進(jìn)行編寫,程序流程如圖4所示。首先,進(jìn)行系統(tǒng)初始化,包括CAN初始化、定時(shí)器初始化等;然后,通過CAN總線讀取上位機(jī)界面設(shè)定的阻值,通過開關(guān)選擇算法設(shè)定各個(gè)開關(guān)狀態(tài),輸出所需阻值;接下來,采樣回讀進(jìn)行誤差判斷,達(dá)到誤差要求則結(jié)束,否則進(jìn)行誤差修正;最后,進(jìn)行電阻開關(guān)網(wǎng)絡(luò)設(shè)定,直至滿足誤差要求。

圖4 程序流程圖
本控制器設(shè)計(jì)的關(guān)鍵是如何確定開關(guān)網(wǎng)絡(luò)的組合關(guān)系。本算法采用天平稱重的杠桿原理來確定開關(guān)拓?fù)?。參照稱重原理,將準(zhǔn)備稱重的重物放到天平的一端,按從大到小的順序依次將砝碼放到天平的另一端。當(dāng)出現(xiàn)重物一端重于砝碼一端時(shí),則將重物質(zhì)量減去砝碼質(zhì)量,然后將剩余質(zhì)量的物體與余下砝碼依次從大到小比較,重復(fù)上述動(dòng)作,直至平衡。該算法流程圖如圖5所示。首先將設(shè)定的電阻值先與最大阻值RN進(jìn)行比較。若設(shè)定阻值大于最大阻值RN,則將最大阻值對(duì)應(yīng)的開關(guān)選中,即將開關(guān)KN斷開,并將設(shè)定值改為兩者之差;否則將開關(guān)KN閉合,將電阻RN旁路掉;重復(fù)上述動(dòng)作,直至完成所有比較,確定全部開關(guān)狀態(tài)。

圖5 算法流程圖
采用LabVIEW編寫的同步模式下的上位機(jī)通信界面,進(jìn)行系統(tǒng)調(diào)試。該上位機(jī)界面分為同步和分步兩種模式。同步模式可以同步控制每一路阻值輸出,分步模式可以單獨(dú)控制某一路的阻值輸出。在該界面,用戶可以自由設(shè)定需要的阻值,并完成對(duì)結(jié)果的回讀[11]。
為了驗(yàn)證本程控電阻器改進(jìn)拓?fù)涞挠行?,?duì)100 Ω以下小電阻的測(cè)量值進(jìn)行了比較。兩種拓?fù)錅y(cè)量結(jié)果對(duì)比如表1所示。

表1 兩種拓?fù)錅y(cè)量結(jié)果對(duì)比
從表1可以看出,在未啟用改進(jìn)拓?fù)渲埃炭仉娮杵髟诳刂?00 Ω以下電阻時(shí),誤差較大,最大誤差在1 Ω處,甚至達(dá)到92%;而改進(jìn)拓?fù)湔`差則降至36%,其他各處誤差測(cè)量均有所改善。
表2給出了改進(jìn)拓?fù)浣Y(jié)構(gòu)下電阻大于100 Ω的測(cè)量結(jié)果。各電阻輸出誤差也在規(guī)定范圍之內(nèi),總體可以滿足項(xiàng)目要求。

表2 改進(jìn)拓?fù)錅y(cè)量結(jié)果(100 Ω以上)
本系統(tǒng)以飛思卡爾MCU為控制核心,借助上位機(jī)LabVIEW軟件,基于CAN總線和改進(jìn)開關(guān)電阻網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),對(duì)改進(jìn)開關(guān)電阻網(wǎng)絡(luò)在100 Ω以下的阻值進(jìn)行了研究,且給出了改進(jìn)拓?fù)湓?00 Ω至6 MΩ阻值范圍內(nèi)的測(cè)量結(jié)果。該系統(tǒng)能夠?qū)崿F(xiàn)電阻器的實(shí)時(shí)連續(xù)可調(diào)輸出,可高精度模擬實(shí)際電池的溫度變化。系統(tǒng)具有結(jié)構(gòu)簡單、操作方便、靈活性強(qiáng)、電磁兼容性好等特點(diǎn),能夠?qū)崿F(xiàn)電池BMS系統(tǒng)的硬件在環(huán)測(cè)試要求,滿足汽車自動(dòng)化測(cè)試的基本要求。
[1] 肖成偉,汪繼強(qiáng).電動(dòng)汽車動(dòng)力電池產(chǎn)業(yè)的發(fā)展[J].科技導(dǎo)報(bào),2016,34(6):74-83.
[2] 崔俊博,張勇,王晶星.電動(dòng)汽車用動(dòng)力電池的研究[J].新技術(shù)新工藝,2010(9):81-83.
[3] 夏正鵬,汪興興,倪紅軍,等.電動(dòng)汽車電池管理系統(tǒng)研究進(jìn)展[J].電源技術(shù),2011,36(7):1052-1054.
[4] 李哲,韓雪冰,盧蘭光,等.動(dòng)力型磷酸鐵鋰電池的溫度特性[J].機(jī)械工程學(xué)報(bào),2011,47(18):115-120.
[5] 王家傳.熱敏電阻器R_T特性及其計(jì)算方法探討[J].傳感器世界,1999(1):31-32.
[6] 陳輝,陶中幸,楊小川.半導(dǎo)體熱敏電阻在溫度控制中的應(yīng)用[J].甘肅聯(lián)合大學(xué)學(xué)報(bào),2011,25(1):48-51.
[7] 宋富強(qiáng),雄武,馮宇飛,等.利用MC9S12(X)單片機(jī)構(gòu)建CAN總線網(wǎng)絡(luò)的研究,2016,12(20):210-212.
[8] 張迎春,季茂勝.基于單片機(jī)的CAN總線系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2012(5):52-54.
[9] TINDELL K W,HNSSON H,WELLINGS A J.Ananlying real-time communications:Controller area network(CAN)[C]//15th IEEE Real time Systems Symposium,1994:259-263.
[10]劉濤.基于89C51和SJA1000的CAN通信方法研究[J].電腦編程技術(shù)與維護(hù),2011(6):87-89.
[11]王錦堅(jiān),洪添勝.基于LabView通信系統(tǒng)的CAN總線設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2010,27(8):235-237.