潘運平,汪洋
(武漢理工大學機電工程學院,湖北武漢430070)
?
車輛蓄電池在線測試系統(tǒng)的研究
潘運平,汪洋
(武漢理工大學機電工程學院,湖北武漢430070)
摘要:目前,依靠石油為主要能源的汽車向以蓄電池為主要動力的方向轉(zhuǎn)變已是大勢所趨,蓄電池作為電動車主要核心動力,直接影響到汽車的各方面性能。但是由于對蓄電池性能和工作狀態(tài)的不了解造成蓄電池不合理的充放電,使得蓄電池壽命大大縮短。對于此,研究的車輛蓄電池在線系統(tǒng)由下位機的數(shù)據(jù)采集部分和上位機的實時監(jiān)控部分組成。采用Arduino Mega2560單片機作為中央處理單元,將Arduino Mega2560采集的數(shù)據(jù)傳給LabVIEW,通過LabVIEW顯示出蓄電池的電流、電壓、溫度數(shù)據(jù),從而清楚直觀的了解蓄電池的實時工作狀態(tài),為車輛行駛提供安全保障。
關(guān)鍵詞:蓄電池Arduino Mega2560中央處理單元LabVIEW
[4]陳明,胡安.IGBT結(jié)溫模擬和探測方法比對研究[J] .電機與控制學報,2011,15(12):44-49.
[5]王永康.ANSYS Icepak電子散熱基礎(chǔ)教程[M].國防工業(yè)出版社,2015.
[6]邱成悌.電子設(shè)備結(jié)構(gòu)設(shè)計原理[M]. 東南大學出版社,2005.
涂文特(1986-),男,工學碩士學歷,研究方向:電機驅(qū)動及伺服控制。
1蓄電池系統(tǒng)的總體設(shè)計
1.1蓄電池系統(tǒng)的硬件構(gòu)成
蓄電池系統(tǒng)構(gòu)成框圖如圖1所示。
圖1 系統(tǒng)構(gòu)成框圖
該系統(tǒng)主要由下位機的數(shù)據(jù)采集單元、充電調(diào)節(jié)單元以及上位機的監(jiān)控單元組成。數(shù)據(jù)采集單元:采集蓄電池充放電電流、端電壓以及溫度數(shù)據(jù)并進行A/D轉(zhuǎn)換;充電調(diào)節(jié)單元:通過PWM對IGBT進行開關(guān)控制,實現(xiàn)充電電流的調(diào)節(jié)功能; 監(jiān)控單元:接收下位機采集到的數(shù)據(jù)并通過采集到的數(shù)據(jù)進行某些參數(shù)的數(shù)學計算,將數(shù)據(jù)實時顯示出來。蓄電池管理系統(tǒng)的硬件部分主要由單片機、驅(qū)動器、檢測電路、繼電器、負載、工業(yè)觸摸屏等組成。
1.2系統(tǒng)的電氣原理設(shè)計
圖2 電路原理圖
如圖2所示:在充電檢測時,首先打開繼電器KM1,工作過程中,通過調(diào)節(jié)PWM[3]的高電平脈沖信號的占空比來調(diào)節(jié)IGBT的開關(guān)大小,從而增大充電電流。隨著蓄電池電動勢的增加,到充電后期,充電電流減小到一定值,導致充電變慢,而且極板會受到很大的沖擊,這時候KM1閉合,把IGBT短接,然后采用恒壓充電法對其充電。當監(jiān)測到蓄電池充滿后,關(guān)斷充電電壓,停止充電。接著進行蓄電池的放電監(jiān)測,蓄電池會向內(nèi)部自帶的負載放電,同時傳感器負責采集蓄電池放電時的參數(shù)信息并上傳至上位機實時顯示,利用所采集到的數(shù)據(jù)曲線計算蓄電池的剩余放電時間,整個電池管理系統(tǒng)的供電由AC220V經(jīng)開關(guān)電源轉(zhuǎn)換得來。
2系統(tǒng)的數(shù)據(jù)采集
系統(tǒng)數(shù)據(jù)采集部分需滿足以下要求:
1)在充放電過程中,系統(tǒng)能夠采集到單個蓄電池和串聯(lián)蓄電池總電壓數(shù)據(jù),跟蹤電壓的變化;
2)在充放電過程中,系統(tǒng)能夠采集到電流的變化數(shù)據(jù),記錄電流的大??;
3)系統(tǒng)能夠采集到電池極柱溫度的變化數(shù)據(jù)。
2.1電流信息數(shù)據(jù)采集
電流數(shù)據(jù)采集采用高精度霍爾電流傳感器,線性度0.5%,精度1%。本系統(tǒng)需檢測充電電流和放電電流,規(guī)定充電電流不得超過40 A,所以采用原邊額定電流為100 A,變比為20∶1的傳感器作為充電時的檢測;由于蓄電池放電額定電流為200 A,所以在放電檢測時采用原邊額定電流為200 A,變比為40∶1的電流傳感,線性度0.5%,準確度1%。其接線定義圖如圖3所示。
圖3 霍爾電流傳感器接口定義圖
2.2電壓信息的數(shù)據(jù)采集
采用電壓變送器采集蓄電池的端電壓信息,傳感器精度0.2%,其輸入電壓范圍為DC0~15 V,輸出電壓為DC0~5 V,變比為3∶1,線性度0.1%,準確度0.2%,其接口定義圖如圖4所示。
圖4 電壓變送器接口定義圖
2.3溫度信息的數(shù)據(jù)采集
溫度數(shù)據(jù)采集采用型號為HSTL-PT100鉑電阻溫度傳感器測量范圍0~100℃,輸出0 V~5 V,測量精度為±0.2℃。其測量連接電路如圖5所示。
圖5 溫度傳感器接口連接圖
3系統(tǒng)監(jiān)控部分設(shè)計
3.1LabVIEW與Arduino的連接方式
此系統(tǒng)采用比較簡單的LabVIEW Interface for Arduino的連接方式[4-5]。
LabVIEW與Arduino必須依靠Arduino INIT函數(shù)節(jié)點進行連接,輸入?yún)?shù)有VISA resource、波特率、Arduino板的類型、連接方式(USB/Serial),輸出參數(shù)為Arduino資源號,提供給后續(xù)函數(shù)對Arduino進行操作。除了VISA之外,其他的輸入?yún)?shù)可以不給定,即使用默認參數(shù),波特率115 200,Arduino Mega2560板,USB/Serial連接方式,每個包15個字節(jié)。
VISA是LabVIEW中用來與下位機的I/O口進行配置和通訊的軟件庫,包含8個節(jié)點的子模塊,用戶利用這些節(jié)點進行串行通信編程,這8個函數(shù)節(jié)點分別用來實現(xiàn)串口初始化、寫串口數(shù)據(jù)、讀取串口數(shù)據(jù)、中斷和關(guān)閉串口等功能。
3.2蓄電池電壓值的顯示
本系統(tǒng)中電壓電流傳感器的輸出都為電壓信號,所以電壓電流的串口通信方法一樣。利用Arduino Mega2560控制器上的模擬輸入功能,采集待測量的電壓值,并通過串口上傳至LabVIEW,在LabVIEW前面板中顯示出來。電壓傳感器1的信號輸出接在Arduino Mega2560控制板中的A3口,所以LabVIEW需要采集A3的電壓值,在傳輸電壓值之前,以字符串形式發(fā)送一個幀頭“55”,用于LabVIEW上位機軟件甄別是否為有效數(shù)據(jù)。
(1)Arduino主程序
void loop(){
while
(Serial.available()>0){//不斷檢測串口是否有數(shù)據(jù)
receive_data();//接收串口數(shù)據(jù)
test_do_data(); }//測試數(shù)據(jù)是否正確并執(zhí)行命令
}
void receive_data(void) {
int i;
for(i=0;i<3;i++){
comdata[i]=Serial.read(); //延時一會,讓串口緩存準備好下一個字節(jié),不延時可能會導致數(shù)據(jù)丟失
delay(2);}
}
void test_do_data(void){
if(comdata[0]==0x55){ //0x55和0xAA均為命令幀頭,用于判斷命令是否有效
if(comdata[1]==0xAA){
Switch(comdata[2]){
case A1_command;
sensorValue=analogRead(A1); //讀取A1電壓值
float_sensorValue=(float)sensorValue/1023*5.00;//換算為浮點電壓值
break;
case A3_command;
sensorValue=analogRead(A3);//讀取A3電壓值
float_sensorValue=(float)sensorValue/1023*5.00;//換算為浮點電壓值
break;
Serial.print(“55”); //發(fā)送幀頭,表示此幀為有效幀
Serial.print(float_sensorValue,2); //保留兩位小數(shù)發(fā)送數(shù)據(jù)
delay(1000);//一秒刷新一次
}}}}
(2)LabVIEW的程序設(shè)計
LabVIEW程序首先通過設(shè)置的串口號與Arduino Mega2560控制板建立連接,然后進入While循環(huán)結(jié)構(gòu),在While循環(huán)中通過Analog Read Pin函數(shù)節(jié)點來讀取模擬輸入端口A3的電壓值,并顯示在量表、波形和數(shù)值顯示控件上。其程序框圖如圖6所示。
圖6 蓄電池電壓程序框圖
3.3蓄電池溫度值的顯示
通過Arduino Mega2560控制板的模擬端口A2、A4、A6采集HSTL-PT100輸出的電壓值上傳給LabVIEW軟件,并除以比例因子獲得溫度值,實時顯示在工控機上。
(1)Arduino程序設(shè)計
在基于Arduino與LabVIEW的上下位機溫度監(jiān)測系統(tǒng)中,Arduino Mega2560控制板需要完成以下功能:接收和判斷命令與采集和傳輸溫度數(shù)據(jù),Arduino控制板通過串口接收上位機發(fā)來的命令,分析得到有效命令,讀寫溫度傳感器以獲取溫度,并將溫度數(shù)據(jù)上傳至LabVIEW軟件。Arduino Mega2560控制器的程序代碼與上一節(jié)電壓數(shù)據(jù)的采集程序結(jié)構(gòu)上一樣,這里就不再編寫。
(2)LabVIEW程序設(shè)計
LabVIEW上位機主程序的結(jié)構(gòu)為順序結(jié)構(gòu)+While循環(huán)。首先,在順序結(jié)構(gòu)中的第一幀中,通過設(shè)置的串口號來初始化串口通信,并將波形圖清空。然后,程序進入While循環(huán)和平鋪式順序結(jié)構(gòu),向Arduino Mega2560控制器發(fā)送溫度傳感器1或者傳感器2溫度測量的命令碼,等待100 ms,接收到返回的溫度之后,顯示在前面板上并顯示出溫度波形。最后關(guān)閉串口通信。
通過前面板上的單選按鈕來選擇所需測量的傳感器,然后向Arduino Mega2560控制器發(fā)送對應(yīng)的溫度采集命令碼,傳感器1命令碼為0x55AA80,傳感器2的命令碼為0x55AA81,并通過延時800 ms,以達到每秒采樣1次的功能。程序框圖如圖7所示。
圖7 溫度傳感器1對應(yīng)的LabVIEW上位機程序框圖
4結(jié)論
蓄電池充放電技術(shù)是蓄電池與普通電池的區(qū)別和優(yōu)勢所在,蓄電池作為一種常見可靠的儲能設(shè)備,其可充電可移動的優(yōu)點,使得它的應(yīng)用越來越廣。為了保障蓄電池的正常工作和延長其使用壽命,除了使用正確的充放電操作方法和定期維護以外,實時在線的記錄蓄電池的工作狀況,監(jiān)測分析其各性能指標同樣也是一個必不可少的方法之一。
參考文獻
[1]徐志強.電動汽車蓄電池性能研究[J]. 大觀周刊, 2012(46)378-378.
[2]胡燕嬌.電動汽車蓄電池能量管理系統(tǒng)的研究[D]. 江蘇: 江蘇大學,2012.
[3]鄧木生,陳新喜,李華柏.基于PWM技術(shù)蓄電池充放電與檢測系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2011,34(14):207-210.
[4]史春雷,秦芳.基于LabVIEW虛擬測試分析儀的信號分析功能設(shè)計[J].科技資訊,2010:23.
[5]杜愛賓,劉延泉.關(guān)于蓄電池在線監(jiān)測系統(tǒng)的研究[J].電子測量技術(shù), 2009,32(10):95-99.
汪洋,男,湖北隨州人,現(xiàn)為武漢理工大學機電工程學院機械工程專業(yè)研究生,研究方向為機電一體化。
Vehicle battery test system online
PAN Yunping,WANG Yang
Abstract:Currently, it has become a general trend that vehicles dependent on oil as the main energy are being replaced by those with battery as the main driving power. Battery as the core power for electric vehicles directly affects car's performance in all aspects. The lack of knowledge about the property and operating status of the battery can cause improper charging and discharging, which will enormously shortens the battery life. The vehicle battery online system under study is composed of a lower positon computer responsible for data collection and a host computer to realize real-time monitoring. Employing Arduino Mega2560 microcontroller as the central processing unit, the data collected by Arduino Mega2560 are imported to LabVIEW, through which such data as the current, voltage, temperature of the battery are shown. This visual presentation of the real-time work status of the battery can effectively improve security for driving.
Keywords:battery;Arduino Mega2560;central processing unit;LabVIEW
收稿日期:2015-07-16 2015-06-02
作者簡介:王紅芳(1985-),女,工學碩士學歷,研究方向: 電機本體及控制器結(jié)構(gòu)設(shè)計。 潘運平,男,湖北公安人,現(xiàn)為武漢理工大學機電工程學院副教授,研究方向為機電一體化。
中圖分類號:U482.3
文獻標識碼:A
文章編號:1002-6886(2016)01-0061-04