foc学习笔记1——准备工作
foc學(xué)習(xí)筆記1——準(zhǔn)備工作
寫在前面:如今網(wǎng)上關(guān)于foc的文章和教程很多,但初學(xué)者往往會(huì)被那些專業(yè)且復(fù)雜的公式搞暈,不知道自己到底在學(xué)什么。而本文旨在幫助大家梳理思路,如果各位看了其他文章有云里霧里的感覺、不思其解的地方,或許本文能為您解惑。但本文也只能起到輔助作用,并不是零基礎(chǔ)教程,還請(qǐng)結(jié)合其他文章一同學(xué)習(xí)。
最后:本人既不是電機(jī)工程師也不是相關(guān)專業(yè)的學(xué)生,純屬個(gè)人理解,有什么錯(cuò)誤還請(qǐng)指出,也希望各位專業(yè)人士能嘴下留情。
1.foc是什么
(1)電機(jī)持續(xù)轉(zhuǎn)動(dòng)的秘密:換相
? 首先說一說為什么電機(jī)能夠轉(zhuǎn)動(dòng):電機(jī)的線圈繞組就相當(dāng)于電磁鐵,通電后能夠產(chǎn)生磁場,而轉(zhuǎn)子上裝有永磁體。根據(jù)同性相斥異性相吸的原理,轉(zhuǎn)子的N極會(huì)吸向定子的S極、轉(zhuǎn)子的S極會(huì)吸向定子的N極。
? 然后呢,轉(zhuǎn)子不就被吸住不再轉(zhuǎn)動(dòng)了,那怎么樣才能讓電機(jī)不停轉(zhuǎn)動(dòng)呢?很簡單,換一個(gè)繞組繼續(xù)通電,產(chǎn)生另一個(gè)方向的磁場,重新讓轉(zhuǎn)子轉(zhuǎn)動(dòng)。每當(dāng)轉(zhuǎn)子轉(zhuǎn)到特定位置便換一個(gè)繞組繼續(xù)通電,如此循環(huán)往復(fù)下去,電機(jī)便可不停旋轉(zhuǎn)。用專業(yè)點(diǎn)的說法,這叫“換相”。
? 上圖這樣的換相方式便是六步換相法,轉(zhuǎn)子每轉(zhuǎn)過60°換一次相,換相6次即轉(zhuǎn)過一圈。在每個(gè)60°的扇區(qū)內(nèi),電機(jī)只有兩相線圈繞組是通電的,第三相截止(或懸空)。使用這種驅(qū)動(dòng)方式便可以讓我們的無刷電機(jī)或是永磁同步電機(jī)轉(zhuǎn)起來了。(圖隨便畫的,知道意思就行,不用太糾結(jié))
(2)拉磨盤的磁場力
? 我們可以把轉(zhuǎn)子想象成一個(gè)磨盤,把定子和轉(zhuǎn)子間的磁場相互作用力想象成拉磨盤的力,如下圖所示:
? 我們肯定希望拉磨盤的力能始終垂直于木柄,因?yàn)檫@樣才能使我們的力達(dá)到最佳效果。但遺憾的是,我們很難做到用力方向始終和木柄保持90°。力F能夠分解為Fq和Fd兩個(gè)分量,Fq是讓磨盤轉(zhuǎn)動(dòng)的力,而Fd純粹是無用功。(這兩個(gè)分量的方向便是后面說的D軸和Q軸的方向)
? 我們再來看看六步換相法是如何拉“磨盤”的:
? 六部換向法是每隔60°換一次相,在即將換相的臨界處力的方向任然保持和剛剛換相時(shí)一樣,此時(shí)的Fd分量就很大了,影響效率。同時(shí)在換相的瞬間,由于力的方向突變,會(huì)產(chǎn)生較大的轉(zhuǎn)矩波動(dòng),影響電機(jī)轉(zhuǎn)動(dòng)時(shí)的平穩(wěn)性(當(dāng)然實(shí)際應(yīng)用中并不是在0°、60°、120°。。。處換相,而是在-30°、30°、90°。。。處換相,這樣能避免在換相臨界處Fd過大的問題,但仍然無法避免換向時(shí)力的方向突變)。而我們的老朋友直流有刷電機(jī)在這方面做得更糟糕,因此它的轉(zhuǎn)矩脈動(dòng)更大。
? 那我們有沒有辦法去解決這一問題呢?當(dāng)然有,那就是用foc控制。
(3)foc:無限步換相
? 終于輪到我們的主角登場了,foc的全名叫磁場定向控制。意思就是它能產(chǎn)生任意方向的磁場,無論是30°,還是59.9999°(當(dāng)然這只是理想情況下的,實(shí)際上受限于數(shù)字系統(tǒng)的分辨率),而我們的六步換相法,充其量也只能產(chǎn)生6個(gè)方向的磁場。理想情況下的foc產(chǎn)生的磁場力的方向始終與“磨盤的木柄”相差90°(不包括弱磁),因此它每時(shí)每刻的效率都是最高的,也不會(huì)產(chǎn)生力的方向上的突變。也可以說每當(dāng)轉(zhuǎn)子轉(zhuǎn)過Δθ,便換一次相,因此我稱之為無限步換相。那么它這么厲害是如何做到的?時(shí)刻獲取轉(zhuǎn)子的準(zhǔn)確位置,然后產(chǎn)生與之相差90°的磁場。
最后介紹一下一次foc的完整過程(有些暫時(shí)看不懂也沒關(guān)系,以后再回來看,框圖內(nèi)的細(xì)節(jié)以后也會(huì)逐一介紹):
采集電機(jī)三相電流IA、IB、IC
-> Clarke變換:通過三軸變兩軸的坐標(biāo)變換將采集到的三相電流變化為兩相電流Iα和Iβ
-> Park變換:通過兩軸靜止變兩軸旋轉(zhuǎn)的坐標(biāo)變換將轉(zhuǎn)子電角度θ、交流的Iα和Iβ變換為直流的Id和Iq
-> 電流環(huán):將Id和Iq經(jīng)過PID運(yùn)算,輸出Ud和Uq
-> 反Park變換:通過兩軸旋轉(zhuǎn)變兩軸靜止的坐標(biāo)變換將當(dāng)前轉(zhuǎn)子電角度θ、直流的Ud和Uq變?yōu)榻涣鞯腢α和Uβ
-> 反Clarke變換:通過兩軸變?nèi)S的坐標(biāo)變換將兩相的Uα和Uβ變?yōu)槿嗟腢A、UB、UC
-> SVPWM:將三相電壓計(jì)算成三個(gè)PWM通道的占空比值
-> 三相逆變電路:輸出三相等效馬鞍波
-> 電機(jī)
2.一些觀念
(1)電壓給定的情況下,空載時(shí)候電流最小、輸出轉(zhuǎn)矩最低,堵轉(zhuǎn)的時(shí)候電流最大也是電機(jī)輸出轉(zhuǎn)矩最大的時(shí)候。
? 電機(jī)的輸出轉(zhuǎn)矩和電流可以近似認(rèn)為是成正比的,有些電機(jī)還會(huì)標(biāo)有扭矩常數(shù)(N·m/A)。但要清楚,只有給電機(jī)輸出軸增加負(fù)載,才能使電機(jī)輸出更大轉(zhuǎn)矩、消耗更大的電流。否則,當(dāng)電機(jī)空載的時(shí)候,電機(jī)的輸出軸只需要克服微乎其微的空氣阻力和摩擦力,自然就無需輸出多少轉(zhuǎn)矩,所以耗費(fèi)的電流也是很小的。這一點(diǎn)在調(diào)試電流環(huán)的時(shí)候很有幫助,不要奇怪為什么實(shí)測的iq到不了給定值,你都沒給電機(jī)加負(fù)載。但是,在沒有電流環(huán)的情況下,堵轉(zhuǎn)電機(jī)往往是一件非常危險(xiǎn)的事情,因?yàn)榇藭r(shí)反電動(dòng)勢等于0,加在線圈上的電壓就等于輸入電壓,所以此時(shí)線圈中流過的電流就等于電壓除以線圈的電阻。
(2)一臺(tái)永磁同步電機(jī)的最大轉(zhuǎn)速只與電壓有關(guān)而與換相速度無關(guān)。
? 換相是被動(dòng)的,增加電壓是主動(dòng)的。總之要記住一點(diǎn),是因?yàn)檗D(zhuǎn)子要轉(zhuǎn)得更快了所以才提高換相速度,而不是因?yàn)樘岣邠Q相速度就能使轉(zhuǎn)速變快。
? 為什么不能提高換相速度來提高轉(zhuǎn)速,步進(jìn)電機(jī)不就是這樣的嗎?我們獲取轉(zhuǎn)子位置的目的就是為了換相,是因?yàn)檗D(zhuǎn)子已經(jīng)轉(zhuǎn)到特定位置了,我們才給它換相,讓它永遠(yuǎn)也追不上旋轉(zhuǎn)磁場的同時(shí)也不至于被拉下太遠(yuǎn)(這里的追不上是指旋轉(zhuǎn)磁場的速度和轉(zhuǎn)子的速度相同,而旋轉(zhuǎn)磁場之前就已經(jīng)處于轉(zhuǎn)子的前頭)。如果我們不關(guān)心轉(zhuǎn)子位置而強(qiáng)行提高換相速度,轉(zhuǎn)子就會(huì)因?yàn)楦簧闲D(zhuǎn)磁場的速度(這里的跟不上是指旋轉(zhuǎn)磁場的速度大于轉(zhuǎn)子的速度,如同跑道超圈),就像步進(jìn)電機(jī)高速失步那樣。
? 那為什么說提高電壓就能提高轉(zhuǎn)速?增加電壓的瞬間,電機(jī)繞組中的電流變大、磁場強(qiáng)度跟著變大,給予了轉(zhuǎn)子更大的力矩,所以轉(zhuǎn)子加速轉(zhuǎn)動(dòng),直到達(dá)到新的平衡,此時(shí)電機(jī)的轉(zhuǎn)速相比之前更快(負(fù)載不變的前提下)。
(3)電機(jī)的三相繞組是兩兩導(dǎo)通還是三相全導(dǎo)通?
? 使用六步換相驅(qū)動(dòng)是兩兩導(dǎo)通,使用foc驅(qū)動(dòng)是三相全導(dǎo)通。
3.名詞解釋
(1)svpwm
? 原名叫空間矢量脈寬調(diào)制。它是foc軟件中的最后一環(huán),個(gè)人覺得也是最麻煩的一環(huán)。通過單片機(jī)定時(shí)器的中心對(duì)齊模式輸出三通道的pwm波,驅(qū)動(dòng)三相逆變電路輸出等效為馬鞍波的方波,而這三相方波(等效馬鞍波)最終則施加在電機(jī)的UVW三相上(ABC三相)。為什么能等效這里就不解釋了,如果對(duì)spwm有了解的肯定能明白,如果你用示波器測量只能看到輸出方波,但如果加上一個(gè)rc低通濾波器就能看到馬鞍波了。可能有人會(huì)有疑問為什么要輸出方波來等效,而不是用dac輸出再像三極管放大那樣直接輸出馬鞍波?因?yàn)槟菢右尵w管工作在線性區(qū),功耗是非常嚇人的,就如同開關(guān)電源和線性電源一樣。
(2)bldc和pmsm
? 直流無刷電機(jī)和永磁同步電機(jī),兩種電機(jī)非常像,都是用永磁體作為轉(zhuǎn)子,三相繞組作為定子。比較常見的說法是bldc的反電動(dòng)勢是梯形波,而pmsm的反電動(dòng)勢是正弦波,所以bldc適合用六步換相驅(qū)動(dòng),pmsm適合用foc驅(qū)動(dòng)。但我發(fā)現(xiàn)手邊的無刷電機(jī)無論是航模電機(jī)還是云臺(tái)電機(jī),反電動(dòng)勢全是正弦波,這就很奇怪了。
(3)kv
? 玩過航模的一定不陌生,是電機(jī)的轉(zhuǎn)速常數(shù),單位是rpm/V。意思是電機(jī)每通1V的電壓,轉(zhuǎn)速便提升kv數(shù)轉(zhuǎn)每分鐘。假如有一臺(tái)1000kv的電機(jī),那么給它通10V的電壓,它的轉(zhuǎn)速是一萬轉(zhuǎn)每分鐘(空載情況下)。轉(zhuǎn)速常數(shù)的存在也印證了永磁同步電機(jī)的轉(zhuǎn)速只與電壓有關(guān)而根換相速度無關(guān)。
(4)反電動(dòng)勢
? 一臺(tái)電機(jī),它是電動(dòng)機(jī)的同時(shí)也是一臺(tái)發(fā)電機(jī),當(dāng)電機(jī)通電旋轉(zhuǎn)的時(shí)候,它實(shí)際上是一邊被磁場力拖著轉(zhuǎn)動(dòng),同時(shí)也因?yàn)樗谵D(zhuǎn)動(dòng)而在發(fā)電。理想空載的情況下,電機(jī)發(fā)電的電壓和加在電機(jī)線圈上的電壓是相等的,也就是說加在電機(jī)上的電壓恰好被反電動(dòng)勢給抵消了,這就是為什么電機(jī)的空載電流非常小。反電動(dòng)勢常數(shù)的單位是V/rpm, 大小恰好是kv的倒數(shù)。
(5)極對(duì)數(shù)
? 解釋不清看圖吧。
? 我們學(xué)習(xí)的時(shí)候?yàn)榱朔奖憷斫庖话阌靡粚?duì)極的電機(jī)來學(xué)習(xí),長上邊這樣↑。
? 而我們實(shí)際用的電機(jī)可能長這樣↑, 繞銅線的是定子,上邊貼磁鐵的是轉(zhuǎn)子。只要分析明白一對(duì)極的電機(jī)就夠了,不需要再去分析多極電機(jī),它們差的也只是一個(gè)系數(shù),千萬不要被嚇到。
? 對(duì)于二圖的無刷電機(jī),極對(duì)數(shù)等于轉(zhuǎn)子上磁鐵個(gè)數(shù)除以2。
(6)電角度
? 電機(jī)機(jī)械上轉(zhuǎn)過的角度除以極對(duì)數(shù)就等于電角度轉(zhuǎn)過的角度。比如說一臺(tái)7對(duì)極的電機(jī),機(jī)械上轉(zhuǎn)動(dòng)一圈等于電角度轉(zhuǎn)過7圈,具體原因個(gè)人暫時(shí)無法解釋。這個(gè)有什么用呢?因?yàn)閒oc算法需要時(shí)刻獲取轉(zhuǎn)子位置(也可以說是轉(zhuǎn)子的電角度),而我們所用的編碼器只能讀到轉(zhuǎn)子的機(jī)械角度,這個(gè)時(shí)候就需要把它換算成電角度來做foc運(yùn)算。(對(duì)于無感foc,同樣需要獲取轉(zhuǎn)子電角度,不過用的不是編碼器而是觀測器,本文只涉及有感foc)
(7)電周期
? 電角度轉(zhuǎn)過360°就是一個(gè)電周期。
參考資料:
文檔:SVPWM的原理及法則推導(dǎo)和控制算法詳解第五修改版 提取碼:2617
視頻:硬石相關(guān)章節(jié)
博客:FOC入門教程
視頻:野火相關(guān)章節(jié)
視頻:唐老師講電賽
總結(jié)
以上是生活随笔為你收集整理的foc学习笔记1——准备工作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Direct3D(D3D)简介
- 下一篇: Java学习打卡第八天——[Collec