拓展:simulink中将仿真环境离散化

simulink仿真环境离散化

此练习,主要在simulink仿真环境的离散化。

一、仿真模型

  • 还是以前面simulink练习10的flyback电路为例:

二、如何查看离散情况

  • 在空白处 右键 ,按下图选择 采样时间显示 ,再选择 全部
  • 此时,就能看到弹出的一些连续、离散化的情况;
  • 并且,电气的连接图,也会以不同情况,显示对应的颜色
  • 例如:0.5就是个常数;这个PWM脉冲发生器就是混合的情况,因为PWM脉冲发生器其输入是0.5常数,输出又是灰色的最小步长,所以是混合的。

三、仿真环境离散化的设置

  • 从上面可以看到,此时整个系统就是各种都有,而现在就是要将整个系统全部离散化。主要分以下三步:
    • simulink系统离散化;
    • 电气环境离散化;
    • 控制方式离散化;

1、整个simulink系统离散化

  • 点开 模型设置 的界面;(如下图)
  • 将类型选为 定步长 ,求解器选为 离散
  • 固定步长,这里设置为 0.25e-6
  • 固定步长 的设置方法:
    • 如果对于相控 形式的电路,大概设置 1e-4
    • 如果对于斩波 形式的电路,
      • 10k 开关频率大概设置 1e-6 或者更小;
      • 20k 开关频率大概设置 0.5e-6
      • 这里40k 就是设置 0.25e-6
  • 注意:后面如果有报错,可能就要检查这里是最小刻度的值 ,是否其他地方的设置是仿真时间0.25e-6的整数倍
  • 总结,目前整个simulink系统就变为离散化了。

2、PowerGUI电气环境离散化

  • 双击 PowerGUI 模块,将类型选为 Discrete 离散形式,采样时间设置和刚才的固定步长一样 0.25e-6
  • 总结,目前就是电气环境也做了离散化了。

3、控制方式离散化

  • 就是在仿真里面,要用离散形式来对系统进行控制;

  • 此时同样再搭建一个离散形式的PID的闭环反馈来验证;

  • 双击空白处,搜子系统模块 Subsystem ,将控制部分在子模块里面进行搭建,这样更简洁;

  • 需要有以下参数:

    • 给定量 :因为要输出5V,用 constant 模块;
    • 反馈量 :用万用表 Multimeter ,将电阻两端的输出电压作为反馈;
    • 误差 :就是给定减去反馈,用 Sum 模型,进行相减;
    • PID调节器 :这里需使用离散的PID控制器 Discrete PID Controller
    • 复合型控制:开环大信号+PID闭环小信号,参考之前的练习;
    • 这里就是用一个固定占空比常数 0.325 ,作为开环部分的大信号,再用 Sum 加上PID的输出的小信号,构成复合控制。
    • PID参数的设置 :双击PID模块,
      • 比例项 设置:通过前面误差信号如果差1V,则占空比大概需要0.05,就大概可以设置 0.05*5
      • 积分项 设置,通常就要至少快比例项再快100倍,因为这里积分是乘以Ts,是还原到秒级的,所以需要100倍,大概可以设置 0.055100
      • 限幅部分 :就大概限制在 -0.3 0.3 之间即可;
  • 以下是PI模块的设置:


  • 再将两个占空比的和,连接到PWM脉冲发生器 PWM Generator(DC-DC)
  • 以下,就是完整的控制子模块的连接图
  • 以及完整电路的连接图:(如下图)
  • 总结,目前就是控制部分也做了离散化了。

四、运行结果

  • 仿真时间:0.02s,其输出电压的运行结果:
  • 此时看到最后就是到5V左右了,仿真时间再长一点就比较明显;
  • 仿真时间:0.04s,其输出电压的运行结果:
  • 从图看出,是不是觉得改成离散的仿真,反倒更差呢?
  • 之前连续的波形很光滑,现在更多这种波动的毛刺;
  • 其实,这才是正常的,这才是更贴近实际真实情况

学习来源:B站:西瓜粥西瓜粥

相关推荐
rit843249911 小时前
有限元法求转子临界转速的MATLAB实现
开发语言·matlab
Matlab程序设计与单片机12 小时前
【机器人最短路径规划】基于标准蚁群算法
matlab·蚁群算法·路径规划问题
Marye_爱吃樱桃12 小时前
MATLAB R2024b的安装、简单设置——保姆级教程
开发语言·matlab
IT猿手1 天前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
Evand J1 天前
【MATLAB复现RRT(快速随机树)算法】用于二维平面上的无人车路径规划与避障,含性能分析与可视化
算法·matlab·平面·无人车·rrt·避障
s09071361 天前
【声纳成像】基于滑动子孔径与加权拼接的条带式多子阵SAS连续成像(MATLAB仿真)
开发语言·算法·matlab·合成孔径声呐·后向投影算法·条带拼接
IT猿手1 天前
基于 ZOH 离散化与增量 PID 的四旋翼无人机轨迹跟踪控制研究,MATLAB代码
开发语言·算法·matlab·无人机·动态路径规划·openclaw
IT猿手1 天前
基于控制障碍函数(Control Barrier Function, CBF)的无人机编队三维动态避障路径规划,MATLAB代码
开发语言·matlab·无人机·动态路径规划·无人机编队
SugarFreeOixi1 天前
MATLAB绘图风格记录NP类型
python·matlab·numpy
IT猿手1 天前
基于 CBF 的多无人机编队动态避障路径规划研究,无人机及障碍物数量可以自定义修改,MATLAB代码
开发语言·matlab·无人机·动态路径规划