PID控制算法总结

PID控制算法总结当今的闭环自动控制技术都是基于反馈的概念以减少不确定性。反馈理论的要素包括三个部分:测量、比较和执行。测量关键的是被控变量的实际值,与期望值相比较,用这个偏差来纠正系统的响应,执行调节控制。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。一、PID含义PID是英文单词比例(Proportion),积分(Integral),微分(Di…

大家好,又见面了,我是你们的朋友全栈君。

当今的闭环自动控制技术都是基于反馈的概念以减少不确定性。反馈理论的要素包括三个部分:测量、比较和执行。测量关键的是被控变量的实际值,与期望值相比较,用这个偏差来纠正系统的响应,执行调节控制。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。

 

一、 PID含义

PID是英文单词比例(Proportion),积分(Integral),微分(Differential coefficient)的缩写。PID调节实际上是由比例、积分、微分三种调节方式组成,它们各自的作用如下:

 

比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。

 

积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。

 

微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器

 

二、公式

PID控制算法在实际应用中又可分为两种:位置式PID控制算法和增量式PID控制算法。控制理论上两者是相同的,但在数字量化后的实现上会存在差别

 

2.1 位置式数字 PID 控制

 k 采样时刻的离散 PID 表达式:

https://gss3.bdstatic.com/7Po3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D652/sign=cc06f8a04136acaf5de095f94edb8d03/35a85edf8db1cb134ebd878ad754564e93584b56.jpg

上式中,Ki=Kp/TiKd=Kp*TdT 为采样周期,k 为采样序号,k=1,2,…e(k-1)e(k)分别为第(k-1)和第 k 时刻所得到的系统偏差信号。

 

2.2增量式 PID 控制

增量式 PID 控制是指控制器的输出是控制量的增量Δu(k),当执行机构需要的是控制量的增量而不是位置量的绝对数值时,可以使用增量式 PID 控制算法进行控制。

 

https://gss3.bdstatic.com/7Po3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D494/sign=77f5b4b69fcad1c8d4bbfd2e4b3f67c4/aa18972bd40735faa176ea2094510fb30e2408a0.jpg

 

式中,Ki=Kp/Ti,Kd=Kp*Td,T 为采样周期,k 为采样序号,k=1,2,…,e(k-2)、e(k-1)以及 e(k)分别为第(k-2)、第(k-1)和第 k 时刻所得到的系统偏差信号。

 

三、采样周期和控制周期

PID控制算法总结

 

四、C语言描述PID算法程序

PID控制算法总结

 

4.1增量型PID的C语言实现

PID控制算法总结

 

PID控制算法总结

 

4.2 位置型PID的C语言实现

PID控制算法总结

PID控制算法总结

 

五、PID调试

由于自动控制系统被控对象的千差万别,PID的参数也必须随之变化,以满足系统的性能要求。这就给使用者带来相当的麻烦,特别是对初学者。下面简单介绍一下调试PID参数的一般步骤:

 

5.1负反馈

自动控制理论也被称为负反馈控制理论。首先检查系统接线,确定系统的反馈为负反馈。例如电机调速系统,输入信号为正,要求电机正转时,反馈信号也为正(PID算法时,误差=输入-反馈),同时电机转速越高,反馈信号越大。其余系统同此方法。

 

5.2.PID调试一般原则

a.在输出不振荡时,增大比例增益P。 
b.在输出不振荡时,减小积分时间常数Ti。 
c.在输出不振荡时,增大微分时间常数Td。 
  

5.3.位置式PID调节

a.确定比例增益P 
  确定比例增益P 时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0(具体见PID的参数设定说明),使PID为纯比例调节。输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。

  b.确定积分时间常数Ti 
  比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。

  c.确定微分时间常数Td 
  积分时间常数Td一般不用设定,为0即可。若要设定,与确定 P和Ti的方法相同,取不振荡时的30%。

 

d.系统空载、带载联调,再对PID参数进行微调,直至满足要求。 

5.4 增量式pid调节

增量式pid调节目标速度时候参数整定:

        先加大KI,这时候会越来越接近实际速度,当KI过大的时候,在切换目标速度的时候,就会抖动,这时候就是KI大了响应速度高了,但导致超调量增加,这时候就加大增量式的KP,来缓减抖动,减小超调量。

(注:网上大多资料都是错的,把增量式跟位置式混为一谈)

 

 

六、PID常用口诀

参数整定找最佳,从小到大顺序查 

先是比例后积分,最后再把微分加 

曲线振荡很频繁,比例度盘要放大 

曲线漂浮绕大湾,比例度盘往小扳 

曲线偏离回复慢,积分时间往下降 

曲线波动周期长,积分时间再加长 

曲线振荡频率快,先把微分降下来 

动差大来波动慢。微分时间应加长 

理想曲线两个波,前高后低4比1 

一看二调多分析,调节质量不会低 

 

 

 

 

参考文献:

https://blog.csdn.net/Uncle_GUO/article/details/51367764

https://wenku.baidu.com/view/5ebd4893240c844768eaee1c.html

https://wenku.baidu.com/view/ee44725d9a6648d7c1c708a1284ac850ad02049c.html?rec_flag=default&sxts=1553696871419

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145193.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rsync远程同步文件_通过ssh传输文件

    rsync远程同步文件_通过ssh传输文件对于需要远程同步文件来说,我们常见的方式有scp或者rsync,但是想定时任务去同步的话,往往都需要设置免密登录,为安全起见,线上服务器没必要设置这个,且添加新的机器又要去设置免密,着实比较麻烦。采用rsync客户服务端的话,只需要设置一个密码即可。这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,…

    2022年10月13日
    2
  • word2vec原理简述[通俗易懂]

    word2vec原理简述[通俗易懂](原创)word2vec是将单词转为向量,并为后续应用机器学习的算法做准备。经典的模型有两种,skip-gram和cbow,其中,skip-gram是给定输入单词来预测上下文,而cbow相反,是给定上下文来预测输入单词。下面主要介绍skip-gram:1.skip-gram训练词对skip-gram首先设定所谓一个值(skip_window),作为一个单词选取它的上下文的单词…

    2022年5月16日
    29
  • pycharm 换行_pycharm自动换行快捷键

    pycharm 换行_pycharm自动换行快捷键python脚本有时一行代码写的非常长,一个屏幕塞不下,左右拉动滚动条视觉不友好。第一种方法:python里有换行标识”\”,如jfdb=spark.read.format(“jdbc”).option(“driver”,mysql_driver).option(“url”,mysql_url).option(“dbtable”,”xxxxxxxxxxxxxxxxxxxxxxxx”).option(“user”,mysql_acount).option(“password”,mysql_pa

    2022年8月28日
    3
  • LaTeX参考文献类型

    LaTeX参考文献类型@article:期刊文章@book:有明确出版商的书@booklet:没有指定出版商或赞助商的印刷品@conference:会议文章,与inproceedings相同@inbook:书的一部分,可以是章节等@incollection:Apartofabookhavingitsowntitle@inproceedings:会议文章@manual:技术文档@mastersthesis:硕士论文@misc:大杂烩,当没有其他适合的时候使用这个类型@phdt

    2022年9月8日
    1
  • mongodb笔记_mongodb objectid

    mongodb笔记_mongodb objectid注册表中查找B1159E65-821C3-21C5-CE21-34A484D54444中的子项4FF78130,删除其下的三个子项即可。这样剩余时间又会回到15天前。[img]http://dl.iteye.com/upload/attachment/0077/4713/021bf1d3-48db-3aef-a948-e8ae5b5b9ec3.png[/img]…

    2022年8月21日
    6
  • CI框架与Thinkphp框架的一些区别

    CI框架与Thinkphp框架的一些区别

    2022年2月8日
    62

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号