《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM-WinCE的電機監(jiān)控系統(tǒng)設計
基于ARM-WinCE的電機監(jiān)控系統(tǒng)設計
來源:微型機與應用2014年第7期
張 陽,林凡強,朱 勇
(成都理工大學 信息科學與技術學院,四川 成都 610059)
摘要: 介紹了基于ARM-WinCE的電機監(jiān)控系統(tǒng),硬件以ARM9微處理器S3C2410為核心,軟件基于Windows CE操作系統(tǒng)并使用了ActiveX控件建立界面,實現(xiàn)對步進電機和直流電機表面溫度、轉速和運行時間等指標的監(jiān)控。詳細介紹了該系統(tǒng)的系統(tǒng)功能設計、系統(tǒng)結構、硬件電路設計、軟件設計及測試的過程和結果。
Abstract:
Key words :

摘  要: 介紹了基于ARM-WinCE的電機監(jiān)控系統(tǒng),硬件以ARM9微處理器S3C2410為核心,軟件基于Windows CE操作系統(tǒng)并使用了ActiveX控件建立界面,實現(xiàn)對步進電機和直流電機表面溫度、轉速和運行時間等指標的監(jiān)控。詳細介紹了該系統(tǒng)的系統(tǒng)功能設計、系統(tǒng)結構、硬件電路設計、軟件設計及測試的過程和結果。
關鍵詞: Windows CE;S3C2410;ActiveX

 嵌入式系統(tǒng)是當今自動化領域技術發(fā)展的熱點之一,它的出現(xiàn)為工業(yè)控制設備的實時、智能化提供了強有力的技術支持[1]。ARM微處理器是嵌入式處理器的典型代表,已經(jīng)滲透到各個領域。作為32位的RISC架構,基于ARM核的微控制器芯片不但占據(jù)了高端微控制器市場的大部分市場份額,同時也逐漸向低端微控制器應用領域擴展。Windows CE操作系統(tǒng)具有很高的實時性,已經(jīng)在汽車工業(yè)、航空工業(yè)、工業(yè)控制、安全防護等領域中得到了廣泛應用。Windows CE能從閃存啟動,從而避免了暴露在灰塵、高溫和震動環(huán)境下,使它可以適應惡劣的生產(chǎn)環(huán)境。因此Windows CE在工業(yè)控制領域有著很好的應用前景[2]。
1 系統(tǒng)概述
 本系統(tǒng)是一個電機監(jiān)控系統(tǒng),運行在S3C2410硬件平臺上,軟件運行環(huán)境為Windows CE 5.0操作系統(tǒng);由ActiveX控件構成電機監(jiān)控軟件界面。系統(tǒng)運行溫度在0~100 ℃之間。通過界面,可以直觀地看出當前直流電機和步進電機的轉速以及電機運行時間和表面的溫度,當溫度超過75℃時立即控制電機停止運轉;還可以控制電機的啟動、停止、加速和減速。通過這些實現(xiàn)電機的監(jiān)控。
2 硬件設計
 硬件電路采用的是ARM9內(nèi)核微處理器S3C2410A,擴展有64 MB SDRAM、64 MB NAND Flash、2 MB NOR Flash等存儲器,可運行Windows CE 5.0操作系統(tǒng)。外設主要是直流電機、步進電機、溫度傳感電路、液晶屏等,硬件框如圖1所示。

 步進電機采用了達林頓管驅動芯片ULN2003來驅動四相步進電機。溫度傳感器和TFT液晶屏的驅動電路比較簡單,下面重點介紹一下直流電機的驅動電路。
 直流電機驅動電路如圖2所示。直流電機控制使用了H橋驅動電路[3],控制口線為GPB0、GPH9(GPG0與GPH9為連接S3C2410A核心板時的引腳連接,圖中標出的是連接S3C2410A核心板的引腳編號)。JP17可以斷開直流電機控制電路與S3C2410A的連接。當GPB0輸出高電平時(即ZDJ_A點為3.3 V),則Q2、Q3導通Q6導通MOTOR_B點為MGV+,Q6導通,MOTOR_A點為GND,此時直流電機將會正轉。由于Q6的集電極通過一個二極管D7連接到H橋的另一個控制端ZDJ_B,將ZDJ_B控制端電壓鉗在1.0 V以下,因此不管GPH9輸出是高電平還是低電平,Q4、Q5都會截止Q8截止,不會造成H橋短路故障。當GPB0輸出為低電平(即ZDJ_A點為0 V)時,則Q3、Q6截止,Q7截止,GPH9的輸出電平可以控制電機反轉或停機。若GPH9輸出高電平(即ZDJ_B點為3.3 V),則Q4、Q5導通Q8導通MOTOR_A點為MGV+,Q5導通MOTOR_B點為GND,此時直流電機將會反轉。當GPH9輸出低電平時,Q4、Q5都會截止Q8截止,電機停機。二極管D8~D11為續(xù)流二極管,用于釋放電機線圈上產(chǎn)生的反電動勢。電阻R162、R163為限流/保護電阻。PWM0輸出信號通過一個電阻連接到一個電容上,信號通過R82和C127進行濾波,從而實現(xiàn)一個簡單的DAC控制電路,將輸出連接接到直流電機驅動電路,從而實現(xiàn)直流電機驅動[4]。

3 軟件設計
 軟件設計是基于Windows CE操作系統(tǒng)之上構建的,軟件框圖如圖3所示。

3.1 驅動部分
 首先是定時器的分配。S3C2410A提供了5個定時器Timer0~Timer4,Timer4分配作為操作系統(tǒng)時鐘Tick,將Timer3分配給觸摸屏。PWM定時器驅動程序用Timer0和Timer1得到PWM輸出信號。PWM定時器根據(jù)正弦函數(shù)sinx的值不斷改變PWM的占空比,就可以輸出一個正弦方波。
 在本系統(tǒng)中會使用到GPIO、PWM等驅動,當使用這些驅動時,流式接口驅動程序把設備抽象成文件系統(tǒng)進行操作。首先電機監(jiān)控器程序使用API對設備進行訪問,文件API被操作系統(tǒng)轉發(fā)到FileSys.exe進程中;然后FileSys.exe發(fā)現(xiàn)是對設備進行操作,就會把執(zhí)行交到設備管理器,接著設備管理器根據(jù)具體的請求,調用不同的流式接口驅動程序中暴露的接口;最終,驅動程序負責與硬件交互。
3.2 線程部分
 Windows CE的調度嚴格按照優(yōu)先級來進行。具有最高優(yōu)先級的線程如果處于就緒狀態(tài),總會被調度系統(tǒng)選中;如果系統(tǒng)中存在多個優(yōu)先級相同的就緒任務,這些進程以時間片輪算法調度;如果線程的時間片大小被設置為0,那它會一直占有處理器,直到線程結束后進入阻塞掛起或休眠狀態(tài)[5]。
 主線程(流程圖如圖4所示):主要響應各種窗口消息事件??紤]到軟件要能及時響應用戶發(fā)出的各種事件,主線程的優(yōu)先級設為THREAD_PRIORITY_HIGHEST(高于正常優(yōu)先級2級)。

 

 

 監(jiān)控功能主要通過3個線程實現(xiàn)。溫度監(jiān)控線程:實現(xiàn)對兩個電機溫度的監(jiān)控,一旦溫度超過預定值,立刻停止電機轉動,從而保護電機。因為此進程的任務必須及時處理,溫度監(jiān)控線程的優(yōu)先級設為THREAD_ PRIORITY_TIME_CRITICAL(高于正常優(yōu)先級3級,具有這個優(yōu)先級的線程不會被搶占)。步進電機轉動控制線程:步進電機控制口線為GPC0、GPC5、GPC6、GPC7,只有不停地控制時序,才可以控制電機轉動,電機運行監(jiān)控器軟件單獨使用一個線程來實現(xiàn)控制電機的轉動。步進電機轉動控制線程的優(yōu)先級設為THREAD_ PRIORITY_NORMAL,擁有正常優(yōu)先級。電機狀態(tài)顯示線程:電機運行監(jiān)控器軟件中有溫度計,LED時鐘,轉速表3個控件分別用來顯示電機的狀態(tài),任務量比較大,占用時間比較多,為了不影響電機運行監(jiān)控器軟件的實時性,電機狀態(tài)顯示線程的優(yōu)先級設為THREAD_ PRIORITY_BELOW_NORMA L(低于正常優(yōu)先級一級)。
3.3 界面部分
 設計虛擬儀器面板。根據(jù)實物,在虛擬面板上放置設計好的ActiveX控件,在對象監(jiān)視器中對各個控件的參數(shù)進行修改,使其與實際相符。再對各個控件進行編程,使其實現(xiàn)實際控件所具備的功能及各個控件之間的邏輯控制關系。LED數(shù)碼管控件通過矩形背景繪制和數(shù)碼管的繪制產(chǎn)生;溫度計控件通過水銀柱的繪制和刻度的繪制產(chǎn)生;圓形儀表盤控件通過一個儀表盤繪制和一個刻度的繪制產(chǎn)生;大字體按鈕控件通過一個立體矩形的繪制和一個大字體的繪制產(chǎn)生。考慮到刷新可能對界面產(chǎn)生的影響,在繪制控件過程中均采用雙緩沖技術。
4 系統(tǒng)測試
 將軟件與硬件聯(lián)系起來,得到一個完整的系統(tǒng)。對系統(tǒng)的各項功能進行測試,可以達到預期的效果。對電機的運行時間、轉速、表面溫度等各個指標進行了監(jiān)控,效果圖如圖5所示。

 本文設計的是基于Windows CE操作系統(tǒng)的電機監(jiān)控系統(tǒng)。由于硬件的限制,直流電機轉速測量是根據(jù)PWM得到的估測值,如要得到比較理想的結果,可以使用轉速傳感器來實現(xiàn)測速。盡管如此,整個系統(tǒng)安全可靠,實時性和穩(wěn)定性高,硬件成本低,軟件界面友好,具有一定的推廣前景,方便以后移植到實際工控設備中。
參考文獻
[1] 吳晨曦,蔣嶸,伍新,等.電機運行監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].機械工程與自動化,2012(2):147-148.
[2] 王大鵬,范惠林,陳丹強,等.基于ARM-WinCE的某型航空發(fā)動機溫控盒檢測儀設計[J].電子技術應用,2013,39(5):8-11.
[3] 鄒中華,吳陳,曾慶軍.基于S3C2410的直流電機PWM調速系統(tǒng)[J].微計算機信息,2008(24):130-131.
[4] 周立功.ARM&WINCE實驗與實踐—基于S3C2410[M].北京:北京航天航空大學出版社,2007.
[5] 何宗鍵.WindowsCE嵌入式系統(tǒng)[M].北京:北京航天航空大學出版社,2007.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。