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

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

3天内不再提示

两电平逆变器调制的S函数示例

CHANBAEK 来源:鲁班的Simulink电力电子仿真 作者:公孙鲁 2023-03-17 11:13 次阅读

在上期中介绍了在Simulink仿真中用S函数构建控制器,方便代码从仿真到嵌入式设备的迁移,本期则直接进入正题,通过两电平逆变器模型来介绍S函数在电力电子仿真中的应用。

01S函数的简单介绍

官方对S函数是这样介绍的:S-Function 可以使用 MATLAB®, C, C++Ada,或 Fortran 语言来编写。 使用 MEX实用工具,将 C, C++, Ada,和 Fortran 语言的 S-Function 编译成MEX-文件,在需要的时候,它们可与其它的MEX-文件一起动态地连接到 MATLAB 中。

S-Function 使用一种特殊的调用格式让你可以与 Simulink 方程求解器相互作用,这与发生在求解器和内置 Simulink块之间的相互作用非常相似。 S-Function 的形式是非常通用的,且适用于连续、离散和混合系统。

这段话包含以下几层意思:

1. S函数可以用m语言,c语言等多种语言编写,Simulink库中的User-Defined Functions中的S-Function Example包含了多种语言的多种模板, S-Function Builder 是一个 Simulink 模块,可以通过设定自动生成c语言的S函数;

wKgaomQT2hOAP6orAAG3EDjVrjA995.jpg

图1 Simulink库中S函数相关模块

2. S函数与Simulink的运行原理相似,要了解S函数是如何工作的,就要了解Simulink 是如何进行模型仿真的, Simulink模型的执行分几个阶段进行。 首先进行的是初始化阶段,在此阶段, Simulink将库块合并到模型中来,确定传送宽度、数据类型和采样时间,计算块参数,确定块的执行顺序,以及分配内存。 然后, Simulink进入到“仿真循环”,每次循环可认为是一个“仿真步”。 在每个仿真步期间,Simulink 按照初始化阶段确定的块执行顺序依次执行模型中的每个块。 对于每个块而言,Simulink 调用函数来计算块在当前采样时间下的状态,导数和输出。 如此反复,一直持续到仿真结束。

下图所示为一个仿真的步骤:

wKgaomQT2hOAaVMRAADFPWyT1pE495.jpg

图2 Simulink 执行仿真的步骤

3. S函数使用一种特殊的调用格式使其在 Simulink方程求解器相互作用,S函数主要通过多种特殊格式的回调函数,用来表示仿真执行的初始化、输出、计算导数、结束等多个阶段。

02两电平逆变器调制的S函数示例

文章结尾的下载链接提供了两电平逆变器调制的S函数的示例程序,该示例主体程序部分如下:

wKgaomQT2hOAHO2EAAB22u5b9jI116.jpg

图3 两电平逆变器调制的S函数主体部分

该S函数主要包含以下回调函数:

a. mdlInitializeSizes回调函数

对参数进行初始化设置,比如离散状态个数、连续状态个数、模块输入和输出的路数、模块的采样周期个数、状态变量初始数值等;

b. mdlInitializeSampleTimes回调函数

该函数设置S-Function模块的采样时间,决定了mdlOutputs多久执行一次;

c. mdlInitializeConditions回调函数

初始化时调用,对输入输出数组指针地址进行定义;

d. mdlOutputs回调函数

可以用来执行我们定义的函数,本例中执行了三个任务:

来自S函数的外部数据的输入;

执行100us的定时中断(计算输出电压相位,输出电压指令)、741us的定时中断(模拟PWM中断,调用两电平SVPWM调制算法)。

S函数输出(输出内部监视变量和PWM波占空比)

e. mdlUpdate回调函数

如果该块具有离散的状态变量,则在处理完所有块的输出函数之后的主要时间步中,将调用一次更新函数,本例未使用;

f. mdlTerminate回调函数

S函数终止时执行的函数,本例未使用。

多个回调函数的执行顺序如下:

wKgZomQT2hOAGuciAABjApRwG6Y240.jpg

图4 两电平逆变器调制的S函数回调函数执行顺序

完成S函数的c文件的编写后,需要在Matlab中调用编译器对S函数的c文件进行编译。 由于Matlab存在32位和64位,调用的编译器也不一样。 32位直接使用自带的lcc-win32即可,64位则需要额外安装的VS的C++编译器。 matlab通过mex-setup命令选择编译器。

本示例模型在Simulink的File->Model Properties->Model Properties->Callbacks->InitFcn中通过以下命令对S函数编译,使模式在每次运行时执行该编译命令生成格式mexw64的文件给Simulink模型调用:

-g -v InveterController.c Func_SVPWM_2L.c...

03仿真结果

运行仿真模型:INV_2L3Ph_SPWM.slx,在S函数的mdlOutputs回调函数中,调用Func_SVPWM_2L()调制函数之后,数组y_Scope输出ABC三相PWM波的占空比为:

wKgZomQT2hOAaHQBAABk_YSnkaM624.jpg

图5 ABC三相PWM波的占空比

在S函数的mdlOutputs回调函数中采集了逆变器的模拟量,通过数组y_Scope输出,其波形为:

wKgZomQT2hOASxgcAAB1e4kD698717.jpg

图6 S函数的输出波形

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

    关注

    0

    文章

    152

    浏览量

    29549
  • 逆变器
    +关注

    关注

    270

    文章

    4251

    浏览量

    201683
  • 仿真
    +关注

    关注

    50

    文章

    3872

    浏览量

    132166
  • Simulink
    +关注

    关注

    22

    文章

    513

    浏览量

    61571
  • S函数
    +关注

    关注

    0

    文章

    6

    浏览量

    6613
收藏 人收藏

    评论

    相关推荐

    电平PWM调制

    请教一下:我用电平PWM调制时,由于计数器只能从0开始计数,为兼容SPWM调制时存在负的调制波,要将三角波(载波)、
    发表于 11-23 16:20

    基于XE164的三电平逆变器调制算法的实现

    电路中各个开关管所需的控制波形。关键词: XE164单片机三电平PWM调制 一.电路拓扑以及调制方式1.电路拓扑 图 1三电平逆变器电路拓扑
    发表于 12-06 09:58

    基于二极管箝位型三电平逆变器调制方法研究

    本文全面分析了三电平逆变器中应用的载波调制法和空间矢量调制法。详细阐述了这两类调制算法各自的优缺点。进一步分析两类
    发表于 04-08 15:32 36次下载

    电平逆变器主电路及调制策略研究

    电平逆变器作为多电平逆变器的一种,在高压大功率场合获得了较为广泛的应用。研究和分析了三电平逆变器
    发表于 01-20 16:00 81次下载

    基于DSP的三电平逆变器SVPWM调制研究

    基于DSP的三电平逆变器SVPWM调制研究。
    发表于 04-18 09:47 18次下载

    新颖的SVPWM过调制策略及其在三电平逆变器中的应用

    新颖的SVPWM过调制策略及其在三电平逆变器中的应用
    发表于 03-30 14:59 14次下载

    级联型多电平逆变器随机脉宽调制的仿真研究

    本文在级联型多电平逆变电路中,运用随机脉宽控制方案,使整个系统兼备多电平变频器和随机脉宽调制技术所具有的优点,并通过MATLAB仿真,研究了固定开关频率的脉宽调制技术分补作用于多
    发表于 05-11 14:54 5次下载

    基于调制函数的五相电压源逆变器SVPWM算法

    基于调制函数的五相电压源逆变器SVPWM算法_高宏伟
    发表于 01-07 17:01 2次下载

    T型三电平光伏逆变器适应低电压穿越的调制策略探讨_严成

    T型三电平光伏逆变器适应低电压穿越的调制策略探讨_严成
    发表于 01-08 10:40 2次下载

    一种SVPWM过调制算法及其在两电平逆变器中的应用_吴晓新

    一种SVPWM过调制算法及其在两电平逆变器中的应用_吴晓新
    发表于 01-08 11:28 6次下载

    混合级联多电平逆变器的改进混合调制技术_叶满园

    混合级联多电平逆变器的改进混合调制技术_叶满园
    发表于 01-08 12:03 0次下载

    适用于三种非对称h桥五电平逆变器调制策略设计

    图1中的非对称h桥五电平逆变器已有的调制策略分别采用特定次谐波消去法[3]和方波-消谐波pwm合成调制策略[4],前者在电机驱动场合的频繁宽调速范围过程中,开关转换时刻的查表值与真实值
    发表于 07-16 10:14 3672次阅读
    适用于三种非对称h桥五<b class='flag-5'>电平</b><b class='flag-5'>逆变器</b>的<b class='flag-5'>调制</b>策略设计

    APOD载波调制电平Z源逆变器

    一种基于交替反相层叠载波调制(APOD)的三电平Z源逆变器脉宽渊制方法。该方法将直通状态插入于零矢量中,实现直流链的全直通,获得升压能力的同时又不增加开关损耗。仿真和实验结果表明该渊制策略能够实现
    发表于 12-09 11:58 11次下载
    APOD载波<b class='flag-5'>调制</b>三<b class='flag-5'>电平</b>Z源<b class='flag-5'>逆变器</b>

    基于Sigma-Delta调制的双电平逆变器调制

    在多电平逆变器调制中,Sigma-Delta调制器可以改善逆变器输出电压频谱,减少系统噪声。而将其运用到共直流母线的开绕组异步电机双两
    发表于 01-12 11:47 0次下载

    单相半桥两电平电压型逆变器的正弦脉宽调制(SPWM)之Matlab程序

    单相半桥两电平电压型逆变器的正弦脉宽调制(SPWM)之Matlab程序分享
    发表于 03-02 15:26 3次下载
    单相半桥两<b class='flag-5'>电平</b>电压型<b class='flag-5'>逆变器</b>的正弦脉宽<b class='flag-5'>调制</b>(SPWM)之Matlab程序