【Matlab】简单PID 控制器设计(控制系统工具箱)
这里展示如何设计一个简单的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 控制器设计(控制系统工具箱)相关推荐
- matlab数字pid控制仿真程序,基于MATLAB的数字PID控制器设计及仿真分析
基于MATLAB的数字PID控制器设计及仿真分析 基于基于MATLABMATLAB的数字的数字PIDPID控制器设计及仿真分析控制器设计及仿真分析 摘摘 要要 PID控制作为历史最为悠久,生命力最强的 ...
- Matlab 仿真——单自由度倒立摆(3)PID控制器设计
文章目录 0. 受控对象与设计要求 0.1 受控对象 0.2 设计要求 1. 控制系统结构 2. PID控制器设计 3. 那小车呢? 4. 几个问题 5. 参考 0. 受控对象与设计要求 这里列出上一 ...
- 【老生谈算法】matlab实现磁悬浮系统建模及其PID控制器设计——磁悬浮
磁悬浮系统建模及其PID控制器设计MATLAB 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]matlab磁悬浮系统建模及其 ...
- pid控制器matlab仿真研究,基于MATLAB仿真的PID控制器设计毕业设计
基于MATLAB仿真的PID控制器设计毕业设计 基于 MATLAB 仿真的 PID 控制器设计 摘 要 本论文以温度控制系统为研究对象设计一个 PID 控制器.PID 控制是迄今为止最通用的控制方法, ...
- 利用matlab实现pid控制,运用Matlab实现PID控制器的设计
第 39 卷 第 6 期 2011 年 12 月 福州大学学报( 自然科学版) Journal of Fuzhou University( Natural Science Edition) Vol. ...
- 基于bp神经网络的pid算法,神经网络pid控制器设计
基于BP神经网络的PID控制器设计 参考一下刘金琨的<先进PID控制>这本书. 例子:被控对象yout(k)=a(k)yout(k-1)/(1+yout(k-1)^2)+u(k_1)其中a ...
- 如何使用matlab得出pid控制参数值,基于MATLAB的PID控制器参数整定及仿真
基于MATLAB的PID控制器参数整定及仿真 摘要:PID控制器结构和算法简单,应用广泛,但参数整定比较复杂,在此我探讨利用MATLAB实现PID参数整定及其仿真的方法,并分析比较比例.比例积分.比例 ...
- matlab中pid Tune控制器,基于MATLAB的PID控制器参数整定及仿真
基于MATLAB的PID控制器参数整定及仿真 摘要:PID控制器结构和算法简单,应用广泛,但参数整定比较复杂,在此我探讨利用MATLAB实现PID参数整定及其仿真的方法,并分析比较比例.比例积分.比例 ...
- 强化学习4——基于Actor-Critic的自适应PID控制器设计
注释:本博文内容来源于文献:Wang X, Cheng Y, Sun W, et al. A Proposal of Adaptive PID Controller Based on Reinforc ...
最新文章
- Java_中快速获取系统时间
- CT片居然可以这么玩:用头部CT断层扫描片复原三维头像
- 英特尔90亿美元卖掉「起家业务」,SK海力士接盘
- Linux下用netstat查看网络状态、端口状态
- Spring Data JPA_多表关联查询中应该注意的问题
- Delphi程序员代码编写标准指南
- goland设置goroot_go环境搭建-goland使用、gopath、go命令
- 【HDU - 2571】 命运(记忆化搜索)
- 王者荣耀4月14日服务器维护,王者荣耀体验服4月14日停机更新 鲁班七号加强!...
- mysql 集成模式_mysql基础学习整合
- python之禅星号_那些用起来很爽,但用不好可能会被人打的Python骚操作
- 一种基于最大似然的语音信号混响时间(reverberation time)估计方法的MATLAB实现
- 51单片机延时与按钮响应时间答复:模拟发动机工作http://www.51hei.com/bbs/dpj-163192-1.html
- js防止双击事件触发单击事件
- js 将字符串分割为数组
- PSCAD中的频变参数线路模型(Frequency-Dependent (Phase) Line Model)
- java qq邮箱发送端口号,MediaWiki 设置QQ邮箱SMTP(SSl方式)发送邮件
- Pytorch-《Deep learning with pytorch》1.2.1训练imagenetmini
- 牛客算法周周练16全题解
- 菲兹定律(Fitts's law)
热门文章
- dlib 怎么安装vs2017_dlib库+vs2017详细配置流程
- Python超详细基础教程,从入门到实践
- arcgis两张图层不能同时显示_arcgis怎么把两个图层合并成一个
- Linux下gcc交叉编译工具链制作实例详细总结(附下载地址)
- html css 网页代码案例,案例1-HTML使用css+div设计简单网页(62页)-原创力文档
- 使用机器学习进行客户终身价值和RFM模型分析
- java拍照上传功能_js实现手机拍照上传功能
- mysql按升序创建索引_Mysql创建索引
- 如何设置Android studio 代码字体大小
- WAV 文件转成数组