借力多核MCU/編碼器 PMSM助工業機器人精準位移 扭矩生成定理
PMSM的電磁扭矩分別由定子及轉子兩個磁場交互作用生成。定子磁場由磁通量或定子電流表示,轉子磁場由恆定的永久磁鐵(弱磁情況除外)的磁通量表示。若將這兩個磁場比喻為兩個條形磁鐵,則可以想像當磁鐵互相垂直時,吸引/排斥磁鐵的力是最大的。這意味著,設計人員應該要依此定理控制定子電流,也就是要創建垂直於轉子磁場的定子向量。轉子旋轉時,也就必須更新定子電流,使定子磁通向量與轉子磁鐵保持90度垂直。
當定子和轉子磁場垂直時,內嵌式PMSM的電磁扭矩方程式為:扭矩=33ppλPMIqs(pp為磁極對的數目,λPM為永久磁鐵的磁通,Iqs則為交軸的電流幅值。)當磁場垂直時,電磁扭矩與q軸電流的幅值成正比。微控制器(MCU)須調節定子相電流強度,同時調節相位/角度,但這不像直流馬達控制那樣容易達成。
簡化電流控制 創造最佳FOC效能
直流馬達控制很簡單,因為其所有受控的量都是穩定狀態的直流電(DC)值,而且電流相位/角度受機械換向器的控制;但在PMSM領域中,要如何才能實現磁場定向控制技術?
DC值/角度控制
首先,須知道轉子的位置,其常常與A相有關。我們可使用絕對位置感測器(如解析器)或相對位置感測器(如編碼器),並處理所謂的「對齊」。對齊過程中,將轉子與A相軸線對齊,如此一來A相軸線與直軸(勵磁分量所在軸)就對齊。在這種狀態中,轉子位置設為0;亦即,構建靜態電壓向量,令所需的電壓在d軸,位置設為0,這導致定子磁場吸引轉子,並將直軸與A相軸線對齊。三相量可通過Clarke變換轉換成等效的二相量。接著,再透過Park變換將兩相靜止參照系中的量轉換成兩相旋轉坐標系中的直流量,這期間要用到轉子位置。
轉子的電氣位置是轉子的機械位置再乘以極對數pp。經過一系列控制之後,設計人員應當在馬達端子上生成三相交流電壓,因此所需/生成電壓的直流值應當通過反Park/Clarke變換進行轉換。
幅值控制
所有變數現在都是直流值,可以輕鬆控制,但是要如何控制它們的幅值呢?對於幅值控制,建議使用級聯結構的PI控制器,且可以像直流馬達那樣控制許多狀態量,如相電流(扭矩環)、轉速和位置。
FOC步驟
首先,須測量馬達的相電流,並使用Clarke變換將它們轉換為兩相系統,及計算轉子位置角;接著,再使用Park變換將定子電流轉換為d、q坐標系統上;此時,定子電流扭矩(isq)分量和磁通量(isd)生成分量由控制器單獨控制;最後,透過逆向Park變換,輸出定子電壓空間向量從d、q坐標系轉換回兩相靜止坐標系,並使用空間向量調製,生成三相輸出電壓。
無感測器控制
設計人員需要轉子的位置資訊,才能高效地控制永磁同步馬達,然而在一些應用中於傳動軸上安裝轉子位置感測器,會降低整個系統的耐用性和可靠性。因此,設計人員的目標不是使用這個機械感測器直接測量位置,而是利用一些間接的技術估算轉子位置。
低速時,須高頻率注入或開環啟動(效率不高)等特殊技術來啟動馬達並使之達到某一個轉速,在這個轉速下對於反電動勢觀測器來說,反電動勢已足夠。通常,5%的基本速度足以使無感測器模式正常運行。
中/高速時,使用d/q參照系中的反電動勢觀測器。內部脈寬調變(PWM)頻率和控制環路頻率必需夠高,才能獲得合理數量的相電流和直流母線電壓的樣本。反電動勢觀測器的計算要求乘累加、除法、正弦/餘弦(sin/cos)、開方等數學計算,適合使用基於安謀國際(ARM)內核的Kinetis MCU或Power Architecture系列的數位訊號控制器(DSC)。
弱磁控制
超過馬達額定轉速的作業要求,PWM逆變器提供的輸出電壓高於直流母線電壓所限制的輸出能力。要克服速度限制,可實施弱磁演算法。負的d軸給定電流將提高速度範圍,但由於定子電流的限制,可得到的最大扭矩會相對地降低。在同樣的直流母線電壓限制下,控制d軸電流可以起到弱化轉子磁場的效果,這降低了反電動勢電壓,允許更高的定子電流流入馬達。
PMSM/MCU相輔相成 提升工業機器人自由度 PMSM/MCU相輔相成 提升工業機器人自由度
機器人已開始在工廠自動化處理中發揮著重要作用,其代替工人進行焊接、塗裝、裝配等可藉由機器人達到更經濟、快速和準確完成標準的常規作業。以下將從馬達控制角度介紹系統描述和需求。
無論是線性的還是鉸接式的機器人架構配置,大部分應用都要求高精度的機械臂運動。因此,馬達控制策略採用位置控制環路,其中實際位置由位置感測器捕獲,通常增量編碼器或絕對編碼器的解析度都非常高。機器人系統的自由度(DOF),即移動關節數與所使用的馬達數是相等的,因此DOF的值越高,每個馬達的位移精準度要求就越高,因為每個馬達產生的位置誤差是相乘的。在這些應用中,需要具有數以百萬計脈衝的編碼器。與焊接或銑削數控機床相比,沖孔或鑽孔數控機床的刀具夾的位置控制要求較低,因為焊接或銑削數控機床的關節運動必須精確地同步進行,才能保持所需的運動軌跡。
以銑削數控機床的例子而言,機床控制結構的頂層是數控機床主控制器,通常須要使用多內核的MCU,它必須執行的任務和服務,包括人機介面/顯示器應當能夠輸入、顯示並編輯整個數控程式;系統管理器監控並指揮其他MCU,處理系統異常情況和中斷訊號,存儲數控控制程式、刀具校準和刀具補償參數,以及不同用戶的補償和其他設置;以及運動軸控制處理器解析數控程式並計算位置指令,將這些指令內插到各種坐標系統,並將消息發送給指定的馬達控制器。
從周邊設備要求來看,MCU應當能夠處理各種工業通訊協議,包含大容量的片內記憶體且無需特定的馬達控制外設模組。
馬達控制層的需求與上層不同。使用單顆MCU可能不會滿足每種情況下的需求,因此需要一顆額外監控安全的MCU。除通訊外,主MCU執行馬達控制演算法並處理特定驅動器的故障狀態。
馬達控制演算法包括位置/速度/電流(扭矩)控制環路的計算。片上非易失性記憶體的最佳大小在數十KB範圍內,且MCU必需有專用的馬達控制周邊模組,包括六通道的PWM產生計時器、快速精確的模數轉換器以及處理編碼器訊號的介面。
有時,數控機床的主控制器和馬達控制MCU之間的通訊透過光纖匯流排來實現,以確保惡劣、嘈雜環境下位置資訊能夠準確傳遞。馬達控制MCU底層為功率模組,每個模組驅動一個馬達。這些還不包括具體的MCU邏輯,但能夠配備一個智慧的絕緣閘雙極性電晶體(IGBT)或功率金屬氧化物半導體場效電晶體(MOSFET)驅動器,它可以進行故障保護和診斷功能。功率模組測量控制演算法中所用的回饋訊號(相電流、電壓),並通過快速通訊介面傳送給馬達控制MCU。
機器人系統通常包含必須由MCU控制的附加元件,如自動換刀裝置和刀具冷卻控制,或者在數控車床情況中,須要主軸驅動控制。如上所述,頂層要求強勁的計算能力執行多個任務,但並不要求特定的馬達控制周邊。目前已有廠商提供多種32位元解決方案產品組合,如基於單核或雙核Cortex-A5/Cortex-M4的Vybrid控制器解決方案,或基於Cortex-M4內核的KinetisK70 MCU,以滿足上述設計需求。這些解決方案有專用馬達控制周邊模組,包括與ADC同步的PWM模組,但浮點單元是不需要的,因為內核性能足以執行向量控制演算法。