Microchip小百科:PMSM马达控制经验谈 智能应用 影音
Vicor
DForum0522

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小百科。