PID算法知识点博文收藏记录
https://blog.csdn.net/Uncle_GUO/article/details/51367764
https://blog.csdn.net/HandsomeHong/article/details/72528869
一个故事读懂PID控制绝对经典
一文看懂舵机硬件pid电路原理-电子发烧友网
《从新手到高手 自动调节系统解析与PID整定》
PID控制器的数字实现及C语法讲解 - free_稀饭 - 博客园
有的时候书本上的仅仅是理论,读起来会比较深奥。反倒是博客上的有些文章是比较不错的。所以记录下。
mcu实现的有位置式PID和增量PID,但是通常用的多是增量式PID,这样可以减少mcu的内存占用,效果也可以达到,因此在多数场景中,都用增量式PID控制的方法。
两者的优缺点
a) 增量式算法优点:①算式中不需要累加。控制增量Δu(k)的确定仅与最近3次的采样值有关,容易通过加权处理获得比较好的控制效果;②计算机每次只输出控制增量,即对应执行机构位置的变化量,故机器发生故障时影响范围小、不会严重影响生产过程;③手动—自动切换时冲击小。当控制从手动向自动切换时,可以作到无扰动切换。
b) 位置式PID控制算法的缺点:当前采样时刻的输出与过去的各个状态有关,计算时要对e(k)进行累加,运算量大;而且控制器的输出u(k)对应的是执行机构的实际位置,如果计算机出现故障,u(k)的大幅度变化会引起执行机构位置的大幅度变化。
区别于联系:
1、其实是位置式和增量式是一样的,增量式最后那个输出化解完和位置式一样。增量式PID可以通过 u(k) = u(k-1) + Δu(k) 得到位置式输出
2、增量型算法与位置型算法比较:
(1)增量型算法不需做累加,计算误差后产生的计算精度问题,对控制量的计算影响较小。位置型算法用到过去的误差的累加,容易产生较大的累加误差。
(2)增量型算法得出的是控制的增量,误动作影响小,必要时通过逻辑判断限制或禁止本次输出,不会影响系统的工作。位置型算法的输出是控制量的全部输出,误动作影响大。
(3)增量式算法的主要优势体现在对积分环节的处理上,积分作用的累加效果会影响到输出的准确性。
(4)楼上的说法让我获益不少,一直没理解“避免误动作”的原因。另外,增量式算法易于实现手、自动的无扰动切换。
增量式PID调教总结
1.负反馈
自动控制理论也被称为负反馈控制理论。首先检查系统接线,确定系统的反馈为负反馈。例如电机调速系统,输入信号为正,要求电机正转时,反馈信号也为正(PID算法时,误差=输入-反馈),同时电机转速越高,反馈信号越大。其余系统同此方法。
2.PID调试一般原则
a.在输出不振荡时,增大比例增益P。
b.在输出不振荡时,减小积分时间常数Ti。
c.在输出不振荡时,增大微分时间常数Td。
调整方法现在一般采用的是临界比例法。
部分来源于网络。。
控制系统中应用最为广泛的一种控制规律。
PID调节器之所以经久不衰,主要有以下优点:
(1)技术成熟,通用性强
(2)原理简单,易被人们熟悉和掌握
(3)控制效果较好
(一)、PID的形式:
P:Proportion(比例),就是输入偏差乘以一个常数。I :Integral(积分),就是对输入偏差进行积分运算。D:Derivative(微分),对输入偏差进行微分运算。
注:输入偏差=读出的被控制对象的值-设定值。比如说我要把温度控制在26度,但是现在我从温度传感器上读出温度为28度。则这个26度就是”设定值“,28度就是“读出的被控制对象的值”。
KP为比例增益;TI为积分时间常数;TD为微分时间常数;u(t)为控制
量(控制器输出);e(t)为被控量与给定值的偏差。
(二)PID参数对控制性能的影响
1.随着比例系数Kp的增加,超调量增大,系统响应速度加快,
2.积分时间常数Ti对控制性能的影响
积分作用的强弱取决于积分常数Ti。Ti越小,积分作用就越强,反之
Ti大则积分作用弱。积分控制的主要作用是改善系统的稳态性能,消除
系统的稳态误差。当系统存在控制误差时,积分控制就进行,直至无
差,积分调节停止,积分控制输出一常值。
加入积分控制可使得系统的相对稳定性变差。Ti值的减小可能导致
系统的超调量增大,Ti值的增大可能使得系统响应趋于稳态值的速度减
慢。
3.微分时间常数Td对控制性能的影响
随着微分时间常数Td的增加,闭环系统响应的响应速度加快,调节
时间减小。微分环节的主要作用是提高系统的响应速度。由于该环节对
误差的导数(即误差变化率发生作用),它能在误差较大的变化趋势时施加
合适的控制。
但是过大的Kd值会因为系统造成或者受控对象的大时间延迟而出现
问题。微分环节对于信号无变化或变化缓慢的系统不起作用。
总结:
*比例控制能迅速反映误差,从而减小误差,但比例控制不能消除稳态误
差,KP的加大会引起系统的不稳定;
*积分控制的作用是,只要系统存在误差,积分控制作用就不断地积累,
输出控制量以消除误差。因此只要有足够的时间,积分控制将能完全消
除误差,但是积分作用太强会使系统超调加大,甚至使系统出现振荡;
*微分控制可以减小超调量,克服振荡,使系统的稳定性提高,同时加快
系统的动态响应速度,减小调整时间,从而改善系统的动态性能。
PID算法知识点博文收藏记录的更多相关文章
- PID算法学习记录
最近做项目需要用到PID算法,这个本来是我的专业(控制理论与控制工程),可是我好像是把这个东西全部还给老师了. 没办法,只好抽时间来学习了. 先占个座,后续将持续更新!
- PID算法笔记2
总所周知,PID算法是个很经典的东西.而做自平衡小车,飞行器PID是一个必须翻过的坎.因此本节我们来好好讲解一下PID,根据我在学习中的体会,力求通俗易懂.并举出PID的形象例子来帮助理解PID.一. ...
- 某科学的PID算法学习笔记
最近,在某社团的要求下,自学了PID算法.学完后,深切地感受到PID算法之强大.PID算法应用广泛,比如加热器.平衡车.无人机等等,是自动控制理论中比较容易理解但十分重要的算法. 下面是博主学习过程中 ...
- 基本的PID算法整理(水缸的例子有问题!!)
一,先谈关于水缸漏水的问题 谈到PID原理入门的时候,大家经常会举的一个例子就是水缸漏水的例子.这里把一个解释水缸漏水的帖子放在这里:https://blog.csdn.net/qq_41736609 ...
- 线性控制原理——PID算法应用
使用控制系统(PID)控制被控对象 PID控制的三要素:控制器,被控对象,反馈器.控制器就是一个数学模型,就PID来说,等同于PID算法.是对反馈量的一个处理与输出.通俗的说就是对于每个被控的量,我的 ...
- 位置式PID与增量式PID算法
位置式PID与增量式PID算法 PID控制是一个二阶线性控制器 定义:通过调整比例.积分和微分三项参数,使得大多数的工业控制系统获得良好的闭环控制性能. 优点 ...
- PID算法
所谓PID就是比例-积分-微分的英文缩写,但并不是必须同时具备这三种算法,也可以是 PD, PI,甚至只有 P算法控制,下面分别介绍每个参数的含义:首先需要明确一个事实就是,要实现PID算法,必须在硬 ...
- PID算法(c 语言)(转)
PID算法(c 语言)(来自老外) #include <stdio.h> #include<math.h> //定义PID 的结构体 struct _pid { int pv; ...
- PID控制器开发笔记之一:PID算法原理及基本实现
在自动控制中,PID及其衍生出来的算法是应用最广的算法之一.各个做自动控制的厂家基本都有会实现这一经典算法.我们在做项目的过程中,也时常会遇到类似的需求,所以就想实现这一算法以适用于更多的应用场景. ...
随机推荐
- 1.WCF学习--创建简单的WCF服务
一.基本了解WCF 1.面向服务代表的是一种设计理念,和面向对象.面向组件一样,体现的是一种对关注点进行分解的思想,面向服务是和技术无关的 2.WCF需要依存一个运行着的宿主进程,服务寄宿就是为服务指 ...
- Centos7.4 修改selinux错误导致服务器起不来
[root@node10 ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # ...
- FMXUI TEXTVIEW代码设置IMAGEINDEX
FMXUI作为一个开源的控件,真是DELPHIER的福音,向作者致敬.TEXTVIEW非常好用,在属性面板中有ImageIndex属性,可以方便设置图标,在实际应用中图标状态需要改变,但在代码设置时 ...
- web uploader 上传大文件总结
这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...
- 【Java】java获取request body
//方式一 public static String ReadAsChars(HttpServletRequest request) { BufferedReader br = null; Strin ...
- Security基础(六):部署Zabbix监控平台、配置及使用Zabbix监控系统、自定义Zabbix监控项目、实现Zabbix报警功能
一.部署Zabbix监控平台 目标: 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 在监控服务器上安装LAMP环境 修改PHP配置文件,满足Zab ...
- Python基础教程(014)--缩进错误
前言 学会编写格式 内容 print(“HelloWorld”) print(“HelloWorld”) ----缩进错误 print(“HelloWorld”) 错误信息: IndentationE ...
- asp label居中
https://stackoverflow.com/questions/25245839/align-a-label-to-the-right-using-asp-net Try something ...
- 如何消去delphi Stringgrid重绘时产生重影
procedure TForm1.Stringgrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGrid ...
- xshell几个常用命令以及注意事项:
xshell几个常用命令以及注意事项: cd .. 回到上级目录 cd xx 进入xx目录 rm xx 删除文件xx rm -rf 删除目录及其所包含的所有文件,高危命令,一定谨慎 mkdir xx ...