这里展示如何设计一个简单的PID控制器。

传递函数如下:
sys=1(s+1)3sys=\frac{1}{(s+1)^3} sys=(s+1)31​
首先,创建模型并选用PI控制器:

sys = zpk([],[-1 -1 -1],1);
[C_pi,info] = pidtune(sys,'PI')  % pidtune整定函数

生成结果如下:
(交叉频率约为0.52 rad/s,相位裕度为60)

检查受控系统的闭环阶跃响应:

T_pi = feedback(C_pi*sys, 1);
step(T_pi)

为了缩短响应时间,可以设置比自动选择的结果更高的目标交叉频率,即0.52。将交叉频率增加到 1.0。

定义c_pi_fast:

[C_pi_fast,info] = pidtune(sys,'PI',1.0)

新控制器可实现更高的交叉频率,但代价是相位裕量减小。

将两个控制器的闭环阶跃响应进行比较。

T_pi_fast = feedback(C_pi_fast*sys,1);
step(T_pi,T_pi_fast)
axis([0 30 0 1.4])
legend('PI','PI,fast')

这种性能降低的结果是,PI控制器没有足够的自由度在1.0 rad/s的交叉频率下实现良好的相位裕量。添加微分操作可改善响应。

将 PIDF 控制器设计为目标交叉频率为 1.0 rad/s。

[C_pidf_fast,info] = pidtune(sys,'PIDF',1.0)

可以看出,在微分作用下, 算法的交叉频率和相位裕量都达到了较好值。

比较pi_fast 和 pidf_fast两个控制器的闭环阶跃响应:

T_pidf_fast =  feedback(C_pidf_fast*sys,1);
step(T_pi_fast, T_pidf_fast);
axis([0 30 0 1.4]);
legend('PI,fast','PIDF,fast');


可以将受控系统的输入(负载)抗扰度添加到快速 PI 和 PIDF 控制器再次进行比较:

S_pi_fast = feedback(sys,C_pi_fast);
S_pidf_fast = feedback(sys,C_pidf_fast);
step(S_pi_fast,S_pidf_fast);
axis([0 50 0 0.4]);
legend('PI,fast','PIDF,fast');


以上。

【Matlab】简单PID 控制器设计(控制系统工具箱)相关推荐

  1. matlab数字pid控制仿真程序,基于MATLAB的数字PID控制器设计及仿真分析

    基于MATLAB的数字PID控制器设计及仿真分析 基于基于MATLABMATLAB的数字的数字PIDPID控制器设计及仿真分析控制器设计及仿真分析 摘摘 要要 PID控制作为历史最为悠久,生命力最强的 ...

  2. Matlab 仿真——单自由度倒立摆(3)PID控制器设计

    文章目录 0. 受控对象与设计要求 0.1 受控对象 0.2 设计要求 1. 控制系统结构 2. PID控制器设计 3. 那小车呢? 4. 几个问题 5. 参考 0. 受控对象与设计要求 这里列出上一 ...

  3. 【老生谈算法】matlab实现磁悬浮系统建模及其PID控制器设计——磁悬浮

    磁悬浮系统建模及其PID控制器设计MATLAB 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]matlab磁悬浮系统建模及其 ...

  4. pid控制器matlab仿真研究,基于MATLAB仿真的PID控制器设计毕业设计

    基于MATLAB仿真的PID控制器设计毕业设计 基于 MATLAB 仿真的 PID 控制器设计 摘 要 本论文以温度控制系统为研究对象设计一个 PID 控制器.PID 控制是迄今为止最通用的控制方法, ...

  5. 利用matlab实现pid控制,运用Matlab实现PID控制器的设计

    第 39 卷 第 6 期 2011 年 12 月 福州大学学报( 自然科学版) Journal of Fuzhou University( Natural Science Edition) Vol. ...

  6. 基于bp神经网络的pid算法,神经网络pid控制器设计

    基于BP神经网络的PID控制器设计 参考一下刘金琨的<先进PID控制>这本书. 例子:被控对象yout(k)=a(k)yout(k-1)/(1+yout(k-1)^2)+u(k_1)其中a ...

  7. 如何使用matlab得出pid控制参数值,基于MATLAB的PID控制器参数整定及仿真

    基于MATLAB的PID控制器参数整定及仿真 摘要:PID控制器结构和算法简单,应用广泛,但参数整定比较复杂,在此我探讨利用MATLAB实现PID参数整定及其仿真的方法,并分析比较比例.比例积分.比例 ...

  8. matlab中pid Tune控制器,基于MATLAB的PID控制器参数整定及仿真

    基于MATLAB的PID控制器参数整定及仿真 摘要:PID控制器结构和算法简单,应用广泛,但参数整定比较复杂,在此我探讨利用MATLAB实现PID参数整定及其仿真的方法,并分析比较比例.比例积分.比例 ...

  9. 强化学习4——基于Actor-Critic的自适应PID控制器设计

    注释:本博文内容来源于文献:Wang X, Cheng Y, Sun W, et al. A Proposal of Adaptive PID Controller Based on Reinforc ...

最新文章

  1. Java_中快速获取系统时间
  2. CT片居然可以这么玩:用头部CT断层扫描片复原三维头像
  3. 英特尔90亿美元卖掉「起家业务」,SK海力士接盘
  4. Linux下用netstat查看网络状态、端口状态
  5. Spring Data JPA_多表关联查询中应该注意的问题
  6. Delphi程序员代码编写标准指南
  7. goland设置goroot_go环境搭建-goland使用、gopath、go命令
  8. 【HDU - 2571】 命运(记忆化搜索)
  9. 王者荣耀4月14日服务器维护,王者荣耀体验服4月14日停机更新 鲁班七号加强!...
  10. mysql 集成模式_mysql基础学习整合
  11. python之禅星号_那些用起来很爽,但用不好可能会被人打的Python骚操作
  12. 一种基于最大似然的语音信号混响时间(reverberation time)估计方法的MATLAB实现
  13. 51单片机延时与按钮响应时间答复:模拟发动机工作http://www.51hei.com/bbs/dpj-163192-1.html
  14. js防止双击事件触发单击事件
  15. js 将字符串分割为数组
  16. PSCAD中的频变参数线路模型(Frequency-Dependent (Phase) Line Model)
  17. java qq邮箱发送端口号,MediaWiki 设置QQ邮箱SMTP(SSl方式)发送邮件
  18. Pytorch-《Deep learning with pytorch》1.2.1训练imagenetmini
  19. 牛客算法周周练16全题解
  20. 菲兹定律(Fitts's law)

热门文章

  1. dlib 怎么安装vs2017_dlib库+vs2017详细配置流程
  2. Python超详细基础教程,从入门到实践
  3. arcgis两张图层不能同时显示_arcgis怎么把两个图层合并成一个
  4. Linux下gcc交叉编译工具链制作实例详细总结(附下载地址)
  5. html css 网页代码案例,案例1-HTML使用css+div设计简单网页(62页)-原创力文档
  6. 使用机器学习进行客户终身价值和RFM模型分析
  7. java拍照上传功能_js实现手机拍照上传功能
  8. mysql按升序创建索引_Mysql创建索引
  9. 如何设置Android studio 代码字体大小
  10. WAV 文件转成数组