[其他] 【分享帖】连续系统的PID控制matlab模拟

[复制链接]
英雄南华大学MA战队
2019-4-16 13:18:51 显示全部楼层

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
PID控制是将误差信号e(t)的比例(P),积分(I)和微分(D)通过线性组合构成控制量进行控制,其输出信号为:
微信图片_20190416131124.png
对此式进行拉普拉斯变换,并且整理后得到模拟PID调节器的传递函数为:
微信图片_20190416131130.png
其中:
  • Kp——比例系数
  • Ti——积分时间常数
  • Td——微分时间常数
  • e(t)——偏差
  • u(t)——控制量


微信图片_20190416131137.jpg

模拟PID控制系统框图

微信图片_20190416131141.png

下面我们对PID参数来的简单理解

从上面的式子中可以看出:

比例控制Kp能提高系统的动态响应速度,迅速反映误差,从而减少误差,但是不能消除误差,简单来说就是越大越快越小越慢但是可能会超调或者过慢有很多弊端,并且太大了会不稳定。

Ki为积分控制作用,一般就是消除稳态误差,只要系统存在误差积分作用就会不断积累,输出控制量来消除误差,如果偏差为零这时积分才停止。积分时间小,表示积分速度大,积分作用就强;反之,积分时问大,则积分作用就弱。 Kd为微分控制,微分显然与变化率有关,你可以把它理解为导数,微分作用主要是用来克服被控对象的滞后,常用于温度控制系统。这就像个“预言家”,它可以根据变化率来判断系统快要上升还是下降来提前改变系统的控制量这就与积分作用形成互补。




用MATLAB软件对PID控制做简单的仿真

说了这么多有些抽象,这就用matlab来简单仿真一下就明了了。
建立二阶负反馈控制系统,其开环传递函数为:
G(s)=2/((3s+1)*(2s+1))
比例控制
输出与输入偏差成比例,即直接将误差信号放大或缩小。比例控制的传递函数为:
G(s)=Kp
取不同的比例系数,绘制系统的单位阶跃响应曲线
微信图片_20190416131148.png
微信图片_20190416131152.png
随着KP值的增大,系统响应速度加快,但系统的超调也随着增加,调节时间也随着增长。当KP增大到一定值后,闭环系统将趋于不稳定。
比例控制具有抗干扰能力强、控制及时、过渡时间短的优点,但存在稳态误差,增大比例系数可提高系统的开环增益,减小系统的稳态误差,从而提高系统的控制精度,但这会降低系统的相对稳定性,甚至可能造成闭环系统的不稳定,因此,在系统校正和设计中,比例控制一般不单独使用

微分控制
输出与输入偏差的微分成比例,即与偏差的变化速度成比例。微分控制(与比例控制同时使用)的传递函数为:
G(s)=Kp(1+TdS)
取不同的微分系数,绘制系统的单位阶跃响应曲线:
微信图片_20190416131156.png
微信图片_20190416131200.png
随着Td值的增大,系统超调量逐渐减小,动态特征有改善。微分项能预测误差的变化趋势,这样具有比例+微分的控制器,就能提前使抑制误差的控制作用等于零,甚至为负值,从而避免被控量的严重超调,改善动态特性。

积分控制
输出与输入偏差的积分成比例,即与误差的积累成比例。积分控制(与比例控制同时使用)的传递函数为:
G(s)=Kp(1+1/Ti⋅1/s)
取不同的积分系数,绘制系统的单位阶跃响应曲线:
微信图片_20190416131204.png
微信图片_20190416131208.png
PID控制通过积分作用消除误差,而微分控制可缩小超调量、加快系统响应,是综合了PI控制和PD控制长处并去除其短处的控制。
微信图片_20190416131213.jpg
微信图片_20190416131217.jpg
在已知被控对象传函的情况下,对单位负反馈中的PID进行调节,使得单位阶跃响应达到最佳。
点击Plant下的Import输入被调节对象的传函,传函是从matlab 工作区中选的,可以传入多个一起调节;
Type可以用来改变PID的类型(P/I/PI/PD/PID/PDF/PIDF);
Domain可以选择是时域调节还是频域调节,时域调节是调节response time(响应时间)和transient behavior(暂态特性),频域调节是调节bandwidth(带宽)和phase margin(相角裕度)。点击图标可以加快或者减慢调节;
show parameter可以看控制器的参数(窗口的最下端也有)和曲线的特性(超调量,稳定性等等);
Export选中想要获得的PID参数,可以输出到工作区中;
点击曲线上的点可以显示该点的横纵坐标




参考资料:
公式与算法来自CSND博客
END
跳转到指定楼层

[其他] 【分享帖】连续系统的PID控制matlab模拟

[复制链接]
梯队队员ccccj
2019-9-18 14:35:48 显示全部楼层
我想问一下电机的传递函数怎么的得到的
回复 支持 4 反对 0

使用道具 举报

[其他] 【分享帖】连续系统的PID控制matlab模拟

[复制链接]
步兵快拆小分队
2019-4-16 19:09:49 显示全部楼层
哦~!!不错!
回复

使用道具 举报

[其他] 【分享帖】连续系统的PID控制matlab模拟

[复制链接]
正式队员周赛华
2019-9-22 09:45:38 显示全部楼层
嗅到了大佬的气息

[其他] 【分享帖】连续系统的PID控制matlab模拟

[复制链接]
正式队员djiuser_L2JxfAD
2020-1-5 23:03:23 显示全部楼层
凭自己的知识很难做到自己分析模型的动力学建立仿真模型和传递函数啊

[其他] 【分享帖】连续系统的PID控制matlab模拟

[复制链接]
梯队队员Yglv
2020-1-8 19:35:37 显示全部楼层
很棒,学到了

[其他] 【分享帖】连续系统的PID控制matlab模拟

[复制链接]
梯队队员QR123456
2020-9-25 18:50:47 显示全部楼层
NI U   BIDFDG

[其他] 【分享帖】连续系统的PID控制matlab模拟

[复制链接]
梯队队员USTCxcy
2020-11-17 10:35:27 显示全部楼层
太强了,很适合入门级学习

[其他] 【分享帖】连续系统的PID控制matlab模拟

[复制链接]
梯队队员djiuser_vKykKPf
2020-11-29 15:32:37 显示全部楼层
哦~!!不错!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

快速回复 返回顶部 返回列表