0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SVPWM控制技术的基本原理及Matlab/Simulink仿真分析

CHANBAEK 来源:旋转的电机 作者:小师兄1995 2023-05-24 11:10 次阅读

前言

本章节首先介绍SVPWM控制技术的原理,然后详细分析SVPWM控制算法的具体实现方式包括7段式SVPWM与5段式SVPWM算法,并通过Matlab/Simulink对SVPWM控制算法进行仿真分析,最后通过永磁同步电机矢量控制的实例进行算法应用。

一、SVPWM的控制原理

SPWM控制技术主要控制逆变器的输出电压尽量接近正弦波,并未顾及输出电流的波形。 电流滞环跟踪控制则直接控制输出电流接近正弦波。

交流电机需要输入三相正弦电流的最终目的是在电机空间形成圆形旋转磁场,从而产生恒定的电磁转矩。 把逆变器和交流电机视为一体,以圆形旋转磁场为目标来控制逆变器的工作,这种控制方法称做“磁链跟踪控制”,磁链轨迹的控制是通过交替使用不同的电压空间矢量实现的,所以又称为“电压空间矢量PWM(Space Vector PWM,SVPWM)控制”。

实践和理论证明,与直接的 SPWM 技术相比,SVPWM 算法的主要优点有:

1、SVPWM优化谐波程度比较高,消除谐波效果要比SPWM好,容易实现,并且可以提高电压利用率,输出电压最高可提高15%左右。

2、SVPWM算法提高了电压源逆变器的直流电压利用率和电机的动态响应速度,同时减小了电机的转矩脉动等缺点。

3、SVPWM比较适合于数字化控制系统

二、空间矢量的概念

在三相逆变器控制中,通常输入输出三相变量要分别描述,若能将三相变量用一个合成量表示,并保持信息的完整性,则三相的问题将简化为单向的问题,由此引入空间矢量的概念。

图片

图片

图片

图片

图片

图片

三、电压与磁链空间矢量的关系

图片

图片

图片

图片

四、三相逆变器的基本电压空间矢量

图片

图片

图片

此时上图的等效电路为:

图片

由此可推出:

图片

同理,可推出其他组合的电压空间矢量如下表所示:

图片

图片

图片

图片

五、SVPWM 算法的合成原理

图片

图片

由上述分析三相正弦波电压在电压空间向量中合成一个等效的旋转电压矢量,其旋转速度为输入的电源角频率,该等效旋转电压矢量的运动轨迹为圆形。所以要产生三相正弦波电压,可以利用以上电压空间矢量合成的技术,在电压空间向量上,将设定的电压向量由一起始位置开始如 100,每次增加一个小增量,每个小增量设定的电压向量可以用该区中相邻的两个基本非零向量与零电压矢量予以合成,如此所得到的设定电压向量就等效为一个在电压空间向量平面上平滑旋转的电压空间矢量,从而达到电压空间矢量脉宽调制的目的。

六、SVPWM 算法推导

图片

图片

图片

图片

图片

图片

一个开关周期中空间矢量按分时发生作用,在时间上构成一个空间矢量的序列,空间矢量的序列组织方式有多种,按照空间矢量的对称性分类,可分为两相开关换流和三相开关换流。

6.1.七段式SVPWM

以减少开关次数为目标,将基本矢量作用顺序的原则选定为:在每次开关状态转换时,只改变其中一相的开关状态。并且对零矢量在时间上进行了平均分配,以使产生的 PWM 对称,从而有效的降低 PWM 的谐波分量。例如当从100变为 000 时只需要改变 A 相桥臂上下开关管的状态,当从 100 变为 111 则需要改变 BC 两相桥臂上下开关管的状态,这种方式增加了一倍的开关损耗。因此,要改变电压向量 100、010、001 的大小需配合零电压矢量 000,要改变110、011、101 的大小需配合零电压矢量 111。这样通过在不同区间内安排不同的开关切换顺序,就可以获得对称的输出波形,其他各扇区的开关顺序如下所示:

图片

图片

图片

图片

6.2.五段式SVPWM(又称DPWM)

对 7 段式 SVPWM 而言,发波对称,谐波含量较小,但是在每个开关周期Ts内有 6 次开关切换。为了进一步减少开关次数,采用每相开关在每个扇区状态维持不变的序列安排,即5段式SVPWM,使得每个开关周期只有 3 次开关切换,但5段式SVPWM会增大谐波含量,如下表所示:

图片

图片

图片

七、SVPWM 算法实现

图片

图片

图片

7.1.合成矢量Uref所处扇区的判断

图片

图片

图片

图片

图片

图片

7.2.基本电压空间矢量作用时间计算

图片

图片

图片

当两个零矢量作用时间为 0 时,一个 PWM 周期内非零电压矢量的作用时间最长,此时的合成空间电压矢量幅值最大。 从下图可知其最大幅值不会超过图中所示的正六边形边界,而当合成矢量落在该边界之外时,将发生过调制,逆变器输出电压波形将发生失真。 在 SVPWM 调制模式下,逆变器能够输出的最大不失真圆型旋转电压矢量为下图所示虚线正六边形的内切圆,其幅值为:

图片

图片

图片

图片

图片

7.3.扇区矢量切换点的确定

图片

图片

图片

7.4.PWM信号生成

扇区矢量切换点确定后,用一定频率的三角载波信号与各个扇区矢量切换点进行比较,从而产生逆变器所需的PWM控制信号。

八、七段式SVPWM仿真分析

图片

8.1.仿真电路分析

信号输入:幅值为2,频率为50Hz的三相正弦波信号

图片

图片

SVPWM算法实现:载波为20KHz的三角波,三相逆变电路的直流侧电压为24V

图片

function [Tcm1,Tcm2,Tcm3,sector] = SVPWM(Valpha,Vbeta,Udc,Tpwm,ARR)


%输出变量初始化
Tcm1 = 0;
Tcm2 = 0;
Tcm3 = 0;
sector = 0;




%扇区计算
%N与扇区对应的关系
%  3   1   5    4  6  2
%  I  II  III  IV  V  VI


Vref1 = Vbeta;
Vref2 = (sqrt(3)*Valpha-Vbeta)/2;
Vref3 = (-sqrt(3)*Valpha-Vbeta)/2;


if(Vref1>0)
    sector = 1;
end


if(Vref2>0)
    sector = sector+2;
end


if(Vref3>0)
    sector = sector+4;
end




%扇区内合成矢量作用时间计算
X = sqrt(3)*Vbeta*Tpwm/Udc;
Y = Tpwm/Udc*(3/2*Valpha+sqrt(3)/2*Vbeta);
Z = Tpwm/Udc*(-3/2*Valpha+sqrt(3)/2*Vbeta);


switch(sector)
    case 1
        T1 = Z;T2 = Y;
    case 2
        T1 = Y;T2 = -X;
    case 3
        T1 = -Z;T2 = X;
    case 4
        T1 = -X;T2 = Z;
    case 5
        T1 = X;T2 = -Y;
    otherwise
        T1 = -Y;T2 = -Z;
end


%过调制处理
if(T1+T2>Tpwm)
    T1 = Tpwm*T1/(T1+T2);
    T2 = Tpwm*T2/(T1+T2);
else
    T1 = T1;
    T2 = T2;
end




%扇区内合成矢量切换点时间计算
%此处为7段式,两个零矢量000 111 111插在中间,000均分插在两端
ta = (Tpwm-(T1+T2))/4;
tb = ta+T1/2;
tc = tb+T2/2;




%输出调制信号
switch(sector)
    case 1
        Tcm1 = tb;
        Tcm2 = ta;
        Tcm3 = tc;
    case 2
        Tcm1 = ta;
        Tcm2 = tc;
        Tcm3 = tb;
    case 3
        Tcm1 = ta;
        Tcm2 = tb;
        Tcm3 = tc;
    case 4
        Tcm1 = tc;
        Tcm2 = tb;
        Tcm3 = ta;
    case 5
        Tcm1 = tc;
        Tcm2 = ta;
        Tcm3 = tb;
    case 6
        Tcm1 = tb;
        Tcm2 = tc;
        Tcm3 = ta;
end




%调制信号处理,生成输入到MCU中的调制信号
Tcm1 = 2*Tcm1/Tpwm; 
Tcm2 = 2*Tcm2/Tpwm;
Tcm3 = 2*Tcm3/Tpwm;


Tcm1 = Tcm1*ARR; 
Tcm2 = Tcm2*ARR; 
Tcm3 = Tcm3*ARR;


end

PWM信号生成:载波为20KHz的三角波

图片

图片

硬件电路:

图片

8.2.仿真结果分析

电压空间矢量的运动轨迹:

图片

扇区判断结果:

图片

扇区内矢量切换点,即调制波波形:

图片

PWM信号:

图片

三相相电压及滤波后的三相相电压波形:生成的三相正弦电压与期望的输入电压参数一致,幅值为2,频率为50Hz。

图片

图片

三相相电流及滤波后的三相相电流波形:

图片

三相线电压及滤波后的三相线电压波形:

图片

图片

九、五段式SVPWM仿真分析

与上述7段式SVPWM算法的不同点就是,算法扇区切换点的时间不同,算法改动如下,其余部分同上述7段式SVPWM算法仿真。

function [Tcm1,Tcm2,Tcm3,sector] = SVPWM(Valpha,Vbeta,Udc,Tpwm,ARR)


%输出变量初始化
Tcm1 = 0;
Tcm2 = 0;
Tcm3 = 0;
sector = 0;




%扇区计算
%N与扇区对应的关系
%  3   1   5    4  6  2
%  I  II  III  IV  V  VI


Vref1 = Vbeta;
Vref2 = (sqrt(3)*Valpha-Vbeta)/2;
Vref3 = (-sqrt(3)*Valpha-Vbeta)/2;


if(Vref1>0)
    sector = 1;
end


if(Vref2>0)
    sector = sector+2;
end


if(Vref3>0)
    sector = sector+4;
end




%扇区内合成矢量作用时间计算
X = sqrt(3)*Vbeta*Tpwm/Udc;
Y = Tpwm/Udc*(3/2*Valpha+sqrt(3)/2*Vbeta);
Z = Tpwm/Udc*(-3/2*Valpha+sqrt(3)/2*Vbeta);


switch(sector)
    case 1
        T1 = Z;T2 = Y;
    case 2
        T1 = Y;T2 = -X;
    case 3
        T1 = -Z;T2 = X;
    case 4
        T1 = -X;T2 = Z;
    case 5
        T1 = X;T2 = -Y;
    otherwise
        T1 = -Y;T2 = -Z;
end


%过调制处理
if(T1+T2>Tpwm)
    T1 = Tpwm*T1/(T1+T2);
    T2 = Tpwm*T2/(T1+T2);
else
    T1 = T1;
    T2 = T2;
end




%扇区内合成矢量切换点时间计算
%此处为5段式,两个零矢量000 111 111插在中间,000均分插在两端
ta = 0;
tb = ta+T1/2;
tc = tb+T2/2;




%输出调制信号
switch(sector)
    case 1
        Tcm1 = tb;
        Tcm2 = ta;
        Tcm3 = tc;
    case 2
        Tcm1 = ta;
        Tcm2 = tc;
        Tcm3 = tb;
    case 3
        Tcm1 = ta;
        Tcm2 = tb;
        Tcm3 = tc;
    case 4
        Tcm1 = tc;
        Tcm2 = tb;
        Tcm3 = ta;
    case 5
        Tcm1 = tc;
        Tcm2 = ta;
        Tcm3 = tb;
    case 6
        Tcm1 = tb;
        Tcm2 = tc;
        Tcm3 = ta;
end




%调制信号处理,生成输入到MCU中的调制信号
Tcm1 = 2*Tcm1/Tpwm; 
Tcm2 = 2*Tcm2/Tpwm;
Tcm3 = 2*Tcm3/Tpwm;


Tcm1 = Tcm1*ARR; 
Tcm2 = Tcm2*ARR; 
Tcm3 = Tcm3*ARR;


end

9.1.仿真结果分析

电压空间矢量的运动轨迹:

图片

扇区判断结果:

图片

扇区内矢量切换点,即调制波波形:

图片

PWM信号:

图片

三相相电压及滤波后的三相相电压波形:生成的三相正弦电压与期望的输入电压参数一致,幅值为2,频率为50Hz。

图片

图片

三相相电流及滤波后的三相相电流波形:

图片

三相线电压及滤波后的三相线电压波形:

图片

图片

十、PMSM电压开环控制Matlab/Simulink仿真分析

图片

10.1.仿真电路分析

图片

直接给定同步旋转坐标系下Vd,Vq的电压值实现永磁同步电机磁场定向的电压开环控制

图片

7段式SVPWM算法

图片

PWM控制信号生成

图片

三相逆变电路及永磁同步电机,电机参数如下:

图片

10.2.仿真结果分析

电压空间矢量的运动轨迹:

图片

扇区内矢量切换点,即调制波波形:

图片

PWM信号:

图片

电机转速:

图片

定子电流未滤波和滤波后的电流:

图片

同步旋转坐标系下的定子电流Id、Iq,未滤波和滤波后的电流:

图片

同步旋转坐标系下的定子电压Vd、Vq,未滤波和滤波后的电压:

图片

电磁转矩:

图片

总结

本章节首先介绍了SVPWM控制技术的原理,然后详细分析了SVPWM控制算法的具体实现方式,并通过Matlab/Simulink对SVPWM控制算法进行了仿真分析,最后通过永磁同步电机矢量控制的实例进行了算法实现,为后续章节的分析奠定基础。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    175

    文章

    2924

    浏览量

    228455
  • 永磁同步电机

    关注

    27

    文章

    824

    浏览量

    48931
  • 控制技术
    +关注

    关注

    3

    文章

    304

    浏览量

    32958
  • Simulink
    +关注

    关注

    22

    文章

    513

    浏览量

    61567
  • SVPWM
    +关注

    关注

    14

    文章

    611

    浏览量

    90211
收藏 人收藏

    评论

    相关推荐

    基于MATLAB/Simulink的系统仿真技术与应用

    与应用、Stateflow有限状态机、虚拟现实工具箱等中高级使用方法,最后还介绍了半实物仿真技术与实时控制技术。 基于MATLAB/Simulink
    发表于 06-19 13:15

    matlabsimulink仿真

    matlabsimulink仿真模块里面进行仿真SPWM时怎么设置调制比?如何实现空间矢量面宽调制SVPWM
    发表于 08-05 18:12

    【下载】《现代永磁同步电机控制原理及MATLAB仿真》——同步电机MATLAB仿真技术分析

    `编辑推荐:本书主要介绍三相、六相的永磁同步电机(PMSM)数学建模和矢量控制、直接转矩控制、无传感器控制技术,电压源逆变器PWM技术等,每
    发表于 12-03 14:59

    如何对SVPWM算法进行Simulink仿真

    SVPWM算法的原理是什么?SVPWM算法如何去实现?如何对SVPWM算法进行Simulink仿真
    发表于 08-04 06:29

    simulink中关于电机矢量控制SVPWM仿真

    simulink仿真过程中,发现不带SVPWM的矢量控制模型,得到的电流波形好,而且d、q轴电流跟随性能好。 但是加了有SVPWM的矢量
    发表于 09-24 22:53

    通过Matlab/SimulinkSVPWM控制算法进行仿真分析

    SVPWM控制技术的原理,然后详细分析SVPWM控制算法的具体实现方式,并通过
    发表于 03-06 17:00

    磁悬浮列车牵引控制Simulink仿真

    介绍了高速磁悬浮列车的基本原理,利用MATLAB/Simulink 搭建了高速磁悬浮列车用长定子直线同步电机的数学模型,并且构建了高速磁悬浮列车牵引控制
    发表于 12-22 16:17 27次下载

    基于Matlab/Simulink的无刷直流电机控制仿真研究

    基于MatlabSimulink的无刷直流电机控制仿真研究基于MatlabSimulink
    发表于 12-29 10:32 0次下载

    SVPWM原理及其Simulink仿真

    SVPWM原理及其Simulink仿真
    发表于 04-15 17:49 69次下载

    SVPWM基本原理及数字实现

    详细介绍了SVPWM基本原理以及数字实现的重要基本环节; 给出了PMSM 在dq 坐标系下的数学模型和基于该模型下的PMSM-SVPWM 控制系统方框图;在
    发表于 10-31 11:14 17次下载
    <b class='flag-5'>SVPWM</b><b class='flag-5'>基本原理</b>及数字实现

    基于MATLABsvpwm仿真模型

    svpwmMATLAB仿真模型
    发表于 01-08 11:51 44次下载

    基于MATLAB/simulink的直接转矩控制离散仿真系统的研究分析

    SIMUUNK是MATLAB提供用来对动态系统进行建模、仿真分析的软件包。SIMULINK包含许多模块库,利用这些模块库可以很方便的进行复杂系统构建与
    的头像 发表于 10-17 07:57 3914次阅读
    基于<b class='flag-5'>MATLAB</b>/<b class='flag-5'>simulink</b>的直接转矩<b class='flag-5'>控制</b>离散<b class='flag-5'>仿真</b>系统的研究<b class='flag-5'>分析</b>

    如何使用SIMULINKSVPWM算法进行仿真

    介绍了空间电压矢量脉宽调制(SVPWM)的基本原理,并且详细阐述了SVPWM的算法,最后用MatlabSimulink
    发表于 11-04 17:17 28次下载
    如何使用<b class='flag-5'>SIMULINK</b>对<b class='flag-5'>SVPWM</b>算法进行<b class='flag-5'>仿真</b>

    SVPWM逆变器Simulink仿真

    总电路图 3.输出波形 4.FFT分析 三、仿真文件获取 1.积分获取 2.免费获取 四、其余电力电子电路 一、SVPWM原理简述 1.电压空间矢量   空间矢量脉宽调制技术是从交流电
    发表于 03-01 11:07 2次下载
    <b class='flag-5'>SVPWM</b>逆变器<b class='flag-5'>Simulink</b><b class='flag-5'>仿真</b>

    永磁同步电机FOC控制基本原理Matlab/Simulink仿真分析

    做永磁同步电机控制绕不开FOC,本章节主要介绍FOC控制基本原理、坐标变换以及永磁同步电机在同步旋转坐标系下的数学模型,并通过Matlab/Sim
    的头像 发表于 05-23 14:47 3189次阅读
    永磁同步电机FOC<b class='flag-5'>控制</b>的<b class='flag-5'>基本原理</b>及<b class='flag-5'>Matlab</b>/<b class='flag-5'>Simulink</b><b class='flag-5'>仿真</b><b class='flag-5'>分析</b>