当前位置:网站首页>逆变器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测试模块一定要修改模型步长(改为控制器执行步长)。测试时,一定要改回原来步长。
边栏推荐
- [go practical basis] how to set the route in gin
- C语言之到底是不是太胖了
- 定时线程池实现请求合并
- C语言之数据插入
- idea查看字节码配置
- 深入剖析JVM是如何执行Hello World的
- 机器学习实战:《美人鱼》属于爱情片还是动作片?KNN揭晓答案
- "Redis source code series" learning and thinking about source code reading
- Troubleshooting and handling of an online problem caused by redis zadd
- 微服务实战|手把手教你开发负载均衡组件
猜你喜欢

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

概率还不会的快看过来《统计学习方法》——第四章、朴素贝叶斯法

微服务实战|声明式服务调用OpenFeign实践

Chrome浏览器插件-Fatkun安装和介绍

数构(C语言--代码有注释)——第二章、线性表(更新版)

洞见云原生|微服务及微服务架构浅析

The channel cannot be viewed when the queue manager is running

"Redis source code series" learning and thinking about source code reading

Microservice practice | teach you to develop load balancing components hand in hand

Chrome browser plug-in fatkun installation and introduction
随机推荐
Who is better for Beijing software development? How to find someone to develop system software
在SQL注入中,为什么union联合查询,id必须等于0
分享一篇博客(水一篇博客)
VIM操作命令大全
Oracle modifies tablespace names and data files
微服务实战|负载均衡组件及源码分析
Read 30 minutes before going to bed every day_ day4_ Files
Demand delineation executive summary
每天睡前30分钟阅读Day5_Map中全部Key值,全部Value值获取方式
Watermelon book -- Chapter 5 neural network
Micro service practice | introduction and practice of zuul, a micro service gateway
Don't look for it. All the necessary plug-ins for Chrome browser are here
Safety production early warning system software - Download safety production app software
Creation and jump of activity
Bold prediction: it will become the core player of 5g
Microservice practice | fuse hytrix initial experience
Typeerror: X () got multiple values for argument 'y‘
西瓜书--第五章.神经网络
Solution to amq4036 error in remote connection to IBM MQ
VIM operation command Encyclopedia