FOC及無感控制的算法移植指南_第1頁
FOC及無感控制的算法移植指南_第2頁
FOC及無感控制的算法移植指南_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、FOC及無感控制的算法移植指南1、下載正確的FOC源代碼目前市面上主流的能驅動電機的 MCU?;旧隙紟в?FOC庫。很多公司還提供可以用于修改的 FOC源代碼。還有些甚至于提供了無位置算法的源代碼??梢韵螺d到代碼的有 ST, TI, MICROCHIP, NXP, RENESAS等芯片公司。直接到官網(wǎng)下載即可。為保證代碼的可行性, 最好從官網(wǎng)下載代碼。 不要從第三方下載。 避免產(chǎn)生不必要的調(diào)試過程。2、找到與芯片的硬件初始化相關的代碼。ADC 部分的初始化。不同的芯片,ADC工作模式不同。ADC的初始化方法以及數(shù)據(jù)采樣方法不同。ADC的采樣,根據(jù)電路結構不同。完全不同。單電阻采樣模式。需要在

2、一個三角波內(nèi),進行兩次ADC采樣。而且軟件還要特殊處理。才能做到采集的數(shù)據(jù)。這種方式下。ADC需要有一個專用的定時器配合來實現(xiàn)ADC采樣。兩電阻或電流傳感器方式下,ADC 有兩種模式可以實現(xiàn)。一種是在波峰或波谷的前后一點位置處,觸發(fā)ADC 采樣。另一種方式,就是在定時器的波峰或波谷中斷進入后,第一時間進行 ADC采樣。ST的 ARM 芯片CORTEX-M0系列,由于只有一組證。所以, 數(shù)據(jù)采集通常采用DMA中。ADC單元,且的方式。 將多個ADC轉換出來的結果只有一個緩沖區(qū)保ADC采樣到的數(shù)據(jù)緩存到一個 ADC數(shù)組如 M3 或 M4 等系列。 MCU 有兩組 ADC 單元。可以一次性采樣兩個通

3、道。在波峰波谷中斷的模式下,可以設成分時采樣不同的通道。也可以用DMA 方式采樣( ST 的 2 個 ADC單元,輸出結果地址是相連的。且剛好組成了一個32 位數(shù),用DMA 方式,可以一次將兩個 ADC單元的結果全部采樣出來。)RENESAS等芯片, ADC 的輸出結果是根據(jù)通道來設定的緩沖。因此,只需要觸發(fā)ADC即可。 ADC轉換后的數(shù)據(jù), 分開存放在不同的寄存器當中。所以,這類芯片, 可以省掉DMA的操作方法。定時器部分定時器根據(jù)電機的載頻來設定。生成三角波 (遞增計數(shù)到設定值以后,開始遞減計數(shù)) 。需要處理的內(nèi)容,分別是互補的死區(qū)設定、中斷的方式(上溢中斷、下溢中斷、上 / 下溢中斷)。

4、中斷的頻率( 16K 的 PWM 頻率,可以設定 8K 的電流或 4K 的電流環(huán)。利用中斷次數(shù)控制來實現(xiàn))。編碼器部分不同的芯片,對于正交編碼器的接口不同。接到不同的 IO 引腳上。然后選擇正確的定時器資源來實現(xiàn)自動計數(shù)功能。FO 保護(自動剎車控制)FO 保護由IPM 或 IGBT 驅動或單獨設計的電路產(chǎn)生信號。通過專用的保護引腳來實現(xiàn)MCU 自動關閉 PWM 輸出。從而實現(xiàn)負載突然短路的情況下, 快速關閉輸出。 保護電路不受影響。 這個引腳,在很多芯片廠家, 是有數(shù)字濾波參數(shù)可以設定。 用來避免突然出現(xiàn)的小尖鋒干擾。3、FOC代碼部分一般 FOC代碼函數(shù)分成:ADC采樣處理,采樣電機的電流

5、,可以采樣IA,IB,IC。也可以采樣IA 和IB(當然,采樣IB 和 IC 也可以,但需要計算一次得到。根據(jù)流,求出第三相的電流。單電阻采樣,也會生成IA+IB+IC=0的公式可以根據(jù)其中的任意兩項電IA 和 IB 兩組電流。Clarke 變換,將 ADC 采樣到的三相電流合成兩相電流。生成 I_alpha 和 I_beta 兩個電流。Park 變換,將 alpha 和 beta 兩個電流與電相度通過三角函數(shù)的方式。合成 ID 和 IQ 電流。InvPark 變換(反Park 變換),將VD 和 VQ 轉換成 Valpha 和 Vbeta.InvClarke 變換(反Clarke 變換) ,

6、將 Valpha 和 Vbeta 轉換成三相電壓值。扇區(qū)計算,通過三相電壓,計算出正確的扇區(qū)值。PWM數(shù)據(jù)輸出,根據(jù)扇區(qū)值和三相電壓值,計算出三路PWM值。4、調(diào)試技巧1、確認硬件的接入正常上電后,先對IA, IB, IC 的輸入 AD 進行監(jiān)測??纯戳泓c狀態(tài)的AD 是否正常。通常零點的AD 都設在 1/2 的 VCC附近。以12 位的 ADC 為例,這個零點的ADC 是 2048正負100 以內(nèi)。然后,對母線電壓的 ADC 進行監(jiān)測。特別是用到了無位置或母線電壓補償?shù)乃惴āδ妇€電壓的準確性,要求比較高。 母線電壓太低或太高,都將導致輸出的不正常(嚴重時,電機都無法運轉)。最后,對于有位置傳

7、感器的硬件, 旋轉一下電機。 查看一下編碼器的 A/B/Z ,U/V/W輸入信號是否正常。2、確認IQ 和ID 的極性的正確。注:為防止硬件受損。程序做個最長時間的控制。進入設 0.5 秒到 1 秒。軟件自動關閉輸出。PWM輸出以后,最長工作時間將 PID 控制部分屏蔽掉。給 VD 和 VQ 設一個固定值。可以試著設定 5V。根據(jù)當前的母線電壓。 5/ 母線電壓 *VDVQ 的最大值。例:母線是 60V, VDVQ 的最大值是 32768,則設定VD=5/60*32768先設VD=5V, VQ=0,用軟件示波器查看,電流檢測的IA,IB 或IC, I_alpha 、 I_beta, ID、IQ

8、。正確的情況下,ID 比 IQ 大很多 ,且 IQ 基本上趨于0,ID 是正數(shù)的電流。剛開始電機可能會轉一下。這是因為電機當前的角度不在0 點附近。這個時候,ID 會出現(xiàn)變化。但第二次以后,電機的停止位置處于0 點附近。很明顯的看到ID 電流是一個直線。再設 VQ=5V,VD=0,用軟件示波器查看,可以看到IQ 電流明顯大于ID 電流。且 ID 基本上趨于 0。 IQ 電流是正數(shù)。通過以上操作。如果IQ 和ID 都是正常狀態(tài)。則表示電流檢測的軟件和硬件是正確的??梢赃M入下一步操作。調(diào)試過程中,如果IQ 和ID 出現(xiàn)了電流是負數(shù)。有以下幾種可能A、電流檢測的方向出錯。CurA = CurA_Of

9、fset - NowAB、 IA 和 IB 的引腳對應錯了。或CurA = NowA - CurA_OffsetC、 PWM 的方向可能有錯。三角波的PWM 。0RPM 輸出的時候, PWM 輸出并不是0,而是載頻周期的一半。以ST 為例: PWM 有兩種模式。PWM1 和 PWM2 兩種模式下的數(shù)值剛好是反的。給PWM 占空比賦值的時候,一種是直接把計算值輸出。另一種是用周期-計算值輸出。3、強拖運轉測試及電流檢測標幺值檢測當?shù)谝徊酵瓿梢院螅?就要試著強拖一次。看看電機是否能正常運轉。關鍵是針對有編碼器的系統(tǒng)。查看一下電機運轉方向所顯示出來的編碼器的AB 方向是否正確。強拖測試,可以不需要任

10、何傳感器的介入。也不需要關心電機的UVW 動力線是否連接正確。強拖的方法:首先,設一個固定大小的IQ 數(shù)據(jù),且初始的電角度為0。如果電機是空載,那么這個電流可以設為1A 左右。這個電流下,持續(xù)1 秒鐘內(nèi),電角度始終為0, 1 秒鐘以后,電流可以減少1/2,電角度按 200RPM 左右的速度增加。200RPM 是機械角度。轉換成電角度時,要乘以電機的極對數(shù)。通常折算每MS 增加多少個電角度,以 200RPM 為例: =200/60*360/1000*PP ,其中 PP 為電機的極對數(shù)。這樣強拖10 圈以上,就可以停止了。電流檢測標幺值正確性驗證:最好用兩個電流探頭(如果只有一個探頭,可能需要多強

11、拖幾次,保證所采樣的電流是正確的。最好把強拖關閉,只做定位),分別接到電機的動力線上。查看軟件設定的1A 電流,與實際的1A 是否符合。如果不符合,則需要檢查電流檢測電路是否出問題或者放大倍數(shù)計算是否有誤等。強拖環(huán)節(jié)的另一個關鍵點是,編碼器數(shù)據(jù)的方向。如AB 和 UVW 方向。因為強拖是角度增加,假定這個方向為正轉。那么最好是AB 是增加。如果 AB 是減少。有一個軟件辦法解決。 ( NOW_AB = 0XFFFF,僅限于 16 位計數(shù)器 ),這樣操作一下??梢愿淖儤O性。4、速度傳感器的加入采用增量式編碼器的系統(tǒng)。速度計算,有兩種方法M 和 T。分別是采樣脈沖寬度(用于低速檢測)和脈沖個數(shù)(中

12、高速)。簡單的操作,直接采用T(計數(shù))方法。由于低速比較難統(tǒng)計到個數(shù)。因此,速度采樣通常設為 2MS 采樣一次。以200RPM 且編碼器為360 線為例: =200/60* ( 360*4 )/1000*2, 則每 2MS, AB 變化9.6個。速度計算采用AB 個數(shù) *AB/1MS對應的速度。1AB/(360*4)*1000*60=41.6666RPM,由于是 2MS 采樣一次, 所以 AB/2MS=20.8333RPM,因為是小數(shù),采用Q8格式以后 =5333 ,若 2MS 內(nèi),變化AB 個數(shù)為10 個,=10*5333/256=208RPM由于低速時, AB 個數(shù)變化對速度的統(tǒng)計影響比較

13、大。因此,通常將速度計算分成高速和低速兩種計算結果。 低速計算時, 加入一級低通濾波。 這樣得到的低速就會比較平滑一些。做低速控制時,電機不容易抖動。5、位置傳感器的加入(扇區(qū))當系統(tǒng)加入了UVW 扇區(qū)位置檢測以后,可以使得電機啟動時,直接在扇區(qū)內(nèi)啟動,無需再增加定零位了。相當于已知當前的電角度,可以快速啟動。針對 UVW 扇區(qū)傳感器,有兩種操作方式。一種是UVW 傳感器的安裝位置與轉子位置是完全固定的。因此,任意互換電機后,角度是基本上一致的。還有一種是UVW傳感器的安裝與轉子位置并非完全一致。碰到這種情況,就需要將這個電機的UVW 信息與電角度做配對操作。實際上,無論是哪一種安裝方式。第一

14、次使用FOC的時候,都有一個配對的過程。這個過程,實際上也是利用強拖來完成。以下方法,適用于帶AB 的系統(tǒng)操作。強拖開始時,有個定位過程。這個過程是強制電機運轉到零位。為了操作簡單化,UVW 的配對操作。定位時,采用ID=設定。 IQ=0 的方法。這樣的操作,是為了方便后續(xù)的電角度直接使用。針對帶 AB 的系統(tǒng)。強拖定位時間完成時,將AB 的當前計數(shù)清零。將當前的UVW信息存儲起來。強拖過程中,對 UVW 信息進行連續(xù)檢測。 當檢測到的UVW 信息與存儲起來的UVW信息不同時,將當前的AB 角度、扇區(qū)UVW 信息存起來。并更新UVW 存儲信息。當連續(xù)檢測到2 個或以上的機械角度以后。停止強拖。

15、開始統(tǒng)計信息。統(tǒng)計時,第一步將AB 角度轉換成電角度。超過一圈電角度的,取電角度的模。第二步將多組電角度進行求平均處理。得到每個扇區(qū)所對應的電角度數(shù)據(jù)。第三步將這些數(shù)據(jù)存儲起來,寫入FLASH或 EEPROM中。做為以后運轉的計算用。后續(xù)電機啟動時,根據(jù)當前的扇區(qū)號。取出當前扇區(qū)的數(shù)據(jù)和下一個扇區(qū)的數(shù)據(jù),兩者相加除 2(程序要處理數(shù)據(jù)越界現(xiàn)象),得到中間角度值。然后,以這個角度值,直接啟動即可。且要求在檢測到下一個 UVW 信號沿的時候,更新一次角度(根據(jù)電機的運轉方向,賦不同方向 UVW 所對應的電角度的邊沿值)。5、其它技巧1、編碼器AB 個數(shù)的處理。在使用編碼器的AB 計數(shù)時,可以利用數(shù)

16、字溢出的原理來解決極性問題。使用16位的寄存器全員值,0-65535,本次的計數(shù)減去上一次的計數(shù),得到一個Delta_AB。正轉的時候,這個數(shù)字會是正向增加的。用一個有符號的16 位數(shù)據(jù)來處理這個數(shù)據(jù),非常簡單。機械角度,旋轉一圈以后,CPR*4,剛好是一圈的機械AB 個數(shù)。超過這個數(shù)據(jù)的時候,即進入下一圈的角度了。機械角度也一直累加Delta_AB 即可。當超過CPR*4 時,減去一個 CPR*4 即可。當數(shù)據(jù)小于0 時,加一個CPR*4即可。2、Q 格式在計算過程中, 經(jīng)常會出現(xiàn)小數(shù)。但便宜單片機往往不支持浮點運算。因此。必須使用 Q 格式來完成計算。但 Q 格式在使用時,一定要注意。Q 格式運算是有損的。Q 格式的格式越大,計算的變量越大。如果超過64 位。則很難參考計算。所以,Q 格式計算時,往往需要根據(jù)變量的有效范圍,預先計算好Q 格式的范圍。如果數(shù)據(jù)結果是16 位,數(shù)據(jù)源在256 以內(nèi),那么 Q 格式最大不能越過8,否則就會出現(xiàn)越界現(xiàn)象。Q 格式在數(shù)據(jù)計算時,因為精度有限, 長時間累加的時候,容易出現(xiàn)數(shù)據(jù)慢慢丟失的現(xiàn)象。精度要求高一的點的計算。通常

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論