愛伊米

乾貨|常用的電機控制演算法

最近看到一些朋友都在玩各種電機,對於電機重要的就是控制了,控制得穩、準、快是一名控制演算法軟體工程師的終極目標,首先可以玩一些比較成熟的控制演算法來體驗一下,所以這裡收集這塊內容分享給大家。

1

BLDC電機控制演算法

無刷電機屬於自換流型(自我方向轉換),因此控制起來更加複雜。

BLDC電機控制要求瞭解電機進行整流轉向的轉子位置和機制。對於閉環速度控制,有兩個附加要求,即對於轉子速度/或電機電流以及PWM訊號進行測量,以控制電機速度功率。

BLDC電機可以根據應用要求採用邊排列或中心排列PWM訊號。大多數應用僅要求速度變化操作,將採用6個獨立的邊排列PWM訊號。這就提供了最高的解析度。如果應用要求伺服器定位、能耗制動或動力倒轉,推薦使用補充的中心排列PWM訊號。

為了感應轉子位置,BLDC電機採用

霍爾效應感測器

來提供絕對定位感應。這就導致了更多線的使用和更高的成本。無感測器BLDC控制省去了對於霍爾感測器的需要,而是採用電機的反電動勢(電動勢)來預測轉子位置。無感測器控制對於像風扇和泵這樣的低成本變速應用至關重要。在採有BLDC電機時,冰箱和空調壓縮機也需要無感測器控制。

空載時間的插入和補充

大多數BLDC電機不需要互補的PWM、空載時間插入或空載時間補償。可能會要求這些特性的BLDC應用僅為高效能BLDC伺服電動機、正弦波激勵式BLDC電機、無刷AC、或PC同步電機。

控制演算法

許多不同的控制演算法都被用以提供對於BLDC電機的控制。典型地,將功率電晶體用作線性穩壓器來控制電機電壓。當驅動高功率電機時,這種方法並不實用。高功率電機必須採用PWM控制,並要求一個微控制器來提供起動和控制功能。

控制演算法必須提供下列三項功能:

用於控制電機速度的PWM電壓

用於對電機進整流換向的機制

利用反電動勢或霍爾感測器來預測轉子位置的方法

脈衝寬度調製僅用於將可變電壓應用到電機繞組。有效電壓與PWM佔空度成正比。當得到適當的整流換向時,BLDC的扭矩速度特性與一下直流電機相同。可以用可變電壓來控制電機的速度和可變轉矩。

功率電晶體的換向實現了定子中的適當繞組,可根據轉子位置生成最佳的轉矩。在一個BLDC電機中,MCU必須知道轉子的位置並能夠在恰當的時間進行整流換向。

BLDC電機的梯形整流換向

對於直流無刷電機的最簡單的方法之一是採用所謂的

梯形整流換向

乾貨|常用的電機控制演算法

圖1:用於BLDC電機的梯形

控制器的簡化框架

在這個原理圖中,每一次要透過一對電機終端來控制電流,而第三個電機終端總是與電源電子性斷開。

嵌入大電機中的三種霍爾器件用於提供數字訊號,它們在60度的扇形區內測量轉子位置,並在電機控制器上提供這些資訊。由於每次兩個繞組上的電流量相等,而第三個繞組上的電流為零,這種方法僅能產生具有六個方向共中之一的電流空間向量。隨著電機的轉向,電機終端的電流在每轉60度時,電開關一次(整流換向),因此電流空間向量總是在90度相移的最接近30度的位置。

乾貨|常用的電機控制演算法

圖2:梯形控制:驅動波形和整流處的轉矩

因此每個繞組的電流波型為

梯形

,從零開始到正電流再到零然後再到負電流。

這就產生了電流空間向量,當它隨著轉子的旋轉在6個不同的方向上進行步升時,它將接近平衡旋轉。

在像空調和冰霜這樣的電機應用中,採用霍爾感測器並不是一個不變的選擇。在非聯繞組中感應的反電動勢感測器可以用來取得相同的結果。

這種梯形驅動系統因其控制電路的簡易性而非常普通,但是它們在整流過程中卻要遭遇轉矩紋波問題。

BDLC電機的正弦整流換向

梯形整流換向還不足以為提供平衡、精準的無刷直流電機控制。這主要是因為在一個三相無刷電機(帶有一個正統波反電動勢)中所產生的轉矩由下列等式來定義:

正弦整流換向無刷電機控制器努力驅動三個電機繞組,其三路電流隨著電機轉動而平穩的進行正弦變化。選擇這些電流的相關相位,這樣它們將會產生平穩的轉子電流空間向量,方向是與轉子正交的方向,並具有不變數。這就消除了與北形轉向相關的轉矩紋波和轉向脈衝。

為了隨著電機的旋轉,生成電機電流的平穩的正弦波調製,就要求對於轉子位置有一個精確有測量。霍爾器件僅提供了對於轉子位置的粗略計算,還不足以達到目的要求。基於這個原因,就要求從編碼器或相似器件發出角反饋。

乾貨|常用的電機控制演算法

圖3:BLDC電機正弦波控制器的簡化框圖

由於繞組電流必須結合產生一個平穩的常量轉子電流空間向量,而且定子繞組的每個定位相距120度角,因此每個線組的電流必須是正弦的而且相移為120度。採用編碼器中的位置資訊來對兩個正弦波進行合成,兩個間的相移為120度。然後,將這些訊號乘以轉矩命令,因此正弦波的振幅與所需要的轉矩成正比。結果,兩個正弦波電流命令得到恰當的定相,從而在正交方向產生轉動定子電流空間向量。

正弦電流命令訊號輸出一對在兩個適當的電機繞組中調製電流的P-I控制器。

第三個轉子繞組中的電流是受控繞組電流的負和,因此不能被分別控制。每個P-I控制器的輸出被送到一個PWM調製器,然後送到輸出橋和兩個電機終端。應用到第三個電機終端的電壓源於應用到前兩個線組的訊號的負數和,適當用於分別間隔120度的三個正弦電壓。

結果,實際輸出電流波型精確的跟蹤正弦電流命令訊號,所得電流空間向量平穩轉動,在量上得以穩定並以所需的方向定位。

一般透過梯形整流轉向,不能達到穩定控制的正弦整流轉向結果。然而,由於其在低電機速度下效率很高,在高電機速度下將會分開。這是由於速度提高,電流回流控制器必須跟蹤一個增加頻率的正弦訊號。同時,它們必須克服隨著速度提高在振幅和頻率下增加的電機的反電動勢。

由於P-I控制器具有有限增益和頻率響應,對於電流控制迴路的時間變數干擾將引起相位滯後和電機電流中的增益誤差,速度越高,誤差越大。這將干擾電流空間向量相對於轉子的方向,從而引起與正交方向產生位移。

當產生這種情況時,透過一定量的電流可以產生較小的轉矩,因此需要更多的電流來保持轉矩。效率降低。

隨著速度的增加,這種降低將會延續。在某種程度上,電流的相位位移超過90度。當產生這種情況時,轉矩減至為零。透過正弦的結合,上面這點的速度導致了負轉矩,因此也就無法實現。

2

AC電機演算法

標量控制

標量控制(或V/Hz控制)是一個控制指令電機速度的簡單方法

指令電機的穩態模型主要用於獲得技術,因此瞬態效能是不可能實現的。系統不具有電流回路。為了控制電機,三相電源只有在振幅和頻率上變化。

向量控制或磁場定向控制

在電動機中的轉矩隨著定子和轉子磁場的功能而變化,並且當兩個磁場互相正交時達到峰值。在基於標量的控制中,兩個磁場間的角度顯著變化。

向量控制設法在AC電機中再次創造正交關係。為了控制轉矩,各自從產生磁通量中生成電流,以實現DC機器的響應性。

一個AC指令電機的向量控制與一個單獨的勵磁DC電機控制相似。在一個DC電機中,由勵磁電流IF所產生的磁場能量Φ F與由電樞電流IA所產生的電樞磁通ΦA正交。這些磁場都經過去耦並且相互間很穩定。因此,當電樞電流受控以控制轉矩時,磁場能量仍保持不受影響,並實現了更快的瞬態響應。

三相AC電機的磁場定向控制(FOC)包括模仿DC電機的操作。所有受控變數都透過數學變換,被轉換到DC而非AC。其目標的獨立的控制轉矩和磁通。

磁場定向控制(FOC)有兩種方法:

直接FOC:

轉子磁場的方向(Rotor flux angle) 是透過磁通觀測器直接計算得到的

間接FOC:

轉子磁場的方向(Rotor flux angle) 是透過對轉子速度和滑差(slip)的估算或測量而間接獲得的。

向量控制要求瞭解轉子磁通的位置,並可以運用終端電流和電壓(採用AC感應電機的動態模型)的知識,透過高階演算法來計算。然而從實現的角度看,對於計算資源的需求是至關重要的。

可以採用不同的方式來實現向量控制演算法。前饋技術、模型估算和自適應控制技術都可用於增強響應和穩定性。

AC電機的向量控制:深入瞭解

向量控制演算法的核心是兩個重要的轉換:

Clark轉換,Park轉換和它們的逆運算。

採用Clark和Park轉換,帶來可以控制到轉子區域的轉子電流。這種做充許一個轉子控制系統決定應供應到轉子的電壓,以使動態變化負載下的轉矩最大化。

Clark轉換:

Clark數學轉換將一個三相系統修改成兩個座標系統:

乾貨|常用的電機控制演算法

其中Ia和Ib正交基準面的組成部分,Io是不重要的homoplanar部分

乾貨|常用的電機控制演算法

圖4:三相轉子電流與轉動參考系的關係

Park轉換:

Park數學轉換將雙向靜態系統轉換成轉動系統向量

兩相α, β幀表示透過Clarke轉換進行計算,然後輸入到向量轉動模組,它在這裡轉動角θ,以符合附著於轉子能量的d, q幀。根據上述公式,實現了角度θ的轉換。

AC電機的磁場定向向量控制的基本結構

Clarke變換採用三相電流IA, IB 以及 IC,來計算兩相正交定子軸的電流Isd和 Isq。這兩個在固定座標定子相中的電流被變換成Isd 和Isq,成為Park變換d, q中的元素。其透過電機通量模型來計算的電流Isd, Isq 以及瞬時流量角θ被用來計算交流感應電機的電動扭矩。

乾貨|常用的電機控制演算法

圖2:向量控制交流電機的基本原理

這些匯出值與參考值相互比較,並由PI控制器更新。

乾貨|常用的電機控制演算法

基於向量的電機控制的一個固有優勢是,可以採用同一原理,選擇適合的數學模型去分別控制各種型別的AC, PM-AC 或者 BLDC電機。

BLDC電機的向量控制

BLDC電機是磁場定向向量控制的主要選擇。採用了FOC的無刷電機可以獲得更高的效率,最高效率可以達到95%,並且對電機在高速時也十分有效率。

3

步進電機控制演算法

如下是步進電機控制示意圖:

乾貨|常用的電機控制演算法

步進電機控制通常採用雙向驅動電流,其電機步進由按順序切換繞組來實現。通常這種步進電機有3個驅動順序:

1、單相全步進驅動:

在這種模式中,其繞組按如下順序加電,AB/CD/BA/DC (BA表示繞組AB的加電是反方向進行的)。這一順序被稱為單相全步進模式,或者波驅動模式。在任何一個時間,只有一相加電。

2、雙相全步進驅動:

在這種模式中,雙相一起加電,因此,轉子總是在兩個極之間。此模式被稱為雙相全步進,這一模式是兩極電機的常態驅動順序,可輸出的扭矩最大。

3、半步進模式:

這種模式將單相步進和雙相步進結合在一起加電:單相加電,然後雙相加電,然後單相加電…,因此,電機以半步進增量運轉。這一模式被稱為半步進模式,其電機每個勵磁的有效步距角減少了一半,其輸出的扭矩也較低。

以上3種模式均可用於反方向轉動(逆時針方向),如果順序相反則不行。

通常,步進電機具有多極,以便減小步距角,但是,繞組的數量和驅動順序是不變的。

4

通用DC控制演算法

通用電機的速度控制,特別是採用2種電路的電機:

1、相角控制

2、PWM斬波控制

相角控制

相角控制是通用電機速度控制的最簡單的方法。透過TRIAC的點弧角的變動來控制速度。相角控制是非常經濟的解決方案,但是,效率不太高,易於電磁干擾(EMI)。

乾貨|常用的電機控制演算法

通用電機的相角控制

以上示圖表明瞭相角控制的機理,是TRIAC速度控制的典型應用。TRIAC門脈衝的周相移動產生了有效率的電壓,從而產生了不同的電機速度,並且採用了過零交叉檢測電路,建立了時序參考,以延遲門脈衝。

PWM斬波控制

PWM控制是通用電機速度控制的,更先進的解決方案。在這一解決方案中,功率MOFSET,或者IGBT接通高頻整流AC線電壓,進而為電機產生隨時間變化的電壓。

乾貨|常用的電機控制演算法

通用電機的PWM斬波控制

其開關頻率範圍一般為10-20 KHz,以消除噪聲。這一通用電機的控制方法可以獲得更佳的電流控制和更佳的EMI效能,因此,效率更高。