利用dsp控制直流無刷電機(jī)

利用dsp控制直流無刷電機(jī)

ID:24999653

大?。?0.50 KB

頁數(shù):4頁

時間:2018-11-17

利用dsp控制直流無刷電機(jī)_第1頁
利用dsp控制直流無刷電機(jī)_第2頁
利用dsp控制直流無刷電機(jī)_第3頁
利用dsp控制直流無刷電機(jī)_第4頁
資源描述:

《利用dsp控制直流無刷電機(jī)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、利用DSP控制直流無刷電機(jī)摘要:介紹了一種利用雙口RAM實現(xiàn)DSP與單片機(jī)高速數(shù)據(jù)通信的方法,給出了它們之間的接口電路以及軟件實現(xiàn)方案?! 顟B(tài)之間轉(zhuǎn)換的各種條件均標(biāo)在圖4的各個箭頭上。硬件上的其他事件:定時器A0、A1、A2的輸入捕捉,A3的輸入捕捉和溢出,D0的輸出比較以及加減速按鍵都是通過中斷的方式打入。所以整個軟件的結(jié)構(gòu)如圖5所示?! ∠到y(tǒng)一加電,程序進(jìn)入初始化函數(shù)Initialize(),在這個函數(shù)中,做了以下工作:  ◆啟動直流電壓ADC;  ◆初始化Led,開始20ms的周期時鐘中斷D0;  ◆開關(guān)狀態(tài)初始化;  ◆P參數(shù)初始化;  

2、◆捕捉積分編碼器跳變沿的定時器A0、A1、A2初始化;  ◆相位檢測器初始化;  ◆ApplicationMode=Init;  ◆取得轉(zhuǎn)子位置,設(shè)好初始的導(dǎo)通相;  ◆PI控制器初始化;  ◆用于測量轉(zhuǎn)速的定時器A3的初始化?! 腎nitialize()返回后,立刻進(jìn)入前臺死循環(huán)。在轉(zhuǎn)子運行過程中,定時器A0、A1、A2輸入捕捉的發(fā)生,標(biāo)志著轉(zhuǎn)子運行到了一個需要換相的位置。輸入捕捉事件觸發(fā)中斷ISRQTimer(),在這個中斷服務(wù)程序中,完成以下的工作:  ◆從相位檢測器取得當(dāng)前積分編碼器的三路輸出狀態(tài);  ◆根據(jù)當(dāng)前積分編碼器輸出狀態(tài),判斷轉(zhuǎn)

3、子運轉(zhuǎn)方向;  ◆并調(diào)整P模塊的交換和屏蔽,即定子電流換相?! ∷哉f,定子電流的換相,是在緊隨著積分編碼器輸出跳變沿的中斷服務(wù)子程序中完成的。在判斷轉(zhuǎn)子運轉(zhuǎn)方向的時候,使用了一個常數(shù)組:DIRECTION_TABLE[8]={0,5,3,1,6,4,2,0}。這個數(shù)組元素的下標(biāo)和元素的值對應(yīng)轉(zhuǎn)子在順時針運轉(zhuǎn)情況下,當(dāng)前編碼器狀態(tài)和下一個編碼器狀態(tài)(見圖1)。比如,當(dāng)前編碼器輸出011,轉(zhuǎn)子磁場位于I區(qū),那么順時針運轉(zhuǎn)時,下一個編碼器狀態(tài)應(yīng)為001,這正好對應(yīng)于上述數(shù)組中,下標(biāo)為011的元素值為001。這樣,通過比較以編碼器上一個狀態(tài)作為下標(biāo)的數(shù)組

4、元素值與當(dāng)前狀態(tài)是否相同,就可以判斷轉(zhuǎn)子運轉(zhuǎn)方向。在實現(xiàn)定子電流換相時,也以當(dāng)前狀態(tài)為下標(biāo),從專門數(shù)組中取得P模塊通道交換與屏蔽所需的參數(shù)。在本應(yīng)用中,將三對P互補通道對的參數(shù)設(shè)成一致,通過屏蔽某一相,交換另外一相,實現(xiàn)定子繞組電流狀態(tài)的控制,如在圖2中,A相被屏蔽,B相頂功率管開關(guān)占空比為70%,而將C相兩個P通道交換,C相的底功率管開關(guān)占空比就由原來的30%成為70%,從而使電流由B相流入定子繞組而從C相流出,確定定子繞組B->C的電流狀態(tài)?! 》e分編碼器的某一路輸出,比如PHASEC的跳變,還觸發(fā)了定時器A3的輸入捕捉中斷。在輸入捕捉中

5、斷中,取得各個跳變沿之間的時間間隔,用來計算轉(zhuǎn)子速度。定時器A3的溢出中斷,也是為取得各個跳變沿之間的時間間隔服務(wù)?! ≡贗nitialize()函數(shù)中調(diào)用的LedInit()函數(shù)內(nèi)部已經(jīng)將定時器D0進(jìn)行了初始化,所以從那時開始,定時器D0開始運行,每20ms產(chǎn)生一個中斷,觸發(fā)中斷服務(wù)子程序LedISR()的運行。在LedISR()中,只是設(shè)了一個標(biāo)志位bLedISROccurred為真。但這會使得死循環(huán)內(nèi)ServiceLedISR()函數(shù)的具體內(nèi)容被執(zhí)行,而不是直接返回。ServiceLedISR()函數(shù)的具體代碼完成以下工作:  ◆Led閃爍周

6、期計算和控制;  ◆UpButton、Dos周期的ServiceLedISR()內(nèi)完成?! 〖訙p速按鍵也觸發(fā)中斷,在中斷服務(wù)子程序內(nèi),調(diào)用相應(yīng)函數(shù),實現(xiàn)系統(tǒng)設(shè)定速度的改變。

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。