zoukankan      html  css  js  c++  java
  • PID整定方法

     

    1.PIDProportional, Integral and Derivative)介绍

    PID控制问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象﹐或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。

        PID控制,实际中也有PIPD控制。PID控制就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。

    目前PID控制在工业控制系统中无处不见,随着控制效果的要求不断提高,PID逐渐向智能化发展,但形形色色“时髦”的现代控制理论中的PID最终还是源自经典PID理论。

      为什么PID应用如此广泛、又长久不衰?是因为PID解决了自动控制理论所要解决的最基本问题,既系统的稳定性、快速性和准确性。调节PID的参数,可实现在系统稳定的前提下,兼顾系统的带载能力和抗扰能力,同时,在PID调节器中引入积分项,系统增加了一个零积点,使之成为一阶或一阶以上的系统,这样系统阶跃响应的稳态误差就为零。

    由于自动控制系统被控对象的千差万别,PID的参数也必须随之变化,以满足系统的性能要求。这就给使用者带来相当的麻烦。

      目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智慧控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和死循环控制系统。一个控制系统包括控制器﹑传感器﹑变送器﹑执行机构﹑输入输出接口。控制器的输出经过输出接口﹑执行机构﹐加到被控系统上﹔控制系统的被控量﹐经过传感器﹐变送器﹐通过输入接口送到控制器。

    不同的控制系统﹐其传感器﹑变送器﹑执行机构是不一样的。比如压力控制系统要采用压力传感器。电加热控制系统的传感器是温度传感器。目前,PID控制及其控制器或智慧PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的PID控制器产品,各大公司均开发了具有PID参数自整定功能的智能调节器(intelligent regulator),其中PID控制器参数的自动调整是通过智慧化调整或自校正、自适应算法来实现。有利用PID控制实现的压力、温度、流量、液位控制器,能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等等。 可编程控制器(PLC) 是利用其死循环控制模块来实现PID控制。

     

    2.PID原理

    2.1名词解释

    2.1.1开环控制系统

      开环控制系统(open-loop control system)是指被控对象的输出(被控制量)对控制器(controller)的输出没有影响。在这种控制系统中,不依赖将被控量反送回来以形成任何死循环回路。

    2.1.2闭环控制系统(又称死循环控制系统)

    闭环控制系统(closed-loop control system)的特点是系统被控对象的输出(被控制量)会反送回来影响控制器的输出,形成一个或多个死循环。

    2.1.3正反馈和负反馈

    死循环控制系统有正反馈和负反馈,若反馈信号与系统给定值信号相反,则称为负反馈(Negative Feedback),若极性相同,则称为正反馈,一般死循环控制系统均采用负反馈,又称负反馈控制系统。死循环控制系统的例子很多。比如人就是一个具有负反馈的死循环控制系统,眼睛便是传感器,充当反馈,人体系统能通过不断的修正最后作出各种正确的动作。如果没有眼睛,就没有了反馈回路,也就成了一个开环控制系统。另例,当一台真正的全自动洗衣机具有能连续检查衣物是否洗净,并在洗净之后能自动切断电源,它就是一个死循环控制系统。

    2.1.4阶跃响应

    阶跃响应是指将一个阶跃输入(step function)加到系统上时,系统的输出。稳态误差是指系统的响应进入稳态后﹐系统的期望输出与实际输出之差。控制系统的性能可以用稳、准、快三个字来描述。稳是指系统的稳定性(stability),一个系统要能正常工作,首先必须是稳定的,从阶跃响应上看应该是收敛的﹔准是指控制系统的准确性、控制精度,通常用稳态误差来(Steady-state error)描述,它表示系统输出稳态值与期望值之差﹔快是指控制系统响应的快速性,通常用上升时间来定量描述。

    2.2 PID一般表达式

    2.2.1 PID模拟算法

    U(t)=P*[e(t)+ 1/Ti*0te(t)dt+Td*de(t)/dt]

    2.2.2 PID数字算法

    U(K)=P*{[e(K)-e(K-1)+Ts/Ti*e(K-1)+Td/Ts*[e(K)-2e(K-1)+e(K-2)]]}+U(K-1)

    其中:

    P为比例增益;

    Ti为积分时间;

    Td为微分时间;

    PID主要调节这三个参数。

    e(t)为输入误差;

    Ts为数字PID运算的采样周期。

    2.3 PID各参数在系统中的作用

    2.3.1比例调节

    1.调节作用快,系统一出现偏差,调节器立即将偏差放大1/P倍输出。  2.系统存在余差比例带越大,过渡过程越平稳,但余差越大,比例带越小,过渡过程易振荡,比例带太小时,就可能出现发散振荡。

    比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。

    2.3.2积分调节

    积分调节作用的输出变化与输入偏差的积分成正比,积分调节作用的输出不仅取决与偏差信号的大小,还取决于偏差存在的时间,只要有偏差存在,尽管偏差可能很小,但它存在的时间越长,输出信号就越大,只有消除偏差,输出才停止变化。

    在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。

    因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。

    2.3.3微分调节

    微分调节的输出是与被调量的变化率成正比。在比例微分调节作用下,有时尽管偏差很小,但其变化速度很快,则微分调节器就有一个较大的输出。

     在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。 自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。

     

    3 PID参数的整定方法

    PID参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID参数整定的方法很多,概括起来有两大类:一是理论计算整定法,它主要是依据系统的数学模型,经过理论计算确定控制参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改;二是工程整定法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。

    3.1 PID参数的整定原则

    a.在输出不振荡时,增大比例增益P

    b.在输出不振荡时,减小积分时间常数Ti

    c.在输出不振荡时,增大微分时间常数Td

    3.2 PID参数工程整定法

    详细参见程例。

    3.3 PID参数理论计算整定法

    PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。

    利用该方法进行 PID控制器参数的整定步骤如下:

    方法一:

    (1)首先预选择一个足够短的采样周期让系统工作﹔

    (2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数Kp0和临界振荡周期Ts

    (3)在一定的控制度下通过公式计算得到PID控制器的参数。

    Kp= Kp0

    控制精度=1.05%,则设置Ti=0.49Ts  Td=0.14Ts  T=0.014

    控制精度=1.2%,则设置Ti=0.47Ts  Td=0.16Ts  T=0.043

    控制精度=1.5%,则设置Ti=0.43Ts  Td=0.20Ts  T=0.09

    方法二:

    1)确定比例增益P

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

      (2)确定积分时间常数Ti

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

      (3)确定积分时间常数Td

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

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

        方法三(经验值法)

    在实际调试中,也可以先大致设定一个经验值,然后根据调节效果修改。

    对于温度系统:P%20--60I(分)3--10D(分)0.5--3

    对于流量系统:P%40--100I(分)0.1--1

    对于压力系统:P%30--70I(分)0.4--3

    对于液位系统:P%20--80I(分)1—5

    4 附录一

    值得注意的是,RockwellAB控制器的参数定义与其他厂家控制器定义不同,具体定义如下:

    Kp=Kc

    Ki=Kc/(60*Ti)

    Kd=Kc*(60*Td)

    5 结束语

    总之,在整定时不能让系统出现发散振荡。如出现发散振荡,应立即切为手动,等系统稳定后增大比例带、积分时间或减小微分时间,重新切换到自动。

    比例带越大,过渡过程越平稳,但余差越大。比例带越小,过渡过程容易发生振荡。积分时间越小,消除余差就越快,但系统振荡会较大,积分时间越大,系统消除余差的速度较慢。微分时间太大,系统振荡次数增加,调节时间增加,微分太小,系统调节缓慢。

    一句话:整定参数时要认真观察系统输出及被调量的变化情况,再根据具体情况适当修改PID参数。可以说,大多数控制系统采用PID调节都能满足要求。

     

     

    下面以PID调节器为例,具体说明经验法的整定步骤:
        让调节器参数积分系数S0=0,实际微分系数k=0,控制系统投入闭环运行,由小到大改变比例系数S1,让扰动信号作阶跃变化,观察控制过程,直到获得满意的控制过程为止。
        取比例系数S1为当前的值乘以0.83,由小到大增加积分系数S0,同样让扰动信号作阶跃变化,直至求得满意的控制过程。
       (3)积分系数S0保持不变,改变比例系数S1,观察控制过程有无改善,如有改善则继续调整,直到满意为止。否则,将原比例系数S1增大一些,再调整积分系数S0,力求改善控制过程。如此反复试凑,直到找到满意的比例系数S1和积分系数S0为止。
        引入适当的实际微分系数k和实际微分时间TD,此时可适当增大比例系数S1和积分系数S0。和前述步骤相同,微分时间的整定也需反复调整,直到控制过程满意为止。
        注意:仿真系统所采用的PID调节器与传统的工业 PID调节器有所不同,各个参数之间相互隔离,互不影响,因而用其观察调节规律十分方便。

    ★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com
  • 相关阅读:
    倍福TwinCAT(贝福Beckhoff)基础教程 松下伺服驱动器报错 88怎么办
    倍福TwinCAT(贝福Beckhoff)基础教程 松下伺服驱动器报错 81.0怎么办
    倍福TwinCAT(贝福Beckhoff)基础教程 松下伺服驱动器报错 40怎么办
    倍福TwinCAT(贝福Beckhoff)基础教程 松下伺服驱动器报错 24.0怎么办
    倍福TwinCAT(贝福Beckhoff)基础教程 松下伺服驱动器报错 21.0怎么办
    倍福TwinCAT(贝福Beckhoff)基础教程 松下驱动器试运行提示过速度保护怎么办
    倍福TwinCAT(贝福Beckhoff)基础教程 松下驱动器如何执行绝对值清零
    倍福TwinCAT(贝福Beckhoff)基础教程 松下绝对值驱动器如何做初始化设置
    倍福TwinCAT(贝福Beckhoff)基础教程 松下官方软件开启报错伺服未就绪怎么办
    JAVA Eclipse 启动 Eclipse 弹出“Failed to load the JNI shared library jvm_dll”怎么办
  • 原文地址:https://www.cnblogs.com/emouse/p/2198155.html
Copyright © 2011-2022 走看看