zoukankan      html  css  js  c++  java
  • PID基础

    经常有人会问到PID的用法,今天小编在这里例举温度控制中的PID部分,希望能够把PID的具体应用说明白。

    先说几个名词:

    1.直接计算法和增量算法:这里的所谓增量算法就是相对于标准算法的相邻两次运算之差,得到的结果是增量,也就是说,在上一次的控制量的基础上需要增加(负值意味着减少)控制量,例如对于可控硅电机调速系统,就是可控硅的触发相位还需要提前(或迟后)的量,对于温度控制就是需要增加(或减少)加热比例,根据具体的应用适当选择采用哪一种算法,但基本的控制方法、原理是完全一样的,直接计算法得到的是当前需要的控制量,相邻两次控制量的差就是增量;

    2.基本偏差e(t):表示当前测量值与设定目标间的差,设定目标是被减数,结果可以是正或负,正数表示还没有达到,负数表示已经超过了设定值。这是面向比例项用的变动数据。

    3.累计偏差:这是我们每一次测量到的偏差值的总和,这是代数和,考虑到他的正负符号的运算,这是面向积分项目的一个变动数据。

    4.基本偏差的相对偏差:e(t)-e(t-1),用本次的基本偏差减去上一次的基本偏差,用于考察当前控制的对象的趋势,作为快速反应的重要依据,这是面向微分项的一个变动数据。

    5.三个基本参数:Kp,Ki,Kd.这是做好一个控制器的关键常数,分别成为比例常数、积分常数和微分常数,不同的控制对象他们需要选择不同的数值,还需要经过现场调试才能获得较好的效果。

    6.标准的直接计算法公式

    上一次的计算值:

    两式相减得到增量法计算公式:

    *这里我们对∑项的表示应该是对e(i)从1到t全部总和,但为了打字的简便就记作∑e(t)。

    三个基本参数Kp,Ki,Kd.在实际控制中的作用

    Ki = Kp*( T/Ti)

    Kd = Kp*( Td/T)
    Kp 比例系数; T 扫描周期; Ti积分时间; Td微分时间;

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

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

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

    具体应用中的数值量化处理

    上面只是控制算法的数学方法,似乎有点抽象,在具体的控制项目中怎样对应呢?下面举一个在温度控制中的处理方法。

    处理上的一些常用方法

    参数的设定与调整

    这是PID最困难的部分,编程时只设定他们的大概数值,然后通过反复的调试才能找到相对比较理想的参数值。面向不同的控制对象参数都不同,所以我们无法提供参考数值,但是我们可以根据这些参数在整个PID过程中的作用原理,来讨论我们的对策。

    1.加温很迅速就达到了目标值,但是温度过冲很大:

    a)比例系数太大,致使在未达到设定温度前加温比例过高;

    b)微分系数过小,致使对对象反应不敏感;

    2.加温经常达不到目标值,小于目标值的时间较多:

    a)比例系数过小,加温比例不够;

    b)积分系数过小,对恒偏差补偿不足;

    3.基本上能够在控制目标上,但上下偏差偏大,经常波动:

    a)微分系数过小,对即时变化反应不够快,反映措施不力;

    b)积分系数过大,使微分反应被淹没钝化;

    c)设定的基本定时周期过短,加热没有来得及传到测温点;

    4.受工作环境影响较大,在稍有变动时就会引起温度的波动:

    a)微分系数过小,对即时变化反应不够快,不能及时反映;

    b)设定的基本定时周期过长,不能及时得到修正;

    选择一个合适的时间常数很重要,要根据我们的输出单元采用什么器件来确定,如果是采用可控硅的,则可设定时间常数的范围很自由,如果采用继电器的则过于频繁的开关会影响继电器的使用寿命,所以就不太适合采用较短周期。一般的周期设定范围为1-10分钟较为合适。

    为了调试方便,起码在调试阶段您必须编制一个可以对参数进行随时修改和记忆的接口,否则你会很辛苦,老是在现场与办公室之间来回跑。

    关于自整定问题

    在通用仪表行业用的比较多,因为他们的工作对象是不确定的,而不同的对象所使用的参数是千变万化的,所以无法为用户设定参数。这就引入了自整定的概念,用户首次使用的时候,启动自整定功能专门为新的工作对象寻找一套参数,并把他们记忆下来,作为今后工作的依据。其实自整定也就是作N次的测定,根据实际变化反应反复对参数进行修正,当达到一定要求后宣告自整定完成。这是一个多元素的优化问题,可以采用很多种优化方法,例如0.618黄金分割法就是一种很不错的算法,可以参考有关优化算法的书籍,我们这里就不做讨论了,需要说明的是,我们是对全部参数进行同时优化的,根据出现的不同情况去修正不同参数,我们的修正量将逐步缩小,当我们的修正量达到一定的范围以后,或者实测温度变化波动已经达到一定范围以后就可以认为自整定过程结束,记录最后结果返回正常控制状态。由于优化过程需要进行大量的试探,所以一次自整定过程往往需要花费很长时间,一般在半小时到两个小时左右。

    修正的对策基本上就是上一节我们讨论的几种,对具体每一项参数的修正量,我们还可以赋以不同的比例参数,根据您认为的影响重要程度来确定,在0-1之间选取。

    编后语

    控制的方法不是只有PID一种,在很多场合他也未必就是最佳的控制算法,随着大量的应用研究,有很多种新的理念新的方法可以完全替代它,但是PID作为一种基本的控制算法已经比较成熟,基于PID为基础的变种算法或者叫做加强算法也派生了很多,他们的控制效果往往会比PID更有效,最常见的是这里的3个参数以控制目标为基准,参数相应成比例的变化,PID上的PID。面向每一个的工作对象,您可以摸索出一种最适合您的对象的控制方法,不拘一格,开创自己的路。

  • 相关阅读:
    android 表格控件
    android 使用fileprovide 安装apk文件
    android 公告 滚动 (跑马灯效果)
    android timer倒计时
    解决 scrollview 嵌套 recycleview 问题
    android build 编译在 :app:DebugResources 失败
    Android Studio 多渠道打包,打不同包名,不同图标的apk
    工厂方法模式
    11.11
    11.8输入一个整数,求它是几位数
  • 原文地址:https://www.cnblogs.com/luckytimor/p/6881563.html
Copyright © 2011-2022 走看看