Microchip小百科:PMSM馬達控制經驗談 智慧應用 影音
TERADYNE
ST Microsite

Microchip小百科:PMSM馬達控制經驗談

圖一:PWM noise on Hall Signal。
圖一:PWM noise on Hall Signal。

台北訊
目前Microchip的3.3V 70MIPS dsPIC33EP MC系列是專門針對motor control所設計的MCU/DSP。以三相馬達控制為例,從基本的BLDC 六步方波到Sensorless FOC (PMSM永磁同步 or AC感應)皆可輕鬆應付。若強調車用及安全功能,5V且具有ECC (error codes correction)的dsPIC33EV系列則為首選。而PIC32MK MC系列及SAM E/S7x 300MHz Cortex M7系列則非常適合高階伺服馬達控制應用,如高速高精度的工具機台。以下介紹將以較常見的三相永磁馬達為主。

以控制法則來分,有BLDC六步方波驅動,可以是開迴路或是速度閉環或速度及電流閉環控制。若要輸出弦波有Sensorless FOC (Microchip Application notes AN1078, AN1292)或開迴路弦波控制(AN1017)。若要輸出弦波電流,且馬達啟動時就有高負載,sensor-less FOC就比較不適合。此情形就必須在馬達加上Hall IC或編碼器偵測馬達轉子位置,以便在馬達堵轉時也可輸出高扭力,例如e-bike、 e-scooter等。

圖二:馬達轉子角度。

圖二:馬達轉子角度。

圖三:Hall 信號讀取。

圖三:Hall 信號讀取。

圖四:Hall FOC 馬達相電流。

圖四:Hall FOC 馬達相電流。

一般來說都會使用Hall IC。但根據經驗,我們常遇到弦波控制時,Hall IC輸出容易受馬達動力線或PWM干擾,尤其是Hall信號線常與motor UVW動力線做成同一條線時此情形更為常見,如圖一紅色圈所示,其中的noise會導致MCU多產生一次以上之Capture中斷,如果是以中斷讀取Hall信號來計算速度,此情況便會造成速度計算突波。

由於是用Hall信號來預估SVPWM所需角度,速度計算的突波會使角度產生嚴重錯誤,使得FOC在做d-q電流控制時造成錯誤,又造成了馬達相電流突波而使馬達抖動。根據實驗結果,利用Microchip dsPIC DSC在PWM與A/D同步觸發下讀取Hall輸入信號可大幅避免此問題產生並利用MPLAB X IDE的插件X2C Scope來檢視是否有Hall信號讀取錯誤。圖二顯示馬達角度為一連續變化,而圖三為Hall信號變化,依據兩圖的顯示得知並無角度錯誤產生。圖四為馬達相電流波形。

至於以Hall IC當作轉子位置偵測的FOC執行時間,Torque control only 為11.2uS,若再加上speed control loop則共為14uS。 以20KHz PWM的切換頻率來說,分別只佔了22.4%及28%的執行頻寬以(基於70MIPS執行速度)。所以dsPIC還剩餘非常充裕的時間執行其他通訊及house keeping 的工作。

最後,Microchip Harmony V2.03b以上已提供sensorless FOC project可於32-bit 120MIPS PIC32MK1024MCF100 + MCLV-2 demo borad上執行。該project提供完整的source codes包含FOC核心,如d-q軸轉換,PID,SVPWM以及PLL轉子位置估測器等,並具備雙精準度浮點運算器,可以執行馬達控制的複雜數學運算,減少量化誤差。例如位置控制應用中常會用來抑制震動的數位濾波器,S curve產生函數以及sensorless FOC裡的位置估測器,降低許多定點DSP各個變量normalization的複雜度。

本文作者:Microchip應用工程師葛育中。歡迎至「Microchip視頻及資源中心」瀏覽更多Microchip小百科。