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站:西瓜粥西瓜粥