【導讀】怎樣才能把多個(gè)CPU內核、硬件加速器塊以及10G以太網(wǎng)接口結合起來(lái)控制一個(gè)電機呢?對于采用1美元微控制器 (MCU) 來(lái)運行電機的設計人員而言,這一問(wèn)題太荒謬了。答案可能來(lái)自令人感興趣的控制系統設計案例,實(shí)時(shí)系統體系結構的發(fā)展等。
起點(diǎn)
讓我們介紹一種在我們應用場(chǎng)景中處于中心位置的永磁同步電機,即PMSM。PMSM有很多種外形和體積,適合很多種應用,從開(kāi)關(guān)門(mén)到機器人手術(shù)工具關(guān)節等。在這一領(lǐng)域中,它得到了廣泛的應用,這是因為其固有的可靠性、低成本,在我們的應用中,經(jīng)過(guò)適當的控制,可以實(shí)現高精度和高效率。實(shí)際上,應用的要求越來(lái)越高,PMSM支持您降低機電設計的復雜性,在軟件中實(shí)現復雜的功能。
PMSM機械和電氣特性非常簡(jiǎn)單(圖1) 。轉子正如其名稱(chēng)所示,是永磁體。通常有三個(gè)定子繞組,在電機中均勻的120度角分布。真正的訣竅在于繞組的不同:轉動(dòng)密度是圍繞定子呈正弦分布,因此,繞組實(shí)際上在邊緣上相互重疊。在繞組合適的相位上應用正弦電流,您能夠建立與轉子場(chǎng)角度垂直的旋轉磁場(chǎng),從而在轉子上高效的產(chǎn)生扭矩。

圖1. PMSM截面
控制PMSM并不是高科技。一個(gè)簡(jiǎn)單的MCU使用查找表和插值來(lái)生成所需的驅動(dòng)電流時(shí)變正弦信號,為繞組提供電流。如果算法正確,繞組會(huì )產(chǎn)生電機旋轉磁場(chǎng),轉子隨之轉動(dòng)。雖然起步有些復雜,但畢竟完成任務(wù)了,對吧?不完全是這樣。
現場(chǎng)定位控制
開(kāi)環(huán)控制的問(wèn)題總是很復雜。啟動(dòng)電機,特別是有負載的情況,會(huì )比較難,效率也不高。開(kāi)環(huán)控制器的響應并不能很好的適應負載扭矩或者速度命令的變化,無(wú)法抑制振動(dòng)。出于通常的考慮,反饋控制系統工作起來(lái)會(huì )更好一些。
問(wèn)題是要控制什么。很明顯,我希望控制轉動(dòng)角度,在某些應用中,旋轉速度。我們必須通過(guò)控制產(chǎn)生旋轉磁場(chǎng)的三個(gè)繞組電流來(lái)完成這一工作。對此最好的方法是,在業(yè)界已經(jīng)應用的多路步進(jìn),即,線(xiàn)程定位控制 (FOC) (圖2) 。

圖2. 驅動(dòng)結構圖
[page]
第一,我們采集來(lái)自轉軸編碼器的轉子位置采樣,以及三個(gè)繞組中兩個(gè)繞組的電流采樣。
由于一些很好的數學(xué)算法,我們并不需要所有三個(gè)繞組電流。這些采樣告訴我們轉子以及定子旋轉磁場(chǎng)的瞬時(shí)位置和滯后速度。我們的工作是控制轉子的速度和位置,這通過(guò)控制定子繞組的電流大小來(lái)實(shí)現,同時(shí)還要讓旋轉磁場(chǎng)比轉子磁場(chǎng)超前90度。
通過(guò)兩個(gè)簡(jiǎn)單的變換,我們很容易完成這一工作。Clarke變換將兩個(gè)定子繞組的電流采樣 — 它們分開(kāi)120度,映射到一對正交矢量上。矢量的方向相對于定子是固定的,當然,其矢量和是旋轉磁場(chǎng)矢量。Clarke變換只需要將電流值乘以常數,加上乘積——簡(jiǎn)單的乘累加運算。
第二種變換是Park變換,將這兩個(gè)正交矢量映射到轉子參考的旋轉幀中。
一個(gè)矢量與轉子磁場(chǎng)對齊,另一個(gè)正交矢量,角度與其垂直。Park變換比較難處理。在進(jìn)行矢量乘法把矢量變換成轉子參考幀之前,它使用瞬時(shí)轉軸位置來(lái)計算sin(θ)和cos(θ)系數。
一個(gè)矢量與轉子磁場(chǎng)對齊,另一個(gè)正交矢量,角度與其垂直。Park變換比較難處理。在進(jìn)行矢量乘法把矢量變換成轉子參考幀之前,它使用瞬時(shí)轉軸位置來(lái)計算sin(θ)和cos(θ)系數。
現在,我們可以控制信號。我們把與轉子對齊的矢量保持為0,表示定子磁通量沒(méi)有對轉子產(chǎn)生扭矩。我們使用正交分量來(lái)控制轉子位置和速度,定子磁通量實(shí)際上產(chǎn)生了扭矩。
例如,控制器會(huì )處理所需位置的輸入,將其與傳統分立時(shí)間比例積分(PI) 控制電流的實(shí)際轉軸角度相對比,產(chǎn)生誤差信號,輸出至 FOC 模塊。FOC 模塊然后會(huì )把這一誤差信號送入正交扭矩信號中,使轉子旋轉。模塊會(huì )應用 Park 反變換,把扭矩映射回定子參考的固定幀,然后,通過(guò)Clarke反 變換,把扭矩信號映射到電流中,送入三個(gè)繞組。這樣就改變了定子繞組所需位置和所需速度輸入激勵信號,旋轉定子磁場(chǎng),使轉子處于所需的角度上。
計算負載并沒(méi)有那么復雜:FOC模塊每一采樣間隔可能是兩次三角運算,10次乘法,7次加法,以及一些其他運算來(lái)實(shí)現PI控制器。所有這些算法都可以在定點(diǎn)中實(shí)現,需要仔細一些。采用目前的典型16 kHz采樣和脈沖寬度調制速率,我們并沒(méi)有降低現代32位MCU的整體性能。但是,不止于此。
無(wú)傳感控制
讓我們從那個(gè)轉軸編碼器開(kāi)始。FOC算法必須有精確的轉軸角度反饋。傳統上,這一數據來(lái)自轉軸編碼器與電機轉軸連接的光機電設備。但是,編碼器提高了系統中每一電機的成本、體積、重量,增加了新的失效模式。它需要控制器工業(yè)標準接口。
原理上,有足夠的定子繞組電壓和電流信息來(lái)確定轉子位置。這樣,可以實(shí)現無(wú)傳感工作 — 至少可以不采用轉軸編碼器,采用更多的電流傳感器和三個(gè)電壓傳感器來(lái)替代它,所有這些信號都需要精確的模數轉換。這樣,很多復雜的機械功能可以在軟件中實(shí)現。
就是這種想法。繞組負載上的電壓有兩個(gè)主要分量:繞組串聯(lián)電阻導致的IR壓降,來(lái)自繞組電感的后向EMF。但是,后向EMF本身有兩個(gè)來(lái)源:繞組自身的電感,以及轉子通過(guò)繞組磁力線(xiàn)導致的漏磁通量。如果您能夠隔離電壓變化的最后部分,基本上就能夠計算出轉子角度。實(shí)際上,這樣做涉及到一些計算,包括Park變換,積分評估,以及每一采樣間隔期間的反三角函數運算。
然而,除了實(shí)驗室環(huán)境,您不太可能獲得電機特性的精確數據,例如,繞組阻抗和電感等。不同的電機有不同的這類(lèi)指標,而且這些指標還對溫度和老化等其他參數非常敏感。
由此,開(kāi)發(fā)人員建議了各種方案從狀態(tài)變量矩陣中提取出轉子角度。這些想法包括鎖定由轉子導致的電壓波紋的鎖相環(huán),計算轉子位置的狀態(tài)估算器,將其結果與以前的數據進(jìn)行對比,還有最終的估算器,Kalman濾波器。與直接計算相比,這些方法至少讓計算負載增加了一倍,每一周期至少需要30次算術(shù)運算。
振動(dòng)控制
FOC的優(yōu)點(diǎn)之一是能夠控制振動(dòng)及其伴隨噪聲。這類(lèi)測量提高了能效和機械可靠性,有可能不需要太多的機械設計。在消費類(lèi)市場(chǎng)上,這能夠把600美元的洗衣機抬高到售價(jià)800 美元的豪華型。
原理還是那么簡(jiǎn)單。如果振動(dòng)的原因是控制環(huán)不穩定造成的,那么您可以改變 PI 控制器的增益,使其更接近臨界阻尼。如果振動(dòng)是由電機、驅動(dòng)轉軸或者負載機械共振造成的,您可以通過(guò)吸收扭矩信號共振頻率功率來(lái)消除振動(dòng)。比較方便的是,FOC方法使您能夠在扭矩信號變成三路時(shí)變正弦信號之前訪(fǎng)問(wèn)它,因此,增加陷波濾波器吸收共振頻率功率就可以了。
不論哪一操作,增加增益環(huán)還是濾除錯誤信號,都會(huì )對系統動(dòng)態(tài)速度和位置誤差產(chǎn)生不利影響。但是在很多應用中,對于平滑安靜的操作,轉軸速度的瞬時(shí)誤差并不重要。
[page]
振動(dòng)控制需要三種主要的處理模塊:快速傅里葉變換(FFT),從轉軸位置或者繞組電流數據中提取出頻譜,探測和響應模塊,找到頻譜最大值,確定怎樣處理它們,還有一個(gè)或者更多的可編程陷波濾波器,去掉扭矩信號中的雜波頻率(圖3) 。

圖3.扭矩控制器和Park反變換之間的可編程陷波濾波器能夠改進(jìn)系統的共振。
這些模塊都適合應用。在某些系統中,共振是固定的,或者慢變的,FFT會(huì )是啟動(dòng)或者后臺任務(wù)。在共振變化很快的系統中,FFT需要連續運行。響應模塊與應用有很大的關(guān)系,確定對PI環(huán)路增益的調整,增加濾波器,選擇濾波器參數等,在很大程度上取決于整個(gè)電機系統的特性。因此,在沒(méi)有詳細了解系統的情況下,不太可能估算振動(dòng)控制所需要的計算負載。
工作堆疊
目前為止我們已經(jīng)進(jìn)行了很多工作,每一16 kHz周期可能有幾百項算術(shù)指令,還有FFT計算。我們所面臨的是,任務(wù)的增長(cháng)已經(jīng)超出了低成本MCU的簡(jiǎn)單中斷服務(wù)。但還有更多。
最明顯的是增加了很多電機。很多控制任務(wù)本質(zhì)上都是多軸的:例如,粉碎機的工具位置,或者全關(guān)節機器人手等。在集成級,在軸上需要共享實(shí)時(shí)數據等,就能夠體現多通道控制器的優(yōu)點(diǎn)。但是由于軸之間有很少的冗余計算,因此,更多的通道只是增加了工作負載。
還有采樣率。目前的采樣率從以前的搜索RMS位置或者速度誤差的16 kHz標準,增長(cháng)到 100 kHz。自然的,提高采樣間隔會(huì )減少完成實(shí)時(shí)計算的時(shí)間,必須在采樣間隔期間完成實(shí)時(shí)計算。
工廠(chǎng)之外的變化也對控制器體系結構帶來(lái)了壓力:子系統聯(lián)網(wǎng)了。一個(gè)主要的轉換點(diǎn)是設計中增加了工業(yè)網(wǎng)絡(luò )接口。逐漸的,系統設計人員希望通過(guò)網(wǎng)絡(luò )發(fā)送命令,檢查狀態(tài),讀取日志數據。網(wǎng)絡(luò )接口不僅增加了必要的物理層和介質(zhì)訪(fǎng)問(wèn)硬件,而且還有異步執行的協(xié)議棧,與控制環(huán)的同步采樣活動(dòng)是異步的?,F在,我們不僅有簡(jiǎn)單的中斷觸發(fā)實(shí)時(shí)任務(wù),還有時(shí)間限制的兩項任務(wù),一個(gè)實(shí)時(shí)的,一個(gè)面向網(wǎng)絡(luò )的。在這一點(diǎn),很難不采用RTOS。
網(wǎng)絡(luò )訪(fǎng)問(wèn)隨之而來(lái)的是容易受到攻擊。對聯(lián)網(wǎng)控制系統進(jìn)行攻擊,不論是否直接連接互聯(lián)網(wǎng),都有可能受到黑客的攻擊。沒(méi)有絕對的安全。相應的,即使是看起來(lái)不太重要的電機控制器的子系統今后也要受到保護。這意味著(zhù),它們必須有本地認證消息,以及加密和解密數據。這通常表明需要加密加速器。
因此,這就回答了我們最初的問(wèn)題。我們看到PMSM控制器在增加,更多的特性在軟件中實(shí)現,從低成本MCU的簡(jiǎn)單任務(wù)到某些任務(wù)所需要的硬件加速的大量計算。我們注意到需要 FFT、有限沖擊響應(IIR)濾波器、網(wǎng)絡(luò )接口,以及隨之而來(lái)的安全功能。非對稱(chēng)多處理逐漸成為提供足夠計算能力并保持實(shí)時(shí)和后臺任務(wù)相互隔離最好的方法。
計算環(huán)境已經(jīng)從中斷驅動(dòng)的裸金屬代碼擴展到復雜環(huán)境工作負載,這具有很多難以處理的實(shí)時(shí)任務(wù),以及某些通信相關(guān)的背景任務(wù),其中的一些會(huì )有工業(yè)網(wǎng)絡(luò )時(shí)限要求。這么復雜的需求需要采用RTOS。我們看到安全要求內核可信。不論是在FPGA中實(shí)現還是采用基于單元的技術(shù)實(shí)現,我們的小電機控制器都是一種很好的異構多核SoC。