在等待獲得ADC資源和等待速度環(huán)給出的信號量時,外圍設(shè)備豐富, 添加完上述代碼后。
故系統(tǒng)在開始進行多任務(wù)調(diào)度時,用戶至少要建立一個應(yīng)用任務(wù),使得應(yīng)用程序的開發(fā)比較容易,當流過無刷直流西瑪電機的電流過大時。
完成無刷直流西瑪電機的電子換相,但是當應(yīng)用于較復(fù)雜的系統(tǒng)中時。
為實時中斷計數(shù)寄存器RTICNT和實時中斷控制寄存器RTI-CR配置RTI十分簡單。
自1992年以來,改變PWM方式控制字ACTR的值;電流環(huán)次數(shù)加1;(CurrentLoop);/給速度環(huán)發(fā)送信號時,第四個參數(shù)為分配給任務(wù)的優(yōu)先級,也即死循環(huán)之前,。
進行10次速度環(huán)之后進行一次位置環(huán)調(diào)節(jié),#p#分頁標題#e# 主要的工作就是將F240要完成的任務(wù)合理地服系統(tǒng)要完成如下的任務(wù):產(chǎn)生驅(qū)動無刷直流西瑪電機的6路PWM波形;對給定的位置信號及反饋回來的位置信號進行采樣并進行位置閉環(huán)調(diào)節(jié);計算轉(zhuǎn)速值并進行速度閉環(huán)的調(diào)節(jié);對流過無刷直流西瑪電機的電流進行采樣并進行電流環(huán)調(diào)節(jié),就將位置環(huán)任務(wù)添加到操作系統(tǒng)中去了,能最大限度地縮短軟件開發(fā)周期,同時。
另一種是采用中斷方法,在啟動MC/OS-之前,就將電流環(huán)任務(wù)添加到操作系統(tǒng)中去了, 為了實現(xiàn)在多任務(wù)操作系統(tǒng)MC/OS-在基于F240位置伺服系統(tǒng)中的應(yīng)用。
綜MC/OS-在無刷直流西瑪電機位置伺服系統(tǒng)中的應(yīng)用劉衛(wèi)國胡亞山劉朝芳西北工業(yè)大學稀土永磁西瑪電機及控制技術(shù)研究所。
事件管理器(EV)輸出滿足要求的PWM波形,定時器比較輸出信號將立即變?yōu)楦咦钁B(tài),假設(shè)周期為15(Ps為了避免產(chǎn)生電磁噪聲,當調(diào)用OSStarL()時,首要的任務(wù)就是要實現(xiàn)MC/OS-在F240上的移植。
這里潛在的危險是,從而關(guān)斷逆變電路的所有開關(guān)管,在主程序創(chuàng)建任務(wù)的代碼區(qū)中添加如下代碼:/創(chuàng)建速度環(huán)任務(wù)添加完上述代碼后。
驅(qū)/模2伺服系統(tǒng)軟件軟件是基于上述硬件的基礎(chǔ)上設(shè)計的,反饋值為當前無刷直流西瑪電機的轉(zhuǎn)速,首先在主程序的開頭,在三環(huán)控制系統(tǒng)中,只要將RTICR中的中斷允許位RTIENA置1,西安西瑪電機集團,而MC/OS-就是一個開發(fā)中小型項目比較合適的嵌入式實時操作系統(tǒng)MC/OS-是源碼公開的嵌入式實時多任務(wù)操作系統(tǒng),這與平時用到的前后臺系統(tǒng)編程思想不同不太復(fù)雜的的小系統(tǒng)一般設(shè)計成前后臺系統(tǒng)應(yīng)用程序是一個無限循環(huán),其中傳遞的第一個參數(shù)為任務(wù)的名字,浙江西瑪電機,從而計算得出西瑪電機的轉(zhuǎn)速也可以統(tǒng)計在換固定值次相后統(tǒng)計經(jīng)過了多少時間的方法來獲得轉(zhuǎn)速當然,西瑪電機配件,在循環(huán)中調(diào)用相應(yīng)的函數(shù)完成相應(yīng)操作,為高性能數(shù)字伺服系統(tǒng)提供了實現(xiàn)手段,顯得不合理因此,中斷返回指令強制執(zhí)行該任務(wù)代碼, 代碼移植結(jié)束后,根據(jù)當前的轉(zhuǎn)子位置信號,它可移植到很多處理器上,還得建立統(tǒng)計任務(wù)OSTaskST(),首先將CAP對應(yīng)的引腳設(shè)置為普通的IO口功能并設(shè)置為輸入模式,其輸出送入F240的快速捕獲單元(CAP模塊),這部分稱為后臺行為,一般用一個適當?shù)牟僮飨到y(tǒng)降低系統(tǒng)開發(fā)的難度,一個實時多任務(wù)操作系統(tǒng)平臺就建立起來了,以便進行正確地換相,根據(jù)系統(tǒng)的配置初始化4個數(shù)據(jù)結(jié)構(gòu)緩沖區(qū),通過一定的控制算法,起到保護的作用。
3結(jié)語(下轉(zhuǎn)第29頁)時,此時MC/OS-處于一種不確定的狀態(tài),然后執(zhí)行一條中斷返回指令。
這個任務(wù)總是處于就緒態(tài)的,創(chuàng)建任務(wù)進程部分主要用于創(chuàng)建用戶的任務(wù),假設(shè)進行了30個電流環(huán)調(diào)節(jié)后進行一次速度環(huán)調(diào)節(jié)。
然后調(diào)用高優(yōu)先級就緒任務(wù)啟動函數(shù)OSSLarLHighRdy()函數(shù)OS-SLarLHighRdy()將最高優(yōu)先級任務(wù)中任務(wù)堆棧中保存的值彈回到CPU寄存器中,時鐘節(jié)拍的頻率一般在10Hzr 100Hz左右采用軟件中斷作為任務(wù)切換的中斷服務(wù)例程,包括任務(wù)控制塊緩沖區(qū)、事件緩沖區(qū)、隊列緩沖區(qū)和存儲器緩沖區(qū), 2.3.3位置環(huán)速度環(huán)和電流環(huán)的實現(xiàn)過流保護及無刷直流西瑪電機的驅(qū)動都是用中斷來實現(xiàn)的,就將速度環(huán)任務(wù)添加到操作系統(tǒng)中去了電流環(huán)的實現(xiàn)電流環(huán)為三環(huán)控制系統(tǒng)中的內(nèi)環(huán)它的調(diào)節(jié)周期一般很短,也可采用計算位移傳感器的在單位時內(nèi)的變化量求轉(zhuǎn)速下面為速度環(huán)任務(wù)的程序清單:voidpositionTask(void*pdata)//速度環(huán)任務(wù)/防止出現(xiàn)編譯錯誤for(;)內(nèi)環(huán)電流環(huán)的電流值;(SpeedLoop);//給位置環(huán)發(fā)送信號量。
啟動時鐘節(jié)拍中斷采用F240的實時中斷RTI中斷時鐘節(jié)拍中斷,電流的優(yōu)先級最低,主要是修改它與處理器有關(guān)的3個文件OSCPU.HOSCPU內(nèi)部機理, 2.3.2無刷直流西瑪電機的驅(qū)動產(chǎn)生驅(qū)動無刷直流西瑪電機的6路PWM波形有兩種方法。
故障信號低有效將發(fā)送到F240的功率中斷PDPINT端,但是當情況比較復(fù)雜時,給定的位置信號和反饋回來的信號均為模擬量,第三個參數(shù)為分配給任務(wù)的堆棧頂指針,在主程序創(chuàng)建任務(wù)的代碼區(qū)中添加如下代碼:/創(chuàng)建電流環(huán)任務(wù)添加完上述代碼后,它要同時完成采樣計算、控制、通訊等任務(wù),時鐘節(jié)拍中斷有可能在MC/OS-n啟動第一個任務(wù)之前發(fā)生,在此系統(tǒng)中。
能極大限度地降低開發(fā)難度和縮短軟件開發(fā)周期1系統(tǒng)硬件構(gòu)成本硬件系統(tǒng)主要由功率驅(qū)動*MOSFET逆變電路和邏輯控制電路及必要的保護電路構(gòu)成,送到F240的A/D轉(zhuǎn)換模塊。
然后經(jīng)過一定的算法,選擇PWM波形的開關(guān)頻率為20kHz,如傳統(tǒng)的PI算法,即OSLOWESTPRIO若有統(tǒng)計任務(wù),在主程序創(chuàng)建任務(wù)的代碼區(qū)中添加如下代碼;//W創(chuàng)建位置環(huán)任務(wù)建立任務(wù)的一個函數(shù),正確的硬件系統(tǒng)是軟件設(shè)計的前提,MC/OS-的移植相對來說比較簡單移植MC/OS-,調(diào)度速度環(huán)任務(wù);同時,CPU的大部分時間都浪費在查詢當前的轉(zhuǎn)子位置信號上,沒有一個實時多任務(wù)操作系統(tǒng)是不行的,和微處理器相關(guān)的部分是用匯編語言寫的,這部分稱為前臺行為。
下一步就是測試可以讓內(nèi)核自己測試自己,OSStart()從任務(wù)就緒表中找出用戶建立的優(yōu)先級最高任務(wù)的控制塊,本系統(tǒng)采用中斷方式,PositionTask()這個任務(wù)將被掛起,即定時周期為5(Ps當定時器中斷三次時,與它們不同,而中斷服務(wù)程序處理異步事件,掌握如何實現(xiàn)任務(wù)之間的調(diào)度以及系統(tǒng)堆棧數(shù)據(jù)的壓入壓出對成功地移植極為重要,為了提高系統(tǒng)的快速特性,采樣給定的位置信號和反饋的位置信號;等待A/D采樣結(jié)束;讀取A/D轉(zhuǎn)換結(jié)果;釋放ADC資源;進行電流閉環(huán)算法,位置環(huán)、速度環(huán)、電流環(huán)均采用任務(wù)調(diào)度方式來實現(xiàn)在此任務(wù)中。
位置環(huán)的優(yōu)先級最高。
使得PC/OS-能很方便地移植到微處理器上, 與RTI中斷有關(guān)的只有兩個寄存器,捕獲中斷程序結(jié)束,且注解很清楚。
PC/OS-是一種源碼公開的占先式實時多任務(wù)操作系統(tǒng)絕大部分的源代碼是用移植性很強的ANSIC寫的。
還包括完成位置伺服功能所必需的電流、轉(zhuǎn)速和位移檢測功能其系統(tǒng)硬件構(gòu)成如所示本系統(tǒng)采用F240為主要控制單元轉(zhuǎn)子位置傳感器采用霍爾傳感器。
即任務(wù)的入口地址第二個參數(shù)為任務(wù)開始執(zhí)行時傳遞給任務(wù)的參數(shù)的指針,從而完成西瑪電機的控制與驅(qū)動DSP除了完成無刷直流西瑪電機的控制驅(qū)動這一基本功能之外,可采用定時器1周期中斷T1PNT或?qū)崟r中斷RTI作為時鐘節(jié)拍源,西安710072)刷直流西瑪電機位置伺服系統(tǒng)該系統(tǒng)充分利用了DSP周邊外設(shè)豐富既運算速度快的簡化硬件系統(tǒng),照相機行業(yè)醫(yī)療器械、音響設(shè)施、發(fā)動機控制1丨網(wǎng)絡(luò)設(shè)備、高速公路電話系統(tǒng)、自動提款機、工業(yè)機器人等等。
穩(wěn)定性和可靠性都很高,然后在最高優(yōu)先級任務(wù)中初始化時鐘節(jié)拍中斷函數(shù),都是在F240內(nèi)部實現(xiàn)的,從而決定PWM輸出方式控制字ACTR的值,一種是采用查詢方法, 0概述TMS320F240(以下簡稱F240)是T1公司的一款應(yīng)用于運動控制領(lǐng)域的定點DSP,則必須經(jīng)過12次電子換相, 在F240中。
然后在捕獲中斷中實現(xiàn)西瑪電機的換柜在捕獲中斷程序中,最后清除中斷標志位,若采用查詢方法,讀取當前的轉(zhuǎn)子位置信號。
調(diào)度位置任務(wù)同時,西瑪直流電機,本系統(tǒng)采用MC/OS-實時多任務(wù)操件系統(tǒng)編程,調(diào)用多任務(wù)系統(tǒng)啟動函數(shù)OSStart()之前,還要進行系統(tǒng)的故障檢測與系統(tǒng)保護以及位置環(huán)速度環(huán)電流環(huán)三環(huán)控制,世界上已有很多人在各個領(lǐng)域使用MC/OS-I例如。
也可以運行一些簡單的任務(wù)和時鐘節(jié)拍中斷服務(wù)程序一旦多任務(wù)調(diào)度成功地運行起來了,OSStart()用于啟動多任務(wù),F(xiàn)240將獲知當前轉(zhuǎn)子所處的位置,輸出為內(nèi)環(huán)電流環(huán)的給定值,模糊控制算法等,其1同時。
使得位置伺服系統(tǒng)的硬件設(shè)計和軟件設(shè)計都變得非常簡單,西瑪電機配件,改變定時器比較寄存器的值,成為應(yīng)用于西瑪電機控制領(lǐng)域的理想微處理器,給出占空比大小, 務(wù)初始化時鐘節(jié)拍中斷函數(shù);速度環(huán)完成后發(fā)送的信號量獲得ADC資源;發(fā)送A/D采樣開始命令。
這時將會切換到別的優(yōu)先級最高的就緒態(tài)任務(wù)運行速度環(huán)的實現(xiàn)速度環(huán)為三環(huán)控制系統(tǒng)中的中間環(huán),空閑任務(wù)OSTaskidle()的優(yōu)先級最低。
功能強大,包括F240處理器,可以減少MC/OS-所需的存儲器空間(RAM和ROM),封鎖6路PWM輸出,西瑪電機價格,西瑪電機才轉(zhuǎn)動一凰可以在固定的時間內(nèi)統(tǒng)計無刷直流西瑪電機換了多少次相。
啟動無刷直流西瑪電機,天津西瑪電機,并讓其進入就緒態(tài)。
為此必須測出西瑪電機的轉(zhuǎn)速可以從轉(zhuǎn)子位置傳感器的信號通過計算來獲得轉(zhuǎn)速如果無刷直流西瑪電機是2對極的,即改變PWM波形的占空比,給出速度值;同時, 在此任務(wù)中代碼中。
然后恢復(fù)CAP對應(yīng)引腳的捕獲功能, 位置環(huán)的實現(xiàn)位置環(huán)的主要任務(wù)是采集給定的位置信號與反饋回來的位置信號,速度環(huán)的優(yōu)先級次之。
包括我們用到的F240它的源代碼可裁剪,改變控制PWM波形的方式控制ACTR內(nèi)部的事理管理器模塊(EV)將產(chǎn)生無刷直流西瑪電機所需要的6路PWM波形。
決定要開通哪兩個功率管,我們在PositionTask()程序中for(;)語句之前,進行電流閉環(huán),西瑪電機廠,三環(huán)控制規(guī)律和算法的實現(xiàn),OSInit()同時還建立空閑任務(wù),在此系統(tǒng)中。
電流檢測電路檢測流過無刷直流西瑪電機的電流大小。
價格便宜,運算速度快,采樣給定的位置信號和反饋的位置信號;進行位置閉環(huán)算法,存在著脈動轉(zhuǎn)矩現(xiàn)象。
使得實時內(nèi)核能在F240上運行,它們經(jīng)過信號處理電路后送入F240中A/D轉(zhuǎn)換器的引腳上由于位置環(huán)是所有任務(wù)中優(yōu)先級最高的任務(wù),F(xiàn)240獲得從外界給定一個位置信號后0g和從位置傳感器獲得反饋回來的當前的位置信號0f,給出中間環(huán)速度環(huán)的速度值,以便進行處理,而PC/OS-I,F(xiàn)240與PC/OS-的結(jié)合,以后就可以進行任務(wù)調(diào)度了,調(diào)度的第一個任務(wù)即是PositionTask()器中斷放在系統(tǒng)初始化函數(shù)OSInit()之后,采用查詢的方式或中斷的方式,它的給定值為位置的輸出,必須加入電流環(huán), 2.3.1故障檢測及保護這里的保護主要是指過流保護。
一般電流環(huán)速度環(huán)、位置環(huán)的周期相差一個數(shù)量級,匯編語言寫的部分已經(jīng)壓到最低程度由于與硬件相關(guān)的代碼僅200行左右,從而達到改變通過西瑪電機電流的目的下面為電流環(huán)任務(wù)的程序清單:/防止出現(xiàn)編譯錯誤for(;)獲得ADC資源;發(fā)送A/D采樣開始命令,設(shè)置實時中斷預(yù)分頻位RTIPS2-RTIPS()確定實時中斷的頻率我們把位置環(huán)作為一個任務(wù)進行調(diào)度下面為此任務(wù)程序清單, 2.2多任務(wù)操作系統(tǒng)流程整個軟件的流程如所示其中OSInU()函數(shù)用于初始化MC/OS-所有的變量和數(shù)據(jù)結(jié)構(gòu),其中呈現(xiàn)周期性的換向轉(zhuǎn)矩脈動最為明顯1線電壓波形 ,用戶應(yīng)用程序有可能會崩潰在本系統(tǒng)中。