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

 

 

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 微生物测序分析LEfSe

    微生物测序分析LEfSeLEfse分析定义LEfse分析即LDAEffectSize分析,可以实现多个分组之间的比较,还进行分组比较的内部进行亚组比较分析,从而找到组间在丰度上有显著差异的物种(即biomaker);

  • JMESPath_jsonpath的用法

    JMESPath_jsonpath的用法前言JMESPath是JSON的查询语言。您可以从JSON文档中提取和转换元素官方文档:https://jmespath.org/tutorial.html基本表达式JMESPath用的最多的

  • ubuntu18.04安装opencv教程_Ubuntu18安装opencv

    ubuntu18.04安装opencv教程_Ubuntu18安装opencv最近opencv3.4.1发布了,想换个新的试试鲜,于是把配置的过程通过博文的方式记录下来,方便查阅。本教程原为3.3.0,但经过博主亲测,3.4.0、3.4.1皆适用1.去官网下载opencv,在本教程中选用的时opencv3.4.1,其他版本的配置方法异曲同工。下载链接http://opencv.org/releases.html,选择sources版本2.解压下…

  • C# 中使用正则表达式 Regex.Matches方法的几个应用[转]

    C# 中使用正则表达式 Regex.Matches方法的几个应用[转]

    2021年11月17日
  • PLC基础知识(PLC入门必看)[通俗易懂]

    PLC基础知识(PLC入门必看)[通俗易懂]1 PLC的发展历程在工业生产过程中,大量的开关量顺序控制,它按照逻辑条件进行顺序动作,并按照逻辑关系进行连锁保护动作的控制,及大量离散量的数据采集。传统上,这些功能是通过气动或电气控制系统来实现的。1968年美国GM(通用汽车)公司提出取代继电气控制装置的要求,第二年,美国数字公司研制出了基于集成电路和电子技术的控制装置,首次采用程序化的手段应用于电气控制,这就是第一代可编程序控制器,称ProgrammableController(PC)。个人计算机(简称PC)发展起来后,为了方便,也为了反映可

  • Mybatis和ibatis的区别

    Mybatis和ibatis的区别1、Mybatis实现了接口绑定,使用更加方便。在ibatis2.x中我们需要在DAO的实现类中指定具体对应哪个xml映射文件,而Mybatis实现了DAO接口与xml映射文件的绑定,自动为我们生成接口的具体实现,使用起来变得更加省事和方便。这可以说是Mybatis最重要的改进。注意:虽然Mybatis支持在接口中直接使用annotation的配置方式来简化配置,不过

    2022年10月30日

发表回复

您的电子邮箱地址不会被公开。

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