范偉成,彭小方,潘 雪,曹 毅
(上海齊耀動力技術(shù)有限公司 上海 201203)
斯特林發(fā)動機(jī)智能監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
范偉成,彭小方,潘 雪,曹 毅
(上海齊耀動力技術(shù)有限公司 上海 201203)
針對斯特林發(fā)動機(jī)運(yùn)行監(jiān)控需要,以MC9S12DG256和ATmega128單片機(jī)為核心設(shè)計(jì)了一款基于CAN總線及μCOS-II平臺的監(jiān)控系統(tǒng)。硬件分為主控制板、開關(guān)量板和模擬量板,軟件上采用集中式與分布式結(jié)合的控制思想實(shí)現(xiàn)了斯特林發(fā)動機(jī)運(yùn)行狀態(tài)的檢測和控制。文中介紹了系統(tǒng)工作原理、軟硬件設(shè)計(jì)、CAN總線ID設(shè)計(jì)、μCOS-II在MCU上的移植和應(yīng)用程序的設(shè)計(jì)。實(shí)際應(yīng)用結(jié)果證明,該監(jiān)控系統(tǒng)能有效對斯特林發(fā)動機(jī)的運(yùn)行進(jìn)行監(jiān)控,驗(yàn)證了此方案的可行性,具有一定的設(shè)計(jì)參考價(jià)值。
斯特林發(fā)動機(jī);CAN總線;μCOS-II;MC9S12DG256;ATmega128
斯特林發(fā)動機(jī),又稱熱氣機(jī),是一種利用斯特林循環(huán)將燃料的化學(xué)能轉(zhuǎn)換為機(jī)械能的外燃式發(fā)動機(jī)。與內(nèi)燃機(jī)相比,斯特林發(fā)動機(jī)具有燃料適應(yīng)范圍廣,噪音低,維護(hù)保養(yǎng)費(fèi)用低等優(yōu)點(diǎn)[1]。斯特林發(fā)動機(jī)運(yùn)行時,通過調(diào)節(jié)工質(zhì)壓力和燃料供給量來控制斯特林發(fā)動機(jī)工作溫度,使之工作在材料的耐溫安全范圍內(nèi),是提高斯特林發(fā)動機(jī)效率的重要方法;同時也要對發(fā)電品質(zhì)進(jìn)行檢測以保證系統(tǒng)安全[2]。因此,設(shè)計(jì)了一款斯特林發(fā)動機(jī)智能監(jiān)控系統(tǒng),以完成斯特林發(fā)動機(jī)狀態(tài)檢測和控制任務(wù),測量相關(guān)數(shù)據(jù)以研究斯特林發(fā)動機(jī)的特性。
文中基于CAN總線[3]和采用μC/OS-Ⅱ[4]作為系統(tǒng)任務(wù)調(diào)度內(nèi)核平臺,設(shè)計(jì)了一種斯特林發(fā)動機(jī)智能監(jiān)控系統(tǒng)。文章首先對斯特林發(fā)動機(jī)智能監(jiān)控系統(tǒng)的結(jié)構(gòu)組成和工作原理進(jìn)行了簡單介紹,然后進(jìn)行了系統(tǒng)硬件設(shè)計(jì)、μC/OS-Ⅱ的移植、CAN通信設(shè)計(jì)、系統(tǒng)應(yīng)用程序和人機(jī)對話界面設(shè)計(jì),最后是系統(tǒng)應(yīng)用結(jié)果分析。
1.1 系統(tǒng)結(jié)構(gòu)組成
斯特林發(fā)動機(jī)監(jiān)控系統(tǒng)不僅功能多,而且要求有較高的抗干擾能力和高可靠性,因此將系統(tǒng)分為3部分:主控制板、開關(guān)量板、模擬量板。主控制板是整個監(jiān)控系統(tǒng)的核心,完成斯特林發(fā)動機(jī)運(yùn)行的控制邏輯、算法以及通信功能。開關(guān)板負(fù)責(zé)開關(guān)量信號的采集和輸出,采集得到的信息通過CAN總線傳輸給主控制板處理,根據(jù)主控制板指令輸出相應(yīng)的開關(guān)量信號。模擬量板負(fù)責(zé)模擬信號的采集和輸出,采集得到的信息通過CAN總線傳輸至主控制板處理,根據(jù)主控制板指令輸出相應(yīng)的模擬量信號。人機(jī)對話基于帶觸摸功能的工業(yè)平板電腦,帶CAN2.0B通信接口。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
1.2 工作原理
本系統(tǒng)采用集中式與分布式結(jié)合的控制思想。斯特林發(fā)動機(jī)自動運(yùn)行時,主控制板為運(yùn)算中心,開關(guān)量板和模擬量板為測量與執(zhí)行機(jī)構(gòu),此為集中式控制;斯特林發(fā)動機(jī)手動調(diào)試運(yùn)行時,改由機(jī)旁平板電腦直接操作模擬量板和開關(guān)量板,此為分布式控制。開關(guān)量板、模擬量板和主控制板均采用了嵌入式實(shí)時操作系統(tǒng)μC/OSⅡ,開關(guān)量板和模擬量板僅有執(zhí)行與反饋的功能,控制算法由主控制板承擔(dān),RS-485是斯特林發(fā)動機(jī)監(jiān)控系統(tǒng)預(yù)留遠(yuǎn)程操作接口,以方便多套機(jī)組的集中操作。

圖1 系統(tǒng)結(jié)構(gòu)圖
主控制板的微控制器采用16位單片機(jī)MC9S12DG256,屬于HCS12系列,其內(nèi)部集成了兩路CAN控制器、Watchdog等,支持在線仿真、調(diào)試和編程,內(nèi)部總線速率高達(dá)25 MHz,有工業(yè)控制專用的通信模塊,用作數(shù)據(jù)運(yùn)算處理和通信可以取得較好的效果[5]。主控制板主要由電源電路、復(fù)位電路、實(shí)時時鐘、CAN電路、RS485和RS232等組成。為了提高抗干擾能力,CAN通訊、RS232和RS485與主控芯片MC9S12DG256之間進(jìn)行光電隔離處理,同時采用獨(dú)立模塊電源供電,地線完全隔離。硬件設(shè)計(jì)連接圖如圖2所示。

圖2 主控制板硬件連接圖
開關(guān)量板、模擬量板的微控制器均采用Atmel公司的8位RISC高速微控制器ATMega128,該控制器有53個可編程的通用I/O腳,峰值運(yùn)算速度達(dá)16 MIPS,具備SPI、I2C串行等接口,非常適合應(yīng)用在嵌入式系統(tǒng)中[6]。CAN控制器選用NXP公司的SJA1000獨(dú)立CAN控制器,能自主完成報(bào)文的發(fā)送和接收、報(bào)文濾波、發(fā)送掃描等功能[7]。CAN收發(fā)器選用TJA1050,它具有速度高、電磁輻射低、短路保護(hù)、熱保護(hù)等功能[8]。開關(guān)量板主要處理開關(guān)信號的輸入輸出,均用光耦PC817進(jìn)行隔離。模擬量板的AD采用AD7888[9]完成,其電路示意圖如圖3所示。

圖3 模擬量板電路示意圖
3.1 μC/OS-Ⅱ移植
斯特林發(fā)動機(jī)監(jiān)控系統(tǒng)控制板之間的數(shù)據(jù)交換是通過CAN總線技術(shù)實(shí)現(xiàn)的,系統(tǒng)中需要處理的事件任務(wù)繁多,尤其總線通信的實(shí)時響應(yīng)要求非常高。前后臺模式已經(jīng)難以保證系統(tǒng)的穩(wěn)定和可靠。因此引入了嵌入式實(shí)時操作系統(tǒng)進(jìn)行軟件開發(fā)。μC/OS-Ⅱ是一個嵌入式實(shí)時操作系統(tǒng),短小精悍,非常適合應(yīng)用在8位、16位嵌入式系統(tǒng)中,且內(nèi)核源代碼公開、可移植性好,因此選擇uC/OS-Ⅱ作為系統(tǒng)任務(wù)調(diào)度內(nèi)核[10]。在特定MCU上使用μC/OS-Ⅱ進(jìn)行軟件開發(fā)前,需要進(jìn)行操作系統(tǒng)移植,使他能在該MCU上遠(yuǎn)行。所以首先必須進(jìn)行μC/ OS-Ⅱ在MCU上的移植[11]。
移植工作主要主要分為3大步驟:μC/OS-Ⅱ中與文處理器相關(guān)代碼的修改、與編譯器相關(guān)代碼的修改和應(yīng)用軟件的添加。MC9S12DG256單片機(jī)的C語言集成開發(fā)環(huán)境為Code Warrior5.9,移植μC/OS-Ⅱ共需要7個文件,分別是:ucos_9S12.C、INCLUDES.H、interrupt.c、OS_CFG.H、OS_CPU.h、OS_CPU_C.C、uCOS_II.h,需要進(jìn)行相應(yīng)的修改。
3.2 CAN總線通信程序設(shè)計(jì)
采用 Vector公司的 CAN總線開發(fā)工具完成。在CANdb++[12]軟件環(huán)境下進(jìn)行開發(fā),先使用CAPL語言實(shí)現(xiàn)通訊機(jī)制的定義,再在CANoe環(huán)境下進(jìn)行全模擬節(jié)點(diǎn)仿真,然后觀察仿真結(jié)果(如總線負(fù)載,消息的優(yōu)先級是否滿足實(shí)時性要求),調(diào)整通訊機(jī)制,最后使用CANscope、CANlog、CANstress測試網(wǎng)絡(luò)的魯棒性和物理通訊的可靠性。
在基于CAN總線的監(jiān)控系統(tǒng)中,應(yīng)用協(xié)議的規(guī)劃對整個網(wǎng)絡(luò)穩(wěn)定運(yùn)行起著至關(guān)重要的作用。合理的通訊機(jī)制及ID分配決定了整個網(wǎng)絡(luò)的通訊性能[13]。根據(jù)本系統(tǒng)的特點(diǎn)和報(bào)文功能重要性,報(bào)文可分為控制指令、底層數(shù)據(jù)傳輸、參數(shù)設(shè)置、報(bào)警信息、底層傳向上位機(jī)信息(重要性由高到低排列)5大類。根據(jù)報(bào)文的目的地址可分為:開關(guān)量板、主控板、模擬量板、機(jī)旁監(jiān)控裝置(重要性由高到低排列)4大類。在分配CAN-ID號時充分考慮系統(tǒng)的此特點(diǎn),將11位ID劃分如圖4所示。優(yōu)先級高的數(shù)值較小,優(yōu)先級低的數(shù)值越大。

圖4 ID規(guī)劃圖
3.3 基于μC/OS-Ⅱ的應(yīng)用程序設(shè)計(jì)
通電后,斯特林發(fā)動機(jī)監(jiān)控系統(tǒng)開始工作,首先初始化微控制器MC9S12DG256和ATMega128以及外設(shè),其次是初始化μC/OS-Ⅱ嵌入式操作系統(tǒng)、CAN通訊和Modbus通訊。初始化工作完成后,開啟中斷和設(shè)置中斷服務(wù)子程序,然后根據(jù)系統(tǒng)資源分配以及任務(wù)關(guān)系創(chuàng)建信號量和消息郵箱,最后創(chuàng)建任務(wù)且根據(jù)每個任務(wù)性質(zhì)賦予不同的優(yōu)先級,任務(wù)處于就緒狀態(tài)開始工作。此時,開關(guān)量板和模擬量板根據(jù)CAN總線的指令進(jìn)行工作,并把各自的狀態(tài)通過CAN總線反饋給主控板;主控板的任務(wù)主要由停車階段任務(wù)、復(fù)位階段任務(wù)、聯(lián)鎖檢查任務(wù)、點(diǎn)火階段任務(wù)、拖動階段任務(wù)、爬坡階段任務(wù)、運(yùn)行階段任務(wù)和報(bào)警處理任務(wù)。主控板主程序流程圖如圖5所示。

圖5 主控板主程序流程圖
3.4 平板電腦軟件設(shè)計(jì)
平板電腦是采用WinCE嵌入式操作系統(tǒng)的基于ARM9核微處理器的觸摸屏,主要功能為人機(jī)交互作用,其通過監(jiān)測CAN總線的數(shù)據(jù),將發(fā)動機(jī)的性能參數(shù)轉(zhuǎn)換成屏幕上直觀的數(shù)據(jù)。同時還承擔(dān)參數(shù)設(shè)置、起動、手自切換、數(shù)據(jù)保存、報(bào)警記錄等任務(wù)。平板電腦軟件基于eMbedded Visual C++開發(fā)環(huán)境開發(fā),充分利用eVC內(nèi)帶的MFC基本類庫,其軟件設(shè)計(jì)步驟為:首先安裝SDK開發(fā)包,其次應(yīng)用C++編寫應(yīng)用程序,然后編譯生成.EXE文件,最后將應(yīng)用程序同步至平板電腦。設(shè)計(jì)中應(yīng)用程序必須使用UNICODE字符串,同時要注意應(yīng)用程序必須是低內(nèi)存的[14]。
開發(fā)完成的平板電腦軟件主要由主界面、系統(tǒng)運(yùn)行、參數(shù)數(shù)據(jù)、控制操作、歷史趨勢和報(bào)警記錄等6個部分組成,如圖6所示。此軟件是操作人員與發(fā)動機(jī)進(jìn)行人機(jī)對話的窗口,發(fā)動機(jī)的所有狀態(tài)信息通過此軟件進(jìn)行顯示,發(fā)動機(jī)的運(yùn)行參數(shù)設(shè)置也是通過此界面進(jìn)行設(shè)置,通過點(diǎn)選各功能頁面可直接切換至所需頁面。如主界面顯示當(dāng)前發(fā)動機(jī)的主要性能參數(shù),包括功率,電流,溫度和壓力等;歷史趨勢可以查看發(fā)動機(jī)各個參數(shù)的運(yùn)行趨勢,可以用作壽命統(tǒng)計(jì)分析;報(bào)警記錄主要記錄發(fā)動機(jī)參數(shù)信息和警報(bào)類型,方便分析故障。

圖6 平板電腦軟件主界面
在實(shí)際應(yīng)用中,模擬量板完成斯特林發(fā)動機(jī)的管壁溫度、壓力、流量、功率、電流等模擬量檢測工作;開關(guān)量板完成異步電機(jī)、水泵、工質(zhì)短路閥和點(diǎn)火器等執(zhí)行機(jī)構(gòu)控制以及開關(guān)量傳感器信號識別工作;主控制板根據(jù)狀態(tài)判斷是進(jìn)入手動調(diào)試狀態(tài)還是進(jìn)入全自動運(yùn)行狀態(tài)。如果進(jìn)入全自動運(yùn)行狀態(tài),則根據(jù)當(dāng)前所處的階段執(zhí)行相應(yīng)的任務(wù),主控制板將控制指令發(fā)往CAN總線,由開關(guān)量板與模擬量板分別接收執(zhí)行。最后將發(fā)動機(jī)性能參數(shù)通過CAN總線發(fā)往機(jī)旁監(jiān)控單元—平板電腦,由平板電腦加以顯示、記錄。圖7所示的Statistics窗口可知,CAN網(wǎng)絡(luò)通訊平穩(wěn),CAN-ID分布較合理,圖8所示的Bus Statistics窗口可知,整個網(wǎng)絡(luò)的最高負(fù)載為5.29%,遠(yuǎn)低于CAN網(wǎng)絡(luò)30%[15]的臨界線,總線利用率較高。

圖7 Statistics窗口

圖8 Bus Statistics窗口
斯特林發(fā)動機(jī)運(yùn)行時,燃料中甲烷體積分?jǐn)?shù)波動會造成發(fā)動機(jī)管壁溫度變化,主控制板根據(jù)該溫度自動調(diào)節(jié)燃料量和空氣量的比例,控制溫度在加熱器材料的安全工作要求之下,同時調(diào)節(jié)發(fā)動機(jī)的工質(zhì)壓力,保證發(fā)動機(jī)高效穩(wěn)定運(yùn)行和輸出高品質(zhì)的電力。表1是部分試驗(yàn)數(shù)據(jù),表明該監(jiān)控系統(tǒng)完成了監(jiān)控目標(biāo)。

表1 發(fā)動機(jī)運(yùn)行部分?jǐn)?shù)據(jù)
1)采用CAN總線和μC/OS-Ⅱ平臺設(shè)計(jì)了一套斯特林發(fā)動機(jī)智能監(jiān)控系統(tǒng),CAN通信網(wǎng)絡(luò)的負(fù)載遠(yuǎn)遠(yuǎn)低于其臨界值,說明CAN-ID分布合理,有較高的利用率;uC/OS-Ⅱ嵌入式系統(tǒng)可以處理發(fā)動機(jī)繁多的任務(wù)要求,提高了整個監(jiān)控系統(tǒng)的可靠性和穩(wěn)定性。
2)集中式與分布式結(jié)合的控制思想有效的對應(yīng)了斯特林發(fā)動機(jī)自動運(yùn)行和手動調(diào)試兩種模式,滿足了斯特林發(fā)動機(jī)運(yùn)行的需要,使系統(tǒng)響應(yīng)迅速,操作方便,安全可靠。
3)監(jiān)控系統(tǒng)在多個研究課題中得到了應(yīng)用,能夠讓發(fā)動機(jī)按預(yù)期目標(biāo)工作,獲得了發(fā)動機(jī)大量性能參數(shù),推進(jìn)了斯特林發(fā)動機(jī)的研究工作,證明了本方案的正確性和可行性,具有一定的設(shè)計(jì)參考價(jià)值。
[1]錢國柱.熱氣機(jī)[M].北京:國防工業(yè)出版社,1982.
[2]金東寒.斯特林發(fā)動機(jī)技術(shù)[M].哈爾濱:哈爾濱工程大學(xué)出版社,2009.
[3]饒運(yùn)濤,鄒繼軍,王進(jìn)宏,等.現(xiàn)場總線CAN原理與應(yīng)用技術(shù)[M].2版.北京:北京航空航天大學(xué)出版社,2007.
[4]邵貝貝.嵌入式實(shí)時操作系統(tǒng)uC/OS-Ⅱ[M].2版.北京:北京航空航天大學(xué)出版社,2003.
[5]孫同景.Freescale 9s12十六位單片機(jī)原理及嵌入式開發(fā)技術(shù)[M].北京:機(jī)械工業(yè)出版社,2008.
[6]陳冬云,杜敬倉,任柯燕.ATmega128單片機(jī)原理與開發(fā)指導(dǎo)[M].北京:機(jī)械工業(yè)出版社,2006.
[7]律德才,馬峰.CAN總線控制器SJA1000的原理及應(yīng)用[J].電測與儀表,2002,(4):57-59.
[8]鄭淑清,曾令國.CAN總線在全電子化計(jì)算機(jī)聯(lián)鎖系統(tǒng)中的應(yīng)用[J].儀器儀表學(xué)報(bào),2005,26(8):500-501.
[9]王琮澤,裴玉明,楊佳.模數(shù)轉(zhuǎn)換器AD7888的應(yīng)用探討[J].吉林建筑工程學(xué)院學(xué)報(bào),2010,27(4):53-56.
[10]王勁松,李正熙,夏旺盛.嵌入式操作系統(tǒng)UC/OS-II的內(nèi)核實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2003,(8):48-50.
[11]劉海峰,劉百芬.嵌入式操作系統(tǒng)uC/OS-II在DSP上的移植研究[J].華東交通大學(xué)學(xué)報(bào),2006,23(1):106-108.
[12]陳覺曉,孫澤昌.基于CANoe的實(shí)時CAN總線數(shù)據(jù)記錄軟件的設(shè)計(jì)方法[J].測控技術(shù),2006(2):45-47.
[13]藺京敏.基于P87C591單片機(jī)的CAN總線應(yīng)用層協(xié)議的研究[D].天津:河北工業(yè)大學(xué),2004.
[14]陳顯楚,郭其一.基于Windows CE的嵌入式車載監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2007,15(1):85-87.
[15]衛(wèi)星,張建軍,張利,等.電動汽車CAN網(wǎng)絡(luò)應(yīng)用層協(xié)議研究[J].電子測量與儀器學(xué)報(bào),2011,25(9):799-803.
Design and implementation of intelligent monitoring system for Stirling engine
FAN Wei-cheng,PENG Xiao-fang,PAN Xue,CAO Yi
(Shanghai Micropowers Ltd.,Shanghai 201203,China)
In order to meet the requirements of monitoring Stirling engine,an intelligent monitoring system has been designed,which uses the MC9S12DG256 and ATmega128 as the microprocessor,based on μCOS-II embedded system platform and CAN-bus.The hardware includes main control board,discrete board and the analog board,software on the centralized and distributed control theory combined with the detection and control of engine operation state of Stirling engine.This paper introduces the design principle of system,hardware and software design,CAN bus ID design,The design of μCOS-II in MCU on the transplant and Application.The practical application results show that,the monitoring system can monitor effectively the stirling engine running,verify the feasibility of this scheme,has a certain reference value.
Stirling engine;CAN-bus;μCOS-II;MC9S12DG256;ATmega128
TN803.5
A
1674-6236(2016)18-0085-04
2016-02-02 稿件編號:201602008
國家海洋局可再生能源專項(xiàng)資金 (GHME2011GC01);上海市科技攻關(guān)項(xiàng)目 (12dz1201200);上海市節(jié)能減排項(xiàng)目(11dz1202700);上海熱氣機(jī)工程技術(shù)研究中心(13DZ250100)
范偉成(1979—),男,江蘇灌云人,工程師。研究方向:斯特林發(fā)動機(jī)控制。