劉佼龍,楊 莉,劉教瑜,梁鉅亮
(武漢理工大學(xué) 自動化學(xué)院,湖北 武漢 430070)
PEMFC電壓監(jiān)控系統(tǒng)設(shè)計
劉佼龍,楊 莉,劉教瑜,梁鉅亮
(武漢理工大學(xué) 自動化學(xué)院,湖北 武漢 430070)
為了實時監(jiān)控燃料電池的運行狀況,保障電池堆安全、可靠地運行,設(shè)計了一種單體電池電壓監(jiān)控系統(tǒng)。系統(tǒng)以PIC單片機(jī)為主控制器,采用基于高壓模擬開關(guān)陣列的電壓采集方法,利用CAN總線的方式與上位機(jī)通信。上位機(jī)采用LabVIEW平臺開發(fā)電池電壓監(jiān)控界面系統(tǒng),界面以波形圖、表格、數(shù)值顯示控件等形式向用戶匯報電堆的運行情況。該系統(tǒng)實時性高、界面友好、控制簡單,能夠有效地保障電堆的安全。
單片機(jī);LabVIEW;CAN總線通信;電壓監(jiān)控
如今,環(huán)境污染和能源危機(jī)已成為制約社會進(jìn)步、經(jīng)濟(jì)發(fā)展的關(guān)鍵因素,尤其近年來汽車產(chǎn)業(yè)飛速發(fā)展,由此導(dǎo)致的環(huán)境和能源問題日益突出,新能源的開發(fā)迫在眉睫。燃料電池(PEMFC)是一種能量轉(zhuǎn)換率高、無污染、可大量供電的清潔高效的分布式新能源[1]。對燃料電池系統(tǒng)而言,電池電壓是其運行狀態(tài)最直觀的體現(xiàn),系統(tǒng)出現(xiàn)的異常直接表現(xiàn)在電壓的變化上。燃料電池一般由許多片單體燃料電池串聯(lián)組成,其中任何一片異常或故障,若未能及時檢測并加以處理可能造成電池堆的性能下降乃至損壞[2]。因此對燃料電池電壓的監(jiān)控顯得尤為重要。為了確保燃料電池堆運行的可靠性,電池電壓監(jiān)控系統(tǒng)是必不可少的。
燃料電池堆是由上百片的單片電池串聯(lián)組成,雖然每一塊電池的電壓大約只有0.5 V~0.9 V,但是串起來的總電壓可達(dá)上百伏。電壓監(jiān)控系統(tǒng)主要是由上位機(jī)數(shù)據(jù)顯示界面與下位機(jī)電壓采集及通信模塊組成,包括主控制器、高壓模擬開關(guān)陣列——燃料電池多路通道選通模塊、信號調(diào)理模塊及上、下位機(jī)通信模塊等[3]。高壓模擬開關(guān)負(fù)責(zé)選通144路電壓輸入信號,信號調(diào)理電路負(fù)責(zé)處理采集過來的模擬電壓,便于輸入到A/D轉(zhuǎn)換器[4]。燃料電池單片電壓監(jiān)控系統(tǒng)結(jié)構(gòu)原理圖如圖1所示。
圖1 單片電池電壓監(jiān)控系統(tǒng)結(jié)構(gòu)原理圖
本系統(tǒng)要求監(jiān)視的燃料電池堆是由144塊單片電池串聯(lián)組成,系統(tǒng)選用PIC18F46K80作為主控芯片,高壓模擬開關(guān)作為切換燃料電池的選通開關(guān),同時還要完成CAN接口電路和串口接口電路的設(shè)計以便與PC進(jìn)行通信和調(diào)試。系統(tǒng)要求上位機(jī)和下位機(jī)通過CAN總線的方式進(jìn)行通信。上位機(jī)采用虛擬儀器圖形化編程軟件LabVIEW開發(fā)顯示界面。下位機(jī)以PIC單片機(jī)為主控芯片,以MPLAB-IDE為開發(fā)平臺、C語言為編程語言開發(fā)下位機(jī)程序。
系統(tǒng)的工作流程如下:上位機(jī)發(fā)送電壓檢測開始命令,單片機(jī)控制器接收命令開始電壓采集工作,首先通過高壓模擬開關(guān)依次選通電池通道,并且確保任意時刻只有單塊電池被切入信號調(diào)理電路。切換過來的模擬電壓信號首先被送入到信號調(diào)理電路,經(jīng)過該電路的濾波等一些處理后輸入到單片機(jī)自帶的A/D模塊中,經(jīng)A/D轉(zhuǎn)換、數(shù)據(jù)處理后,單片機(jī)將此時的單片電壓信號通過內(nèi)部集成ECAN模塊,發(fā)送給上位機(jī)來對其進(jìn)行監(jiān)控,如此循環(huán),完成144塊電池的電壓采集和監(jiān)控。
在主控制器的選擇上,考慮到控制器的外設(shè)和內(nèi)部的資源能否滿足本系統(tǒng)的要求,選用微芯(MICROCHIP)公司的PIC單片機(jī)PC18F46K80作為主控制器。PIC18F46K80是集成ECAN模塊和12位A/D轉(zhuǎn)換具有極低功耗的高性能8位增強型閃存單片機(jī),工作電壓范圍為1.8 V~5.5 V;最大速度可達(dá)64 MHz;1 024字節(jié)的數(shù)據(jù)EEPROM;最大64 KB Flash( 閃存程序存儲器);4 KB RAM??傮w而言這是一款高性價比、低功耗、性能強大的外設(shè)集合控制器。
2.1 信號調(diào)理電路
由于電池內(nèi)部環(huán)境復(fù)雜,采集過來的電壓信號不可避免地會受到一些噪聲等高頻信號的干擾,所以信號調(diào)理電路必不可少,如圖2所示。
圖2 信號調(diào)理電路原理圖
這里AD620作為一個減法器, D2為TVS二極管,又稱瞬態(tài)抑制二極管,是一種新型高效電路保護(hù)器件,防止電壓過大。精密電壓VREF經(jīng)過電阻分壓后作為一個基準(zhǔn)電壓,這個基準(zhǔn)電壓是為提升負(fù)壓而設(shè)計的,確保輸入到A/D轉(zhuǎn)換器的是可以測量的正電壓信號,而且也保護(hù)了后面的二階濾波電路。后一級為運放二階濾波電路,將信號中的雜質(zhì)和高頻信號濾除掉,提高信號的精度。二極管D3也是作為一個保護(hù)的作用而存在,防止最后可能出現(xiàn)的負(fù)壓輸入到單片機(jī)A/D模塊。
圖3 精密電壓基準(zhǔn)原理圖
針對燃料電池的負(fù)壓情況設(shè)計的電位提升模塊如圖3所示。芯片用的是Microship生產(chǎn)的MCP1541,它是4.096 V的精確電壓基準(zhǔn),初始精度可以達(dá)到±1%。5 V電壓輸入,4.096 V的精密VREF電壓輸出。2.2 通道切換選通模塊
選用高壓模擬開關(guān)MAX14802作為通道切換開關(guān)。該器件采用HVCOS工藝,提供16路高壓、低電荷注入SPST開關(guān),由數(shù)字口控制。數(shù)據(jù)移入內(nèi)部16位移位寄存器,并通過帶使能和清零控制的可編程鎖存器保持?jǐn)?shù)據(jù)。上電復(fù)位功能確保所有開關(guān)在上電時為斷開狀態(tài)。串行接口支持菊鏈連接,如圖4所示。用9個MAX14802芯片來滿足對144路電池通道的切換選擇,任意時刻只選通相鄰的兩個開關(guān),確保電池電壓是一路一路地輸入到單片A/D模塊。由于選通模塊的開關(guān)是循環(huán)切換的,所以電池的正極和負(fù)極與IN+端和IN-端的連接是循環(huán)交替的,例如第一節(jié)電池的正極接IN+端,負(fù)極接IN-端,那么下一接電池的正極就接IN-端,負(fù)極就接IN+端,如此循環(huán),其具體任務(wù)是通過單片機(jī)控制其在同一時刻選通兩個相鄰?fù)ǖ赖拈_關(guān),來獲取單節(jié)電池兩端的電壓。
圖4 高壓模擬開關(guān)的菊鏈連接原理圖
2.3 CAN 接口電路設(shè)計
主控制器PIC18F46K80內(nèi)部集成有CAN控制器,該模塊支持CAN協(xié)議CAN1.2、CAN2.0A和CAN2.0B,支持標(biāo)準(zhǔn)數(shù)據(jù)幀(11位標(biāo)識符)、擴(kuò)展數(shù)據(jù)幀(29位標(biāo)識符)、遠(yuǎn)程幀、錯誤幀和過載幀;有6個緩沖區(qū),可以設(shè)為TX報文緩沖區(qū)和RX報文緩沖區(qū);16個完全(標(biāo)準(zhǔn)/擴(kuò)展標(biāo)識符)接收過濾器,可與4個屏蔽器中的任意一個配合使用;2個可分配給任意過濾器的完全接收過濾器屏蔽器;1個可用作接收過濾器或接收過濾器屏蔽器的完全接收過濾器;3個專用發(fā)送緩沖區(qū)。
CAN總線是一種傳輸速率高(可達(dá)1 Mb/s)、穩(wěn)定可靠、抗干擾性能好、連線簡單(CANH和CANL兩條線)、能夠長距離傳輸?shù)耐ㄐ啪W(wǎng)絡(luò)。為了實現(xiàn)PC通信,還需完成CAN接口收發(fā)電路。系統(tǒng)選用微芯公司的MCP2551高速CAN收發(fā)器來設(shè)計接口電路[5]。其外部總線的物理接口電路如圖5所示。MCP2551通過兩個高速光耦(6N137)與單片機(jī)的CAN模塊的CANH和CANL連接。高速光耦用于隔離可能產(chǎn)生的干擾信號,提高CAN通信的抗干擾能力[6]。
圖5 CAN接口電路
CAN通信協(xié)議形式為“ID+數(shù)據(jù)+校驗”,每一幀信息有8個數(shù)據(jù)字節(jié),本系統(tǒng)選用的A/D 轉(zhuǎn)換器精度為12位,每個電壓數(shù)據(jù)要占用兩個數(shù)據(jù)字節(jié),所以一幀信息中能夠保存和傳遞4個電壓數(shù)據(jù)。
3.1 下位機(jī)軟件
系統(tǒng)的主控制器為PIC單片機(jī),采用微芯公司推出的MPLAB集成開發(fā)環(huán)境(IDE)作為下位機(jī)軟件開發(fā)平臺,選用靈活方便、易于查看修改的C語言為開發(fā)語言來開發(fā)下位機(jī)程序,遵循模塊化的設(shè)計原則來開發(fā)軟件,主要分為數(shù)據(jù)采集和CAN通信兩大塊。
3.1.1 數(shù)據(jù)采集模塊程序設(shè)計
數(shù)據(jù)采集模塊主要有通道切換、數(shù)據(jù)采集、數(shù)據(jù)處理等任務(wù)。程序初始化后,單片機(jī)將電壓信號經(jīng)過通道切換和信號調(diào)理電路,輸入到片內(nèi)A/D模塊上,經(jīng)過轉(zhuǎn)化后得到數(shù)字電壓信號,并進(jìn)行相應(yīng)的數(shù)據(jù)處理,最后通過CAN總線的方式發(fā)送給上位機(jī)進(jìn)行處理[7]。系統(tǒng)流程圖如圖6所示。
圖6 系統(tǒng)流程圖
3.1.2 CAN通信設(shè)計
CAN的數(shù)據(jù)以報文的形式進(jìn)行傳輸,它以幀為單位,有標(biāo)準(zhǔn)幀和擴(kuò)展幀兩種不同的幀格式,區(qū)別在于標(biāo)準(zhǔn)幀有11位標(biāo)識符;擴(kuò)展幀有29位標(biāo)識符。系統(tǒng)設(shè)計采用擴(kuò)展幀數(shù)據(jù)類型進(jìn)行CAN通信,擴(kuò)展幀的結(jié)構(gòu)包括:幀起始、仲裁場、控制場、CRC場、應(yīng)答場和幀結(jié)尾,數(shù)據(jù)場的長度為0~8位[8]。其結(jié)構(gòu)圖如圖7所示。
一個數(shù)據(jù)幀中的數(shù)據(jù)場有8個數(shù)據(jù)字節(jié),本系統(tǒng)采用的是單片機(jī)內(nèi)部的A/D模塊,由于它是12位的A/D轉(zhuǎn)換器,因此一個數(shù)據(jù)轉(zhuǎn)換后要占用兩個字節(jié),所以一幀CAN數(shù)據(jù)中一次只能發(fā)送4個電壓數(shù)據(jù),需要傳送38次才能把144片電池電壓傳送完。CAN模塊通過中斷的方式接收上位機(jī)的命令,然后再把電壓數(shù)據(jù)轉(zhuǎn)換為CAN協(xié)議格式發(fā)給上位機(jī)。上位機(jī)讀取下位機(jī)發(fā)送的CAN信息幀后按照設(shè)計的通訊協(xié)議首先進(jìn)行數(shù)據(jù)解析,把信息分為ID部分和數(shù)據(jù)部分,擴(kuò)展幀的標(biāo)識符ID有29位,數(shù)據(jù)為8個字節(jié),4個電壓信號。由ID號可以知道是哪節(jié)電池的電壓,然后讀取出數(shù)據(jù),經(jīng)過偏移量和比例因子換算得出實際的電壓數(shù)據(jù)。上位機(jī)要不停地讀取下位機(jī)的CAN緩沖區(qū)的數(shù)據(jù),直到數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)讀取完畢,以保證數(shù)據(jù)讀取的時效性。在數(shù)據(jù)的發(fā)送或接收前首先要進(jìn)行初始化,如圖8所示。初始化結(jié)束后,等待上位機(jī)的命令,接收命令后開始發(fā)送數(shù)據(jù),流程圖如圖9所示。
圖7 擴(kuò)展幀數(shù)據(jù)結(jié)構(gòu)
圖8 CAN初始化流程圖
圖9 CAN發(fā)送流程圖
3.2 上位機(jī)軟件設(shè)計(電壓監(jiān)控界面)
驗室虛擬儀器平臺(Laboratory Virtual Instument Engineering Workbench,LabVIEW)是美國國家儀器(NI)公司推出的一種基于圖形化編程語言(Graphics Language,G語言)的虛擬開發(fā)工具[9]。它采用可視化的圖形編程語言,基本上不需要像其他編程語言那樣寫程序代碼,編程簡單直觀,易于調(diào)試和維護(hù),有著廣泛的應(yīng)用。
上位機(jī)監(jiān)控系統(tǒng)能夠?qū)崟r顯示整個燃料電池堆的電壓,并且用多種顯示方式來顯示當(dāng)前的監(jiān)測情況[10]。用波形圖來顯示整個電堆每片電池實時的電壓情況,用數(shù)值控件精確顯示每一片電池的電壓、最小值電壓、最小值電壓通道號、最大值電壓、最大值電壓通道號以及電堆的總電壓。根據(jù)電壓的大小設(shè)置閾值,可以及時報警某些異常電池電壓。
在這個能源越發(fā)緊張的時代,燃料電池以其自身的優(yōu)勢,所占的地位越來越重要。本文根據(jù)燃料電池電壓監(jiān)控系統(tǒng)的要求,提出了一種上位機(jī)監(jiān)測、下位機(jī)電壓采集、CAN通信的電壓監(jiān)控系統(tǒng),介紹了電池電壓監(jiān)控系統(tǒng)的功能和設(shè)計方案。并以PIC單片機(jī)為核心,建立了基于高壓模擬開關(guān)和CAN通信的電池電壓監(jiān)控系統(tǒng),整個系統(tǒng)安全可靠、一次性采集的電壓數(shù)量巨大、精度高,能夠?qū)崟r有效地顯示電池的運行狀態(tài),較好地實現(xiàn)了監(jiān)控系統(tǒng)的功能要求。
[1] 洪明子, 崔明燦.燃料電池發(fā)電技術(shù)[J].吉林化工學(xué)院學(xué)報, 2005, 22(3): 23-27.
[2] 全睿. 車用燃料電池系統(tǒng)故障診斷與維護(hù)若干關(guān)鍵問題研究[D]. 武漢: 武漢理工大學(xué), 2011.
[3] 楊志勇.鋰電池智能測試系統(tǒng)的設(shè)計[J].哈爾濱職業(yè)技術(shù)學(xué)院學(xué)報, 2007(1): 90-91.
[4] 周德東.基于光纖隔離的高精度數(shù)據(jù)采集電路設(shè)計[J]. 工業(yè)儀表與自動化裝置,2015(2): 120-122.
[5] 劉金梅, 姚曉瓊, 韋雪潔.基于MCP2515和S3C2440組建CAN總線通信系統(tǒng)的設(shè)計與實現(xiàn)[J].北華航天工業(yè)學(xué)院學(xué)報, 2012,22(1):10-12.
[6] 楊龍山.車用CAN總線抗電磁干擾能力研究[D].北京:中國科學(xué)院電工研究所,2006.
[7] 荀百誼.基于CAN總線網(wǎng)絡(luò)控制實驗平臺的研究與設(shè)計[D].沈陽: 東北大學(xué), 2008.
[8] 楊琨.基于CAN總線的智能檢測系統(tǒng)的研究[D].西安:西安科技大學(xué), 2008.
[9] 劉君華, 賈惠芹, 丁暉,等.虛擬儀器圖形化編程語言LabVIEW[M].西安: 西安電子科技大學(xué)出版社, 2003.
[10] 吳作好, 謝文豪, 曾潔, 等.基于虛擬儀器的燃料電池電壓檢測監(jiān)控系統(tǒng)[J].大連交通大學(xué)學(xué)報, 2010,31(2): 60-63.
Design of PEMFC voltage monitoring system
Liu Jiaolong,Yang Li, Liu Jiaoyu,Liang Juliang
(School of Automation, Wuhan University of Technology, Wuhan 430070, China)
In order to monitor the running status of the fuel cell in real time, to ensure the safe and reliable operation of the battery, a single battery voltage monitoring system is designed. The system uses PIC single chip microcomputer as the main control unit, and adopts voltage acquisition method based on the high voltage analog switch array, uses the Controller Area Network (CAN) bus to communicate with the host computer. Host computer uses LabVIEW platform to develop the battery voltage monitoring interface system. The interface reports the operation of the reactor to the users in the form of waveform, form, numerical control and so on. The system has the advantages of high real-time performance, friendly interface and simple control, which can effectively guarantee the safety of the stack.
single chip microcomputer; LabVIEW; CAN communication;voltage monitoring
TP277
A
10.19358/j.issn.1674- 7720.2017.03.025
劉佼龍,楊莉,劉教瑜,等.PEMFC電壓監(jiān)控系統(tǒng)設(shè)計[J].微型機(jī)與應(yīng)用,2017,36(3):85-87,92
2016-09-30)
劉佼龍(1991-),男,碩士研究生,主要研究方向:燃料電池控制。
楊莉(1965-),女,碩士,副教授,碩士生導(dǎo)師,主要研究方向:嵌入式控制。
劉教瑜(1958-),男,本科,教授,碩士生導(dǎo)師,主要研究方向:智能控制技術(shù)與應(yīng)用。