SVPWM调制的simulink仿真

article/2025/10/18 18:45:19

1、SVPWM的生成

在FOC矢量控制中,Id、Iq 经过PID输出Vd、Vq。Vd、Vq经过反park变换成Vα、Vβ。再Vα、Vβ合成空间参考矢量Uref。那么怎么根据Vα、Vβ确定Uref所在扇区,然后确定所在扇区两个非零基础矢量的作用时间呢。

1.1、传统的计算方法

1.1.1、扇区的判断

把Uref转换为虚数形式Uref=Va+jVβ。那么其所在扇区 sector = floor(angle(Uref)/(pi/3)) + 1。

1.1.2、两个非零基础矢量的作用时间

那么其所在扇区的两个基础非零矢量的作用时间呢?推导下,假设已确定在第一扇区。
在这里插入图片描述
在两相静止参考坐标系(α,β)中,令 Uref 和 U4 间的夹角是 θ,由正弦定理可得:
在这里插入图片描述
因为 U4 = 2*Udc / 3,所以可以得到两个非零基础矢量的作用时间为
在这里插入图片描述
式中 m 为 SVPWM 调制系数(调制比)注意超过1就失真,m=sqrt(3)|Uref|/Udc。可以看出计算两个相邻基础向量的时间需要解三角函数,对单片机来说计算有点费时间。本来一个核心的FOC算法要求在十几二十个微秒内执行完。那么下面介绍一种不需要解三角函数的方法。

1.2、第二种方法

1.2.1、扇区的判断
在这里插入图片描述
由Vα、Vβ决定的空间电压矢量所处的扇区。假定合成的电压矢量落在第 I 扇区,可知其等价条件如下:
0° < arctan( Vβ/Vα ) < 60° 以上等价条件再结合矢量图几何关系分析,可以判断出合成电压矢量 Uref
落在第 I 扇区的充分必要条件为:Vα>0、Vβ>0且Vβ/Vα<sqrt(3)。同理可得:

在这里插入图片描述
若进一步分析以上的条件,有可看出参考电压矢量 Uref 所在的扇区完全由 U β U_{\beta } Uβ 3 U α − U β \sqrt{3}U_{\alpha }-U_{\beta} 3 UαUβ − 3 U α − U β -\sqrt{3}U_{\alpha }-U_{\beta} 3 UαUβ 三式决定,因此令:
{ U 1 = U β U 2 = 3 2 U α − 1 2 U β U 3 = − 3 2 U α − 1 2 U β \begin{matrix} \left\{ \begin{aligned} &U_{1}=U_{\beta}\\ &U_{2}=\frac{\sqrt{3}}{2}U_{\alpha}-\frac{1}{2}U_{\beta}\\ &U_{3}=-\frac{\sqrt{3}}{2}U_{\alpha}-\frac{1}{2}U_{\beta}\\ \end{aligned} \right. \end{matrix} U1=UβU2=23 Uα21UβU3=23 Uα21Uβ
再定义,若U1 > 0 ,则 A=1,否则 A=0;若U 2 > 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=4C+2B+A,则可以通过下表计算参考电压矢量 Uref 所在的扇区。

N315462
扇区号

所以只要简单的逻辑运算就可以确定所在扇区,对于提高系统的响应速度和进行仿真都是很有意义的。

1.2.2、两个非零基础矢量的作用时间

根据伏秒平衡原理,以 Uref 处在第Ⅰ扇区时进行分析,根据图 2-9 有:

假设,电压参考矢量Uref在Uα、Uβ坐标轴上的投影为Uα、Uβ,Uref在两个相邻的非零基础矢量上的投影为 2 3 U d c T 4 T s \frac{2}{3}U_{dc} \frac{T4}{Ts} 32UdcTsT4 2 3 U d c T 6 T s \frac{2}{3}U_{dc} \frac{T6}{Ts} 32UdcTsT6,如果Uref在U4、U6上的投影再投影到Uα、Uβ坐标系上,则:

在这里插入图片描述
经过整理后得出:
在这里插入图片描述
表中两个非零矢量作用时间的比例系数为 K = 3 T s / U d c \sqrt{3}T_{s}/U_{dc} 3 Ts/Udc,注意Uref的幅值不能大于 U d c / 3 U_{dc}/\sqrt{3} Udc/3 防止Uref在正六边形内切圆外面失真。

如果Uref 处在第II扇区,根据图 2-10 有:
在这里插入图片描述
经过整理后得出:
在这里插入图片描述
同理可求得Uref在其它扇区中各矢量的作用时间,结果如表2-4所示。

扇区时间
T 4 = K U 2 、 T 6 = K U 1 T_{4}=KU_{2}、T_{6}=KU_{1} T4=KU2T6=KU1
T 2 = − K U 2 、 T 6 = − K U 3 T_{2}=-KU_{2}、T_{6}=-KU_{3} T2=KU2T6=KU3
T 2 = K U 1 、 T 3 = K U 3 T_{2}=KU_{1}、T_{3}=KU_{3} T2=KU1T3=KU3
T 1 = − K U 1 、 T 3 = − K U 2 T_{1}=-KU_{1}、T_{3}=-KU_{2} T1=KU1T3=KU2
T 1 = K U 3 、 T 5 = K U 2 T_{1}=KU_{3}、T_{5}=KU_{2} T1=KU3T5=KU2
T 4 = − K U 3 、 T 5 = − K U 1 T_{4}=-KU_{3}、T_{5}=-KU_{1} T4=KU3T5=KU1

1.1.3、三相占空比的计算

所在扇区的非零基础矢量作用时间已确定了,那么怎么计算各相占空比呢。
在这里插入图片描述
上图为在第一扇区时各相占空比。
{ T a = ( T s − T 4 − T 6 ) / 4 T b = T a + 1 2 T 4 T c = T b + 1 2 T 6 \begin{matrix} \left\{ \begin{aligned} &T_{a}=(T_{s}-T_{4}-T_{6})/4\\ &T_{b}=T_{a}+\frac{1}{2}T_{4}\\ &T_{c}=T_{b}+\frac{1}{2}T_{6} \end{aligned} \right. \end{matrix} Ta=TsT4T6/4Tb=Ta+21T4Tc=Tb+21T6
或者
{ T a = ( T s + T 4 + T 6 ) / 4 T b = T a − 1 2 T 4 T c = T b − 1 2 T 6 \begin{matrix} \left\{ \begin{aligned} &T_{a}=(T_{s}+T_{4}+T_{6})/4\\ &T_{b}=T_{a}-\frac{1}{2}T_{4}\\ &T_{c}=T_{b}-\frac{1}{2}T_{6} \end{aligned} \right. \end{matrix} Ta=Ts+T4+T6/4Tb=Ta21T4Tc=Tb21T6
在这里插入图片描述
上图为在第二扇区时各相占空比。
{ T b = ( T s − T 2 − T 6 ) / 4 T a = T b + 1 2 T 2 T c = T a + 1 2 T 6 \begin{matrix} \left\{ \begin{aligned} &T_{b}=(T_{s}-T_{2}-T_{6})/4\\ &T_{a}=T_{b}+\frac{1}{2}T_{2}\\ &T_{c}=T_{a}+\frac{1}{2}T_{6} \end{aligned} \right. \end{matrix} Tb=TsT2T6/4Ta=Tb+21T2Tc=Ta+21T6
或者
{ T b = ( T s + T 2 + T 6 ) / 4 T a = T b − 1 2 T 2 T c = T a − 1 2 T 6 \begin{matrix} \left\{ \begin{aligned} &T_{b}=(T_{s}+T_{2}+T_{6})/4\\ &T_{a}=T_{b}-\frac{1}{2}T_{2}\\ &T_{c}=T_{a}-\frac{1}{2}T_{6} \end{aligned} \right. \end{matrix} Tb=Ts+T2+T6/4Ta=Tb21T2Tc=Ta21T6
在这里插入图片描述
上图为在第三扇区时各相占空比。
{ T b = ( T s − T 2 − T 3 ) / 4 T c = T b + 1 2 T 2 T a = T c + 1 2 T 3 \begin{matrix} \left\{ \begin{aligned} &T_{b}=(T_{s}-T_{2}-T_{3})/4\\ &T_{c}=T_{b}+\frac{1}{2}T_{2}\\ &T_{a}=T_{c}+\frac{1}{2}T_{3} \end{aligned} \right. \end{matrix} Tb=TsT2T3/4Tc=Tb+21T2Ta=Tc+21T3
或者
{ T b = ( T s + T 2 + T 3 ) / 4 T c = T b − 1 2 T 2 T a = T c − 1 2 T 3 \begin{matrix} \left\{ \begin{aligned} &T_{b}=(T_{s}+T_{2}+T_{3})/4\\ &T_{c}=T_{b}-\frac{1}{2}T_{2}\\ &T_{a}=T_{c}-\frac{1}{2}T_{3} \end{aligned} \right. \end{matrix} Tb=Ts+T2+T3/4Tc=Tb21T2Ta=Tc21T3
在这里插入图片描述
上图为在第四扇区时各相占空比。
{ T c = ( T s − T 1 − T 3 ) / 4 T b = T c + 1 2 T 1 T a = T b + 1 2 T 3 \begin{matrix} \left\{ \begin{aligned} &T_{c}=(T_{s}-T_{1}-T_{3})/4\\ &T_{b}=T_{c}+\frac{1}{2}T_{1}\\ &T_{a}=T_{b}+\frac{1}{2}T_{3} \end{aligned} \right. \end{matrix} Tc=TsT1T3/4Tb=Tc+21T1Ta=Tb+21T3
或者
{ T c = ( T s + T 1 + T 3 ) / 4 T b = T c − 1 2 T 1 T a = T b − 1 2 T 3 \begin{matrix} \left\{ \begin{aligned} &T_{c}=(T_{s}+T_{1}+T_{3})/4\\ &T_{b}=T_{c}-\frac{1}{2}T_{1}\\ &T_{a}=T_{b}-\frac{1}{2}T_{3} \end{aligned} \right. \end{matrix} Tc=Ts+T1+T3/4Tb=Tc21T1Ta=Tb21T3
在这里插入图片描述
上图为在第五扇区时各相占空比。
{ T c = ( T s − T 1 − T 5 ) / 4 T a = T c + 1 2 T 1 T b = T a + 1 2 T 5 \begin{matrix} \left\{ \begin{aligned} &T_{c}=(T_{s}-T_{1}-T_{5})/4\\ &T_{a}=T_{c}+\frac{1}{2}T_{1}\\ &T_{b}=T_{a}+\frac{1}{2}T_{5} \end{aligned} \right. \end{matrix} Tc=TsT1T5/4Ta=Tc+21T1Tb=Ta+21T5
或者
{ T c = ( T s + T 1 + T 5 ) / 4 T a = T c − 1 2 T 1 T b = T a − 1 2 T 5 \begin{matrix} \left\{ \begin{aligned} &T_{c}=(T_{s}+T_{1}+T_{5})/4\\ &T_{a}=T_{c}-\frac{1}{2}T_{1}\\ &T_{b}=T_{a}-\frac{1}{2}T_{5} \end{aligned} \right. \end{matrix} Tc=Ts+T1+T5/4Ta=Tc21T1Tb=Ta21T5

在这里插入图片描述
上图为在第六扇区时各相占空比。
{ T a = ( T s − T 4 − T 5 ) / 4 T c = T a + 1 2 T 4 T b = T c + 1 2 T 5 \begin{matrix} \left\{ \begin{aligned} &T_{a}=(T_{s}-T_{4}-T_{5})/4\\ &T_{c}=T_{a}+\frac{1}{2}T_{4}\\ &T_{b}=T_{c}+\frac{1}{2}T_{5} \end{aligned} \right. \end{matrix} Ta=TsT4T5/4Tc=Ta+21T4Tb=Tc+21T5
或者
{ T a = ( T s + T 4 + T 5 ) / 4 T c = T a − 1 2 T 4 T b = T c − 1 2 T 5 \begin{matrix} \left\{ \begin{aligned} &T_{a}=(T_{s}+T_{4}+T_{5})/4\\ &T_{c}=T_{a}-\frac{1}{2}T_{4}\\ &T_{b}=T_{c}-\frac{1}{2}T_{5} \end{aligned} \right. \end{matrix} Ta=Ts+T4+T5/4Tc=Ta21T4Tb=Tc21T5

上式中 T a 、 T b 、 T c 、 T s T_{a}、T_{b}、T_{c}、T_{s} TaTbTcTs表示A、B,C三相的占空比,和PWM周期。如果把上式写成一个通用的式子。
{ t a = ( T s − T x − T y ) / 4 t b = ( t a + 1 2 T x ) t c = ( t b + 1 2 T y ) \begin{matrix} \left\{ \begin{aligned} &t_{a}=(T_{s}-T_{x}-T_{y})/4\\ &t_{b}=(t_{a}+\frac{1}{2}T_{x})\\ &t_{c}=(t_{b}+\frac{1}{2}T_{y})\\ \end{aligned} \right. \end{matrix} ta=TsTxTy/4tb=ta+21Tx)tc=tb+21Ty)
或者
{ t a = ( T s + T x + T y ) / 4 t b = ( t a − 1 2 T x ) t c = ( t b − 1 2 T y ) \begin{matrix} \left\{ \begin{aligned} &t_{a}=(T_{s}+T_{x}+T_{y})/4\\ &t_{b}=(t_{a}-\frac{1}{2}T_{x})\\ &t_{c}=(t_{b}-\frac{1}{2}T_{y})\\ \end{aligned} \right. \end{matrix} ta=Ts+Tx+Ty/4tb=ta21Tx)tc=tb21Ty)
其中下标 y 大于 x 。ta、tb 和 tc分别是相应的比较器的值,而不同扇区比较器的值分配如表下所示:

扇区123456
T a T_{a} Ta t a t_{a} ta t b t_{b} tb t b t_{b} tb t c t_{c} tc t c t_{c} tc t a t_{a} ta
T b T_{b} Tb t b t_{b} tb t a t_{a} ta t c t_{c} tc t b t_{b} tb t a t_{a} ta t c t_{c} tc
T c T_{c} Tc t c t_{c} tc t c t_{c} tc t a t_{a} ta t a t_{a} ta t b t_{b} tb t b t_{b} tb

2、SVPWM的simulink仿真

下面根据第二种方法来仿真:

2.1、simulink仿真波形图
在这里插入图片描述
在这里插入图片描述

2.2、simulink仿真程序

程序中去掉了Udc,然后也限制了过调制失真。

function [Ta,Tb,Tc] = fcn(ua,ub,udc,Ts)u1 = ub;
u2 = sqrt(3)/2*ua - 1/2*ub;
u3 = -sqrt(3)/2*ua - 1/2*ub;if u1 > 0a = 1;
else a = 0;
endif u2 > 0b = 1;
else b = 0;
endif u3 > 0c = 1;
else c = 0;
endN = 4*c + 2*b + a;Ts = Ts*2; %因为PWM是中心对齐模式k = sqrt(3)*Ts/udc; switch Ncase 1  %2扇区t1 = -k*u2;t2 = -k*u3;Tb = ((Ts)+ t1 + t2)/4;      Ta = Tb - t1/2;     Tc = Ta - t2/2; case 2  %6扇区t1=-k*u3;t2=-k*u1;Ta = ((Ts)+ t1 + t2)/4;      Tc = Ta - t1/2;     Tb = Tc - t2/2; case 3  %1扇区t1=k*u2;t2=k*u1;Ta = ((Ts)+ t1 + t2)/4;      Tb = Ta - t1/2;     Tc = Tb - t2/2; case 4  %4扇区t1=-k*u1;t2=-k*u2;Tc = ((Ts)+ t1 + t2)/4;      Tb = Tc - t1/2;     Ta = Tb - t2/2; case 5  %3扇区t1=k*u1;t2=k*u3;Tb = ((Ts)+ t1 + t2)/4;      Tc = Tb - t1/2;     Ta = Tc - t2/2; case 6  %5扇区t1=k*u3;t2=k*u2;Tc = ((Ts) + t1 + t2)/4;      Ta = Tc - t1/2;     Tb = Ta - t2/2; otherwise Ta = Ts/4;      Tb = Ts/4;     Tc = Ts/4; endend

参考模型:https://download.csdn.net/download/wanrenqi/35140354


http://chatgpt.dhexx.cn/article/s4Gx0J7s.shtml

相关文章

电机专用SVPWM算法实现

SH33F2811包含三相电机的空间矢量脉宽调制&#xff08;Space Vector Pulse Width Modulation&#xff0c;SVPWM&#xff09;算法&#xff0c;对应于交流感应电机或永磁同步电机中的三相电压源逆变器的功率器件的一种特殊的开关触发顺序和脉宽大小的组合。这种开关触发顺序和组合…

小猫爪:PMSM之FOC控制04-SVPWM

小猫爪&#xff1a;PMSM之FOC控制04-SVPWM 1 SVPWM的引出2 SVPWM的原理3 SVPWM的推导4 仿真END 1 SVPWM的引出 在Park变换那一节&#xff0c;说到了可以通过控制Eq(Iq)和Ed(Id)来控制电机。而电流我们并不能直接控制&#xff0c;只能简介通过控制输出电压来控制电流&#xff0c…

SVPWM matlab建模

此为SVPWM算法的SIMULINK建模过程&#xff0c;没有具体的公式推导&#xff08;太多了&#xff0c;难打字&#xff09; abc为matlab自带的三相正弦波发生器&#xff0c;需要调整参数。 首先进行坐标变换 第一个fcn里的代码 function y fcn(a,b,c) y (2/3)*( a-0.5*b-0.5*c);%…

SVPWM算法的推导

博文默认采用恒幅值变换&#xff0c;若是用到恒功率变换的时候&#xff0c;会特别说明。推导过程其实有很多种&#xff0c;云龙混杂&#xff0c;看着看着自己就晕了&#xff0c;所以最好找一种自己好理解的。有关坐标变换的理论&#xff0c;参考坐标变化这篇博客 1.三相空间电…

svpwm理解

svpwm主要用于逆变器件的开关与导通&#xff0c;使得在电机内部形成圆形磁场。与spwm相比有诸多优点&#xff0c;中小功率的逆变器基本都采用svpwm进行逆变控制。 svpwm目的是在电机内部形成圆形磁场&#xff0c;磁场与电机内部合成电压的关系为正交&#xff0c;即合成电压为磁…

SimpleFOC(八)—— 理论+实践 深度分析SVPWM

目录 说明一、有感FOC控制原理二、SVPWM原理三、SimpleFOC&#xff08;不带电流采样&#xff09;的控制原理&#xff1a;四、SimpleFOC核心代码五、代码实验5.1、实验目的5.2、硬件准备5.3、修改代码 第一阶段5.3.1 打开例程5.3.2 修改代码5.3.3 验证上传5.3.4 电机观测5.3.5 修…

matlab查表svpwm,SVPWM的查表生成方式代码

昨天研究了传统的SVPWM生成方法之后 偶然看到了这个东西: 也就是说 SVPWM的占空比-角度的关系可以用分段函数进行表示 这样就简单多了 基本上通过查cos表+判断能避免浮点数运算 下面素程序www 结果输出到3个txt文件中,修改p的值可以算占空比(相电压)或者线电压... /* * SVPW…

svpwm的matlab模型,SVPWM的matlab仿真实现

在仿真之前您必须安装MATLAB7.0或以上版本&#xff0c;必须确保simpowersysm工具箱已被安装&#xff0c;如果以上要求已经达到&#xff0c;那么就可以执行以下步骤了&#xff1a; 步骤1&#xff1a;打开matlab主界面&#xff0c;然后在command window界面中的“>>”旁边输…

SVPWM细节

SVPWM细节 # 原理 通过六个扇区的六个非零矢量进行矢量合成所需电压&#xff0c;但在合成过程中不可避免地会经过零矢量来合成&#xff0c;从而降低开关频率动作次数。 一般过调制的情况下非零矢量作用时间大于载波周期&#xff0c;所以在此过程中只取有效矢量的作用时间之和。…

SVPWM学习

作者寄语&#xff1a;在公众号&#xff08;浅谈电机控制&#xff09;中以小文章的形式记录自己学习SVPWM的过程。有时候自学未免出现理解错误的地方&#xff0c;所以烦请学友们批评指正。 如果需要SVPWM模型&#xff0c;关注微信公众号&#xff1a;浅谈电机控制。留下邮箱获取…

单相SVPWM

单相SVPWM逆变技术起源于三相电机调速系统中的三相SVPWM技术&#xff0c;在三相SVPWM调制中由旋转的电压矢量得到旋转的磁场&#xff0c;对电压矢量进行控制从而实现电机调速&#xff0c;其实电压矢量控制的实质是一种逆变过程&#xff0c;故单相SVPWM逐渐被研究并应用于逆变电…

SVPWM

接上一篇文章咱们接着讲讲SVPWM&#xff0c;如果对于PWM和SPWM不是很了解的同学可以看我上一篇文章。电机控制是一门很深得学问&#xff0c;由于时间和精力有限&#xff0c;本文章不会讲解特别深入&#xff0c;在此只是抛砖引玉。 SVPWM原理 SVPWM的全称是空间矢量脉宽调制(Sp…

SVPWM算法理解(一)——基本原理

SVPWM算法理解&#xff08;一&#xff09;——基本原理 说明1 SVPWM基本原理1.1 引言1.2 三相电量的空间矢量表示1.3 SPWM与SVPWM比较1.4 问题1&#xff1a;2Udc/3还是Udc&#xff1f; 2 SVPWM算法推导2.1 SVPWM的合成原理2.2 问题2&#xff1a;电压利用率1&#xff1f;2.3 SVP…

SVPWM理论部分

SVPWM理论部分 简述1、基本原理2、SVPWM控制2.1 扇区判断&#xff08;根据$\alpha\beta$为方便判断扇区而采取的一种方法&#xff09;2.2 电压空间矢量合成及作用时间2.3 电压空间矢量作用顺序2.3.1 五段式SVPWM2.3.2 七段式SVPWM 总结 简述 SVPWM&#xff0c;即空间矢量调制&…

SVPWM算法原理及详解

SVPWM算法原理及详解 1.概述 SVPWM是近年发展的一种比较新颖的控制方法&#xff0c;是由三相功率逆变器的六个功率开关元件组成的特定开关模式产生的脉宽调制波&#xff0c;能够使输出电流波形尽可能接近于理想的正弦波形。空间电压矢量PWM与传统的正弦PWM不同&#xff0c;它是…

FOC电机控制之SVPWM原理与实现

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、SVPWM原理二、SVPWM实现方法1. 基本矢量电压&#xff1a;2.扇区判断&#xff1a;3. 计算相邻两个基本矢量电压的作用时间4 .三路PWM占空比计算 算法流程ste…

SVPWM分析、各个扇区详细计算以及Matlab仿真

SVPWM分析以及各个扇区详细计算以及Matlab仿真 说明目的两电平逆变器拓扑空间矢量扇区判断扇区内如何发波&#xff1f;矢量作用时间计算矢量切换时间的计算Simulink仿真/基于Matlab-R2014a版本 说明 第一次发文章&#xff0c;不太会用Markdown&#xff0c;word编辑的公式复制过…

概率统计Python计算:解古典概型问题

假定以 S S S为样本空间的随机试验是一个等概模型&#xff0c;事件 A ⊆ S A\subseteq S A⊆S。若能算得 ∣ S ∣ n |S|n ∣S∣n&#xff0c; ∣ A ∣ m |A|m ∣A∣m&#xff0c;我们知道 P ( A ) m / n P(A)m/n P(A)m/n。我们把这样的计算方法定义成下列的Python函数。 fr…

古典概型

【例1】一部四册的文集按任意次序放到书架上去&#xff0c;问各册自右向左或自左向右恰成 1&#xff0c;2&#xff0c;3&#xff0c;4 的顺序&#xff08;用 表示&#xff09;的概率是多少&#xff1f; 解 此随机试验的结果是四本书在书架上的一种放法&#xff0c;而每一…