PID算法(位置式pid算法和增量式pid算法)

news/2024/11/28 19:06:23/

这里写目录标题

  • PID算法介绍
    • 比例环节
    • 比例+积分环节
    • 比例+积分+微分环节
  • 位置式PID
  • 增量式PID
  • PID参数整定
    • 采样周期选择
    • PID参数整定方法![请添加图片描述](https://img-blog.csdnimg.cn/849bf1672243484699b131b487f05a55.png)
      • 试凑法
      • 临界比例法
      • 一般调节法

PID算法介绍

PID 算法是闭环控制系统中常用的算法,PID 分别是 Proportion(比例)、Integral(积分)、
Differential(微分)的首字母缩写。它是一种结合比例、积分和微分三个环节于一体的闭环控
制算法,具体的控制流程如图 8.2.1 所示:
在这里插入图片描述

比例环节

u = Kp * e
u ----- 输出
Kp ----- 比例系数
e ----- 偏差
以温度控制系统为例,只采用比例环节的图:
在这里插入图片描述
总结:
1.Kp越大,系统响应越快,越快达到目标值。
2.Kp过大会使系统产生较大的超调和振荡,导致系统的稳定性变差。
3.仅有比例环节无法消除静态误差。

比例+积分环节

比例+积分环节的公式如下:
u = Kp * e + Ki * ∑e
u ----- 输出
e ----- 偏差
∑e ----- 累计偏差
Kp ----- 比例系数
Ki ----- 积分系数
以温度控制系统为例,采用比例和积分环节的图:
在这里插入图片描述
总结:
1.Ki越大,消除静态误差的时间越短,越快达到目标值。
2.Ki过大会使系统产生较大的超调和振荡,导致系统的稳定性变差。
3.对于惯性较大的系统,积分环节动态响应较差,容易产生超调,振荡。

比例+积分+微分环节

比例+积分+微分环节的公式如下:
请添加图片描述

总结:
1.Kd或者变化趋势越大,微分环节作用越强,对超调和振荡的抑制越强。
2.Kd过大会引起系统的不稳定,容易引入高频噪声。

注意:在实际的应用中,并不是每一个系统都需要 PID 的三个环节参与控制的,有的系统只需要比例环节或积分环节就可以控制得很好,除此之外,每一个系统的 PID 系数并不是通用的,这需要根据实际的情况去设置。

位置式PID

位置式PID公式:
在这里插入图片描述
1.Uk直接对应对象的输出(位置),如果计算出现异常,对系统影响很大。
2.全量计算,要对偏差e进行累加,计算量大。
3.在不带积分部件的对象中可以得到很好的效果,例如电液伺服,温控设备等。

增量式PID

增量式PID公式推导:
请添加图片描述

总结:
1.增量式PID计算的是相对上一次输出的增量,即Uk=Uk-1 + ▲Uk。
2.增量只与近三次的偏差有关,计算出现异常对系统工作影响较小。
3.计算量少,是实现相对较好。

注意:增量式 PID 公式输出的只是控制量的增量。
我们以一个实例来理解这句话:假设电机实际转速为 50RPM,现在我们要让它加速到 60RPM,
如果采用的是位置式 PID,系统将直接输出 60RPM 对应的控制量(占空比);
如果采用的是增量式 PID,系统将输出提速 10RPM对应的控制量(占空比),此时我们还需要加上上次(50RPM)的输出。

PID参数整定

采样周期选择

采样周期指的是 PID 控制中实际值的采样时间间隔,其越短,效果越趋于连续,但对硬件资源的占用也越高。
选择范围:
理论:香浓采样定理
这个定理可以用来确定采样周期可选择的最大值,当采样周期超出了这个最大的允许范围,我们所得到的信号就会失真,也就无法较好地还原信号了。

经验:实际值突变能力
根据控制对象突变能力选择。假设电机当前转速为 20RPM,我们需要提高
它的转速到 30RPM,此电机的转速在 1s 之内最大可以突变 10RPM(即电机速度的突变能力),如果我们每 1ms 采集一次电机转速,那么每一次采集到的速度变化量最大为 10RPM / 1000 =0.01RPM,很明显,此时最大变化量远远小于当前的速度,这对于我们的 PID 控制效果并没有明显的升,但是却占用了很多的硬件资源,因此,我们需要根据控制对象的突变力来选择采样周期。

PID参数整定方法请添加图片描述

理论计算整定法:
依据系统的数学模型,经过理论计算确定 PID 参数。这种方法是建立在理想化条件下的,其得到的参数不一定能够直接使用,还需要结合经验以及实际的系统进行调整。

工程整定法:
依靠工程经验,直接在控制系统的试验中进行整定,此方法易于掌握,在实际调参中被广泛采用。工程整定法包括:试凑法、临界比例法和一般调节法。

注意:无论采用哪一种方法所得到的 PID 参数,都需要在实际运行中进行最后调整与完善,因此,在 PID 参数整定中,最重要的就是经验的积累。

PID 各个系数调节的效果:
① 比例系数:调节作用快,系统一出现偏差,调节器立即将偏差放大输出。
② 积分系数:积分系数的调节会改变输入偏差对于系统输出的影响程度。积分系数越大,消除静差的时间越短,但是过大的积分系数则会导致系统出现超调现象,这在具有惯性的系统中尤为明显。
③ 微分系数:微分系数的调节是偏差变化量对于系统输出的影响程度。微分系数越大,系统对于偏差量的变化越敏感,越能提前响应,进而抑制超调,但是过大的微分系数则会让整个系统出现振荡。

试凑法

1.内容:
在闭环的控制系统里,将调节器置于纯比例作用下,从小到大逐渐调节比例系数,直到系统曲线出现等幅振荡,再根据经验公式计算参数。

2.请添加图片描述
调节思路:
① 先是比例(P),再积分(I),最后是微分(D);
② 按纯比例系统整定比例系数,使其得到比较理想的调节过程曲线,然后再把比例系数缩小 1.2 倍左右,将积分系数从小到大改变,使其得到较好的调节过程曲线;
③ 在这个积分系数下重新改变比例系数,再看调节过程曲线有无改善;
④ 如有改善,可将原整定的比例系数减少,改变积分系数,这样多次的反复,就可得到合适的比例系数和积分系数;
⑤ 如果存在外界的干扰,系统的稳定性不好,可把比例、积分系数适当减小,使系统足够稳定;
⑥ 如果系统存在小幅度超调,可以将整定好的比例系数和积分系数适当减小,增大微分系数,以得到超调量最小、调节作用时间最短的系统曲线;

临界比例法

1.内容:
在闭环的控制系统里,将调节器置于纯比例作用下,从小到大逐渐调节比例系数,直到系统曲线出现等幅振荡,再根据经验公式计算参数。

2.调节思路:
① 将积分、微分系数置零,比例度取适当值,平衡操作一段时间,使控制系统按纯比例作用的方式投入运行。
② 慢慢地增大比例系数,细心观察曲线的变化情况。如果控制过程的曲线波动是衰减的,则把比例系数继续增大;如果曲线波动是发散的,则应把比例系数减小,直至曲线波动呈等幅振荡,此时记下临界比例系数 δK 和临界振荡周期 Tk 的值。
③ 根据记下的比例系数和周期,采用经验公式,计算调节器的参数。
请添加图片描述

一般调节法

1.内容:
这种方法针对一般的 PID 控制系统所以称之为一般调节法。

2.调节思路:
① 首先将积分、微分系数置零,使系统为纯比例控制。控制对象的值设定为系统允许的最大值的 60%~70%,接着逐渐增大比例系数,直至系统出现振荡;此时再逐渐减小比例系数,直至系统振荡消失,然后记录此时的比例系数,并设定系统的比例系数为前值的 60%~70%。
② 确定比例系数后,设定一个较小的积分系数,然后逐渐增大积分系数直至系统出现振荡;此时在逐渐减小积分系数,直至系统振荡消失,然后记录此时的积分系数,并设定系统的积分系数为当前值的 55%~65%。
③ 微分系数一般不用设定,为 0 即可。若系统出现小幅度振荡,并且通过 PI 环节无法优化,这可以采用与确定比例、积分系数相同的方法,微分系数取系统不振荡时的 30%左右。④ 系统空载、带载联调,再对 PID 参数进行微调,直至满足要求。


http://www.ppmy.cn/news/62818.html

相关文章

手把手教你使用gtest写单元测试

开源框架:gtest,它主要用于写单元测试,检查真自己的程序是否符合预期行为。这不是QA(测试工程师)才学的,也是每个优秀后端开发codoer的必备技能。 本期博文内容及使用的demo,参考: …

腾讯高工手写13W字“Netty速成手册”,3天走向实战

前言 在java界,netty无疑是开发网络应用的拿手菜。你不需要太多关注复杂的nio模型和底层网络的细节,使用其丰富的接口,可以很容易的实现复杂的通讯功能。 作为当前最流行的NIO框架,Netty在互联网领域、大数据分布式计算领域、游…

Javascript面试题:20道含答案和代码示例的练习题

请写出一个将字符串转换为数字的函数,例如将字符串“123”转换为数字123。 function stringToNumber(str) {return Number(str); }请写出一个将数字转换为字符串的函数,例如将数字123转换为字符串“123”。 function numberToString(num) {return num.…

【ED合集】事件检测的文章

1 CorED: Incorporating Type-level and Instance-level Correlationsfor Fine-grained Event Detection 论文来源:SIGIR 2022(CCF A类会议) 论文链接:https://dl.acm.org/doi/pdf/10.1145/3477495.3531956 代码链接:GitHub - JiaweiSheng…

GPU理解

什么是GPU GPU(Graphics Processing Unit)代表图形处理单元。该术语通常与图形卡或视频卡等术语互换使用。从技术上讲,GPU 是第三方显卡或主板上的主要图形处理芯片。 GPU 与 CPU不同。CPU 是中央处理器,它是计算机的主要大脑。GPU 专用于执行在计算机…

基础语法——笔记一

一、基础语法 编码 源码文件以UTF-8编码,所有字符串都是Unicode字符串标识符 第一个字符必须是字母表中的字母或下划线_ 标识符的其他部分由字母、数字、下划线组成 标识符对大小写敏感python保留字(关键字) 不能用于任何标识符输出python标…

MVCC

相关数据库知识点回顾 1.1 什么是数据库事务,为什么要有事务 事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。 ​假如A转账给B 100 元,先从A的账户里扣除 100 元…

8个方法判断一个项目是否值得投资

01看准 投资就是投人,投资就是投团队,尤其要看准团队的领头人。 对目标企业团队成员的要求是:富有激情、和善诚信、专业敬业、善于学习。 02发掘 发掘---两大优势(优势行业、优势企业) 在优势行业中发掘、寻找优势…