Simulink仿真---SVPWM算法

一、理论

SVPWM算法的具体讲解在这里:https://blog.csdn.net/qlexcel/article/details/74787619

1、判断扇区

根据下面3个式子:


    再定义,若U1 > 0 ,则 A=1,否则 A=0; 

                  若U2 > 0 ,则B=1,否则 B=0;

                  若U3 > 0 ,则 C=1,否则 C=0。

    可以看出 A,B,C 之间共有八种组合,但由判断扇区的公式可知 A,B,C 不会同时为 1 或同时为 0,所以实际的组合是六种,A,B,C 组合取不同的值对应着不同的扇区,并且是一一对应的,因此完全可以由 A,B,C 的组合判断所在的扇区。为区别六种状态,令 N=4*C+2*B+A,则可以通过下表计算参考电压矢量Uref所在的扇区。

2、计算各矢量作用时间

        同理可求得Uref在其它扇区中各矢量的作用时间,结果如表2-4所示。表中两个非零矢量作用时间的比例系数为K =√3Ts/Udc 。

各扇区作用时间:

3、确定扇区矢量切换点(如扇区1中,矢量0到矢量4的切换点,矢量4到矢量6的切换点)

二、建模

1、添加扇区判断的子系统(根据输入的Ualpha和Ubeta判断电压矢量所在扇区):

switch模块设置为:(条件为u2>=0,如果满足u1通过,如果不满足,u3通过)

2、计算X、Y、Z,用于计算扇区矢量作用时间(输入Ualpha、Ubeta、母线电压Udc、载波周期时间Ts,计算X、Y、Z)。

3、根据N值和X、Y、Z来计算扇区中矢量的作用时间(输入XYZ、N值、载波周期Ts,计算扇区中矢量作用时间)

Mutiport Switch模块根据最上面输入的N值选择下面的那个端口通过。配置如下:

如:N=1,则Mutiport Switch模块输出为T1=Z、T2=Y,再根据Ts-Z-Y是否大于零来判断是否过调制。如果过调制,还要用上面给的比例公式,把Z和Y矫正一下再输出。

4、扇区矢量切换点的确定

实现上是计算3个PWM通道输出电平的改变点。我们知道SVPWM中定时器是配置为中央对齐模式:

要在每个载波周期中改变输出通道的比较值,而计算出的Tcm1、Tcm2、Tcm3分别就是3个通道的比较值。

5、计算出了每个载波周期3个通道的比较值,再引入定时器的中央对齐模式,就可以输出逆变桥的控制信号了。(此处用三角波模拟定时器中央对齐模式)

输入一个三角波模拟定时器中央对齐模式,用三角波当前值和通道比较值做对比,如果三角波的值大于通道比较值就输出高电平,如果小于就输出低电平。

6、使用3个通道的PWM控制逆变桥,计算相电压

以其中一种开关组合为例分析,假设Sx(x=a、b、c)=(100),此时等效电路如图:

因此相电压可以表示为:(相电压是每相相对于电机中间连接点的电压)

从电阻分压的原理,可以知道相电压共有4种输出:1/3Udc、-1/3Udc、2/3Udc、-2/3Udc。因此上面的模型中,根据3个通道的电平状态来判断相电压输出这4中电压中的哪一个。如Sa、Sb、Sc都输入1,则经过逻辑运算后,到了Product模块,从上到下依次为:0,0,0,0,因此输出0.

7、最后总模型为:

1)、正弦波信号源配置:

输入角速度为100π,幅值为200,相位互差90度的正弦波。角速度为100π,则周期为0.02,频率为50Hz,这个是电压矢量的旋转速度,即3000RPM。如果是一对极电机,转速就为3000RPM。

2)、Tpwm模块输入载波周期,此处载波为5KHz,所以值为0.0002秒。

3)、三角波信号源配置:(即载波为5KHz)

8、仿真结果

N值变化的波形:

定时器通道比较值的波形,3个通道,波形呈马鞍形

定时器通道比较值的波形、三角载波、PWM控制波形:

放大:

扇区N和3个通道PWM控制波形:

相电压波形:

放大:

最后从下面位置加入powergui模块做FFT分析

仿真完后,双击powergui模块,打开FFT Analysis:

配置如下,分析Ua的基波幅值:

可以看到50Hz的基波幅值为199.9V,与实际值200V相符。此仿真结果验证了模型的正确性。

 

模型文件下载:https://download.csdn.net/download/qlexcel/11516270

注:模型来自《现代永磁同步电机控制原理及MATLAB仿真》__袁雷编著

  • 85
    点赞
  • 496
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
PMSM矢量控制Simulink仿真-4 English.docx     这两天在做本科毕业设计,做了这个仿真。电机模块和逆变器三相逆变桥是在 Simulink——Simscape——SimPowerSystem里调用的。版本为Matlab2014a。现在可以实现转速的调节,关于转角一开始有点糊涂,后来搞明白了:    电机转速[rmp]=2*pi/60电气角速度[rad/s];     电气角速度[rad/s]=Pn*机械角速度[rad/s], 其中,Pn为电机转子极对数;     电气角[rad]=Pn*机械角[rad];     Simulink库中的反馈信号其实是机械角速度和机械角。而给定的命令往往是电机转速和电气角,电机转速可以忽略不计,因为也可以给定机械角速度作为命令,但是这样做的话,转速的可控范围就比较小了。角度的反馈必须是电气角,否则由于计算标准不同,电机将会变得不可控。         这个仿真中还有SPWM模块,但是使用下来噪声比较大,最后用了SVPWM模型。SVPWM的Udc我在仿真中设为0.01,但是很多论文都是上百的。后来仔细想想我的SVPWM也可以,因为可以给定命令是100,然后在算法中除以10000,其结果也是0.01。     接下来希望可以搞定无位置传感器的调速仿真。查阅了大量文献发现主要分为中高速控制方法和低速控制方法,中高速方法有反电动势法、滑模法、模型自适应法、扩展卡尔曼滤波法等;低速控制方法主要有各种高、低频信号的注入法,目前本人在研究反电动势法,希望以后能和有致于电机控制的朋友多多交流。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【ql君】qlexcel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值