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

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

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

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

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

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

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

圖7 Statistics窗口

圖8 Bus Statistics窗口
斯特林發動機運行時,燃料中甲烷體積分數波動會造成發動機管壁溫度變化,主控制板根據該溫度自動調節燃料量和空氣量的比例,控制溫度在加熱器材料的安全工作要求之下,同時調節發動機的工質壓力,保證發動機高效穩定運行和輸出高品質的電力。表1是部分試驗數據,表明該監控系統完成了監控目標。

表1 發動機運行部分數據
1)采用CAN總線和μC/OS-Ⅱ平臺設計了一套斯特林發動機智能監控系統,CAN通信網絡的負載遠遠低于其臨界值,說明CAN-ID分布合理,有較高的利用率;uC/OS-Ⅱ嵌入式系統可以處理發動機繁多的任務要求,提高了整個監控系統的可靠性和穩定性。
2)集中式與分布式結合的控制思想有效的對應了斯特林發動機自動運行和手動調試兩種模式,滿足了斯特林發動機運行的需要,使系統響應迅速,操作方便,安全可靠。
3)監控系統在多個研究課題中得到了應用,能夠讓發動機按預期目標工作,獲得了發動機大量性能參數,推進了斯特林發動機的研究工作,證明了本方案的正確性和可行性,具有一定的設計參考價值。
[1]錢國柱.熱氣機[M].北京:國防工業出版社,1982.
[2]金東寒.斯特林發動機技術[M].哈爾濱:哈爾濱工程大學出版社,2009.
[3]饒運濤,鄒繼軍,王進宏,等.現場總線CAN原理與應用技術[M].2版.北京:北京航空航天大學出版社,2007.
[4]邵貝貝.嵌入式實時操作系統uC/OS-Ⅱ[M].2版.北京:北京航空航天大學出版社,2003.
[5]孫同景.Freescale 9s12十六位單片機原理及嵌入式開發技術[M].北京:機械工業出版社,2008.
[6]陳冬云,杜敬倉,任柯燕.ATmega128單片機原理與開發指導[M].北京:機械工業出版社,2006.
[7]律德才,馬峰.CAN總線控制器SJA1000的原理及應用[J].電測與儀表,2002,(4):57-59.
[8]鄭淑清,曾令國.CAN總線在全電子化計算機聯鎖系統中的應用[J].儀器儀表學報,2005,26(8):500-501.
[9]王琮澤,裴玉明,楊佳.模數轉換器AD7888的應用探討[J].吉林建筑工程學院學報,2010,27(4):53-56.
[10]王勁松,李正熙,夏旺盛.嵌入式操作系統UC/OS-II的內核實現[J].現代電子技術,2003,(8):48-50.
[11]劉海峰,劉百芬.嵌入式操作系統uC/OS-II在DSP上的移植研究[J].華東交通大學學報,2006,23(1):106-108.
[12]陳覺曉,孫澤昌.基于CANoe的實時CAN總線數據記錄軟件的設計方法[J].測控技術,2006(2):45-47.
[13]藺京敏.基于P87C591單片機的CAN總線應用層協議的研究[D].天津:河北工業大學,2004.
[14]陳顯楚,郭其一.基于Windows CE的嵌入式車載監控系統設計[J].計算機測量與控制,2007,15(1):85-87.
[15]衛星,張建軍,張利,等.電動汽車CAN網絡應用層協議研究[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);上海市節能減排項目(11dz1202700);上海熱氣機工程技術研究中心(13DZ250100)
范偉成(1979—),男,江蘇灌云人,工程師。研究方向:斯特林發動機控制。