1 對永磁無刷電機的基本認識
1. 什么是永磁無刷電機?
永磁無刷電機大致可以分為永磁同步電機(Permanent Magnet Synchronous Motor,PMSM)和無刷直流電機(Brushless DC motor,BLDC)兩種。一定要注意對這兩種電機的 區分 ,因為它們在結構上和控制算法上都有明顯的區別。
如果手上有一個永磁無刷電機,可以嘗試轉動轉軸,有明顯的段落感(轉起來有頓挫感)的就是BLDC,如果很轉起來很順暢,就是PMSM。
如果有條件能拆下外殼看看繞組會更加直觀:PMSM不同相的繞組是相互交錯的,而BLDC的繞組是各自獨立的。
還有一種辦法,就是使用使用示波器查看反電動勢的波形。先將電機的任意兩相連接到示波器的輸入端和地端,然后轉動轉軸。示波器能捕捉到永磁體切割繞組產生的反電動勢,PMSM的是近似的正弦波,而BLDC是方波。
Tips :很多書上會提到這種方法,但這種方法只是理論上的,實際上很難得到正弦波或方波,我兩種電機都試過,并沒有明顯區別,這里只是提一下。
應用中,PMSM常用做 伺服電機 ,而BLDC常用在旋轉機械中,因為BLDC的負載能力更強,例如大疆無人機采用的就是BLDC。
雖然永磁無刷電機使用的是直流電,但本質上它是交流電機,所以要驅動永磁無刷電機,逆變電路必不可少。
Tips :整流是交流電變直流電,逆變是直流電變交流電。
2. 永磁無刷電機的極性
關于永磁無刷電機,還需要注意一點的是,電機的極性,極性會影響不同算法的實施。
簡單的分類有兩種: 隱極式 (Round)和 凸極式 (Salient-pole)。分別對應兩種永磁體結構,標貼式和內嵌式:
*標貼式和內嵌式結構 * - From R. Krishnan
標貼式是將永磁體直接貼在轉子上,而內嵌式是將永磁體內嵌在轉子中。
在參數體現上的區別就是:隱極式dq軸電感 近似相等 (L**d ≈ Lq ),凸極式dq軸電感 差異較大 (*L**d *> Lq ),這一點是這兩種電機的 本質區別 。
最常見永磁無刷電機的是隱極式(標貼式)電機,成本和制造難度都相對低一些。一些高性能場合可能會使用到凸極式(內嵌式)電機,例如電動汽車的驅動電機。
凸極式電機可以實施一些特有的算法,例如:“最大轉矩電壓比(MTPV)+弱磁”控制策略,無感高頻注入算法,等。
2 永磁無刷電機的控制策略
1. 永磁無刷電機的矢量控制
對于永磁無刷電機,最出名的莫過于 FOC (Field-Oriented Control,矢量控制)控制策略,PMSM和BLDC都可以使用這種控制策略。硬件上空間矢量由三相六橋的逆變器實現, 本質上只有六個位置的非零空間矢量 ,各自相隔60°:
*FOC電壓空間矢量 * - From autoMBD
通過這六個空間矢量和零個零矢量的組合,可以合成360度全范圍內的空間矢量。
FOC合成的 基本原理是等效原理 ,即:在一段時間內,相鄰兩個矢量和零矢量各自導通一定的時間,可以等價于相鄰電壓矢量合成后的矢量在這段時間內的作用。這個合成計算的過程就稱為是 空間矢量脈寬調制 (Space Vector Pulse Width Modulation,SVPWM)。
一般的我們常看到的SVPWM波形長下面這個樣子:
*SVPWM波形 * - From Simulink
要注意區分 FOC和SVPWM的區別 :
- FOC可以理解為一種 數學方法、思想 ,它把電壓當作了空間矢量,方便分析和控制,在控制算法中的體現就是,我們會建立dq坐標系、αβ坐標系,我們會把從物理世界得到的電流、電壓信號進行Clark變換和Park變換,以及相應的逆變換,這些操作都是為了把自然坐標系下的標量轉換為空間矢量,然后對空間矢量進行處理和控制;
- 而 SVPWM是FOC的具體實現方法 ,例如FOC想輸出一個30°的幅值為M的電壓矢量,那么只能由上圖中的U4、U6和兩個零矢量來合成,通過計算可分別得到各自的導通時間(就是門控器件的PWM占空比),從而在逆變器中實現了該電壓矢量。
所以我們能看到各種各樣的FOC,例如基于PID的FOC,基于滑模控制的FOC,無感FOC,等等。這里FOC的前綴修飾指的是控制器的實現方法,包括電流環或者速度環等,所以各不相同;又因為雖然控制器不同,但控制的都是電壓矢量,都有坐標變換,因而都屬于FOC。
FOC的實施是需要轉軸位置信息的,根據位置的獲取方式,還可以分為無位置傳感器控制(Sensorless)和有位置傳感器控制(編碼器或霍爾傳感器)。編碼器可以獲得較高精度的位置,而霍爾傳感器只在360°范圍內獲取六個點的位置。
從目前的趨勢來看,無感控制算法越來越流行,它不僅省下了傳感器的成本,還能減少傳感器帶來的故障率,安裝也更加方便。相應的,控制算法就要復雜一些。一些高級的算法甚至能在零速和極低轉速下估算轉子位置,例如高頻注入算法(High Frequency Injection)。在某些特定場合甚至能做無感的伺服控制。
*常見高頻注入算法 * *- From **Gaolin Wang, * *IEEE. * [1]
對于凸極式(內嵌式)電機,還有“最大轉矩電壓比(MTPV)+弱磁”的控制策略,其底層依然是FOC,只不過 *d *軸和 *q *軸的電壓控制方式不一樣。
當然還有很多智能控制方法應用到電機控制中,比如模糊控制、神經網絡控制、自適應控制等。但大多只存在于論文中,實際應用中幾乎沒有(見下圖)。開環控制在算法調試中使用的也比較多。
*FOC三環模糊控制 * - From autoMBD
2. 永磁無刷電機的六步換相控制
在控制中,若使用霍爾傳感器,可以使用六步換相控制策略,各種意義上都要比FOC要簡單一些,但電壓調制比要小一些。PMSM和BLDC同樣都可以使用六步換相控制控制策略。
*BLDC六步換相 * *- From *ElecFans王岑, 電子發燒友論壇
六步換相的本質是,通過繞組形成的磁場,不斷吸引轉子上的永磁體,使電機轉起來。霍爾位置傳感器把360°空間分為了等間隔的六份,所以繞組能形成六個位置的磁場,所以被稱為六步換相。
通過霍爾位置傳感器,當檢查到永磁體(固定在轉子上)的磁場方向和繞組磁場方向很靠近的時候,繞組磁場立馬前進到下一個位置。在六個位置上周而復始的這樣操作,從而使電機轉動起來。
六步換相,相比于FOC簡單在以下幾個方面:
- 沒有SVPWM的復雜計算,只需要將PWM與門控信號相與即可實現控制;
- 六步換相是一個查表過程,非常快速,如果有硬件支持的話,幾乎可以做到有刷的效果;
- 電流采樣更加方便,可以直接采集母線電流,相電流和方向即可方便的計算出來;
- 控制也非常簡單,只需控制調制PWM波的占空比即可,沒有復雜的坐標變換等操作。
但相應的六步換相也有缺點,例如電壓調制率不高,有轉矩波動等。但六步換相的應用依然非常廣泛。
我們練習MBD電機控制,重點就是控制算法這部分。更多的控制策略,例如直接轉矩控制等,可以參考文章開頭提到的那兩本書。
3 永磁無刷電機的數學模型
這里不介紹具體的公式(具體可參見前面提到的兩本書),這里主要說我們能使用得到的數學模型有哪些。主要有以下幾種:
- 首先,最簡單的就是傳遞函數數學模型,這模型由于過于簡化,一般只做理論分析使用,使用它的優勢在于模型簡單、仿真速度快。
- 其次,可以根據永磁無刷電機的微分方程表達式,使用Simulink模塊搭建一個電機的模型。這是一種非常好的掌握電機數學模型的方法,自己搭建過一遍后,對電機數學模型的理解會更上一層。
- 有了微分方程表達式,使用S-函數也是一種不錯的方式,仿真效率會更高一些。使用S-函數,分析的時候會更加靈活,也可以實現更多的想法,可操控性更強。不過這個方式對編程要求較高(鍛煉一下編程也未嘗不可)。
- 最后,也是最推薦的,使用Simulink的電機模型。前面幾種可以用來做練習,增強對永磁電機數學模型的理解。Simulink庫有很多各種各樣的電機模塊,這里推薦兩種模塊,物理仿真模塊和連續模塊:
*永磁無刷電機的仿真模塊 * - From Simulink
物理仿真模塊位于Simulink的Simscape庫中,該庫以物理仿真為特色,能對力、熱、電等各種信號進行仿真;而連續模塊則是普通的模塊,位于Motor Control Blacket中,由微分方程建立的。
選擇哪一種取決于仿真需求,一般連續模塊仿真速度更快,而物理仿真模塊更加貼近實際。
同樣關于逆變器也有很多相應的模型,推薦以下這一個:
*逆變器的仿真模塊 * - From Simulink
上圖中的兩個模塊是相同的一個模塊,只不過配置的參數不同。
我也非常建議自己搭建逆變器,自己搭建逆變器的好處是可以 模擬下橋臂電流采樣 ,實際中下橋臂采樣是非常多的。如果使用上面的集成模塊,是沒辦法模擬采樣下橋臂電流的。自己搭建的逆變器如下圖所示:
*自己搭建逆變 * - From autoMBD
關于SVPWM的生成,Simulink也提供了很多,我建議使用下圖這個模塊,配置成SVM模式即可生成SVPWM波形。這個模塊不僅能生成各相的占空比(ModWave端口),還能生成門控PWM信號(g端口):
*SVPWM生成模塊 * - From autoMBD
關于SVPWM生成模塊, 有一個非常重要的地方需要注意,那就是采樣時間 ,這直接影響仿真的有效性。
一般我們電機控制PWM的頻率在10 ~ 20kHz,高一點的有40kHz。對于MCU來說, PWM的占空比是有分辨率的 ,一般要保證0.5%的分辨率,那么模塊的采樣頻率就得大于PWM頻率乘以分辨率的倒數。
以20kHz PWM、占空比0.5%的分辨率為例,那么:
采樣時間=1 ÷ 20000 ÷ (1/0.5%) = 2.5e-7
占空比0.5%的分辨率其實是很低的,NXP的S32K144在產生20kHz的PWM波時,可以輕松達到0.02%以上的分辨率,那么采樣時間的量級達到了10^(-9)。這個量級會極大的增大整個模型的仿真時間,我的筆記本可能跑一次2秒鐘的仿真就得運行幾個小時,最后還會卡死。
PWM占空比精度太低會導致FOC控制效果根本好不起來,這和控制參數無關,所以調參是無法解決的。提高仿真的PWM占空比精度會大大增加仿真運算量,調參過程又會比較麻煩。
所以我們要在準確度和仿真效率上取一個折中,一般我認為0.5%的占空比分辨率是不會太大影響仿真精度的,仿真計算量也可以接受。
Tips :這一點是我經過了無數次血與淚才總結出來的,我沒有在任何地方看到過類似的結論,但的確就是這一個參數足以影響仿真的有效性。
我們需要注意的是,仿真始終和實際有差距。但這并不意味著仿真沒有意義,仿真的意義在于找到正確的方法,而且是極其高效的。而MBD要做的就是將仿真和實際應用拉得更近,甚至消除這種差距(美好的期望)。
評論
查看更多