范偉成,彭小方,潘 雪,曹 毅
(上海齊耀動力技術有限公司 上海 201203)
斯特林發(fā)動機智能監(jiān)控系統(tǒng)設計與實現(xiàn)
范偉成,彭小方,潘 雪,曹 毅
(上海齊耀動力技術有限公司 上海 201203)
針對斯特林發(fā)動機運行監(jiān)控需要,以MC9S12DG256和ATmega128單片機為核心設計了一款基于CAN總線及μCOS-II平臺的監(jiān)控系統(tǒng)。硬件分為主控制板、開關量板和模擬量板,軟件上采用集中式與分布式結合的控制思想實現(xiàn)了斯特林發(fā)動機運行狀態(tài)的檢測和控制。文中介紹了系統(tǒng)工作原理、軟硬件設計、CAN總線ID設計、μCOS-II在MCU上的移植和應用程序的設計。實際應用結果證明,該監(jiān)控系統(tǒng)能有效對斯特林發(fā)動機的運行進行監(jiān)控,驗證了此方案的可行性,具有一定的設計參考價值。
斯特林發(fā)動機;CAN總線;μCOS-II;MC9S12DG256;ATmega128
斯特林發(fā)動機,又稱熱氣機,是一種利用斯特林循環(huán)將燃料的化學能轉換為機械能的外燃式發(fā)動機。與內(nèi)燃機相比,斯特林發(fā)動機具有燃料適應范圍廣,噪音低,維護保養(yǎng)費用低等優(yōu)點[1]。斯特林發(fā)動機運行時,通過調(diào)節(jié)工質壓力和燃料供給量來控制斯特林發(fā)動機工作溫度,使之工作在材料的耐溫安全范圍內(nèi),是提高斯特林發(fā)動機效率的重要方法;同時也要對發(fā)電品質進行檢測以保證系統(tǒng)安全[2]。因此,設計了一款斯特林發(fā)動機智能監(jiān)控系統(tǒng),以完成斯特林發(fā)動機狀態(tài)檢測和控制任務,測量相關數(shù)據(jù)以研究斯特林發(fā)動機的特性。
文中基于CAN總線[3]和采用μC/OS-Ⅱ[4]作為系統(tǒng)任務調(diào)度內(nèi)核平臺,設計了一種斯特林發(fā)動機智能監(jiān)控系統(tǒng)。文章首先對斯特林發(fā)動機智能監(jiān)控系統(tǒng)的結構組成和工作原理進行了簡單介紹,然后進行了系統(tǒng)硬件設計、μC/OS-Ⅱ的移植、CAN通信設計、系統(tǒng)應用程序和人機對話界面設計,最后是系統(tǒng)應用結果分析。
1.1 系統(tǒng)結構組成
斯特林發(fā)動機監(jiān)控系統(tǒng)不僅功能多,而且要求有較高的抗干擾能力和高可靠性,因此將系統(tǒng)分為3部分:主控制板、開關量板、模擬量板。主控制板是整個監(jiān)控系統(tǒng)的核心,完成斯特林發(fā)動機運行的控制邏輯、算法以及通信功能。開關板負責開關量信號的采集和輸出,采集得到的信息通過CAN總線傳輸給主控制板處理,根據(jù)主控制板指令輸出相應的開關量信號。模擬量板負責模擬信號的采集和輸出,采集得到的信息通過CAN總線傳輸至主控制板處理,根據(jù)主控制板指令輸出相應的模擬量信號。人機對話基于帶觸摸功能的工業(yè)平板電腦,帶CAN2.0B通信接口。系統(tǒng)結構圖如圖1所示。
1.2 工作原理
本系統(tǒng)采用集中式與分布式結合的控制思想。斯特林發(fā)動機自動運行時,主控制板為運算中心,開關量板和模擬量板為測量與執(zhí)行機構,此為集中式控制;斯特林發(fā)動機手動調(diào)試運行時,改由機旁平板電腦直接操作模擬量板和開關量板,此為分布式控制。開關量板、模擬量板和主控制板均采用了嵌入式實時操作系統(tǒng)μC/OSⅡ,開關量板和模擬量板僅有執(zhí)行與反饋的功能,控制算法由主控制板承擔,RS-485是斯特林發(fā)動機監(jiān)控系統(tǒng)預留遠程操作接口,以方便多套機組的集中操作。
圖1 系統(tǒng)結構圖
主控制板的微控制器采用16位單片機MC9S12DG256,屬于HCS12系列,其內(nèi)部集成了兩路CAN控制器、Watchdog等,支持在線仿真、調(diào)試和編程,內(nèi)部總線速率高達25 MHz,有工業(yè)控制專用的通信模塊,用作數(shù)據(jù)運算處理和通信可以取得較好的效果[5]。主控制板主要由電源電路、復位電路、實時時鐘、CAN電路、RS485和RS232等組成。為了提高抗干擾能力,CAN通訊、RS232和RS485與主控芯片MC9S12DG256之間進行光電隔離處理,同時采用獨立模塊電源供電,地線完全隔離。硬件設計連接圖如圖2所示。
圖2 主控制板硬件連接圖
開關量板、模擬量板的微控制器均采用Atmel公司的8位RISC高速微控制器ATMega128,該控制器有53個可編程的通用I/O腳,峰值運算速度達16 MIPS,具備SPI、I2C串行等接口,非常適合應用在嵌入式系統(tǒng)中[6]。CAN控制器選用NXP公司的SJA1000獨立CAN控制器,能自主完成報文的發(fā)送和接收、報文濾波、發(fā)送掃描等功能[7]。CAN收發(fā)器選用TJA1050,它具有速度高、電磁輻射低、短路保護、熱保護等功能[8]。開關量板主要處理開關信號的輸入輸出,均用光耦PC817進行隔離。模擬量板的AD采用AD7888[9]完成,其電路示意圖如圖3所示。
圖3 模擬量板電路示意圖
3.1 μC/OS-Ⅱ移植
斯特林發(fā)動機監(jiān)控系統(tǒng)控制板之間的數(shù)據(jù)交換是通過CAN總線技術實現(xiàn)的,系統(tǒng)中需要處理的事件任務繁多,尤其總線通信的實時響應要求非常高。前后臺模式已經(jīng)難以保證系統(tǒng)的穩(wěn)定和可靠。因此引入了嵌入式實時操作系統(tǒng)進行軟件開發(fā)。μC/OS-Ⅱ是一個嵌入式實時操作系統(tǒng),短小精悍,非常適合應用在8位、16位嵌入式系統(tǒng)中,且內(nèi)核源代碼公開、可移植性好,因此選擇uC/OS-Ⅱ作為系統(tǒng)任務調(diào)度內(nèi)核[10]。在特定MCU上使用μC/OS-Ⅱ進行軟件開發(fā)前,需要進行操作系統(tǒng)移植,使他能在該MCU上遠行。所以首先必須進行μC/ OS-Ⅱ在MCU上的移植[11]。
移植工作主要主要分為3大步驟:μC/OS-Ⅱ中與文處理器相關代碼的修改、與編譯器相關代碼的修改和應用軟件的添加。MC9S12DG256單片機的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,需要進行相應的修改。
3.2 CAN總線通信程序設計
采用 Vector公司的 CAN總線開發(fā)工具完成。在CANdb++[12]軟件環(huán)境下進行開發(fā),先使用CAPL語言實現(xiàn)通訊機制的定義,再在CANoe環(huán)境下進行全模擬節(jié)點仿真,然后觀察仿真結果(如總線負載,消息的優(yōu)先級是否滿足實時性要求),調(diào)整通訊機制,最后使用CANscope、CANlog、CANstress測試網(wǎng)絡的魯棒性和物理通訊的可靠性。
在基于CAN總線的監(jiān)控系統(tǒng)中,應用協(xié)議的規(guī)劃對整個網(wǎng)絡穩(wěn)定運行起著至關重要的作用。合理的通訊機制及ID分配決定了整個網(wǎng)絡的通訊性能[13]。根據(jù)本系統(tǒng)的特點和報文功能重要性,報文可分為控制指令、底層數(shù)據(jù)傳輸、參數(shù)設置、報警信息、底層傳向上位機信息(重要性由高到低排列)5大類。根據(jù)報文的目的地址可分為:開關量板、主控板、模擬量板、機旁監(jiān)控裝置(重要性由高到低排列)4大類。在分配CAN-ID號時充分考慮系統(tǒng)的此特點,將11位ID劃分如圖4所示。優(yōu)先級高的數(shù)值較小,優(yōu)先級低的數(shù)值越大。
圖4 ID規(guī)劃圖
3.3 基于μC/OS-Ⅱ的應用程序設計
通電后,斯特林發(fā)動機監(jiān)控系統(tǒng)開始工作,首先初始化微控制器MC9S12DG256和ATMega128以及外設,其次是初始化μC/OS-Ⅱ嵌入式操作系統(tǒng)、CAN通訊和Modbus通訊。初始化工作完成后,開啟中斷和設置中斷服務子程序,然后根據(jù)系統(tǒng)資源分配以及任務關系創(chuàng)建信號量和消息郵箱,最后創(chuàng)建任務且根據(jù)每個任務性質賦予不同的優(yōu)先級,任務處于就緒狀態(tài)開始工作。此時,開關量板和模擬量板根據(jù)CAN總線的指令進行工作,并把各自的狀態(tài)通過CAN總線反饋給主控板;主控板的任務主要由停車階段任務、復位階段任務、聯(lián)鎖檢查任務、點火階段任務、拖動階段任務、爬坡階段任務、運行階段任務和報警處理任務。主控板主程序流程圖如圖5所示。
圖5 主控板主程序流程圖
3.4 平板電腦軟件設計
平板電腦是采用WinCE嵌入式操作系統(tǒng)的基于ARM9核微處理器的觸摸屏,主要功能為人機交互作用,其通過監(jiān)測CAN總線的數(shù)據(jù),將發(fā)動機的性能參數(shù)轉換成屏幕上直觀的數(shù)據(jù)。同時還承擔參數(shù)設置、起動、手自切換、數(shù)據(jù)保存、報警記錄等任務。平板電腦軟件基于eMbedded Visual C++開發(fā)環(huán)境開發(fā),充分利用eVC內(nèi)帶的MFC基本類庫,其軟件設計步驟為:首先安裝SDK開發(fā)包,其次應用C++編寫應用程序,然后編譯生成.EXE文件,最后將應用程序同步至平板電腦。設計中應用程序必須使用UNICODE字符串,同時要注意應用程序必須是低內(nèi)存的[14]。
開發(fā)完成的平板電腦軟件主要由主界面、系統(tǒng)運行、參數(shù)數(shù)據(jù)、控制操作、歷史趨勢和報警記錄等6個部分組成,如圖6所示。此軟件是操作人員與發(fā)動機進行人機對話的窗口,發(fā)動機的所有狀態(tài)信息通過此軟件進行顯示,發(fā)動機的運行參數(shù)設置也是通過此界面進行設置,通過點選各功能頁面可直接切換至所需頁面。如主界面顯示當前發(fā)動機的主要性能參數(shù),包括功率,電流,溫度和壓力等;歷史趨勢可以查看發(fā)動機各個參數(shù)的運行趨勢,可以用作壽命統(tǒng)計分析;報警記錄主要記錄發(fā)動機參數(shù)信息和警報類型,方便分析故障。
圖6 平板電腦軟件主界面
在實際應用中,模擬量板完成斯特林發(fā)動機的管壁溫度、壓力、流量、功率、電流等模擬量檢測工作;開關量板完成異步電機、水泵、工質短路閥和點火器等執(zhí)行機構控制以及開關量傳感器信號識別工作;主控制板根據(jù)狀態(tài)判斷是進入手動調(diào)試狀態(tài)還是進入全自動運行狀態(tài)。如果進入全自動運行狀態(tài),則根據(jù)當前所處的階段執(zhí)行相應的任務,主控制板將控制指令發(fā)往CAN總線,由開關量板與模擬量板分別接收執(zhí)行。最后將發(fā)動機性能參數(shù)通過CAN總線發(fā)往機旁監(jiān)控單元—平板電腦,由平板電腦加以顯示、記錄。圖7所示的Statistics窗口可知,CAN網(wǎng)絡通訊平穩(wěn),CAN-ID分布較合理,圖8所示的Bus Statistics窗口可知,整個網(wǎng)絡的最高負載為5.29%,遠低于CAN網(wǎng)絡30%[15]的臨界線,總線利用率較高。
圖7 Statistics窗口
圖8 Bus Statistics窗口
斯特林發(fā)動機運行時,燃料中甲烷體積分數(shù)波動會造成發(fā)動機管壁溫度變化,主控制板根據(jù)該溫度自動調(diào)節(jié)燃料量和空氣量的比例,控制溫度在加熱器材料的安全工作要求之下,同時調(diào)節(jié)發(fā)動機的工質壓力,保證發(fā)動機高效穩(wěn)定運行和輸出高品質的電力。表1是部分試驗數(shù)據(jù),表明該監(jiān)控系統(tǒng)完成了監(jiān)控目標。
表1 發(fā)動機運行部分數(shù)據(jù)
1)采用CAN總線和μC/OS-Ⅱ平臺設計了一套斯特林發(fā)動機智能監(jiān)控系統(tǒng),CAN通信網(wǎng)絡的負載遠遠低于其臨界值,說明CAN-ID分布合理,有較高的利用率;uC/OS-Ⅱ嵌入式系統(tǒng)可以處理發(fā)動機繁多的任務要求,提高了整個監(jiān)控系統(tǒng)的可靠性和穩(wěn)定性。
2)集中式與分布式結合的控制思想有效的對應了斯特林發(fā)動機自動運行和手動調(diào)試兩種模式,滿足了斯特林發(fā)動機運行的需要,使系統(tǒng)響應迅速,操作方便,安全可靠。
3)監(jiān)控系統(tǒng)在多個研究課題中得到了應用,能夠讓發(fā)動機按預期目標工作,獲得了發(fā)動機大量性能參數(shù),推進了斯特林發(fā)動機的研究工作,證明了本方案的正確性和可行性,具有一定的設計參考價值。
[1]錢國柱.熱氣機[M].北京:國防工業(yè)出版社,1982.
[2]金東寒.斯特林發(fā)動機技術[M].哈爾濱:哈爾濱工程大學出版社,2009.
[3]饒運濤,鄒繼軍,王進宏,等.現(xiàn)場總線CAN原理與應用技術[M].2版.北京:北京航空航天大學出版社,2007.
[4]邵貝貝.嵌入式實時操作系統(tǒng)uC/OS-Ⅱ[M].2版.北京:北京航空航天大學出版社,2003.
[5]孫同景.Freescale 9s12十六位單片機原理及嵌入式開發(fā)技術[M].北京:機械工業(yè)出版社,2008.
[6]陳冬云,杜敬倉,任柯燕.ATmega128單片機原理與開發(fā)指導[M].北京:機械工業(yè)出版社,2006.
[7]律德才,馬峰.CAN總線控制器SJA1000的原理及應用[J].電測與儀表,2002,(4):57-59.
[8]鄭淑清,曾令國.CAN總線在全電子化計算機聯(lián)鎖系統(tǒng)中的應用[J].儀器儀表學報,2005,26(8):500-501.
[9]王琮澤,裴玉明,楊佳.模數(shù)轉換器AD7888的應用探討[J].吉林建筑工程學院學報,2010,27(4):53-56.
[10]王勁松,李正熙,夏旺盛.嵌入式操作系統(tǒng)UC/OS-II的內(nèi)核實現(xiàn)[J].現(xiàn)代電子技術,2003,(8):48-50.
[11]劉海峰,劉百芬.嵌入式操作系統(tǒng)uC/OS-II在DSP上的移植研究[J].華東交通大學學報,2006,23(1):106-108.
[12]陳覺曉,孫澤昌.基于CANoe的實時CAN總線數(shù)據(jù)記錄軟件的設計方法[J].測控技術,2006(2):45-47.
[13]藺京敏.基于P87C591單片機的CAN總線應用層協(xié)議的研究[D].天津:河北工業(yè)大學,2004.
[14]陳顯楚,郭其一.基于Windows CE的嵌入式車載監(jiān)控系統(tǒng)設計[J].計算機測量與控制,2007,15(1):85-87.
[15]衛(wèi)星,張建軍,張利,等.電動汽車CAN網(wǎng)絡應用層協(xié)議研究[J].電子測量與儀器學報,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
國家海洋局可再生能源專項資金 (GHME2011GC01);上海市科技攻關項目 (12dz1201200);上海市節(jié)能減排項目(11dz1202700);上海熱氣機工程技術研究中心(13DZ250100)
范偉成(1979—),男,江蘇灌云人,工程師。研究方向:斯特林發(fā)動機控制。