当前位置:网站首页>逆变器simulink模型——处理器在环测试(PIL)
逆变器simulink模型——处理器在环测试(PIL)
2022-07-02 06:34:00 【Quikk】
文章目录
逆变器simulink模型——处理器在环测试(PIL)
1 处理器在环测试基本思想
1.1 仿真模型基本介绍
正常电力电子系统仿真过程中,结构主要分为主电路+控制电路;而控制电路一般分为采集电路与控制核心。

以逆变器控制系统为例:
直流侧电压源,三相逆变单元,滤波器,负载属于主电路部分;
将220V电压等级转换为控制单元ADC可以采集的0-3.3V低压的调理电路称为采集电路;
将0-3.3V脉冲PWM信号转换为IGBT驱动信号(0-24V)的驱动电路;
控制核心一般由片上系统构成,如STM32、2833X等基础运算核心;
下面再介绍一下仿真基本原理,不论是控制电路还是主电路在simulink中都是通过数值的方式进行数值计算得到的。而实际系统中:主电路为真实电路,控制电路一般为10k,50k等固定采用频率的控制单元。为了实现该情况的仿真,需要将主电路的计算步长尽量降低,以达到仿真连续系统的目的,而控制系统必须要保持正常的采样频率。举个粒子:若取Slover步长为10e-7;则外部主电路以10e-7的步长进行计算一次;而控制单元为10e-4(10k);则需要1000个外部步长对内部单元计算一次。
1.2 处理器在环测试概念
实际仿真过程中,大量控制器与外部主电路都在PC端的CPU上进行运算。但实际情况是微处理器主频往往远低于电脑CPU,其输出结果可能与真实情况有差异。而搭建实际主电路往往需要大量时间,因此可以构建**处理器在环(PIL)**的测试方案对底层MCU运算情况进行分析。
处理器在环测试,是将主电路运算在CPU上执行,控制电路运算将在底层MCU上执行。基本流程为:
PIL启动后,MCU接收由PC传送来的各类数据;
MCU根据数据进行运算得到PWM输出信号并通过串口传送给PC端;
PC端接收到PWM信号后,将其作用于住主电路,主电路状态发生改变,继续重复第(1)步
下面将对此方案具体实现进行实际介绍;
2 处理器在环测试流程
2.1 测试模型介绍
测试模型使用离网逆变器控制模型;模型链接:模型链接
正常离网状态下输出电压波形如图所示,0.1s合上负荷供电开关;0.8s进行功率阶跃;

2.2 基本结构介绍
PIL系统构成需要保障系统连接:1)底层硬件下载口与matlab保持连接 2)底层硬件串口与matlab保持连接;构建下图所示硬件平台

2.3 模型设置
模型设置之前需要配置好MCU代码生成环境,具体步骤见: 环境搭建
1)创建处理器在环模型








注:一定要确认COM9,波特率,等信息,保障通信畅通,防止在环测试失败。
2.4 在环测试模块生成
将控制模块封装成子系统,后生成PIL模块;这时需要将 slover步长 和 Powergui的步长也设置为10e-4;并设置初始通信状态,在命令行中输入以下代码并执行,一定要注意串口信息与设备管理内的信息对应上;
setpref('MathWorks_Embedded_IDE_Link_PIL_Preferences','COMPort','COM9');
setpref('MathWorks_Embedded_IDE_Link_PIL_Preferences','BaudRate',115200);
setpref('MathWorks_Embedded_IDE_Link_PIL_Preferences','enableserial',true);

弹出对话框点 build即可(需要注意,MCU里面只能运行Single类型变量,需要将控制模块中的变量都改为single类型):

弹出生成的PIL模型,将模型复制到原来的文件中。

2.5 模型测试

进入SIL/PIL manager

修改仿真步长为10e-6;

设置PIL参数:

点击run Verification
3 测试结果

测试完毕之后得到上图结果,结果分为一个软件仿真出结果,一个PIL在环测试结果。此时可以对比两者差异。 compare栏下还可以对比两者差异。
硬件:dsp28335
PC:simulink r2019b
使用串口SCIA进行通信
仿真模型,有需自取:PIL在环模型
上述过程有效实现了PIL测试,具体步骤一般如图,需要注意的是生成PIL测试模块一定要修改模型步长(改为控制器执行步长)。测试时,一定要改回原来步长。
边栏推荐
- Ora-12514 problem solving method
- Discussion on improving development quality and reducing test bug rate
- What are the differences between TP5 and laravel
- Oracle modify database character set
- Double non undergraduate students enter the factory, while I am still quietly climbing trees at the bottom (Part 1)
- Hystrix implements request consolidation
- Watermelon book -- Chapter 5 neural network
- 定时线程池实现请求合并
- Chrome browser plug-in fatkun installation and introduction
- BugkuCTF-web16(备份是个好习惯)
猜你喜欢

View the port of the application published by was

Microservice practice | fuse hytrix initial experience

Knowledge points are very detailed (code is annotated) number structure (C language) -- Chapter 3, stack and queue

Read Day6 30 minutes before going to bed every day_ Day6_ Date_ Calendar_ LocalDate_ TimeStamp_ LocalTime

idea查看字节码配置

Read 30 minutes before going to bed every day_ day4_ Files

Chrome browser tag management plug-in – onetab

Supplier selection and prequalification of Oracle project management system

Say goodbye to 996. What are the necessary plug-ins in idea?

Chrome浏览器标签管理插件–OneTab
随机推荐
In depth analysis of how the JVM executes Hello World
自定義Redis連接池
Chrome browser plug-in fatkun installation and introduction
FragmentTabHost实现房贷计算器界面
What is the function of laravel facade
道阻且长,行则将至
每天睡觉前30分钟阅读_day3_Files
C语言之数据插入
Customize redis connection pool
Knife4j 2.X版本文件上传无选择文件控件问题解决
web安全与防御
图像识别-数据标注
BugkuCTF-web21(详细解题思路及步骤)
zk配置中心---Config Toolkit配置与使用
攻防世界-Web进阶区-unserialize3
记录下对游戏主机配置的个人理解与心得
How to use PHP spoole to implement millisecond scheduled tasks
From concept to method, the statistical learning method -- Chapter 3, k-nearest neighbor method
Operation and application of stack and queue
Attributes of classfile