三相H桥SVPWM算法介绍

我见过有SVPWM有用于单相H桥逆变的、三电平逆变器、多电平逆变器的。这里着重点用于三相H桥逆变器。他们不同之处在于,开关状态越多,空间矢量图越大。

1 算法介绍

下图是三相H逆变器拓扑结构

以下是直流无刷电机的简化逻辑结构。图中,由于控制电机的电路是三相H桥逆变电路,故用三位数字表达H桥的导通状态,分别表示a相、b相、c相。

总的来说,就是旋转的磁场可以引导转子旋转。要理解上图,推荐下载硬石STM32的开源资料。理解直流无刷电机之前,我觉得需要学习两相步进电机。

上面的三项H桥拓扑结构,调制方式主要分为SPWM和SVPWM。SVPWM英文名是space-vector pulse width modulation。空间矢量的概念,需要结合电机磁场的旋转来理解。我们需要合成一个稳定旋转的磁场,牵引转子的旋转。合成磁场的方向,和abc三相的电流导通模式有关,影响着电机转动的方向;而合成磁场的大小,和绕组中导通电流有关,会影响转动力矩。

2 算法的实现过程

2.1 坐标变换

2.1.1 alpha-beta坐标轴转换为abc

\begin{bmatrix} U_a\\ U_b\\ U_c \end{bmatrix}=\begin{bmatrix} 1 &0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2}\\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}\begin{bmatrix} U_\alpha\\ U_\beta \end{bmatrix}

2.1.2 Abc坐标轴转换为alpha-beta

\begin{bmatrix} U_\alpha \\ U_\beta \end{bmatrix}=\sqrt{\frac{2}{3}}\begin{bmatrix} 1 &-\frac{1}{2} &-\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \begin{bmatrix} U_a\\ U_b\\ U_c \end{bmatrix}

2.2 矢量合成

本逆变器的开关管只有6个,可以用8个空间矢量描述逆变器的开关状态。Vref为参考矢量,代表着定子绕组通电形成的合成磁场的大小和方向。Ts是采样周期。把8个空间矢量分别标号,V1为100,V2:110,V3:010,V4:011,V5:001,V6:101,V7:111,V0:000。

上图,可以进一步转化为下图的形式。参考矢量Vref可以当作是转子的旋转磁场。

上图称为逆变器的空间矢量图。

空间矢量图被空间矢量划分为6个扇区,分别命名为第I扇区、第II扇区、第III扇区、第IV扇区、第V扇区、第VI扇区。

顺时针旋转,参考矢量会分别经过第I扇区、第VI扇区、第V扇区、第IV扇区、第III扇区、第II扇区。

逆时针旋转,参考矢量会分别经过第I扇区、第II扇区、第III扇区、第IV扇区、第V扇区、第VI扇区。

当参考矢量旋转到第I扇区,可以用V1、V2、V7、V0四个空间矢量合成参考矢量,但是要先通过调整占空比,把矢量幅值缩小。

根据伏秒平衡,可得以下公式。

\left\{\begin{matrix} V_{ref}T_s=V_1T_1+V_2T_2+V_0T_0\\ T_s = T_1+T_2+T_0 \end{matrix}\right.

公式中,V1、V2、V0是用于合成参考矢量的作用矢量。T1、T2、T0分别是V1、V2、V0的作用时间。Ts是采样周期。

因为逆变器的状态只有8种,假如需要无限逼近参考矢量,则要用很高频率的PWM波。

 

2.2.1 时间计算-第I扇区

 

\left\{\begin{matrix} V_{ref\alpha}T_s=V_{1\alpha}T_1+V_{2\alpha}T_2+V_{0\alpha}T_0 \\V_{ref\beta}T_s=V_{1\beta}T_1+V_{2\beta}T_2+V_{0\beta}T_0 \\ T_s = T_1+T_2+T_0 \end{matrix}\right.

代入

\left\{\begin{matrix} V_1=\left ( 1,0 \right ) \\ V_2=\left ( \frac{1}{2}, \frac{\sqrt3}{2} \right ) \end{matrix}\right.

可得

\left\{\begin{matrix} V_{ref\alpha}T_s=T_1 + \frac{1}{2}T_2 \\ V_{ref\alpha}T_s=\frac{\sqrt 3}{2}T_2 \end{matrix}\right.

2.2.2 时间计算-第II扇区

 

2.2.3 时间计算-第III扇区

2.2.4 时间计算-第IV扇区

2.2.5 时间计算-第V扇区

2.2.6 时间计算-第VI扇区

 

 

2.3 发出PWM

上面介绍默认SVPWM使用三段式模式,在Ts采样周期内,首先V0作用T0时间,然后V1作用T1时间,最后V2作用T2时间。接下来是下一个Ts时间段。

V0->V1->V2

以下是五段式:

V0->V1->V2->V1->V0

以下是七段式:

V0->V1->V2->V7->V2->V1->V0

这种过渡,一方面可以减少低频谐波、降低滤波器的设计难度;另一方面,可以降低开关在切换过程中的电压变化。

 

下一步是在STM32中实现本算法……

 

开源了SVPWM算法,但是未测试验证过,硬件上手头只有STM32的最小系统板,就暂时没做实验了。

https://github.com/xxJian/STM32_Based_SVPWM

  • 10
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
三相逆变器是一种将直流电能转换成交流电能的装置,它是通过控制半导体开关器件的通断来改变电压和频率的电路。Matlab是一款强大的数学仿真软件,可用于建立三相逆变器的仿真模型。 三相逆变器的仿真模型可以由以下几个模块构成: 1. 直流输入模块:此模块模拟三相逆变器的直流侧输入,可以设置输入电压和电流的大小。可以使用直流电源模块来实现。 2. PWM调制模块:此模块用于产生脉宽调制(PWM)信号,以控制半导体开关的通断。可以使用Pulse Generator模块来实现,通过设置相应的参数,如频率和占空比,来生成PWM信号。 3. H逆变器模块:此模块用来实现半导体开关的操作和逆变功能。通过将PWM信号输入到H逆变器模块中,可以控制半导体开关器件的通断情况,从而改变电压和频率。可以使用Simulink中的Power System Blockset中的H逆变器模块来实现。 4. 输出模块:此模块用于显示逆变器输出的交流电压和电流波形。可以使用Scope模块来实现。 通过将以上模块连接起来,可以建立一个完整的三相逆变器的仿真模型。在仿真运行过程中,可以调整不同参数,如输入电压、频率和占空比,来观察逆变器输出的交流电压和电流的变化情况,从而对逆变器的性能进行评估和优化。 总之,使用Matlab可以很方便地建立三相逆变器的仿真模型,通过仿真分析和优化,可以提高逆变器的效率和稳定性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值