劉佼龍,,楊莉,劉教瑜,,梁鉅亮
?。ㄎ錆h理工大學(xué) 自動化學(xué)院,湖北 武漢 430070)
摘要:為了實(shí)時(shí)監(jiān)控燃料電池的運(yùn)行狀況,,保障電池堆安全,、可靠地運(yùn)行,設(shè)計(jì)了一種單體電池電壓監(jiān)控系統(tǒng),。系統(tǒng)以PIC單片機(jī)為主控制器,,采用基于高壓模擬開關(guān)陣列的電壓采集方法,利用CAN總線的方式與上位機(jī)通信,。上位機(jī)采用LabVIEW平臺開發(fā)電池電壓監(jiān)控界面系統(tǒng),,界面以波形圖、表格,、數(shù)值顯示控件等形式向用戶匯報(bào)電堆的運(yùn)行情況,。該系統(tǒng)實(shí)時(shí)性高、界面友好,、控制簡單,,能夠有效地保障電堆的安全。
關(guān)鍵詞:單片機(jī),;LabVIEW;CAN總線通信,;電壓監(jiān)控
中圖分類號:TP277文獻(xiàn)標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2017.03.025
引用格式:劉佼龍,,楊莉,劉教瑜,,等.PEMFC電壓監(jiān)控系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,,2017,36(3):85-87,92
0引言
如今,環(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)而言,,電池電壓是其運(yùn)行狀態(tài)最直觀的體現(xiàn),系統(tǒng)出現(xiàn)的異常直接表現(xiàn)在電壓的變化上,。燃料電池一般由許多片單體燃料電池串聯(lián)組成,,其中任何一片異常或故障,,若未能及時(shí)檢測并加以處理可能造成電池堆的性能下降乃至損壞[2],。因此對燃料電池電壓的監(jiān)控顯得尤為重要。為了確保燃料電池堆運(yùn)行的可靠性,,電池電壓監(jiān)控系統(tǒng)是必不可少的,。
1系統(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所示,。
本系統(tǒng)要求監(jiān)視的燃料電池堆是由144塊單片電池串聯(lián)組成,系統(tǒng)選用PIC18F46K80作為主控芯片,,高壓模擬開關(guān)作為切換燃料電池的選通開關(guān),,同時(shí)還要完成CAN接口電路和串口接口電路的設(shè)計(jì)以便與PC進(jìn)行通信和調(diào)試。系統(tǒng)要求上位機(jī)和下位機(jī)通過CAN總線的方式進(jìn)行通信,。上位機(jī)采用虛擬儀器圖形化編程軟件LabVIEW開發(fā)顯示界面,。下位機(jī)以PIC單片機(jī)為主控芯片,以MPLABIDE為開發(fā)平臺,、C語言為編程語言開發(fā)下位機(jī)程序,。
系統(tǒng)的工作流程如下:上位機(jī)發(fā)送電壓檢測開始命令,,單片機(jī)控制器接收命令開始電壓采集工作,首先通過高壓模擬開關(guān)依次選通電池通道,,并且確保任意時(shí)刻只有單塊電池被切入信號調(diào)理電路,。切換過來的模擬電壓信號首先被送入到信號調(diào)理電路,經(jīng)過該電路的濾波等一些處理后輸入到單片機(jī)自帶的A/D模塊中,,經(jīng)A/D轉(zhuǎn)換,、數(shù)據(jù)處理后,單片機(jī)將此時(shí)的單片電壓信號通過內(nèi)部集成ECAN模塊,,發(fā)送給上位機(jī)來對其進(jìn)行監(jiān)控,,如此循環(huán),完成144塊電池的電壓采集和監(jiān)控,。
2硬件設(shè)計(jì)
在主控制器的選擇上,,考慮到控制器的外設(shè)和內(nèi)部的資源能否滿足本系統(tǒng)的要求,選用微芯(MICROCHIP)公司的PIC單片機(jī)PC18F46K80作為主控制器,。PIC18F46K80是集成ECAN模塊和12位A/D轉(zhuǎn)換具有極低功耗的高性能8位增強(qiáng)型閃存單片機(jī),,工作電壓范圍為1.8 V~5.5 V;最大速度可達(dá)64 MHz,;1 024字節(jié)的數(shù)據(jù)EEPROM,;最大64 KB Flash( 閃存程序存儲器);4 KB RAM,??傮w而言這是一款高性價(jià)比、低功耗,、性能強(qiáng)大的外設(shè)集合控制器,。
2.1信號調(diào)理電路
由于電池內(nèi)部環(huán)境復(fù)雜,采集過來的電壓信號不可避免地會受到一些噪聲等高頻信號的干擾,,所以信號調(diào)理電路必不可少,,如圖2所示。
這里AD620作為一個(gè)減法器,, D2為TVS二極管,,又稱瞬態(tài)抑制二極管,是一種新型高效電路保護(hù)器件,,防止電壓過大,。精密電壓VREF經(jīng)過電阻分壓后作為一個(gè)基準(zhǔn)電壓,這個(gè)基準(zhǔn)電壓是為提升負(fù)壓而設(shè)計(jì)的,,確保輸入到A/D轉(zhuǎn)換器的是可以測量的正電壓信號,,而且也保護(hù)了后面的二階濾波電路。后一級為運(yùn)放二階濾波電路,,將信號中的雜質(zhì)和高頻信號濾除掉,,提高信號的精度。二極管D3也是作為一個(gè)保護(hù)的作用而存在,,防止最后可能出現(xiàn)的負(fù)壓輸入到單片機(jī)A/D模塊,。
針對燃料電池的負(fù)壓情況設(shè)計(jì)的電位提升模塊如圖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)在上電時(shí)為斷開狀態(tài),。串行接口支持菊鏈連接,,如圖4所示。用9個(gè)MAX14802芯片來滿足對144路電池通道的切換選擇,,任意時(shí)刻只選通相鄰的兩個(gè)開關(guān),,確保電池電壓是一路一路地輸入到單片A/D模塊。由于選通模塊的開關(guān)是循環(huán)切換的,,所以電池的正極和負(fù)極與IN+端和IN-端的連接是循環(huán)交替的,,例如第一節(jié)電池的正極接IN+端,負(fù)極接IN-端,,那么下一接電池的正極就接IN-端,,負(fù)極就接IN+端,如此循環(huán),,其具體任務(wù)是通過單片機(jī)控制其在同一時(shí)刻選通兩個(gè)相鄰?fù)ǖ赖拈_關(guān),,來獲取單節(jié)電池兩端的電壓。
2.3CAN 接口電路設(shè)計(jì)
主控制器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)程幀、錯(cuò)誤幀和過載幀,;有6個(gè)緩沖區(qū),,可以設(shè)為TX報(bào)文緩沖區(qū)和RX報(bào)文緩沖區(qū),;16個(gè)完全(標(biāo)準(zhǔn)/擴(kuò)展標(biāo)識符)接收過濾器,可與4個(gè)屏蔽器中的任意一個(gè)配合使用,;2個(gè)可分配給任意過濾器的完全接收過濾器屏蔽器,;1個(gè)可用作接收過濾器或接收過濾器屏蔽器的完全接收過濾器;3個(gè)專用發(fā)送緩沖區(qū),。
CAN總線是一種傳輸速率高(可達(dá)1 Mb/s),、穩(wěn)定可靠、抗干擾性能好,、連線簡單(CANH和CANL兩條線),、能夠長距離傳輸?shù)耐ㄐ啪W(wǎng)絡(luò)。為了實(shí)現(xiàn)PC通信,,還需完成CAN接口收發(fā)電路,。系統(tǒng)選用微芯公司的MCP2551高速CAN收發(fā)器來設(shè)計(jì)接口電路[5]。其外部總線的物理接口電路如圖5所示,。MCP2551通過兩個(gè)高速光耦(6N137)與單片機(jī)的CAN模塊的CANH和CANL連接,。高速光耦用于隔離可能產(chǎn)生的干擾信號,提高CAN通信的抗干擾能力[6],。圖5CAN接口電路CAN通信協(xié)議形式為“ID+數(shù)據(jù)+校驗(yàn)”,,每一幀信息有8個(gè)數(shù)據(jù)字節(jié),本系統(tǒng)選用的A/D 轉(zhuǎn)換器精度為12位,,每個(gè)電壓數(shù)據(jù)要占用兩個(gè)數(shù)據(jù)字節(jié),,所以一幀信息中能夠保存和傳遞4個(gè)電壓數(shù)據(jù)。
3軟件設(shè)計(jì)
3.1下位機(jī)軟件
系統(tǒng)的主控制器為PIC單片機(jī),,采用微芯公司推出的MPLAB集成開發(fā)環(huán)境(IDE)作為下位機(jī)軟件開發(fā)平臺,,選用靈活方便、易于查看修改的C語言為開發(fā)語言來開發(fā)下位機(jī)程序,,遵循模塊化的設(shè)計(jì)原則來開發(fā)軟件,,主要分為數(shù)據(jù)采集和CAN通信兩大塊。
3.1.1數(shù)據(jù)采集模塊程序設(shè)計(jì)
數(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所示,?!?/p>
3.1.2CAN通信設(shè)計(jì)
CAN的數(shù)據(jù)以報(bào)文的形式進(jìn)行傳輸,,它以幀為單位,有標(biāo)準(zhǔn)幀和擴(kuò)展幀兩種不同的幀格式,,區(qū)別在于標(biāo)準(zhǔn)幀有11位標(biāo)識符,;擴(kuò)展幀有29位標(biāo)識符。系統(tǒng)設(shè)計(jì)采用擴(kuò)展幀數(shù)據(jù)類型進(jìn)行CAN通信,,擴(kuò)展幀的結(jié)構(gòu)包括:幀起始、仲裁場,、控制場,、CRC場、應(yīng)答場和幀結(jié)尾,,數(shù)據(jù)場的長度為0~8位[8],。其結(jié)構(gòu)圖如圖7所示。
一個(gè)數(shù)據(jù)幀中的數(shù)據(jù)場有8個(gè)數(shù)據(jù)字節(jié),,本系統(tǒng)采用的是單片機(jī)內(nèi)部的A/D模塊,,由于它是12位的A/D轉(zhuǎn)換器,因此一個(gè)數(shù)據(jù)轉(zhuǎn)換后要占用兩個(gè)字節(jié),,所以一幀CAN數(shù)據(jù)中一次只能發(fā)送4個(gè)電壓數(shù)據(jù),,需要傳送38次才能把144片電池電壓傳送完。CAN模塊通過中斷的方式接收上位機(jī)的命令,,然后再把電壓數(shù)據(jù)轉(zhuǎn)換為CAN協(xié)議格式發(fā)給上位機(jī),。上位機(jī)讀取下位機(jī)發(fā)送的CAN信息幀后按照設(shè)計(jì)的通訊協(xié)議首先進(jìn)行數(shù)據(jù)解析,把信息分為ID部分和數(shù)據(jù)部分,,擴(kuò)展幀的標(biāo)識符ID有29位,,數(shù)據(jù)為8個(gè)字節(jié),4個(gè)電壓信號,。由ID號可以知道是哪節(jié)電池的電壓,,然后讀取出數(shù)據(jù),經(jīng)過偏移量和比例因子換算得出實(shí)際的電壓數(shù)據(jù),。上位機(jī)要不停地讀取下位機(jī)的CAN緩沖區(qū)的數(shù)據(jù),,直到數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)讀取完畢,以保證數(shù)據(jù)讀取的時(shí)效性,。在數(shù)據(jù)的發(fā)送或接收前首先要進(jìn)行初始化,,如圖8所示。初始化結(jié)束后,,等待上位機(jī)的命令,,接收命令后開始發(fā)送數(shù)據(jù),流程圖如圖9所示,。
3.2上位機(jī)軟件設(shè)計(jì)(電壓監(jiān)控界面)
驗(yà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(shí)顯示整個(gè)燃料電池堆的電壓,并且用多種顯示方式來顯示當(dāng)前的監(jiān)測情況[10],。用波形圖來顯示整個(gè)電堆每片電池實(shí)時(shí)的電壓情況,,用數(shù)值控件精確顯示每一片電池的電壓、最小值電壓,、最小值電壓通道號,、最大值電壓、最大值電壓通道號以及電堆的總電壓,。根據(jù)電壓的大小設(shè)置閾值,,可以及時(shí)報(bào)警某些異常電池電壓。
4結(jié)束語
在這個(gè)能源越發(fā)緊張的時(shí)代,,燃料電池以其自身的優(yōu)勢,,所占的地位越來越重要。本文根據(jù)燃料電池電壓監(jiān)控系統(tǒng)的要求,,提出了一種上位機(jī)監(jiān)測,、下位機(jī)電壓采集、CAN通信的電壓監(jiān)控系統(tǒng),,介紹了電池電壓監(jiān)控系統(tǒng)的功能和設(shè)計(jì)方案,。并以PIC單片機(jī)為核心,建立了基于高壓模擬開關(guān)和CAN通信的電池電壓監(jiān)控系統(tǒng),,整個(gè)系統(tǒng)安全可靠,、一次性采集的電壓數(shù)量巨大、精度高,,能夠?qū)崟r(shí)有效地顯示電池的運(yùn)行狀態(tài),,較好地實(shí)現(xiàn)了監(jiān)控系統(tǒng)的功能要求。
參考文獻(xiàn)
?。?] 洪明子, 崔明燦.燃料電池發(fā)電技術(shù)[J].吉林化工學(xué)院學(xué)報(bào), 2005, 22(3): 23-27.
?。?] 全睿. 車用燃料電池系統(tǒng)故障診斷與維護(hù)若干關(guān)鍵問題研究[D]. 武漢: 武漢理工大學(xué), 2011.
[3] 楊志勇.鋰電池智能測試系統(tǒng)的設(shè)計(jì)[J].哈爾濱職業(yè)技術(shù)學(xué)院學(xué)報(bào), 2007(1): 90-91.
?。?] 周德東.基于光纖隔離的高精度數(shù)據(jù)采集電路設(shè)計(jì)[J]. 工業(yè)儀表與自動化裝置,2015(2): 120-122.
?。?] 劉金梅, 姚曉瓊, 韋雪潔.基于MCP2515和S3C2440組建CAN總線通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].北華航天工業(yè)學(xué)院學(xué)報(bào), 2012,22(1):10-12.
[6] 楊龍山.車用CAN總線抗電磁干擾能力研究[D].北京:中國科學(xué)院電工研究所,2006.
[7] 荀百誼.基于CAN總線網(wǎng)絡(luò)控制實(shí)驗(yàn)平臺的研究與設(shè)計(jì)[D].沈陽: 東北大學(xué), 2008.
?。?] 楊琨.基于CAN總線的智能檢測系統(tǒng)的研究[D].西安:西安科技大學(xué), 2008.
?。?] 劉君華, 賈惠芹, 丁暉,等.虛擬儀器圖形化編程語言LabVIEW[M].西安: 西安電子科技大學(xué)出版社, 2003.
?。?0] 吳作好, 謝文豪, 曾潔, 等.基于虛擬儀器的燃料電池電壓檢測監(jiān)控系統(tǒng)[J].大連交通大學(xué)學(xué)報(bào), 2010,31(2): 60-63.