PID自动调参simulink仿真

本文介绍了如何在MATLAB环境中,利用System Identification APP识别传递函数,结合Simulink搭建仿真控制系统,并运用PIDTuner工具进行PID参数自动调参。通过系统识别获取模型,建立Simulink模型,然后调整PID参数以优化控制性能,确保曲线稳定性和响应速度。该过程对于初学者在实际项目中调节PID控制器提供了指导。
摘要由CSDN通过智能技术生成

PID自动调参----simulink仿真-----如何高效调参

  1. 设计PID控制器
  2. 系统识别APP识别传递函数
  3. Simulink搭建仿真控制系统
  4. 使用Maltab自动调参工具PID Tuner调节PID参数

设计PID控制器

我们先看这张经典的PID控制器的图片,可以看e(t)与u(t)与c(t),会发现控制器是控制e(t),也就是反馈值的偏差来输出控制量(u(t))给执行机构的。也就是通过控制执行机构间接控制被控对象。所以,设计PID控制器的关键是找出反馈量也就是你想要控制的对象
在这里插入图片描述
这个控制对象与执行机构有一定的联系,比如说,你想设计PID控制器控制小车的速度,那么这个反馈量c(t),就要是速度,控制速度的执行机构自然就是电机了。检测速度自然就要用到编码器。

系统识别APP识别传递函数

我们已经设计出了PID控制器(速度PID控制器),那比较关键部分,也就是执行机构与控制对象的关系我们还不知道。又由于,个人专业知识不能够识别出这两者的关系。但我们有工具可以识别出来。
请出我们的第一个小助手:

maltab的system identification

在这里插入图片描述
通过它,我们只需要知道系统的输入输出就可以知道系统的特征,也就是用用黑箱方法得到的对一个系统规律的认识。

首先,我们需要又系统的输入输出数据,由于我手头上没有,便作罢(不过可以随便用一些数据玩一下)。下面假装我有电机的输入与输出的数据。采集数据的时候,一般使用开环控制的方式采集输入与输出数据。

输入数据

选择时间域信号

在Maltab工作区中导入数据即可,可以将变量拖动到区域中或者在区域中输入变量名
在这里插入图片描述
接着输入你的采样时间(以s为单位)和数据名称,按下import就可以把数据输入到app中,接下来可以进行系统识别了。
在这里插入图片描述
然后快速生成,就会自动生成一些数据,一部分是用来识别系统特征的,一部分是用来训练的,还有一些我也不清楚。
圈起来的①是生成模型的数据,②是训练的数据。在time plot可以查看曲线。

在这里插入图片描述主要是看拟合率,拟合率超过80%较佳,也要防止过拟合,个人一般采取增大数据量的方法。图中拟合率100%,应该是过拟合了。
在这里插入图片描述

把输出的模型拖动到工作区中(To workspace),以便在simulink中调用。

Simulink搭建仿真控制系统

搭建仿真模型,模拟单片机控制电机速度,信号输入的频率我设置为1ms,离散PID控制模块的控制频率也是10ms,反馈的延迟是5ms,由于两者的频率不一致,采用RateTransition ZOH是采样率转换,加一个零阶保持器。在这里插入图片描述
把系统辨别app辨识出的模型,从工作区中写入到simulink中。
在这里插入图片描述
运行仿真
在这里插入图片描述

使用Maltab自动调参工具PID Tuner调节PID参数

打开PID controller,可以选择PID控制,输出限制幅度,PI,P,PD控制等等,设置好了。

打开PID Tuner即可开始调节
在这里插入图片描述
界面如下,拖动两个按钮可以修改曲线参数,按下按钮两边得大于/小于号,可以拓宽,收缩调节范围。

点击show Parameter 显示曲线信息,有曲线的超调量,增益,达到设定值的时间,曲线是否稳定等。可以边拖动曲线,边看表格。

可以看到有两条曲线,一条是上次PID值下得曲线,一条是目前PID值下得曲线。
在这里插入图片描述
当反应时间调节过短,曲线变得逐渐不光滑
在这里插入图片描述
调节过量,曲线变得不稳定
在这里插入图片描述
找到比较合适的曲线,更新到simulink
在这里插入图片描述
可以看到,曲线比较合适,PID的值合适。
在这里插入图片描述

通过simulink可以给我们制作智能车或者其他调节PID时候一个大的方向,找到一个比较合适的区间,在这个区间进行实际中的调节。特别是对于新手,不怎么会调节PID的,一个比较好的方向。

值得注意的是,这些都是一些方法,合不合适,主要看模拟出来的系统是否好,也就是创建一个好的系统模型这个是比较重要的。

参考文章:
嵌入式小车
串级PID
系统辨识

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值