一、基本概念:
FOC(field-oriented control)為磁場導向控制,又稱為矢量控制(vector control),是一種利用變頻器(VFD)控制三相電機的技術,利用調整變頻器的輸出頻率、輸出電壓的大小及角度,來控制電機的輸出。由于處理時會將三相輸出電流及電壓以矢量來表示,因此稱為矢量控制。
二、控制原理:
FOC控制的其實是電機的電磁場方向。轉子的轉子力矩正比于定子的磁場向量與轉子磁場矢量的矢量積。由矢量的關系可知,若使電機的轉矩時刻保持最大,則定子磁場向量應與轉子磁場向量相互垂直。又因為磁場的大小與方向與電流的大小與方向有著直接的關系,所以在用FOC控制算法控制BLDC時的關鍵就是控制三相輸入的電流大小與方向。而控制電流產生定子磁場與轉子磁場垂直的關鍵在:控制穩定的三相輸入電壓及其電流向量,并且我們得知道轉子的實時位置。
輸入電流的方向控制,FOC給出了空間電流矢量的概念。其實質是將三相的電流矢量結合,再分解為垂直和平行于轉子磁體軸方向的兩個分量即d-q結構。垂直方向的電流分量所產生磁場正交于轉子的磁場,這就產生了旋轉力矩。而平行于轉子磁軸方向的電流分量,所產生的磁場與轉子磁場一致,就不會產生任何的力矩。另外,一個好的控制算法就需要使這個平行于轉子磁軸方向的電流分量盡量最小化,因為,這個電流分量只會使電機產生多余的熱量,并加劇軸承的磨損。我們需要控制線圈的電流,以使垂直于轉子磁軸方向的電流分量達到最大。由此而得到的電機力矩和這個電流分量的大小成比例。
為了使與轉子磁場同向的定子電流矢量最小化(為零)且垂直的磁場最大化,定子線圈內的弦波電流需要隨著轉子的轉動角度實時地進行相位調整。控制穩定的三相電流輸入可以建立P-I控制器,P-I控制是在不停的調制輸入,一旦電機電流被轉化成d-q結構,控制將變得非常簡單。我們需要兩路P-I控制器;一個控制平行與轉子磁場的電流,一個控制垂直向電流。因為平行向電流的控制信號為零,所以這就使電機平行向的電流分量也變成零,這也就驅使電機的電流矢量全部轉化為垂直向的電流。由于只有垂直向電流才能產生有效的力矩,這樣電機的效率被最大化。另一路P-I控制器主要用來控制垂直向的電流,以獲得與輸入信號相符的需求力矩。這也就使垂直向電流按照要求被控制以獲得所需的力矩。
轉子的實時位置的確定有兩種情況:有位置傳感器、無位置傳感器。對于有傳感器,由于電機的傳感器(一般為編碼器)能反饋電機轉子的位置信息,因此在控制中可以不使用位置估算算法,控制起來相對無傳感器簡單,但是對帶傳感器的電機應用來說,往往對控制性能要求較高。對于無傳感器,由于電機不帶任何傳感器,因此不能通過簡單讀取傳感器的測量值來得到電機轉子的位置信息,所以在控制中需要通過采集電機相電流,使用位置估算算法來計算轉子位置。
具體的FOC控制原理圖:
1、采集到兩相電流
2、經過clarke變換后得到兩軸正交電流量,
3、經過旋轉變換后得到正交的電流量 Id、Iq,其中Iq與轉矩有關,Id與磁通有關。在實際控制中,常將Id置為0。得到的這兩個量不是時變的,因此可以單獨的對這兩個量進行控制,類似直流量控制一樣。而不需要知道具體要給電機三相具體的電壓為多少。
4、將第3步中得到的Iq與Id量分別送進PI調節器,得到對應的輸出Vq和Vd;
5、通過傳感器得到電機轉過的角度。
6、進行逆park變換,得到二軸電流量。
7、對第6步中的Va,Vb進行逆clarke變換,得到實際需要的三相電壓輸入給逆變電橋,驅動電機轉動。
三、坐標變換理論:
坐標變換理論可以降低馬達方程的復雜性,利用坐標變換把定子及轉子變量變換到一個旋轉坐標系中,該坐標系的轉速為角速度ω。
假設fax, fbx, fcx 為三相瞬時變量,位于相移120度的a,b,c坐標上,fqx, fdx, f0x 為其變換變量,位于正交坐標d,q上:
變換方程為:
3個變換方程用于矢量控制:
Clarke: ω=0, θ(0)=0 -> θ=0;
Park: ω=ωr, θ(0)=θr(0) -> θ=θr;
反Park: ω=-ωr , θ(0)= θr(0) ->θ=-θr
所以有:Clarke將定子電流轉變為靜止直角參考坐標(稱αβ坐標);然后,Park將電流轉變為按隨機的速度旋轉的坐標為(磁場定向控制,與轉子同步);反向Park變換使反電動勢從旋轉坐標(q, d)到靜止坐標。變換過程如下圖:
Clark變換應用于定子電流:
Park變換應用于定子電流:
Park逆運算變換應用于定子電壓:
程序的運行過程:
1、程序先通過 ADC 采樣,對 BLDC 電機的 a、b 兩相進行電流采樣;
2、通過 Clarke() 函數將 a、b 兩相電流轉換為靜止坐標系上的電流 Iα、Iβ ;
3、由 Park() 函數將電流 Iα、Iβ 和經 DAC 轉換的旋轉角度θ轉化為電流 Iq、Id;
4、將電流 Iq、Id 的電流差輸入到建立的 PI 控制器里,通過調節適當的 PI 控制系數輸出最佳的旋轉電壓Vd、Vq;
5、用 Circle Limitation 來限制 Vd、Vq 的值以選擇恰當的值;
6、用 Rev_Park()函數將旋轉電壓 Vd、Vq 轉換為靜止坐標系上的電壓Vα、Vβ;
7、通過三電阻式相電流重構法將電壓 Vα、Vβ ,重新建立為 BLDC 電機的三相電壓 Ux、Uy、Uw 的大小;
8、用 SV_PWM 算法計算矢量及其分分扇區的扇區信息,通過控制 TIM 控制6個 MOSFET 管來控制各相電壓方向以達到最后的控制目的。
四、扇區的計算:
扇區六種狀態的計算方式,令 N=4*C+2*B+A; N值與扇區的對應關系:
基本矢量作用時間計算與三相 PWM 波形的合成:
PWM 周期計數器的值------為NTpwm=fdsp/fs/2。
發波系數:
Unom 為系統額定電壓(線電壓),開關頻率為 fs ,系統時鐘為 fc,輸入額定電壓 Udc,則PWM周期計數器的值:NTpwm=fc/fs/2。
又有電壓基值,實際電壓 U=U'Ubase,U'為標幺值,可以計算得到各扇區基本矢量的作用時間:
五、AD采樣:
STM32 的12位ADC是一種逐次逼近型模擬數字轉換器。它有多達18個通道,可測量16個外部和2個內部信號源。各通道的A/D轉換可以單次、連續、掃描或間斷模式執行。ADC的結果可以左對齊或右對齊方式存儲在16位數據寄存器中。
ADC采樣程序流程:
1、采樣前需要讀取三個采樣通道的零電流值,以進行傳感器校準;
2、ADC經TIM1的N通道進行上升沿實踐觸發后進入中斷,進入起動模式,通過FOC驅動算法獲得采樣值,用計算出的值Vα、Vβ來判斷其所在扇區位置和三相PWM輸出的占空比;
ADC采樣注意事項:只有在下橋臂打開時由SVPWM的當前扇區決定該讀哪兩相電流,程序中只采樣A、B相電流,C相的電流通過 Ia+Ib+Ic=0 的電機電流關系得出。
每次橋臂開關狀態有變化時,會在shunt電阻上的電壓產生一個電子干擾,時間長度為TNoise,且當下橋臂打開后,需要等待一段時間來使shunt電阻上的電壓達到穩定值,時間長度為TRise,所以在TNoise 及TRise期間不能讀相電流;
單電阻采樣的時刻與三電阻不一樣,且對于變負載或者位置環的應用,單電阻采樣不準,因此不建議采用。
六、磁鏈輸出限制
對于FOC算法,Vqs與Vds是由2個PID調節器單獨計算的,因此需要正確計算電壓矢量V,使之輸入到SVPWM模塊最大的電壓幅值為:S16_MAX (即:32767)。
七、單電阻采樣的原理:
對于一個電機驅動硬件系統,硬件的簡化框圖如下:
對于下橋臂的每一個開關狀態,其對應的流過采樣電阻的電流如表1。T4, T5 及T6 的開關狀態與T1, T2 及T3互補。在表1中, 值“0” 表示開關管關閉,而“1”表示開關管打開。
其最終生成的輸出PWM如下圖所示:
使用中心對稱模式, 每個PWM 周期被分成7個時間段;
? 在其中的三個時間段(I,IV,VII),電阻中的電流為0;
? 在其余的時間段,由于PWM為中心對稱模式,電阻中的電流是對稱的;
? 如圖所示,存在兩種情況:
? 時間段II 及VI, iShunt = –iC;
? 時間段III 及V, iShunt = iA;
? 因此,此時有可能從采樣值重建馬達的三相電流:
? 時間段III 及V , iA = iShunt
? 時間段II 及VI, iC = -iShunt
? iB = -iA - iC
由于電流會有一定的穩定時間,我們需要避開這個時間。
定義‘TRise’: 任一管子開關后,ADC通道上的輸入信號的穩
定時間;
定義Tmin: 執行電流采樣所需要的最小時間:等于TRise +
ADC 采樣時間+ 死區時間;
定義DMIN :TMIN的占空比的表達形式
則由圖可以看出,AD采樣是需要避開電流穩定的時間段,通常是通過延時一段時間后采樣來實現的。但是,存在以下兩種情況,就會衍生出電流采樣不準的問題:
1、相鄰空間矢量扇區的邊界區域
在相鄰的兩個空間矢量扇區的邊界區域, 有兩個橋臂的占空比幾乎相同;
在這種情況下,七個子時間段變成了五個,這樣的后果為:只可能采樣到兩個相電流中的一個;
因此,如果電壓矢量進入到下圖的灰色區域,就不能在同一個PWM周期中同時采樣到兩個相電流。
2、低調制比
在低調制比的情況下,三個橋臂的占空比幾乎相同;
? 在這種情況下,七個子時間段變成了三個;
? 在所有的三個時間段,流過采樣電阻的電流為0;
? 這就意味著當電壓矢量進入下列灰色區域時,無法采樣到相電流。
備注: 三電阻可以在任何時刻采樣,不存在此類問題。
對于FOC庫里面的電流采樣的函數,主要是以下幾個:
原文鏈接:
https://blog.csdn.net/qq_27575841/article/details/109789125
-- END --
免責聲明:本文轉自網絡,版權歸原作者所有,如涉及作品版權問題,請及時與我們聯系,謝謝!
-
變頻器
+關注
關注
253文章
6756瀏覽量
147817 -
算法
+關注
關注
23文章
4678瀏覽量
94303 -
矢量控制
+關注
關注
2文章
289瀏覽量
32587 -
FOC控制
+關注
關注
0文章
47瀏覽量
3055
發布評論請先 登錄
相關推薦
FOC控制算法的Simulink模型


STM32 Foc開源算法是什么
foc控制算法及原理詳解

評論