电机控制要点解疑:SPWM,SVPWM和矢量控制

虽然如今作自动驾驶去了,仍是有必要把以前一年作电机控制的心得分享一下,也能方便本身往后的参考。html

(如下针对反向电动势为正弦的永磁同步电机而言)算法

 

目录:orm

1. SPWM和SVPWMhtm

2. 矢量控制(Space Vector)blog

 

 

1. SPWM和SVPWM同步

 

抛开各类控制算法等细节,从最朴素的角度出发。咱们只须要在A,B,C三相提供120相位差的正弦电压,电机就会稳定的转动起来,调节正弦电压的幅值和频率,就能调节电机的转速和扭矩。这是咱们所须要的输出。而咱们所提供的输入是稳压直流电源,电机控制中的控制二字指的就是经过6路PWM,控制6个MOS管的开断,来达到直流电源变正弦交流的目的。it

 

因而,这就引出了电机控制的核心手段:PWM。接下来介绍SPWM和SVPWM两种技术,这表明了电机控制建模的两种思路。io

A. SPWMform

先看图:class

SPWM的思路简单粗暴,既然输出你想要正弦波,那还不简单,把正弦电压采个样,当前你要多大的电压,我调调PWM的占空比给你就是了。好比这一秒你要1.2V,我给个10%占空比的PWM,12V的电源输出不就成了你要的1.2V了吗?电机参数,当前状态什么的,我才懒得管。

 

B. SVPWM

相比之下,SVPWM考虑问题的视角就彻底不同了。表面上看咱们要的输出是三相正弦波,本质上讲是正弦波产生的旋转磁场在带着转子在转动啊。既然要旋转,那仍是先看图吧:

 

图中的(001),(101)什么的表明的是6个MOS管的开关状态,你只须要把6个MOS管调到对应的状态,就能获得该方向的电压,做用到电机的转子上带动其旋转,这里就不深究了,到时候本身查表对着作就好了。这里须要强调的是,SVPWM在控制时已经在考虑电机的状态了,好比电机的转子运动到了某个位置,这时须要一个落在扇区1方向的电压来拖动转子的运动,那我就在(100)和(110)之间切换,来合成咱们想要的电压呗。相较于SPWM的简单粗暴,SVPWM就考虑的细致入微了。

固然SVPWM的好处也是不言而喻的,在所需电压转动,扇区切换的途中(好比电压从扇区1旋转达到了扇区2),咱们只须要把以前的(100)换成(010),而(110)彻底不用动,这样就避免的SPWM为达目的,不择手段段,在那疯狂瞎变换MOS开断的疯狂行径,能大大减小MOS开断的损耗。

 

这里提一句,为何电机控制用的是中心对称PWM而不是边缘触发,由于按着SVPWM的思路走,每次状态变换只须要改变一个MOS管的开关状态,见下图:

 

 

2. 矢量控制(Space Vector)

很少bb:

 

什么Park,Clark变换我就很少说了,之因此咱们费尽心思在这搞什么矢量控制,坐标变换,把好好的三相变成旋转的两相X,Y坐标系里面去,是由于变过去了之后,你会发现 Ia, Ib 的幅值固定了,变量被分离到了旋转角θ里面去了。电流的指望值固定了,就能够用PID来控制啦!!! 对,折腾了这么久,咱们就是想用PID,这就是电机控制的核心,现代控制虽然好,工业界只爱PID :)

 

 

啰嗦一句,clark仍是Park变换里面有个2/3仍是2/3 的系数变换,是在作相电压与线电压的变化,首先你要知道PMSM在控制时三相是一直在导通的,而不像BLDC只有两相同时导通。2/3具体推导见下图:

 

 

 

Reference:

1. https://www.zhihu.com/question/26858454

2. https://read01.com/KA66o6.html#.WuyBO6Qvypo

3. https://www.ti.com/lit/an/spra588/spra588.pdf

4. https://www.nxp.com/docs/en/supporting-information/DWF13_AMF_AUT_T0526.pdf