MatalbSimulink Control Tutorials笔记3-PID控制器设计
控制–PID设计
概述
考虑单位反馈系统:
PID时域:
u(t)=Kpe(t)+Ki∫e(t)dt+Kpde(t)dtu(t) = K_p e(t) + K_i \int e(t) dt + K_p \frac{de(t)}{dt}u(t)=Kpe(t)+Ki∫e(t)dt+Kpdtde(t)
拉普拉斯变换后:
Kds2+Kps+Kis\frac{K_d s^{2} + K_p s + K_i}{s} sKds2+Kps+Ki
Kp = 1;
Ki = 1;
Kd = 1;s = tf('s');
C = Kp + Ki / s + Kd * s
%or
C = pid(Kp,Ki,Kd)
tf(C)
P I D 各环节作用
例子
质量弹簧阻尼系统。
控制方程:
mx¨+bx˙+kx=Fm\ddot{x} + b\dot{x} + kx = Fmx¨+bx˙+kx=F
拉氏变换:
X(s)F(s)=1ms2+bs+k\frac{X(s)}{F(s)} = \frac{1}{ms^{2} + bs + k}F(s)X(s)=ms2+bs+k1
m = 1 kg;
b = 10 N s / m;
k = 20 N / m;
F = 1 N;
X(s)F(s)=1s2+10s+20\frac{X(s)}{F(s)} = \frac{1}{s^{2} + 10s + 20}F(s)X(s)=s2+10s+201
开环阶跃响应
s = tf('s');
P = 1/(s^2 + 10*s + 20);
step(P)
阻尼比:10/220=1.1810/2\sqrt{20} = 1.1810/220=1.18
增益:1/20 稳态误差 0.95 太大。
上升时间、稳定时间长。
比例控制
加比例控制后,单位反馈系统的闭环传递函数为:
X(s)R(s)=Kps2+10s+(20+Kp)\frac{X(s)}{R(s)} = \frac{K_p}{s^{2} + 10s +(20+K_p)}R(s)X(s)=s2+10s+(20+Kp)Kp
Kp = 100;
C = pid(Kp)
T = feedback(C*P,1)t = 0:0.01:2;
step(T,t)
若KpK_pKp改变
Kp = 300;
C = pid(Kp)
T = feedback(C*P,1)t = 0:0.01:2;
step(T,t)
比例控制器减小了上升时间和稳态误差,增加了过冲,并将稳定时间减少了一小部分。
比例-微分控制
X(s)R(s)=Kds+Kps2+(10+Kd)s+(20+Kp)\frac{X(s)}{R(s)} = \frac{K_ds+K_p}{s^{2} + (10+K_d)s +(20+K_p)}R(s)X(s)=s2+(10+Kd)s+(20+Kp)Kds+Kp
Kp = 300;
Kd = 10;
C = pid(Kp,0,Kd)
T = feedback(C*P,1)t = 0:0.01:2;
step(T,t)
增加微分项减少了过冲和稳定时间,并且对上升时间和稳态误差的影响可忽略不计。
比例-积分控制
X(s)R(s)=Kps+Kis3+10s2+(20+Kp)s+Ki\frac{X(s)}{R(s)} = \frac{K_ps+K_i}{s^{3} + 10s^{2}+(20+K_p)s +K_i}R(s)X(s)=s3+10s2+(20+Kp)s+KiKps+Ki
Kp = 30;
Ki = 70;
C = pid(Kp,Ki)
T = feedback(C*P,1)t = 0:0.01:2;
step(T,t)
我们减小了比例增益(KpK_pKp),因为积分还减少了上升时间并增加了过冲(同比例项的作用)。上述响应表明,在这种情况下,积分控制器消除了稳态误差。
比例-积分-微分控制
X(s)R(s)=Kds2+Kps+Kis3+(10+Kd)s2+(20+Kp)s+Ki\frac{X(s)}{R(s)} = \frac{K_ds^{2}+K_ps+K_i}{s^{3} + (10+K_d)s^{2}+(20+K_p)s +K_i}R(s)X(s)=s3+(10+Kd)s2+(20+Kp)s+KiKds2+Kps+Ki
Kp = 350;
Ki = 300;
Kd = 50;
C = pid(Kp,Ki,Kd)
T = feedback(C*P,1);t = 0:0.01:2;
step(T,t)
设计PID的一般提示
在为给定系统设计PID控制器时,请按照下面显示的步骤获得所需的响应。
- 获得开环响应并确定需要改进的内容
- 添加比例控制以改善上升时间
- 添加微分控制以减少过冲
- 添加积分控制以减少稳态误差
- 每次调整的增益KpK_pKp,KIK_IKI以及KDK_DKD直到你获得所需的整体响应。
最后,请记住,如果不需要,您不需要将所有三个控制器(比例,微分和积分)实现到单个系统中。例如,如果PI控制器满足给定的要求(如上例所示),那么您不需要在系统上实现派生控制器。保持控制器尽可能简单。
可以在以下链接中找到在实际物理系统上调整PI控制器的示例。这个例子也开始说明实现控制的一些挑战,包括:控制饱和,积分器卷绕和噪声放大。
自动PID调整
(GUI)pidTuner
MatalbSimulink Control Tutorials笔记3-PID控制器设计相关推荐
- pid控制器matlab仿真研究,基于MATLAB仿真的PID控制器设计毕业设计
基于MATLAB仿真的PID控制器设计毕业设计 基于 MATLAB 仿真的 PID 控制器设计 摘 要 本论文以温度控制系统为研究对象设计一个 PID 控制器.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. 受控对象与设计要求 这里列出上一 ...
- 基于bp神经网络的pid算法,神经网络pid控制器设计
基于BP神经网络的PID控制器设计 参考一下刘金琨的<先进PID控制>这本书. 例子:被控对象yout(k)=a(k)yout(k-1)/(1+yout(k-1)^2)+u(k_1)其中a ...
- 强化学习4——基于Actor-Critic的自适应PID控制器设计
注释:本博文内容来源于文献:Wang X, Cheng Y, Sun W, et al. A Proposal of Adaptive PID Controller Based on Reinforc ...
- 【Simulink教程案例1】基于Simulink的PID控制器设计与实现
欢迎订阅<FPGA/MATLAB/SIMULINK系列教程> 目录 1.软件版本 2.PID控制器理论概述 3.基于Simulink的PID控制器设计
- 【老生谈算法】matlab实现磁悬浮系统建模及其PID控制器设计——磁悬浮
磁悬浮系统建模及其PID控制器设计MATLAB 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]matlab磁悬浮系统建模及其 ...
- 基于matlab的磁悬浮控制系统,基于MATLAB的磁悬浮球系统PID控制器设计与实现
摘 要: 介绍了磁悬浮球系统的结构和工作原理,建立了磁悬浮系统的数学模型并进行线性化处理:设计PID控制器,在Simulink环境下搭建控制系统的模型进行仿真研究,并在固高GML1001系列磁悬浮装 ...
- 基于simulink的PID控制器设计
目录 1.PID算法的基本理论 1.1 PID 控制的基本概念 1.2 基本公式 1.3 PID控制系统原理图 2.在simulink中搭建PID控制器模型及调参 3.调参 1.PID算法的基本理论 ...
最新文章
- 【转】 Android中退出程序的提示框
- 完整iOS APP发布App Store上架流程
- python新建文件格式_python之文件操作
- 从源码层面带你实现一个自动注入注解
- Boost.MultiIndex 使用 multi_index_container::ctor_args_list 的示例
- Python_套接字、IPv4和简单的客户端/服务器编程
- jQuery点击图片弹出大图遮罩层
- 从 JVM 角度看 Spring 中方法执行过程和内存状态
- 电脑排行榜笔记本_热门笔记本电脑排行榜推荐_windows7教程
- Unable to find the requested .Net Framework Data Provider
- python 对两列互补的数据合并
- 万恶淫为首,你想知道的真相!
- 日本語トレーニング(二十一)
- Python爬虫selenium的使用实例爬取知乎首页数据!
- Jmeter - 从入门到精通高级篇 - jmeter使用监视器结果监控tomcat性能(详解教程)
- bam文件读取_bam格式文件处理大全(一)
- 用ansys出黑白等值线图
- 修改传奇私服服务器,传奇SF 肿么修改服务器时间
- [贪心]leetcode55:跳跃游戏(medium)
- MongoDB全面总结