新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于PIC單片機的永磁無刷直流電動機控制系統(tǒng)的開發(fā)

基于PIC單片機的永磁無刷直流電動機控制系統(tǒng)的開發(fā)

作者: 時間:2012-04-12 來源:網(wǎng)絡 收藏

表1 適用于PIC18F系列單片機的幾種嵌入式實時操作系統(tǒng)

1.jpg

結合本文的具體應用,綜合考慮系統(tǒng)硬件資源及上述幾種實時操作系統(tǒng)的特點,最終選用基于操作系統(tǒng)的軟件開發(fā)模式,并選擇μC/OS-II作為系統(tǒng)軟件平臺。

4.基于μC/OS-II的應用軟件開發(fā)

μC/OS-II是一個可移植、可固化、可裁剪及可剝奪型的多任務實時內核,應用開發(fā)時首先必須完成其在特定硬件上的移植。μC/OS-II在編寫的過程中就充分考慮到了可移植性,它的絕大部分代碼都由ANSI C寫成,與處理器相關的代碼集中在OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C這三個文件中,因此只要針對具體的硬件改寫這些文件,就可以完成移植工作。

移植成功之后,就可以開始應用程序的編寫工作。RTOS將面向功能的應用開發(fā)轉化為了面相任務的應用開發(fā),因此軟件開發(fā)的過程就是將應用系統(tǒng)按照功能細分為多個任務,然后實現(xiàn)每個任務,并為任務確定合適的優(yōu)先級;對于實時性要求高的操作,需要編寫相關的中斷服務程序。

正常運行的基本條件是:在最佳換相時刻按最佳換相邏輯換相。這個過程對實時性要求很高,所以由中斷服務程序完成。反電勢過零時,程序進入反電勢過零中斷服務程序,該中斷服務程序根據(jù)當前的電機速度設定軟件移相定時器的溢出值;當軟件移相定時器溢出中斷時,程序進入移相定時器中斷服務程序,顯然,此時即最佳換相時刻。因此,在移相定時器中斷服務程序中按最佳換相邏輯完成換相,就能保證電機的正常運行。此外,對于過流、過壓、欠壓等緊急故障的處理也必須由相應的中斷服務程序完成。系統(tǒng)還要完成的功能有:定時采樣速度給定,并將采樣結果經(jīng)過調節(jié)器轉化為PWM波的占空比;響應鍵盤輸入;顯示電機的速度、PWM波占空比等系統(tǒng)狀態(tài)信息;與上位PC機串口通信;系統(tǒng)非緊急故障的處理等等。這些功能對實時性的要求不是很高,故由任務級完成。應用系統(tǒng)的任務如表2所示。

表2 應用系統(tǒng)任務列表

2.jpg

系統(tǒng)運行時,首先進行系統(tǒng)初始化操作,并創(chuàng)建任務。所有新創(chuàng)建的任務都被置為就緒態(tài),操作系統(tǒng)內核首先調用就緒態(tài)中優(yōu)先級最高的任務運行。系統(tǒng)運行過程中,始終保證運行任務的優(yōu)先級高于就緒態(tài)中的所有任務。當運行著的任務因等待某一事件或延時而被掛起,或者有更高優(yōu)先級的任務進入了就緒態(tài),則內核中止當前運行著的任務,把CPU的使用權交給就緒態(tài)中優(yōu)先級最高的任務。當中斷發(fā)生時,系統(tǒng)運行中斷服務程序,中斷返回時,系統(tǒng)內核將進行任務調度,將優(yōu)先級最高的就緒態(tài)任務轉為運行態(tài)。例如,系統(tǒng)運行過程中發(fā)生了AD采樣完成中斷,程序進入AD采樣完成中斷服務程序;中斷服務程序向郵箱ADResult發(fā)送AD采樣結果,由于任務TaskAD早先因等待郵箱ADResult而被掛起,所以此時任務TaskAD的狀態(tài)被轉為就緒態(tài);中斷返回時,內核進行任務調度,由于TaskAD是就緒態(tài)中優(yōu)先級最高的任務(系統(tǒng)正常運行時TaskErr任務始終為掛起態(tài)),因此不管原先被中斷的任務是什么,系統(tǒng)都將運行任務TaskAD,這就保證了任務TaskAD具有足夠快的任務響應速度。TaskAD執(zhí)行一個循環(huán)后,又因等待郵箱ADResult而轉為掛起態(tài),內核再次進行任務調度,調用就緒態(tài)中的最高優(yōu)先級任務運行。

5. 結論

本文結合無位置傳感器的設計,針對系統(tǒng)具體要求,確定了以PIC18F452單片機為主控器件,μC/OS-II作為軟件平臺的開發(fā)方案。實際的開發(fā)過程證明了這種開發(fā)模式能夠滿足系統(tǒng)高性能、低成本的設計要求,同時具備了較強的可擴展性和一定技術前瞻性。

值得說明的是,在嵌入式系統(tǒng)中使用RTOS,增強了系統(tǒng)實時性,簡化了系統(tǒng)軟件設計;同時,也增加了系統(tǒng)的開發(fā)成本。一方面,操作系統(tǒng)本省會耗費一定的硬件資源(例如程序存儲器、數(shù)據(jù)存儲器、定時器資源等等),增加了系統(tǒng)的硬件成本;另一方面,若購買商用的實時操作系統(tǒng),需要額外的軟件支出,即使是使用免費的實時內核,也要求開發(fā)者對內核本省有深入的理解,需要投入相當?shù)木?。所以,雖然使用RTOS會給開發(fā)過程帶來一定的便利,但針對具體的應用,是否使用RTOS,若使用,具體選擇那種RTOS,都是制定系統(tǒng)方案時值得慎重考慮的問題。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉