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

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

3天内不再提示

三相三电平逆变器的模型搭建示例

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

近期琢磨着这样一件事,怎样带着真实的C代码去Simulink仿真。 多番尝试之后,使用Simulink自带的Sfunction模块和PLECS嵌入版中的C-Script模块两者均可快速实现。 其中C-Script更易上手,本期就对该方法简短介绍。

01Simulink仿真的一点思考

作者作为一名电力电子控制工程师,常常需要将Simulink仿真的算法转化为可烧录到嵌入式芯片的代码,于是仿真完后还需要费一番心思,将积木式的模型或者m语言翻译为可用的代码,而且还不确定代码是否有bug。 是否能这样,仿真用的就是真实的C代码,既节省了翻译代码的时间,又让你的代码经受了Simulink仿真的检验,何乐而不为!

解决方案是这样的:

1. 建立个人的函数库,将常见的如PID,SVPWM,PLL,滤波器等写成函数,定义其对应的c文件和头文件。

2. Simulink仿真的控制不再积木式搭建,使用C-Script(或者S function)包含个人函数库,另外在cscript中只需要加入部分代码即可。

02PLECS C script工具的简单介绍

作者采用plecs 3.6.1,该软件可以作为一个工具包嵌入到Simulink中使用。 里面的C-Script是专门用来在simulink仿真中运行c代码的。 帮助菜单如下介绍C-Script模块:

wKgaomQT2OaAPVuPAAAjhx6ZkOw477.jpg

打开C script模块,将代码分为六层,Code declarations,Start function code,output function code,Updata function code,Derivative function code和Terminate function code。

wKgZomQT2OaAb7-NAABvA9yvl7U778.jpg

Code declarations:此代码部分用于全局声明和定义,这是包含标准库标头的位置(例如math.h 或 stdio.h),可以定义要在C-Script 函数中使用的宏、静态变量和外部源文件。 包含Simulink模型文件的目录将自动添加到包含的搜索路径。

Start function code:开始函数代码在仿真开始时调用。 一般用于初始化代码。

Output function code:在主要和次要时间步长期间调用输出函数,以更新该部分的输出信号。 可以使用宏Input(i),Output(i)和CurrentTime来访问块的输入和输出以及当前时间。

Updata function code:如果该块具有离散的状态变量,则在处理完输出函数之后的主要时间步中,将调用一次更新函数。 一般使用较少。

Derivative function code:如果块具有连续的状态变量,则在求解器的积分循环期间将调用导数函数。 一般使用较少。

Terminate function code:在仿真结束时调用终止函数。

03示例:三相三电平逆变器的模型搭建

a.将个人的PID函数库,SPWM函数库,ADC函数库以及数据类型定义头文件放在Simulink文件同路径下。 用于Simulink模型中C-Script调用。

wKgZomQT2OaAWiJsAABYayamSj4756.jpg

图1 C函数库与simulink模型置于同一路径

b. 搭建电路模型,模型分为电路部分,C代码部分,模拟芯片底层的脉冲生成模块。

wKgaomQT2OaABWFpAAFDBzt0G7U856.jpg

图2 三电平simulink仿真模型结构

c. C-Script 中编辑代码

首先在C-Script 的设置界面输入该模块的输入个数,输出格式,运算步长等。

wKgZomQT2OaABPACAABqO5leWj4227.jpg

在Code declartions部分包含PID函数库,SPWM函数库,ADC函数库以及数据类型定义头文件,以及一些宏定义,如下图示例所示:

wKgaomQT2OaAKNWxAACH5Sx-984923.jpg

图3 C-Script 中Code declartions的定义

在Start function code中完成系统的初始化,本仿真中只对adc采样函数初始化。

wKgaomQT2OaAU0fVAABhvp5geqg980.jpg

图4 C-Script 中Start function code的定义

Output function code执行主要部分,如下截图所示,Output function code先后分别执行C-Script模块的输入,包含三电平逆变器的输出线电压和输出电压幅度指令。 接着对输出电压平均值的计算,输出电压平均值与指令值的PID计算,相位的计算以及三电平的SVPWM调制。 最后为C-Script的对外输出三电平逆变器的脉冲周期,翻转时间,生成脉冲。

wKgZomQT2OaAWkjyAAD8UF7j46Q412.jpg

图5 C-Script 中Output function code的定义

运行模型,三电平模块输出电压波形如下:

wKgZomQT2OaAHK7BAAHCFpg4Stc940.jpg

滤波后输出电压和电流波形如下所示:

wKgaomQT2OaAatweAAJH5yfzBow785.jpg

模块输出电压波形验证了三电平SVPWM调制函数的正确性。 滤波后输出电压和电流波形可以得到该逆变器从0到目标电压建立需要0.35s左右,可根据项目实际需要调整PID参数

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

    关注

    5096

    文章

    19199

    浏览量

    308278
  • 逆变器
    +关注

    关注

    288

    文章

    4764

    浏览量

    207999
  • 仿真
    +关注

    关注

    50

    文章

    4134

    浏览量

    134124
  • Simulink
    +关注

    关注

    22

    文章

    536

    浏览量

    62772
  • C代码
    +关注

    关注

    1

    文章

    89

    浏览量

    14374
收藏 人收藏

    评论

    相关推荐

    三相逆变器

    RT所示 做的一个逆变器模块,三相的 后面加了个RLC滤波器请问这里的电容可以用电解电容吗
    发表于 01-27 16:30

    电平三相逆变器相电压的疑问

    请问这个三相的两电平逆变器180度导电方式(每次个管子导通,SPWM或者SVPWM导电方式),如图所示,相电压有2*Ud/3,-2*Ud/3,Ud/3,-Ud/3,相电压会出现0的情
    发表于 07-09 12:02

    PSPice搭建三相逆变器中地的选择

    是怎么使用的,按道理RMS不是应该预设一个周期么?为什么这里得出的是一连串的数值,如果对这个数求积分是否可以的到想要的有效值?问题3对于三相逆变器的输入功率应如何测量,直接直流电源电压*直流电源电流有效值?
    发表于 03-03 11:39

    怎样去搭建三相交流电机的控制系统的模型

    怎样去搭建三相交流电机的控制系统的模型?设计三相交流电机的控制系统时会遇到哪些问题?
    发表于 07-13 07:22

    谐振逆变器三相电路的原理是什么

    谐振逆变器三相电路原理为避免滤波电抗Ld上产生大的感生电势,电流必须连续。也就是说,必须保证逆变器上、下桥臂晶闸管在换流时,是先开通后关断,也即在换流期间(tγ)内所有晶闸管都处于导通状态。这时
    发表于 11-15 06:42

    三相桥式逆变器电路

    三相桥式逆变器电路
    发表于 11-03 11:28 2347次阅读
    <b class='flag-5'>三相</b>桥式<b class='flag-5'>逆变器</b>电路

    三相四桥臂逆变器

    三相四桥臂逆变器   摘要:叙述了三相四桥臂逆变器的工作原理与控制方法。 关键词:三相;四桥
    发表于 07-16 09:10 5595次阅读
    <b class='flag-5'>三相</b>四桥臂<b class='flag-5'>逆变器</b>

    三相逆变器电路图

    三相逆变器电路 图2三相逆变器电路图 三相逆变器在正常工作时,其电路结构如图所示
    发表于 07-17 08:54 2w次阅读
    <b class='flag-5'>三相</b><b class='flag-5'>逆变器</b>电路图

    三相电平逆变器SVPWM的一种统一快速算法

    三相电平逆变器SVPWM的一种统一快速算法
    发表于 03-30 14:59 11次下载

    三相电平逆变装置全系统电路仿真模型研究

    三相电平逆变装置全系统电路仿真模型研究_薛高飞
    发表于 01-07 17:01 12次下载

    三相SPWM逆变器的切换模型与稳定性分析

    三相SPWM逆变器的切换模型与稳定性分析_韩璐
    发表于 01-07 17:33 3次下载

    电平三相逆变器快速有限控制集模型预测控制方法

    电平三相逆变器快速有限控制集模型预测控制方法_杨勇
    发表于 01-07 18:12 3次下载

    基于matlab的三相电平逆变器SVPWM算法

    本文介绍了二极管中点箝位式电平电压型逆变器为主电路的逆变装置,详细分析了三相电平
    发表于 02-28 14:41 12次下载
    基于matlab的<b class='flag-5'>三相</b><b class='flag-5'>三</b><b class='flag-5'>电平</b><b class='flag-5'>逆变器</b>SVPWM算法

    三相电平逆变器的介绍和Simulink仿真

    本文对三相电平逆变器的Simulink仿真建模及SPWM进行简单介绍。
    的头像 发表于 03-17 11:07 1.4w次阅读
    <b class='flag-5'>三相</b>两<b class='flag-5'>电平</b><b class='flag-5'>逆变器</b>的介绍和Simulink仿真

    三相电平逆变器的中心对齐SVPWM实现

    电子发烧友网站提供《三相电平逆变器的中心对齐SVPWM实现.pdf》资料免费下载
    发表于 10-12 11:25 0次下载
    <b class='flag-5'>三相</b><b class='flag-5'>三</b><b class='flag-5'>电平</b><b class='flag-5'>逆变器</b>的中心对齐SVPWM实现