【PID精讲12】基于MATLAB和Simulink的仿真教程

写在前面

第11讲介绍的连续系统的数字PID仿真是基于 Matlab的 M 语言实现的,对于初学者或者工程应用人员来说,可能不是很清楚是怎样实现的?本文以单P仿真为例详细介绍基于 MATLAB 和 Simulink 的实现过程。

特别说明:本文为我的首评老师机器人梦想家所整理,希望不负所望。

一、基于Simulink的仿真

测试系统的传递函数:
G ( s ) = 2 ( 3 s + 1 ) ( 2 s + 1 ) = 2 6 s 2 + 5 s + 1 G(s)=\frac{2}{(3s+1)(2s+1)}=\frac{2}{6s^2+5s+1} G(s)=(3s+1)(2s+1)2=6s2+5s+12

1. 新建Simulink模型

(1)双击【MATLAB图标】(测试版本为2021b)
在这里插入图片描述

(2)单击【新建】》【Simulink模型】》【空白模型】
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. 保存Simulink模型

在这里插入图片描述

3. 建模

(1)调用模型库:单击【库浏览器】
在这里插入图片描述

(2)找到单位阶跃信号源:单击【Sources】》【Step】,并将Step图元拖到新建的模型中。
在这里插入图片描述

(3)找到 Sum 运算图元:单击【Math Operations】》【Sum】,并将Sum图元拖到模型中。
在这里插入图片描述

(4)找到PID控制器图元:单击【Continuous】》【PID Controller】,并将PID Controller图元拖到模型中。
在这里插入图片描述

(5)设置PID控制器,因为咱们以单P为例测试,所以将控制器改成P,比例系数,可以根据系统的走势来调节(在调参过程中主要通过这个设置来更改系数值),本例中设置为 5,然后确定。
在这里插入图片描述

(6)找到传递函数图元:单击【Continuous】》【Transfer Fcn】,并将Transfer Fcn图元拖到模型中。
在这里插入图片描述

(7)修改传递函数:双击【Transfer Fcn】弹出设置对话框,将默认的传递函数改成目标传递函数,将分子改成2,分母改成6、5、1,然后确定。
在这里插入图片描述

在这里插入图片描述

(8)第7步修改后的传递函数默认显示如下图,并没有完整显示目标传递函数,是因为显示不开的原因,只需要将图元拖拉大一些,就可以正常显示了。

在这里插入图片描述

在这里插入图片描述

(9)选择示波器图元:【Sinks】》【Scope】,并将Scope图元拖拽到模型中。
在这里插入图片描述

(10)所有图元都找到并拖到模型中设置完成之后,下一步就是连线,连线过程及连线完成测试中随时修改配置。比如,我在连线时发现Sum的运算未修改,应该是负反馈,所以做一下修改。
在这里插入图片描述

双击Sum图元,将符号列表的 ++ 改成 ± 确认即可。
在这里插入图片描述

然后连线。
在这里插入图片描述

4. 运行

双击【Scope】,弹出示波器对话框,单击【运行】可以观察信号曲线。如果需要调试参数,就修改PID控制器的参数后再次运行验证直到达到理想曲线。
在这里插入图片描述

二、基于MATLAB的仿真

1. 编码

新建一个.m文件,源码如下:

   Gs = tf(2,conv([3,1],[2,1]));       %Gs是传递函数,conv是可以理解为因式分解(3s+1)(2s+1)
   Kp = [0.5,2,5,10];                  %取不同的比例系数,类似数组
   for m = 1:4                                 
   sys = feedback(Kp(m)*Gs,1);         %feedback(G,H),(G,H需事先设定)。
                                       %其中G是传递函数,H为反馈函数,表示一个控制系统G,对其进行负反馈H(要求正反馈用-H)。这里前面写上比例环节与系统的串联,后面的1表示负反馈
   step(sys);                          %求阶跃响应,可以用形如step(feedback(G,H))
   title( 'P控制仿真' );
   legend('P=0.5','P=2','P=5','P=10','Location','northeast' );
   xlabel( '时间' );
   ylabel( '振幅' );

   hold on
   end

2. 运行

单击【运行】按钮,弹出运行窗口。
在这里插入图片描述

3. 调整曲线格式

(1)前文中的线条比较粗,怎么调节呢?方法如下:
首先将鼠标单击一下【箭头】,让鼠标变成一个箭头模式,然后,选中曲线,右击鼠标选择【Line Width】,选择合适的线的尺寸,比设置为2。然后依次将四根线都设置完成。
在这里插入图片描述

(2)通过【编辑】》【复制选项】来调整图像显示效果

在这里插入图片描述

4. 导出图窗

单击【编辑】》【复制图窗】,就可以将图窗曲线复制在了粘贴板。
在这里插入图片描述


本节完

  • 46
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MJY二进制

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值