www.e4938.cn-老师你下面太紧了拔不出来,99re8这里有精品热视频免费,国产第一视频一区二区三区,青青草国产成人久久

<button id="60qo0"></button>

<strike id="60qo0"></strike>
<del id="60qo0"></del>
<fieldset id="60qo0"><menu id="60qo0"></menu></fieldset>
  • μCOS-Ⅱ在無刷直流電機位置伺服系統(tǒng)中的應(yīng)用

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

    責(zé)任編輯:電小二

    免責(zé)聲明:本文僅代表作者個人觀點,與本站無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實,對本文以及其中全部或者部分內(nèi)容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關(guān)內(nèi)容。
    我要收藏
    個贊
    ?
    国产精品毛片一区二区三区| 国产AV无码专区亚洲AV果冻传媒| 99国产精品农村一级毛片| THEPHORN肥嫩水蜜桃| 真实国产乱子伦对白视频37P| GOGOGO高清免费观看直播的| 国产片婬乱一级吃奶毛片视频| 最好看的2019中文大全在线观看| 精品国产一区二区三区| 三年片免费大全国语|