1、SPWM简介
通过调整占空比使等效电流近似为正弦波,这种PWM也就是SPWM。
SPWM不依赖开关顺序,3相独立调制,类似开环控制,是没有反馈的,只管生成正弦波。
1.SPWM调试方式在FOC实现中并不常用,原因是SPWM要比后面要说的SVPWM的母线电压利用率要低15%。
2.从控制的角度来看,三个正弦波难以控制。
2、SVPWM简介
SVPWM (Space Vector Pulse Width Modulation)即:空间电压矢量。由三相逆变器的六个开关元件组成的特定开关模式,使输出电压波形尽可能接近于理想的正弦波形。
主要用于解决如何使电机获得理想圆形磁链轨迹。
SVPWM算法的目的,就是使用逆变电路的6个开关状态把在空间中旋转的矢量表示出来,我们把这个矢量称为空间电压矢量。
SVPWM算法实际上计算的是三相逆变器的六个开关何时导通,何时切断。以此来模拟正弦电流。
3、SVPWM解析
定义一个开关函数Sx(x=a,b,c),当Sa=1时表示A相上桥臂导通,当Sa=0时,表示A相下桥臂导通。同一个半桥不能同时导通上下桥臂,会导致短路发生。
普通的三相全桥是由六个开关器件构成的三个半桥。这六个开关器件组合起来(同一个桥臂的上下半桥的信号相反)共有 8 种安全的开关状态。
3.1示例1
从上面八个开关状态中选择任意一个开关状态,此次选择U4(100)进行举例说明。U4为向电机驱动电路中输入100状态。a、b、c三相相电阻相同。
由串联分压可得:
其他组合情况同理可得:
非零矢量的幅值相同,均为2/3Udc。
6 个非零矢量幅值一致,均为2/3Udc,中间合成的电压向量的幅值是相邻两个电压向量相加的 1.5 倍。我们用 SVPWM 重现该合成电压向量,希望重现的合成电压向量的幅值和所加相电压的幅值完全一样,所以在这里乘以2/3。
8 中开关状态可将 360 度的电压空间分为60度一个扇区,共六个扇区,利用这六个基本非零矢量和两个零量,可以合成 360 度内的任何矢量。
3.2示例2
现在一个扇区内所有状态的持续时间我们都得到了,还差一个扇区内各个状态切换的顺序。以减少开关次数为目标,基本矢量作用顺序原则为:在每次开关状态转换时只改变其中一个相的开关状态,并且平均分配零矢量,使 PWM 对称、降低 PWM 的谐波分量。常用方式有 7 段式和 5 段式 SVPWM。此时主要解析 7 段式 SVPWM。
以第Ⅰ扇区为例,三相调制波形在时间段 Ts 时段中如下图所示。
3.3示例3
计算后得知扇区2的合成电压矢量是由U2和U6合成的,该扇区内的通电顺序如下。
然后按照Ⅱ扇区开关切换顺序合成角度递增的新的矢量,直至超过 120°范围,进入下一个扇区,直至旋转 360,然后依次循环。
通过上述推导可知,要实现信号调制,首先要知道参考电压矢量所在扇区位置,然后利用扇区相邻两个非零矢量和零矢量来合成,然后以旋转矢量为目标,在每个扇区内通过不同的开关顺序合成矢量来跟随目标旋转矢量。
通过下图条件可以判断某一时刻,电压合成矢量在那个扇区。
至此我们得到了每一时刻所需要的空间电压矢量以及它们持续的时间,
同理可计算得其他扇区基本空间矢量的作用时间。在处理器中赋值给对应通道的捕获比较寄存器产生相应的三个 PWM 波形,控制 MOS 管的开关,进而产生我们期望的电压、电流、力矩。
4、总结
当两个零电压矢量作用时间为 0 时,一个 PWM 周期内非零电压作用时间最长,合成空间电压矢量幅值最大,其最大值不会超过正六边形边界,否则就会过调,输出电压波形就会失真。
到目前为止,为了使电机旋转起来,还需要知道电机转子的位置,根据位置来合成旋转磁场矢量,使转子跟着旋转,对于一般的直流无刷电机,可以依据霍尔传感器来反馈转子位置,如果通过编码器来获取转子位置则更加精确,不过只使用编码器还需要启转前的校准,也就是找到转子对齐定子时刻的编码器位置,一般是通一段时间的小电流,将转子吸过去,然后将变化之后的编码器位置设置为零点,不过每次断电重启时都需要对齐一次,如果同时具备霍尔传感器和编码器,就可以相辅相成。而如果霍尔传感器和编码器都没有就有点麻烦了,和编码器方式一样,先通电流利用旋转磁场把转子带起来,通过电流的采集估测转子位置,转子位置采用观测器来估算,常用的有滑膜环观测器法、隆伯格观测器法、高频注入法等。
不同电流模式下的控制策略主要有:最大转矩电流比控制(保持转矩需求的情况下调节直轴交轴电流比例使电机定子输入电流最小)、id=0 控制(标贴式无刷电机常用策略)、弱磁控制 (电机转速超过额定转速时通过减小直轴电流降低电枢电流从而减小反电动势以提供扭矩电流进一步加速)、cosφ=1 控制(功率因数恒为 1)等。