一、总览

二、SVPWM

1.SVPWM是干什么的

如果把SVPWM看做黑盒子,那么他输入由帕克逆变换得到的Uα和Uβ,输出是当前三相需要的高电平时间或者说是CCR值。他可以利用六个基本的电压矢量(分立的)通过七段式切换 合成连续的、任意方向的矢量。

2. SVPWM如何工作?

首先我们需要先让电机绕组产生360度全方位的磁矢量,产生了磁矢量之后电机的转子(也可以看做一块磁铁)会被产生的磁矢量所吸引到对应的方向,这样就达到了我们控制电机转动的目的

我们通过对A、B、C三相线的一进两出,两进一出,得出了右边的六个全部的基本磁矢量(电压矢量),有了这六个基本电压矢量之后我们就可以合成其中的任何方向的电压矢量,比如我要产生一个U4(100)和U6(110)之间的一个电压矢量,就可以通过U4和U6交替切换根据伏秒平衡原理产生其中任何方向的电压矢量

那么这六个基本电压矢量合成的合成的就是以基本电压为半径的圆吗?不是的。

我们可以使用一个简单的实验对其进行验证

假如我们想要合成U4和U6正中的一个电压矢量,那么我们很简单可以知道此时U6和U4在单个切换周期内是各占一半的。因此我们可以得到图中公式

得到的结果是二分之根号三,刚刚好是直线连接U6和U4的线到中性点的距离!同理我们也可以知道其他情况下合成出来的电压矢量的大小就是基本电压矢量围成的六边形。而我们都知道中性点到六边形的距离在U6到U4(其他扇区内也是同理,这里只是举个例子)是先减小后增大的,这样,我们SVPWM标志性的马鞍波就出来了。*问题4

我们再根据上面的基础上合成一个与U4角度为θ的电压矢量,还是和刚才一样的用正弦定理,最后得出相邻两项基本电压矢量的切换时间:

T1=(sqrt(3)*Vx*Ts*sin(PI/3-theta))/Udc;

T2=(sqrt(3)*Vx*Ts*sin(theta))/Udc;

那么我们接下来就要把这个T1和T2转换成CRC的比较值,这样就可以通过PWM输出了

而我们已经知道Ts也就是占空比的最大值Ts了,T1和T2又已知,则T0、T7=Ts-T1+T2也很容易计算出来

结合图像可以知道

Tc_tempCCR=(T7、T0)/2;T0或T7的时间的四分之一,也是第一路的占空比,最底下的一路占空比
Tb_tempCCR=Tc_tempCCR+T1/2;//四分之一的T0加上T1的二分之一,中间一路占空比
Ta_tempCCR=Tb_tempCCR+T2/2;//四分之一的T0加上T1的二分之一加上T2的二分之一,最高一路占空比

结束了吗?

我们可以知道不同的扇区的Ta、Tb、Tc对应的上下桥是不一样的,所以上面的Tc_tempCCR并不是指现实主板上的ABC三相占空比,我们需要将他们对应起来,比如我们在第一扇区,U4=100,U6=110。我们知道A相(两个基本向量的第一位数字)是打开时间是最多的,因为有两个打开,所以Ta_CCR=Ta_tempCCR。BC相也是一样的。我们再举个第四扇区的例子,在第五扇区,U1=001,U5=101。Ta_CCR=Tb_tempCCR,Tb_CCR=Tc_tempCCR,Tc_CCR=Ta_tempCCR。非常好理解。

然后我们PWM START就可以让电机转起来了!!!

我们还能不能优化一下上面的结构呢?

上面的需要知道theta,需要对Uα和Uβ进行反正切计算得到theta,计算T1、T2也需要进行昂贵的sin、cos计算,,这不是我们想要的。

我们想要避免正余弦、反正切计算,就需要抛弃掉theta,可是没有theta也能判断扇区吗?当然可以了。

我们在原有的扇区上基于αβ判断。根据αβ加上β=sqrt{3}α和β=-sqrt{3}α根据这样最简单的逻辑判断就可以

这样就到了七段式的PWM(不用的话波形不好看,而且电流不好采样)了

问1:SVPWM判断扇区的目的是什么?在实际的电机控制中,有感方案不是可以直接得到转子的位置从而得到theta,有theta不就知道扇区了吗,而无感方案中六步换相也不用判断扇区不是吗?

问2:SVPWM假如要合成一个U4(100)和U6(110)之间的一个电压矢量,不是只要调整第二项半桥的上下桥导通时间就可以吗?为什么还有000->100->110->111->110->100->000这样的七段式SVPWM调制法?这不是反而增加了半桥的开关损耗吗?

问3:为什么SVPWM矢量合成图是一个六边形,而不是圆形。或者说为什么经过SVPWM处理后是马鞍波,而不再是正弦波了

问4:马鞍波为什么会比正弦波好呢?既然马鞍波会比正弦波好,那我们一直研究三相正弦波是为什么呢?

玩转FOC无刷电机系列教程-SVPWM讲解补充

【自制FOC驱动器】深入浅出讲解FOC算法与SVPWM技术 - 知乎

https://www.bilibili.com/video/BV1SS42197Sv(最易懂的SVPWM讲解)