FOC:【1】浅析SVPWM算法(七段式)以及MATLAB仿真验证

最近的科研项目需要使用到SVPWM算法,网上相关的原理介绍很多。对于纯应用的需求来说,或许有些内容上的冗余。

本文的目的就是简要并且明确的给出具体的计算步骤,可以帮助快速上手。同时利用MATLAB进行了简单算法验证。

2022年10月20日更新:由于之前的代码没有考虑电压的量化问题,今天重新修改进行了补充~

目录

1 算法流程

1.1 扇区判断

1.2 基本矢量作用时间计算

1.3 逆变器开关切换时间计算

1.4 利用三角波改变开关状态

2 MATLAB仿真验证(不考虑电压量化)

4 MATLAB仿真验证(考虑电压量化)

5 参考文献


1 算法流程

算法部分,结合网上博主的文章主要分为四个部分:扇区判断、基本矢量作用时间长度计算、逆变器开关接环时间计算、三角波改变开关状态。部分截图直接摘自了博主的@玻璃伞的图片,在此表示感谢。

这一部分的内容有非常多的细节,因此我将分步骤进行介绍,这里默认我们已经获得了定子坐标系(α-β坐标系)上的电压值,这将作为SVPWM的已知条件。

SVPWM的主要思想是在高频率的情况下,利用三相逆变器对三相电机电压控制,用数字量调制方法实现任意矢量电压的输出,从而更好地控制电机的运转过程,提高能量的转化效率,具体的算法原理可以看本文的参考文献。

1.1 扇区判断

SVPWM利用逆变器三相桥臂将坐标系分为了六个扇区,利用上下桥臂的不同开关组合有了8种组合形式,对应了图中的8个电压矢量。

在SVPWM运算过程中,因此首先是需要进行扇区的判断,首先利用α-β坐标系下,定义三个变量。

可以将Vref1,Vref2,Vref3分别看作A,B,C三个变量,这三个变量与0的关系就可以得到当前所在的扇区。

 

这里的N可以利用一个二进制数字进行表示,这样就可以将N的值与所在扇区进行唯一的对应。

1.2 基本矢量作用时间计算

充分利用Uα与Uβ就可以大大简化基本电压矢量作用的时间,参考文献中给出了具体的结论,计算原理是伏秒平衡,可以按照下面的表格直接找到对应扇区需要满足的作用时间。为了让表格更加简洁,首先定义三个变量:

利用上面的变量,可以确定每个扇区逆时针两个矢量,以及两个零矢量的作用时间:

当出现Tfirst+Tsecond>Ts时,需要进行如下的变换:

1.3 逆变器开关切换时间计算

有了持续时间,我们需要进一步确定逆变器开关的切换时间,用下面的图为例子,进行说明:

其中各个变量时间满足下面的表达式:

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AlexYiWang

不要打赏,想要一个赞

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

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

打赏作者

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

抵扣说明:

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

余额充值