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参数

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

    关注

    4982

    文章

    18281

    浏览量

    288465
  • 逆变器
    +关注

    关注

    270

    文章

    4241

    浏览量

    201657
  • 仿真
    +关注

    关注

    50

    文章

    3872

    浏览量

    132161
  • Simulink
    +关注

    关注

    22

    文章

    513

    浏览量

    61567
  • C代码
    +关注

    关注

    1

    文章

    89

    浏览量

    14177
收藏 人收藏

    评论

    相关推荐

    三相桥式逆变器电路图

    三相桥式逆变器电路图传统的三相桥式逆变器电路如图(a)所示。图中,VT1~VT6为晶闸管,L1~L6为换向电感,C1~C6为换向电容,两者组成晶闸管关断电路。VD1~VD6为反馈二极管
    发表于 10-24 09:35

    三相逆变器

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

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

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

    求助三相逆变按原理图搭建的simulink模型

    现在matlab可以直接用库里的元件仿真三相逆变,但是按照原理图应该怎么搭建呢?求模型或者推荐的书籍我目前用的是16版Matlab
    发表于 12-09 22:50

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

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

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

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

    学生求指点 搭建三相逆变器电路板实验平台

    学生求指点 现要搭建三相逆变器电路板实验平台已知要用到哪些模块 但是不知道从哪买到现成的电路板 求指点从哪里有渠道商店购买感谢感谢!
    发表于 07-15 09:44

    如何对三相异步电机SPWM变频调速系统模型进行Simulink仿真

    三相异步电机SPWM的基本原理是什么?怎样去搭建一种三相异步电机SPWM变频调速系统模型?如何对三相异步电机SPWM变频调速系统
    发表于 08-02 06:12

    如何利用三相逆变器控制电机

    本文为芬兰赫尔辛基应用科学大学(作者:Lars Dautermann)的学士论文,共63页。本论文的目的是为方程式大赛学生(Formula Student)的电动汽车提供一个三相逆变器。设计逆变器
    发表于 08-27 07:02

    如何利用三相逆变器控制电机

    本文为芬兰赫尔辛基应用科学大学(作者:Lars Dautermann)的学士论文,共63页。本论文的目的是为方程式大赛学生(Formula Student)的电动汽车提供一个三相逆变器。设计逆变器
    发表于 08-30 07:05

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

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

    研究和分析三相电平逆变器及其不同的拓扑结构

    本文为印度Rourkela国立技术研究所(作者:SANJEEV BALACHANDRAN)的学士论文,共54页。本课题主要研究和分析三相电平逆变器及其不同的拓扑结构。本文的主要目的是研究调制技术
    发表于 11-15 07:24

    一种新型的三相电平逆变器拓扑结构

    的质量优于标准逆变器,提出了一种新型的三相电平逆变器拓扑结构。本文的目标是通过采用新的拓扑结构和调制技术,提.
    发表于 11-15 08:30

    MATLAB三相LCL滤波型PWM逆变器仿真设计

    点击上方蓝字关注“公众号”MATLAB三相LCL滤波型PWM逆变器仿真设计参考并网电流外环电容电流前馈内环的双闭环控制结构,可以用于光伏和风力发电网侧变换器中进行改造。三相逆变器通常采
    发表于 11-16 07:24

    基于fpga的三相逆变器系统设计

    微电网模拟系统设计报告题目:微电网模拟系统摘要本文针对微电网模拟系统研究背景,设计了可编程逻辑器件FPGA为控制核心的两个三相逆变器系统。本系统的硬件主要由逆变主电路系统和FPGA控制电路系统构成
    发表于 11-16 06:28