svpwm算法原理及详解
svpwm算法原理及详解:
这是三相到两相固定坐标系的阿尔法--贝塔变换,严格的数学证明需要用到向量空间的基变换:三个呈120度的向量,在二维正交坐标系下可用复数表示为:e^(j0) ;e^(j*2*pi/3) ;e^(-j*2*pi/3)
若以第一个向量为实轴方向,则另外两个向量分别呈120度和-120度(也就是240度)
这三个向量上的坐标(也就是三相输出电压的幅值)分别为UA UB UC,若以UA的矢量为实轴正方向(通俗点说就是把A相放在0度的位置,B相放在120度位置,C相放在-120度位置),这样,他们按照空间位置摆放后的矢量和在复平面表示为:
UA*e^(j0) +UB*e^(j*2*pi/3) +UC*e^(-j*2*pi/3)
=UA +UB*e^(j*2*pi/3) +UC*e^(j*4*pi/3)
这个复平面也就是阿尔法-贝塔变换后的二维向量空间
如果你不理解这个复数表示方法,建议你看看欧拉公式
同时,因为UA,UB,UC还是正弦(或余弦)信号,他们的角度关系与空间摆放的角度关系一致
这样,cos和sin可以通过欧拉公式展开成复数的表示形式:
sin(a)= 1/2 * [-j*e^(j*a) + j*e^(-j*a) ]
cos(a)=1/2 * [ e^(j*a) + e^(-j*a) ]
这样,再代入UA*e^(j0) +UB*e^(j*2*pi/3) +UC*e^(-j*2*pi/3) 中,这个式子其实展开后是一个含有3个转速的式子,但由于120和-120度的存在,另外两个式子被抵消掉了,最后就可以得到上面的结果。
这个式子最后的结果,电压幅值为:Ut= (A+B+C)/2 ;A,B,C分别为三相的电压幅值,
(准确的值为:(A+B+C)/2 *e ^(-jwt) ,也就是初值位置在实轴上,按照顺时针运动 )
由于三相电压幅值相同,也就是Ut=3*U/2=3/2 * sqrt(2) * Um *e ^(-jwt)
这里还要乘以一个2/3,是把合成矢量幅值按照输出电压幅值来等效,因为三相幅值为1的120度相差正弦信号按照120度摆放后,合成旋转矢量的幅值其实就是3/2,上面已经算过了
乘以2/3是因为后面的d/q分解,得到的矢量按照实际输出电压幅值来作为参考值会省很多麻烦