【導讀】怎樣才能把多個CPU內核、硬件加速器塊以及10G以太網(wǎng)接口結合起來控制一個電機呢?對于采用1美元微控制器 (MCU) 來運行電機的設計人員而言,這一問題太荒謬了。答案可能來自令人感興趣的控制系統(tǒng)設計案例,實時系統(tǒng)體系結構的發(fā)展等。
起點
讓我們介紹一種在我們應用場景中處于中心位置的永磁同步電機,即PMSM。PMSM有很多種外形和體積,適合很多種應用,從開關門到機器人手術工具關節(jié)等。在這一領域中,它得到了廣泛的應用,這是因為其固有的可靠性、低成本,在我們的應用中,經(jīng)過適當?shù)目刂?,可以實現(xiàn)高精度和高效率。實際上,應用的要求越來越高,PMSM支持您降低機電設計的復雜性,在軟件中實現(xiàn)復雜的功能。
PMSM機械和電氣特性非常簡單(圖1) 。轉子正如其名稱所示,是永磁體。通常有三個定子繞組,在電機中均勻的120度角分布。真正的訣竅在于繞組的不同:轉動密度是圍繞定子呈正弦分布,因此,繞組實際上在邊緣上相互重疊。在繞組合適的相位上應用正弦電流,您能夠建立與轉子場角度垂直的旋轉磁場,從而在轉子上高效的產(chǎn)生扭矩。
圖1. PMSM截面
控制PMSM并不是高科技。一個簡單的MCU使用查找表和插值來生成所需的驅動電流時變正弦信號,為繞組提供電流。如果算法正確,繞組會產(chǎn)生電機旋轉磁場,轉子隨之轉動。雖然起步有些復雜,但畢竟完成任務了,對吧?不完全是這樣。
現(xiàn)場定位控制
開環(huán)控制的問題總是很復雜。啟動電機,特別是有負載的情況,會比較難,效率也不高。開環(huán)控制器的響應并不能很好的適應負載扭矩或者速度命令的變化,無法抑制振動。出于通常的考慮,反饋控制系統(tǒng)工作起來會更好一些。
問題是要控制什么。很明顯,我希望控制轉動角度,在某些應用中,旋轉速度。我們必須通過控制產(chǎn)生旋轉磁場的三個繞組電流來完成這一工作。對此最好的方法是,在業(yè)界已經(jīng)應用的多路步進,即,線程定位控制 (FOC) (圖2) 。
圖2. 驅動結構圖
[page]
第一,我們采集來自轉軸編碼器的轉子位置采樣,以及三個繞組中兩個繞組的電流采樣。
由于一些很好的數(shù)學算法,我們并不需要所有三個繞組電流。這些采樣告訴我們轉子以及定子旋轉磁場的瞬時位置和滯后速度。我們的工作是控制轉子的速度和位置,這通過控制定子繞組的電流大小來實現(xiàn),同時還要讓旋轉磁場比轉子磁場超前90度。
通過兩個簡單的變換,我們很容易完成這一工作。Clarke變換將兩個定子繞組的電流采樣 — 它們分開120度,映射到一對正交矢量上。矢量的方向相對于定子是固定的,當然,其矢量和是旋轉磁場矢量。Clarke變換只需要將電流值乘以常數(shù),加上乘積——簡單的乘累加運算。
第二種變換是Park變換,將這兩個正交矢量映射到轉子參考的旋轉幀中。
一個矢量與轉子磁場對齊,另一個正交矢量,角度與其垂直。Park變換比較難處理。在進行矢量乘法把矢量變換成轉子參考幀之前,它使用瞬時轉軸位置來計算sin(θ)和cos(θ)系數(shù)。
一個矢量與轉子磁場對齊,另一個正交矢量,角度與其垂直。Park變換比較難處理。在進行矢量乘法把矢量變換成轉子參考幀之前,它使用瞬時轉軸位置來計算sin(θ)和cos(θ)系數(shù)。
現(xiàn)在,我們可以控制信號。我們把與轉子對齊的矢量保持為0,表示定子磁通量沒有對轉子產(chǎn)生扭矩。我們使用正交分量來控制轉子位置和速度,定子磁通量實際上產(chǎn)生了扭矩。
例如,控制器會處理所需位置的輸入,將其與傳統(tǒng)分立時間比例積分(PI) 控制電流的實際轉軸角度相對比,產(chǎn)生誤差信號,輸出至 FOC 模塊。FOC 模塊然后會把這一誤差信號送入正交扭矩信號中,使轉子旋轉。模塊會應用 Park 反變換,把扭矩映射回定子參考的固定幀,然后,通過Clarke反 變換,把扭矩信號映射到電流中,送入三個繞組。這樣就改變了定子繞組所需位置和所需速度輸入激勵信號,旋轉定子磁場,使轉子處于所需的角度上。
計算負載并沒有那么復雜:FOC模塊每一采樣間隔可能是兩次三角運算,10次乘法,7次加法,以及一些其他運算來實現(xiàn)PI控制器。所有這些算法都可以在定點中實現(xiàn),需要仔細一些。采用目前的典型16 kHz采樣和脈沖寬度調制速率,我們并沒有降低現(xiàn)代32位MCU的整體性能。但是,不止于此。
無傳感控制
讓我們從那個轉軸編碼器開始。FOC算法必須有精確的轉軸角度反饋。傳統(tǒng)上,這一數(shù)據(jù)來自轉軸編碼器與電機轉軸連接的光機電設備。但是,編碼器提高了系統(tǒng)中每一電機的成本、體積、重量,增加了新的失效模式。它需要控制器工業(yè)標準接口。
原理上,有足夠的定子繞組電壓和電流信息來確定轉子位置。這樣,可以實現(xiàn)無傳感工作 — 至少可以不采用轉軸編碼器,采用更多的電流傳感器和三個電壓傳感器來替代它,所有這些信號都需要精確的模數(shù)轉換。這樣,很多復雜的機械功能可以在軟件中實現(xiàn)。
就是這種想法。繞組負載上的電壓有兩個主要分量:繞組串聯(lián)電阻導致的IR壓降,來自繞組電感的后向EMF。但是,后向EMF本身有兩個來源:繞組自身的電感,以及轉子通過繞組磁力線導致的漏磁通量。如果您能夠隔離電壓變化的最后部分,基本上就能夠計算出轉子角度。實際上,這樣做涉及到一些計算,包括Park變換,積分評估,以及每一采樣間隔期間的反三角函數(shù)運算。
然而,除了實驗室環(huán)境,您不太可能獲得電機特性的精確數(shù)據(jù),例如,繞組阻抗和電感等。不同的電機有不同的這類指標,而且這些指標還對溫度和老化等其他參數(shù)非常敏感。
由此,開發(fā)人員建議了各種方案從狀態(tài)變量矩陣中提取出轉子角度。這些想法包括鎖定由轉子導致的電壓波紋的鎖相環(huán),計算轉子位置的狀態(tài)估算器,將其結果與以前的數(shù)據(jù)進行對比,還有最終的估算器,Kalman濾波器。與直接計算相比,這些方法至少讓計算負載增加了一倍,每一周期至少需要30次算術運算。
振動控制
FOC的優(yōu)點之一是能夠控制振動及其伴隨噪聲。這類測量提高了能效和機械可靠性,有可能不需要太多的機械設計。在消費類市場上,這能夠把600美元的洗衣機抬高到售價800 美元的豪華型。
原理還是那么簡單。如果振動的原因是控制環(huán)不穩(wěn)定造成的,那么您可以改變 PI 控制器的增益,使其更接近臨界阻尼。如果振動是由電機、驅動轉軸或者負載機械共振造成的,您可以通過吸收扭矩信號共振頻率功率來消除振動。比較方便的是,F(xiàn)OC方法使您能夠在扭矩信號變成三路時變正弦信號之前訪問它,因此,增加陷波濾波器吸收共振頻率功率就可以了。
不論哪一操作,增加增益環(huán)還是濾除錯誤信號,都會對系統(tǒng)動態(tài)速度和位置誤差產(chǎn)生不利影響。但是在很多應用中,對于平滑安靜的操作,轉軸速度的瞬時誤差并不重要。
[page]
振動控制需要三種主要的處理模塊:快速傅里葉變換(FFT),從轉軸位置或者繞組電流數(shù)據(jù)中提取出頻譜,探測和響應模塊,找到頻譜最大值,確定怎樣處理它們,還有一個或者更多的可編程陷波濾波器,去掉扭矩信號中的雜波頻率(圖3) 。
圖3.扭矩控制器和Park反變換之間的可編程陷波濾波器能夠改進系統(tǒng)的共振。
這些模塊都適合應用。在某些系統(tǒng)中,共振是固定的,或者慢變的,F(xiàn)FT會是啟動或者后臺任務。在共振變化很快的系統(tǒng)中,F(xiàn)FT需要連續(xù)運行。響應模塊與應用有很大的關系,確定對PI環(huán)路增益的調整,增加濾波器,選擇濾波器參數(shù)等,在很大程度上取決于整個電機系統(tǒng)的特性。因此,在沒有詳細了解系統(tǒng)的情況下,不太可能估算振動控制所需要的計算負載。
工作堆疊
目前為止我們已經(jīng)進行了很多工作,每一16 kHz周期可能有幾百項算術指令,還有FFT計算。我們所面臨的是,任務的增長已經(jīng)超出了低成本MCU的簡單中斷服務。但還有更多。
最明顯的是增加了很多電機。很多控制任務本質上都是多軸的:例如,粉碎機的工具位置,或者全關節(jié)機器人手等。在集成級,在軸上需要共享實時數(shù)據(jù)等,就能夠體現(xiàn)多通道控制器的優(yōu)點。但是由于軸之間有很少的冗余計算,因此,更多的通道只是增加了工作負載。
還有采樣率。目前的采樣率從以前的搜索RMS位置或者速度誤差的16 kHz標準,增長到 100 kHz。自然的,提高采樣間隔會減少完成實時計算的時間,必須在采樣間隔期間完成實時計算。
工廠之外的變化也對控制器體系結構帶來了壓力:子系統(tǒng)聯(lián)網(wǎng)了。一個主要的轉換點是設計中增加了工業(yè)網(wǎng)絡接口。逐漸的,系統(tǒng)設計人員希望通過網(wǎng)絡發(fā)送命令,檢查狀態(tài),讀取日志數(shù)據(jù)。網(wǎng)絡接口不僅增加了必要的物理層和介質訪問硬件,而且還有異步執(zhí)行的協(xié)議棧,與控制環(huán)的同步采樣活動是異步的。現(xiàn)在,我們不僅有簡單的中斷觸發(fā)實時任務,還有時間限制的兩項任務,一個實時的,一個面向網(wǎng)絡的。在這一點,很難不采用RTOS。
網(wǎng)絡訪問隨之而來的是容易受到攻擊。對聯(lián)網(wǎng)控制系統(tǒng)進行攻擊,不論是否直接連接互聯(lián)網(wǎng),都有可能受到黑客的攻擊。沒有絕對的安全。相應的,即使是看起來不太重要的電機控制器的子系統(tǒng)今后也要受到保護。這意味著,它們必須有本地認證消息,以及加密和解密數(shù)據(jù)。這通常表明需要加密加速器。
因此,這就回答了我們最初的問題。我們看到PMSM控制器在增加,更多的特性在軟件中實現(xiàn),從低成本MCU的簡單任務到某些任務所需要的硬件加速的大量計算。我們注意到需要 FFT、有限沖擊響應(IIR)濾波器、網(wǎng)絡接口,以及隨之而來的安全功能。非對稱多處理逐漸成為提供足夠計算能力并保持實時和后臺任務相互隔離最好的方法。
計算環(huán)境已經(jīng)從中斷驅動的裸金屬代碼擴展到復雜環(huán)境工作負載,這具有很多難以處理的實時任務,以及某些通信相關的背景任務,其中的一些會有工業(yè)網(wǎng)絡時限要求。這么復雜的需求需要采用RTOS。我們看到安全要求內核可信。不論是在FPGA中實現(xiàn)還是采用基于單元的技術實現(xiàn),我們的小電機控制器都是一種很好的異構多核SoC。