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


STM32 Foc開源算法是什么
如何對(duì)電機(jī)控制算法FOC進(jìn)行調(diào)試
永磁同步電機(jī)FOC控制算法的控制目標(biāo)是什么
foc控制算法及原理詳解

foc電機(jī)控制算法的調(diào)試經(jīng)驗(yàn)

評(píng)論