精华内容
下载资源
问答
  • 常用控制器需要整定的参数有
    千次阅读
    2020-10-18 19:50:13

    点击–查看原文

    全套资料免费下载:
    关注v-x-公-众-号:【嵌入式基地
    后-台-回-复:【电赛】 即可获资料
    回复【编程】即可获取
    包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料
    在这里插入图片描述

          常用口诀
    参数整定找最佳,从小到大顺序查
    先是比例后积分,最后再把微分加
    曲线振荡很频繁,比例度盘要放大
    曲线漂浮绕大湾,比例度盘往小扳
    曲线偏离回复慢,积分时间往下降
    曲线波动周期长,积分时间再加长
    曲线振荡频率快,先把微分降下来
    动差大来波动慢。微分时间应加长
    理想曲线两个波,前高后低4比1
    一看二调多分析,调节质量不会低

    01 基础知识

    1. 比例(P)控制
        比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。
    2. 积分(I)控制
        在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。
    3. 微分(D)控制
        在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。

    02 PID控制器的参数整定

      PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。
       PID控制器参数整定的方法很多,概括起来有两大类:
      ①理论计算整定法:
        它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。
      ②工程整定方法:
        它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。
      PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。
      三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。
      现在一般采用的是临界比例法。利用该方法进行PID控制器参数的整定步骤如下:
      (1)首先预选择一个足够短的采样周期让系统工作﹔
      (2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期﹔
      (3)在一定的控制度下通过公式计算得到PID控制器的参数。

    四类被调参数的一般范围如下

    01 临界比例度法

      一个调节系统,在阶跃干扰作用下,出现既不发散也不衰减的等幅震荡过程,此过程成为等幅振荡过程,如下图所示。此时调节器的比例度为临界比例度δk,被调参数的工作周期为为临界周期Tk
    在这里插入图片描述

    临界比例度法整定PID参数步骤

      1、将调节器积分时间设定为无穷大、微分时间设定为零(即Ti=∞,Td=0),比例度适当取值,调节系统按纯比例作用投入。稳定后,适当减小比例度,在外界干扰作用下,观察过程变化情况,寻取系统等幅振荡临界状态,得到临界参数。
      2、根据临界比例度δk和为临界周期Tk,按下表计算出调节器参数整定值
    临界比例度法PID参数整定经验公式

      3、将计算所得的调节器参数输入调节器后再次运行调节系统,观察过程变化情况。多数情况下系统均能稳定运行状态,如果还未达到理想控制状态,进需要对参数微调即可。

    02 衰减曲线法

      衰减曲线法整定调节器参数通常会按照4:1和10:1两种衰减方式进行,两种方法操作步骤相同,但分别适用于不同工况的调节器参数整定。

    4:1衰减曲线法整定调节器参数

      纯比例度作用下的自动调节系统,在比例度逐渐减小时,出现4:1衰减振荡过程,此时比例度为4:1衰减比例度δs,两个相邻同向波峰之间的距离为4:1衰减操作周期TS,如下图所示
    在这里插入图片描述

    4:1衰减曲线法整定PID参数步骤如下:

       1、将调节器积分时间设定为无穷大、微分时间设定为零(即Ti=∞,Td=0),比例度适当取值,调节系统按纯比例作用投入。系统稳定后,逐步减小比例度,根据工艺操作的许可程度加2%-3%的干扰,观察调节过程变化情况,直到调节过程变化达到规定的4:1衰减比为止,得到4:1衰减情况下的比例度δs和衰减操作周期TS。
      2、根据δs和Ts值按以下公式计算出调节器整定参数
    4:1衰减曲线法PID参数整定经验公式
      3、将比例度放在比计算值略大的数值上,逐步引入积分和微分作用。
      4、将比例度降至计算值上,观察运行,适当调整。

    10:1衰减曲线法整定调节器参数

      在部分调节系统中,由于采用4:1衰减比仍嫌振荡比较厉害,则可采用10:1的衰减过程,如下图所示。这种情况下由于衰减太快,要测量操作周期比较困难,但可测取从施加干扰开始至第一个波峰飞升时间Tr。
    在这里插入图片描述  10:1衰减曲线法整定调节参数步骤和4:1衰减曲线法完全一致,仅采用的整定参数和经验公式不同。
    10:1衰减曲线法PID参数整定经验公式

    更多相关内容
  • 而电机软启动的方式具备无冲击电流、启动参数可调、软停机功能、轻载节能等优点逐渐被广泛应用。各启动方式对电网的影响示意图如图1所示。  目前,软启动方式主要采用晶闸管交流调压的方法。在电动机起动...
  • 而电机软启动的方式具备无冲击电流、启动参数可调、软停机功能、轻载节能等优点逐渐被广泛应用。各启动方式对电网的影响示意图如图1所示。  目前,软启动方式主要采用晶闸管交流调压的方法。在电动机起动...
  • PID控制是工业过程中最常用的控制方法,但在实际生产过程中,被控过程往往是多变量、耦合的,常规PID控制器参数往往整定不良、性能欠佳,对运行工况的适应性较差。为此,将迭代反馈理论和继电整定方法有机结合起来...
  • PID参数整定库之一:继电反馈整定算法

    千次阅读 热门讨论 2022-05-22 19:23:39
    但作为经典PID控制器还存在PID参数整定的问题。通常我们可以采取人工整定的办法,但人工整定涉及到比较专业的知识,而且找到合适的参数本身也不是一件容易的事,所以人们探索了一系列适用于不同情况的PID参数自动...

      在前述的篇章中,我们实现了PID控制器并在后续对其进行了改进。但作为经典PID控制器还存在PID参数整定的问题。通常我们可以采取人工整定的办法,但人工整定涉及到比较专业的知识,而且找到合适的参数本身也不是一件容易的事,所以人们探索了一系列适用于不同情况的PID参数自动整定算法。在这一篇中我们就来讨论基于继电反馈的PID参数自整定算法。

    1、基本原理

      若测出了系统的一阶模型,或得出了系统的临界比例增益Kc和振荡周期Tc,则可很容易地设计出PID调节器。

    1.1、继电反馈自整定过程

      继电反馈自整定的基本思想是,在控制系统中设置两种模式:整定模式和调节模式。很显然,调节模式就是指我们正常使用的PID控制器,而整定模式就是我们用以整定PID参数的过程。
      在整定模式下,我们将系统的操作转换为开关方式,即输出值在最大值和最小值之间周期性的转换。具体来说就是当测量值小于设定值时,我们将控制器的输出最大,而当测量值大于设定值之后我们又将输出值设为最小。这样被控系统聚会产生振动,经过至少3次过零检测,我们就会得到一个周期的振荡波型,从这个振荡波形中,我们可以提取到系统的特征参数,从而得到我们想要的PID参数。
      在调节模式下,由系统的特征参数首先得出PID控制器的参数,然后使用此PID控制器对系统进行调节。PID参数继电反馈自整定的结构图如下:

      从上图中我们可以知道,当需要PID参数整定时,开关置于继电环节,系统按继电反馈建立起稳定的极限环振荡后,就可以根据系系统响应特征确定PID参数。而当自整定计算完成后,我们可以控制开关置于PID调节器环节,这样系统进入正常PID控制过程。

    1.2、继电反馈自整定的原理

      为什么我们采用这一方式就可以确定PID控制器的参数呢?这是因为振荡波形的特性是由被控对象的特性决定的。在整定模式下,我们可以将整个控制系统的框图等效如下:

      当我们根据测量值与设定值的对比关系来给出最大或最小输出时,基于被控对象的特性会产生一定频率和幅值的振荡波,从而我们就能确定系统的振荡频率ωc与临界增益Kc。比较常用的确定系统的振荡频率ωc与增益Kc的方法是描述函数法。所谓描述函数法,实际上是根据非线性环节输入信号与输出信号之间基波分量关系来进行近似的一种有效方法。
      关于非线性特征的描述函数N(A)来说,就是当输入是正弦信号Asin(ωt)时,输出的基波分量Ysin(ωt+φ)对输入正弦量的复数比,即:

      其中A1、B1是输出Y(t)的傅立叶级数的一次项系数。
      实际的带有回环的节点非线性环节特性的描述函数可以表示为:

      公式中A为正弦波幅值,d为回环幅值,ε为回环宽度的一半。这里我们构建继电环节时,我们可以认为它是一个理想的继电环节,也就是说不带有回环,即ε=0,于是就有:

      在这里我们设被控对象的传递函数为如下形式:

      其中K为对象的增益,T为对象的时间常数,τ为对象的滞后时间。
      根据前面继电回路结构框图,在这个简单的反馈系统中,闭环特征方程发生振荡的条件可以写为:
    1+N(A)G(s)=0 (s=jωc),即G(jωc)=-1/N(A)。
      则可得出振荡频率ωc与增益Kc为:

      系统的振荡周期Tc可以通过测量输出曲线相邻峰值的时间得到。至此我们就得到了临界频率ωc所对应的临界增益和临界振荡周期。
      在得到被控对象的临界增益和临界振荡周期后,就可以根据Ziegle-Nichols算法确定PID参数。如表所示:

      这样,就用继电反馈的方法整定出了PID调节器参数。PID参数继电自整定法是一种简单的自适应控制方法,它所需要的数据量小,实现简单,调节效果好,特别适用于内存量较小的调节器,因而得到广泛的应用。

    2、算法设计

      我们已经明白了PID参数继电反馈自整定的基本原理,那么我们究竟如何实现呢?在接下来我们就来设计基于继电反馈PID参数自整定的具体实现算法。
      使用继电反馈方法整定PID参数主要涉及到两个方面的内容。第一是通过人为操作让系统产生临界振荡,这是测量出临界比例Kc和临界周期Tc的根本所在。第二是根据得到的数据计算PID参数的值。所以我们就从这两个方面的内容来考虑基于继电反馈的PID参数整定算法。

    2.1、振荡的生成

      首先我们来看分析振荡波形如何产生。在继电反馈中,要产生振荡都是通过控制执行单元以一定的输出比例来回转换而是测量值随之振荡。所以我们在系统中给定一个设定值后,我们根据设定值与测量值之间的偏差来决定输出值是正向最大还是反向最大。
      在这里我考虑执行单元为正作用的情况,一般在设定值大于测量值时,我们将执行单元的输出切换到相应的高输出,这时测量值将会随之而上升。当测量值上升到大于设定值时,我们将执行单元的输出切换到相应的低输出,这时测量值将会随之而下降。如此往复,我们就能得到测量值的振荡曲线。
      在每次切换执行单元的时候,我们记录一次转换次数。同时观察测量值与设定值的相对大小,每次测量值由大于设定值变为小于设定值,或者由小于设定值变为大于设定值都称之为一次过零。如果我们检测到4次过零,或者说5次切换执行单元,则我们就可以认为系统产生了振荡。
      进一步考虑我们发现,整定开始时测量值与设定值所处的相对位置对于我们的判断有关键影响。如果初始时,测量值大于设定值,则在两次过零后会出现最大值,如下图的区域3的位置。而在3次过零后会出现最小值,如下图的区域4的位置。

      如果初始时,测量值小于设定值,则在两次过零后会出现最小值,如下图的区域3的位置。而在3次过零后会出现最大值,如下图的区域4的位置。

      通过上述图例我们可以知道,检测到4次已经可以有两个波形,可以确认系统已经出现了振荡。而且我们可以得到一个周期的完整且稳定的数据,即图中区域3和区域4所组成的波形周期。通过这些数据我们就可以得到振荡波形的周期Tc和振荡波形的幅值。而这些数据就是我们计算所需要的。

    2.2、参数计算

      我们在上述振荡波型的测量中得到了,最大值和最小值,而波形的幅值就是最大最小差值的一半,所以我们得到了幅值A。我们将最大值几位PVmax,最小值几位PVmin就可以得到Kc的计算公式如下:
    K_c=4d/πA=8d/(π*(PV_max-PV_min))
      而在测量过程中,在2次过零后我们记录了该周期的起始时间。在4次过零后我们记录了该周期的结束时间,所以我们利用结束时间与起始时间的间隔以及采样周期就可以得到振荡的周期。
    T_c=(T_end-T_start )*T_s
      在上述两个公式中,Ts为整定过程中的采样周期,而d则是我们输出切换的差值,都是我们已知的数据。这样就可以根据Ziegle-Nichols公式计算对应的PID参数了。

    3、算法的实现

      我们已经分析了基于继电反馈的PID参数自整定的基本算法,这一节我们将基于前述的算法分析实现它。根据前述的算法分析,我们了解到产生振荡并测量数据时,因初始偏差的正负不同而需要分辨不同状态下的处理。还有整定成功与整定不成功也会有不同的操作。

    3.1、相关变量的定义

      经过前面的分析,我们知道要实现整定过程需要诸多的变量控制和记录整个整定过程。为了便于对这些变量进行管理,我们使用结构体来统一处理这些变量。经过分析我们定义整定过程控制变量结构体如下:

    /*定义整定过程变量结构体类型*/
    typedef struct TuneObject {
        uint8_t tuneEnable:2;       //整定与PID控制开关,0:PID控制;1:参数整定;2:整定失败
        uint8_t preEnable:2;        //预处理使能,在开始整定前置位
        uint8_t initialStatus:1;    //记录开始整定前偏差的初始状态
        uint8_t outputStatus:1;     //记录输出的初始状态,0允许上升过零计数;1允许下降过零计数
        uint8_t controllerType:2;   //控制器类型:0,P控制器;1,PI控制器;2,PID控制器
        
        uint8_t zeroAcrossCounter;  //过零点计数器,每次输出改变加1,比实际过零次数多1
        uint8_t riseLagCounter;     //上升迟滞时间计数器
        uint8_t fallLagCounter;     //下降迟滞时间计数器
        
        uint16_t tunePeriod;        //整定采样周期
        uint32_t tuneTimer;         //整定计时器
        uint32_t startTime;         //记录波形周期起始时间
        uint32_t endTime;           //记录波形周期结束时间
        
        float outputStep;           //输出阶跃d
        float maxPV;                //振荡波形中测量值的最大值
        float minPV;                //振荡波形中测量值的最小值
    }TuneObjectType;
    

    3.2、整定的前期处理

      在前面我们已经说过了,整定开始时设定值与测量值的相对位置对过程的判断至关重要,所以在整定过程开始前我们要对其进行识别。另外在整定开始前一些控制变量也需要对其进行必要的设定,所以我们设计一个预处理的过程来完成这些前期的工作。

    /*整定开始前的预处理,判断状态及初始化变量*/
    static void TunePretreatment(CLASSICPID *vPID,TuneObjectType *tune)
    {
        tune->maxPV=vPID->minimum;
        tune->minPV=vPID->maximum;
        tune->tuneTimer=0;
        tune->startTime=0;
        tune->endTime=0;
        tune->outputStep=100;
        
        if(*vPID->pSV>=*vPID->pPV)
        {
            tune->initialStatus=1;
            tune->outputStatus=0;
        }
        else
        {
            tune->initialStatus=0;
            tune->outputStatus=1;
        }
        
        tune->preEnable=0;
        tune->zeroAcrossCounter=0;
        tune->riseLagCounter=0;
        tune->fallLagCounter=0;
    }
    

    3.3、整定过程的控制

      整定过程的控制就是实现整个整定过程的各种操作。包括对输出高低转换的控制、对形成振荡后对第二个波形的数据记录、整定成功后的相关处理以及整定失败后的相关处理等。

    void RelayFeedbackAutoTuning(CLASSICPID *vPID,TuneObjectType *tune)
    {
        /*整定开始前的预处理,只执行一次*/
        if(tune->preEnable==1)
        {
            TunePretreatment(vPID,tune);
        }
        
        uint32_t tuneDuration=0;
        tune->tuneTimer++;
        tuneDuration=(tune->tuneTimer*tune->tunePeriod)/1000;
        if(tuneDuration>3600)       //整定过程持续超过1小时,未能形成有效振荡,整定失败
        {
            tune->tuneEnable=2;
            tune->preEnable=1;
            return;
        }
        
        if(*vPID->pSV>=*vPID->pPV)      //设定值大于测量值,则开执行单元
        {
            tune->riseLagCounter++;
            tune->fallLagCounter=0;
            
            if(tune->riseLagCounter>LAG_PHASE)
            {
                *vPID->pMV=100;
                if(tune->outputStatus==0)
                {
                    tune->outputStatus=1;
                    tune->zeroAcrossCounter++;
                    
                    if(tune->zeroAcrossCounter==3)
                    {
                        tune->startTime=tune->tuneTimer;
                    }
                }
            }
        }
        else                            //设定值小于测量值,则关执行单元
        {
            tune->riseLagCounter=0;
            tune->fallLagCounter++;
            
            if(tune->fallLagCounter>LAG_PHASE)
            {
                *vPID->pMV=0;
                if(tune->outputStatus==1)
                {
                    tune->outputStatus=0;
                    tune->zeroAcrossCounter++;
                    
                    if(tune->zeroAcrossCounter==3)
                    {
                        tune->startTime=tune->tuneTimer;
                    }
                }
            }
        }
        
        if(tune->zeroAcrossCounter==3)                  //已经两次过零,可以记录波形数据
        {
            if(tune->initialStatus==1)                  //初始设定值大于测量值,则区域3出现最小值
            {
                if(*vPID->pPV<tune->minPV)
                {
                    tune->minPV=*vPID->pPV;
                }
            }
            else if(tune->initialStatus==0)             //初始设定值小于测量值,则区域3出现最大值
            {
                if(*vPID->pPV>tune->maxPV)
                {
                    tune->maxPV=*vPID->pPV;
                }
            }
        }
        else if(tune->zeroAcrossCounter==4)             //已经三次过零,记录另半波的数据
        {
            if(tune->initialStatus==1)                  //初始设定值大于测量值,则区域4出现最大值
            {
                if(*vPID->pPV>tune->maxPV)
                {
                    tune->maxPV=*vPID->pPV;
                }
            }
            else if(tune->initialStatus==0)             //初始设定值小于测量值,则区域4出现最小值
            {
                if(*vPID->pPV<tune->minPV)
                {
                    tune->minPV=*vPID->pPV;
                }
            }
        }
        else if(tune->zeroAcrossCounter==5)             //已经四次过零,振荡已形成可以整定参数
        {
            CalculationParameters(vPID,tune);
            
            tune->tuneEnable=0;
            tune->preEnable=1;
        }  
    }	
    

    3.4、参数的计算

      当整定过程实现4次过零后,说明整定成功能,这时我们需要根据我们测量到的数据计算PID参数。具体的计算公式在前面已经详细描述过了。根据公式可以实现编码如下:

    /*计算PID参数值*/
    static void CalculationParameters(CLASSICPID *vPID,TuneObjectType *tune)
    {
        float kc=0.0;
        float tc=0.0;
        float zn[3][3]={{0.5,100000.0,0.0},{0.45,0.8,0.0},{0.6,0.5,0.125}};
        
        tc=(tune->endTime-tune->startTime)*tune->tunePeriod/1000.0;
        kc=(8.0*tune->outputStep)/(PI*(tune->maxPV-tune->minPV));
        
    #if PID_PARAMETER_STYLE > (0)
        *vPID->pKp=zn[tune->controllerType][0]*kc;                                   //比例系数
        *vPID->pKi=*vPID->pKp*tune->tunePeriod/(zn[tune->controllerType][1]*tc);     //积分系数
        *vPID->pKd=*vPID->pKp*zn[tune->controllerType][2]*tc/tune->tunePeriod;       //微分系数
    #else
        *vPID->pPb=100/(zn[tune->controllerType][0]*kc);                             //比例带
        *vPID->pTi=zn[tune->controllerType][1]*tc;                                   //积分时间
        *vPID->pTd=zn[tune->controllerType][2]*tc;                                   //微分时间
    #endif
    }
    

    4、应用与结论

      本篇中我们设计并实现了基于一种继电反馈方法的PID参数自整定的过程。在使用中,我们需要基于整定结构体声明一个变量用于整个过程的控制。该变量定义后,成员变量tuneEnable、preEnable和controllerType需要提前赋值。tuneEnable变量值为0时是使用PID控制器,而tuneEnable变量值为1时是开启整定过程,当tuneEnable变量值为2时是指示整定失败。preEnable变量在整定前赋值为1,表示先做预处理。而controllerType则根据所整定的控制器的类型来定,主要用于参数的计算。
      使用此方法时需要注意,对于那些不允许产生波动的控制对象采用此法是不合适的。特别是一些工业现场,大幅度的波动本身就是不被允许的。但对于一些如嵌入式的小系统,简单回路的PID控制系统此法是可行的。
      此方法适用于自平衡系统对象,对于非自平衡对象将不能达到相应的效果。更多的时候不会引起有小的振荡,没有办法通过此方法得到PID参数。

    欢迎关注:

    展开全文
  • 关注、星标公众号,不错过精彩内容直接来源:21ic电子网之前给大家分享过PID基础理论的文章:重温经典PID算法PID原理和参数调试今天进一步分享一些PID相关细节内容。在过程控制中,按...

    关注、星标公众,不错过精彩内容

    直接来源:21ic电子网

    之前给大家分享过PID基础理论的文章:

    重温经典PID算法

    PID原理和参数调试

    今天进一步分享一些PID相关细节内容。

    在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象──“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种最优控制。PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活(PI、PD、…)。

    PID是闭环控制算法

    因此要实现PID算法,必须在硬件上具有闭环控制,就是得有反馈。比如控制一个电机的转速,就得有一个测量转速的传感器,并将结果反馈到控制路线上,下面也将以转速控制为例。

    PID是比例(P)、积分(I)、微分(D)控制算法

    但并不是必须同时具备这三种算法,也可以是PD,PI,甚至只有P算法控制。我以前对于闭环控制的一个最朴素的想法就只有P控制,将当前结果反馈回来,再与目标相减,为正的话,就减速,为负的话就加速。现在知道这只是最简单的闭环控制算法。

    PID控制器结构

    PID控制系统原理结构框图

    对偏差信号进行比例、积分和微分运算变换后形成一种控制规律。“利用偏差,纠正偏差”。

    模拟PID控制器

    模拟PID控制器结构图

    PID控制器的输入输出关系为:

    比例(P)、积分(I)、微分(D)控制算法各有作用

    比例,反应系统的基本(当前)偏差e(t),系数大,可以加快调节,减小误差,但过大的比例使系统稳定性下降,甚至造成系统不稳定;

    积分,反应系统的累计偏差,使系统消除稳态误差,提高无差度,因为有误差,积分调节就进行,直至无误差;

    微分,反映系统偏差信号的变化率e(t)-e(t-1),具有预见性,能预见偏差变化的趋势,产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除,因此可以改善系统的动态性能。但是微分对噪声干扰有放大作用,加强微分对系统抗干扰不利。 积分和微分都不能单独起作用,必须与比例控制配合。

    控制器的P,I,D项选择

    下面将常用的各种控制规律的控制特点简单归纳一下:

    (1)、比例控制规律P:采用P控制规律能较快地克服扰动的影响,它的作用于输出值较快,但不能很好稳定在一个理想的数值,不良的结果是虽较能有效的克服扰动的影响,但有余差出现。它适用于控制通道滞后较小、负荷变化不大、控制要求不高、被控参数允许在一定范围内有余差的场合。如:金彪公用工程部下设的水泵房冷、热水池水位控制;油泵房中间油罐油位控制等。

    (2)、比例积分控制规律(PI):在工程中比例积分控制规律是应用最广泛的一种控制规律。积分能在比例的基础上消除余差,它适用于控制通道滞后较小、负荷变化不大、被控参数不允许有余差的场合。如:在主线窑头重油换向室中F1401到F1419号枪的重油流量控制系统;油泵房供油管流量控制系统;退火窑各区温度调节系统等。

    (3)、比例微分控制规律(PD):微分具有超前作用,对于具有容量滞后的控制通道,引入微分参与控制,在微分项设置得当的情况下,对于提高系统的动态性能指标,有着显著效果。因此,对于控制通道的时间常数或容量滞后较大的场合,为了提高系统的稳定性,减小动态偏差等可选用比例微分控制规律。如:加热型温度控制、成分控制。需要说明一点,对于那些纯滞后较大的区域里,微分项是无能为力,而在测量信号有噪声或周期性振动的系统,则也不宜采用微分控制。如:大窑玻璃液位的控制。

    (4)、比例积分微分控制规律(PID):PID控制规律是一种较理想的控制规律,它在比例的基础上引入积分,可以消除余差,再加入微分作用,又能提高系统的稳定性。它适用于控制通道时间常数或容量滞后较大、控制要求较高的场合。如温度控制、成分控制等。

    鉴于D规律的作用,我们还必须了解时间滞后的概念,时间滞后包括容量滞后与纯滞后。其中容量滞后通常又包括:测量滞后和传送滞后。测量滞后是检测元件在检测时需要建立一种平衡,如热电偶、热电阻、压力等响应较慢产生的一种滞后。而传送滞后则是在传感器、变送器、执行机构等设备产生的一种控制滞后。纯滞后是相对与测量滞后的,在工业上,大多的纯滞后是由于物料传输所致,如:大窑玻璃液位,在投料机动作到核子液位仪检测需要很长的一段时间。

    总之,控制规律的选用要根据过程特性和工艺要求来选取,决不是说PID控制规律在任何情况下都具有较好的控制性能,不分场合都采用是不明智的。如果这样做,只会给其它工作增加复杂性,并给参数整定带来困难。当采用PID控制器还达不到工艺要求,则需要考虑其它的控制方案。如串级控制、前馈控制、大滞后控制等。

    Kp,Ti,Td三个参数的设定是PID控制算法的关键问题。一般说来编程时只能设定他们的大概数值,并在系统运行时通过反复调试来确定最佳值。因此调试阶段程序须得能随时修改和记忆这三个参数。

    数字PID控制器

    1、模拟PID控制规律的离散化

    2、数字PID控制器的差分方程

    参数的自整定

    在某些应用场合,比如通用仪表行业,系统的工作对象是不确定的,不同的对象就得采用不同的参数值,没法为用户设定参数,就引入参数自整定的概念。实质就是在首次使用时,通过N次测量为新的工作对象寻找一套参数,并记忆下来作为以后工作的依据。具体的整定方法有三种:临界比例度法、衰减曲线法、经验法。

    1、临界比例度法(Ziegler-Nichols)

    1.1 在纯比例作用下,逐渐增加增益至产生等副震荡,根据临界增益和临界周期参数得出PID控制器参数,步骤如下:

    (1)将纯比例控制器接入到闭环控制系统中(设置控制器参数积分时间常数Ti =∞,实际微分时间常数Td =0)。

    (2)控制器比例增益K设置为最小,加入阶跃扰动(一般是改变控制器的给定值),观察被调量的阶跃响应曲线。

    (3)由小到大改变比例增益K,直到闭环系统出现振荡。

    (4)系统出现持续等幅振荡时,此时的增益为临界增益(Ku),振荡周期(波峰间的时间)为临界周期(Tu)。

    (5) 由表1得出PID控制器参数。

    表1

    1.2 采用临界比例度法整定时应注意以下几点:

    (1)在采用这种方法获取等幅振荡曲线时,应使控制系统工作在线性区,不要使控制阀出现开、关的极端状态,否则得到的持续振荡曲线可能是“极限循环”,从线性系统概念上说系统早已处于发散振荡了。

    (2)由于被控对象特性的不同,按上表求得的控制器参数不一定都能获得满意的结果。对于无自平衡特性的对象,用临界比例度法求得的控制器参数往住使系统响应的衰减率偏大(ψ>0.75 )。而对于有自平衡特性的高阶等容对象,用此法整定控制器参数时系统响应衰减率大多偏小(ψ<0.75 )。为此,上述求得的控制器参数,应针对具体系统在实际运行过程中进行在线校正。

    (3) 临界比例度法适用于临界振幅不大、振荡周期较长的过程控制系统,但有些系统从安全性考虑不允许进行稳定边界试验,如锅炉汽包水位控制系统。还有某些时间常数较大的单容对象,用纯比例控制时系统始终是稳定的,对于这些系统也是无法用临界比例度法来进行参数整定的。

    (4)只适用于二阶以上的高阶对象,或一阶加纯滞后的对象,否则,在纯比例控制情况下,系统不会出现等幅振荡。

    1.3 若求出被控对象的静态放大倍数KP=△y/△u ,则增益乘积KpKu可视为系统的最大开环增益。通常认为Ziegler-Nichols闭环试验整定法的适用范围为:

    (1) 当KpKu > 20时,应采用更为复杂的控制算法,以求较好的调节效果。

    (2)当KpKu < 2时,应使用一些能补偿传输迟延的控制策略。

    (3)当1.5 <KpKu< 2时,在对控制精度要求不高的场合仍可使用PID控制器,但需要对表1进行修正。在这种情况下,建议采用SMITH预估控制和IMC控制策略。

    (4)当KpKu< 1.5时,在对控制精度要求不高的场合仍可使用PI控制器,在这种情况下,微分作用已意义不大。

    2、衰减曲线法

    衰减曲线法与临界比例度法不同的是,闭环设定值扰动试验采用衰减振荡(通常为4:1或10:l),然后利用衰减振荡的试验数据,根据经验公式求取控制器的整定参数。整定步骤如下:

    (1)在纯比例控制器下,置比例增益K为较小值,并将系统投入运行。

    (2)系统稳定后,作设定值阶跃扰动,观察系统的响应,若系统响应衰减太快,则减小比例增益K;反之,应增大比例增益K。直到系统出现如图1(a)所示的4:1衰减振荡过程,记下此时的比例增益Ks及和振荡周期Ts数值。

    图1

    (3)利用Ks和Ts值,按表2给出的经验公式,计算出控制器的参数整定值。

    表2

    (4)10:1衰减曲线法类似,只是用Tr带入计算。

    采用衰减曲线法必须注意几点:

    (1)加给定干扰不能太大,要根据生产操作要求来定,一般在5%左右,也有例外的情况。

    (2)必须在工艺参数稳定的情况下才能加给定干扰,否则得不到正确的整定参数。

    (3)对于反应快的系统,如流量、管道压力和小容量的液位调节等,要得到严格的4:1衰减曲线较困难,一般以被调参数来回波动两次达到稳定,就近似地认为达到4:1衰减过程了。

    (4)投运时,先将K放在较小的数值,把Ti减少到整定值,把Td逐步放大到整定值,然后把K拉到整定值(如果在K=整定值的条件下很快地把Td放到整定值,控制器的输出会剧烈变化)。

    3、经验整定法

    3.1方法一A:

    (1)确定比例增益

    使PID为纯比例调节,输入设定为系统允许最大值的60%~70%,由0逐渐加大比例增益至系统出现振荡;再反过来,从此时的比例增益逐渐减小至系统振荡消失,记录此时的比例增益,设定PID的比例增益P为当前值的60%~70%。

    (2)确定积分时间常数

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

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

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

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

    3.2方法一B:

    (1)PI调节

    (a)纯比例作用下,把比例度从较大数值逐渐往下降,至开始产生周期振荡(测量值以给定值为中心作有规则得振荡),在产生周期性振荡的情况下,把此比例度逐渐加宽直至系统充分稳定。

    (b)接下来把积分时间逐渐缩短至产生振荡,此时表示积分时间过短,应把积分时间稍加延长,直至振荡停止。

    (2)PID调节

    (a)纯比例作用下寻求起振点。

    (b)加大微分时间使振荡停止,接着把比例度调得稍小一些,使振荡又产生,加大微分时间,使振荡再停止,来回这样操作,直至虽加大微分时间,但不能使振荡停止,求得微分时间的最佳值,此时把比例度调得稍大一些直至振荡停止。

    (c)把积分时间调成和微分时间相同的数值,如果又产生振荡则加大积分时间直至振荡停止。

    3.3方法二:

    另一种方法是先从表列范围内取Ti的某个数值,如果需要微分,则取Td=(1/3~1/4)Ti,然后对δ进行试凑,也能较快地达到要求。实践证明,在一定范围内适当地组合δ和Ti的数值,可以得到同样衰减比的曲线,就是说,δ的减少,可以用增加Ti的办法来补偿,而基本上不影响调节过程的质量。所以,这种情况,先确定Ti、Td再确定δ的顺序也是可以的。而且可能更快些。如果曲线仍然不理想,可用Ti、Td再加以适当调整。

    3.4方法三:

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

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

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

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

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

    (2)以下整定的口诀:

    阶跃扰动投闭环,参数整定看曲线;先投比例后积分,最后再把微分加;

    理想曲线两个波,振幅衰减4比1;比例太强要振荡,积分太强过程长;

    动差太大加微分,频率太快微分降;偏离定值回复慢,积分作用再加强。

    4、复杂调节系统的参数整定

    以串级调节系统为例来说明复杂调节系统的参数整定方法。由于串级调节系统中,有主、副两组参数,各通道及回路间存在着相互联系和影响。改变主、副回路的任一参数,对整个系统都有影响。特别是主、副对象时间常数相差不大时,动态联系密切,整定参数的工作尤其困难。

    在整定参数前,先要明确串级调节系统的设计目的。如果主要是保证主参数的调节质量,对副参数要求不高,则整定工作就比较容易;如果主、副参数都要求高,整定工作就比较复杂。下面介绍“先副后主”两步参数整定法。

    第一步:在工况稳定情况下,将主回路闭合,把主控制器比例度放在100%,积分时间放在最大,微分时间放在零。用4:1衰减曲线整定副回路,求出副回路得比例增益K2s和振荡周期T2s。

    第二步:把副回路看成是主回路的一个环节,使用4:1衰减曲线法整定主回路,求得主控制器K1s和T1s。

    根据K1s、K2s、T1s、T2s按表2经验公式算出串级调节系统主、副回路参数。先放上副回路参数,再放上主回路参数,如果得到满意的过渡过程,则整定工作完毕。否则可进行适当调整。

    如果主、副对象时间常数相差不大,按4:1衰减曲线法整定,可能出现“共振”危险,这时,可适当减小副回路比例度或积分时间,以达到减少副回路振荡周期的目的。同理,加大主回路比例度或积分时间,以期增大主回路振荡周期,使主、副回路振荡周期之比加大,避免“共振”。这样做的结果会降低调节质量。

    如果主、副对象特性太相近,则说明确定的方案欠妥当,就不能完全依靠参数整定来提高调节质量了。

    实际应用体会

    一是利用数字PID控制算法调节直流电机的速度,方案是采用光电开关来获得电机的转动产生的脉冲信号,单片机(MSP430G2553)通过测量脉冲信号的频率来计算电机的转速(具体测量频率的算法是采用直接测量法,定时1s测量脉冲有多少个,本身的测量误差可以有0.5转加减),测量的转速同给定的转速进行比较产生误差信号,来产生控制信号,控制信号是通过PWM调整占空比也就是调整输出模拟电压来控制的(相当于1位的DA,如果用10位的DA来进行模拟调整呢?效果会不会好很多?),这个实验控制能力有一定的范围,只能在30转/秒和150转/秒之间进行控制,当给定值(程序中给定的速度)高于150时,实际速度只能保持在150转,这也就是此系统的最大控制能力,当给定值低于30转时,直流电机转轴实际是不转动的,但由于误差值过大,转速会迅速变高,然后又会停止转动,就这样循环往复,不能达到控制效果。

    根据实测,转速稳态精度在正负3转以内,控制时间为4到5秒。实验只进行到这种程度,思考和分析也只停留在这种深度。

    二是利用数字PID控制算法调节直流减速电机的位置,方案是采用与电机同轴转动的精密电位器来测量电机转动的位置和角度,通过测量得到的角度和位置与给定的位置进行比较产生误差信号,然后位置误差信号通过一定关系(此关系纯属根据想象和实验现象来拟定和改善的)转换成PWM信号,作为控制信号的PWM信号是先产生对直流减速电机的模拟电压U,U来控制直流减速电机的力矩(不太清楚),力矩产生加速度,加速度产生速度,速度改变位置,输出量是位置信号,所以之间应该对直流减速电机进行系统建模分析,仿真出直流减速电机的近似系统传递函数,然后根据此函数便可以对PID的参数进行整定了。

    两次体会都不是特别清楚PID参数是如何整定的,没有特别清晰的理论指导和实验步骤,对结果的整理和分析也不够及时,导致实验深度和程度都不能达到理想效果。

    ‧  END  

    推荐阅读:

    精选汇总 | 目录 | 搜索

    uCLinux与Linux有什么区别?

    STM32Cube..又进行了一次小升级

    关注微信公众号『strongerHuang』,后台回复“1024”,查看更多精彩内容。

    长按识别图中二维码关注

    展开全文
  • 模糊控制 进化算法 PID参数整定

    千次阅读 2020-12-30 22:06:26
    想象热水器和汽车刹车,不会一直一个力度,它会逐渐变小,这个变化的过程需要受到控制,这就是PID控制存在的意义,根据最后的结果以及它的导数,来确定接下来的控制力度,这就是PID控制。但关键是,我们如何制造PID...

    什么是PID控制呢?想象热水器和汽车刹车,不会一直一个力度,它会逐渐变小,这个变化的过程需要受到控制,这就是PID控制存在的意义,根据最后的结果以及它的导数,来确定接下来的控制力度,这就是PID控制。但关键是,我们如何制造PID。

    最终的控制目的是要保证水缸里的水位永远的维持在1米的高度。假设初始时刻,水缸里的水位是0.2米,那么当前时刻的水位和目标水位之间是存在一个误差的error,且error为0.8

    如果单纯的用比例控制算法,就是指加入的水量u和误差error是成正比的。u=kp*error,假设kp取0.5

    那么t=1时(表示第1次加水,也就是第一次对系统施加控制),那么u=0.5*0.8=0.4,所以这一次加入的水量会使水位在0.2的基础上上升0.4,达到0.6

    接着,t=2时刻(第2次施加控制),当前水位是0.6,所以error是0.4。u=0.5*0.4=0.2,会使水位再次上升0.2,达到0.8,无限接近但不能达到1,但这并不是稳态误差,稳态误差是这个人并不会很精确地往里面投水,即控制精度问题,这个近乎无解。

    也就是说,我的目标是1米,但是最后系统达到0.8米的水位就不再变化了,且系统已经达到稳定,因为精度问题已经检测不到了。比如控制汽车运动,摩擦阻力就相当于稳态误差。

    于是,在控制中,我们再引入一个分量,该分量和误差的积分是正比关系。

    由于这个积分项会将前面若干次的误差进行累计,所以可以很好的消除稳态误差(假设在仅有比例项的情况下,系统卡在稳态误差了,即上例中的0.8,由于加入了积分项的存在,会让输入增大,从而使得水缸的水位可以大于0.8,渐渐到达目标的1.0.)这就是积分项的作用。这也表明稳态误差往往是一种消耗力,最终结果往往小于预期结果。积分就是在最后突然一个猛进,就是这样。积分的控制特征就是如果调整太多微调就给他猛的一下,例如无限接近1,但达不到1,就猛地给他来一下。以越过静态误差。但是这样造成了震荡。

    如何解决震荡,就是微分控制,当发现水缸里的水快要接近1的时候,加入微分项,可以防止给水缸里的水加到超过1米的高度,说白了就是减少控制过程中的震荡。是减少震荡的频率和幅度,而不是完全清除震荡。

    本来加i就会让系统不稳定,加d就是为了减缓这种不稳定。但一般PI就足够用了。还是放水举例,现在缸里有0.4的水,一共1的水,误差是0.6,误差被输入到PID控制器,得到比例控制0.3,在积分微分修改0.3+x,这个信息就是接下来要放的水量,就是如此了。最后就到达1了。

    可能就是调整值对整体情况的灵敏程度,用来进行微调。

    差分进化算法基本思想是从初始种群开始,通过变异操作把种群中任意两个个体的向量差加权后按一定的规则与第三个个体求和来产生变异个体,然后将变异个体与当代种群中某个预先决定的个体进行交叉操作生成试验个体,最后通过选择操作在某个预先决定的个体和试验个体之间选择适应值较优的个体,通过不断地迭代计算,保留优良个体,淘汰劣质个体,引导搜索过程向最优解逼近。

    https://wenku.baidu.com/view/9129271f6f1aff00bed51efa.html

    https://wenku.baidu.com/view/aea46998172ded630b1cb6d2.html

    遗传算法有两个重要控制参数——交叉率P.和变异率P。对算法的效率有较大影响

    进化算法,也被成为是演化算法(evolutionary algorithms,简称EAs),它不是一个具体的算法,而是一个“算法簇”。遗传算法(Genetic Algorithm,简称GA)是一种最基本的进化算法。

    个体的编码方式确定以后,针对上图操作的具体描述如下:

    Step 1 种群初始化:根据问题特性设计合适的初始化操作(初始化操作应尽量简单,时间复杂度不易过高)对种群中的N个个体进行初始化操作;

    Step 2 个体评价:根据优化的目标函数计算种群中个体的适应值(fitness value);

    Step 3 迭代设置:设置种群最大迭代次数gmax,并令当前迭代次数g=1;

    Step 4 个体选择:设计合适的选择算子来对种群P(g)个体进行选择,被选择的个体将进入交配池中组成父代种群FP(g),用于交叉变换以产生新的个体。选择策略要基于个体适应值来进行,假如要优化的问题为最小化问题,那么具有较小适应值的个体被选择的概率相应应该大一些。常用的选择策略有轮盘赌选择,锦标赛选择等。

    Step 5 交叉算子:根据交叉概率pm(预先指定,一般为0.9)来判断父代个体是否需要进行交叉操作。交叉算子要根据被优化问题的特性来设计,它是整个遗传算法的核心,它被设计的好坏将直接决定整个算法性能的优劣。

    Step 6 变异算子:根据变异概率pc(预先指定,一般为0.1)来判断父代个体是否需要进行变异操作。变异算子的主要作用是保持种群的多样性,防止种群陷入局部最优,所以其一般被设计为一种随机变换。

    通过交叉变异操作以后父代种群FP(g)生成了新的子代种群P(g+1),令种群迭代次数g=g+1,进行下一轮的迭代操作(跳转到Step 4),直至迭代次数达到最大的迭代次数。

    如何初始化种群呢?也就是编码,我们知道PID是三个参数控制的,究竟怎么控制就是一个函数,根据之前输出制定一个输入,输入到作用器中,产生我们想要的输出。

    所谓的适应度,本质上可以理解为一个代价函数,或者一个规则,通过对初始种群中的个体计算适应度,能够得到对初始种群中的个体是否优劣的一个度量,就是评价函数。

    选择操作是根据种群中的个体的适应度函数值所度量的优、劣程度决定它在下一代是被淘汰还是被遗传。选择就是取舍。

    这里写图片描述这里写图片描述

    随机产生一个1到7之间的随机数,假设为3,则将p1和 p2的低三位进行互换,这个就是交换,交换后三位,就会产生新的,这叫后代。但这样如何保证收敛性呢?

    随机产生一个1到8之间的随机数,假设为3,则将编码的第三位进行变异,将1变为0,这就是变异,但这样如何保证收敛性呢?

    Radolph在文献[Radolph G. Convergence Analysis of Canonical Genetic Algorithms. IEEE Transactions on Neural Network, 1994,5(1): 96-101.]中证明了一般的遗传算法不一定收敛,只有每代保存了最优个体时才收敛。很明显,这样的算法每一代总会出现差的,即便收敛到普遍好,仍然会在每代出现几个差的,这是不可避免的。

    进化算法包括遗传算法、进化程序设计、进化规划和进化策略等等,进化算法的基本框架还是简单遗传算法所描述的框架,但在进化的方式上有较大的差异,选择、交叉、变异、种群控制等有很多变化,进化算法的大致框图可描述如下图所示:

    这里写图片描述

    同遗传算法一样,进化算法的收敛性也是在保存最优个体时通用的进化计算是收敛的。但进化算法的很多结果是从遗传算法推过去的。

    遗传算法对交叉操作要看重一些,认为变异操作是算法的辅助操作;而进化规划和进化策略认为在一般意义上说交叉并不优于变异,甚至可以不要交叉操作。

    如何用进化算法求PID参数呢?

    1 如何编码或者生成种群

     

    2 如何变异,或者如何申请新的子代

    3 如何计算适应度(重点介绍)

    4 流程(流程图+文字说明)

    你先看看进化算法该怎么做?其实很明显的,有图就足够了,但是如何进行编码和评价呢?

    进行浮点数编码?计算种群个体适应度?

    被控对象是一个函数,例如不同的电压对应不同温度,这两个是正相关关系,但不是线性关系,可能是任何其他正相关关系。

    一般用ZN法确定范围。

    但最开始为什么是一个阶跃信号呢?

    阶跃信号就是突加给定,有一个跳变。对绝大多数系统来说,阶跃信号是一种比较严格的工作条件。因而,在经典控制的范畴,一般用阶跃响应来量化系统的性能指标。比如,上升时间与调节时间衡量快速性,超调量表达过渡过程的平稳性等等。那你还用不用阶跃信号?很明显初始的东西是自己设定的,其实设定的不是阶跃函数,而是一个差值,最后就会达到阶跃函数的最终值。误差变为极小。输入值是期望值,输出值是实际值,改变了世界了的。

    因此必须有控制器,有负反馈,不然工作元件就会无脑做,这不行,最简单的控制器就是P控制器,进阶就是PID控制器。那么神经网络,或者进化算法如何施加到PID控制器上的?PID控制器控制工作元件,让元件正常工作,神经网络控制器控制PID控制器,使得元件工作更优秀,能自学习适应环境,这是神经网络存在的关键。

    那么神经网络的损失函数是什么?首先我们知道输出是三个参数,而这个神经网络是实时加在生产环境的,期望输出是什么?r,实际输出是什么?y,用差值进行学习,就能学习出三个参数?你要知道,PID每次只接受差值作为接受的,那么它可能内部还会记忆过去的误差以实现积分与求导的效果,对,必然要积累这些误差。按理说神经网络应该跟标准PID参数进行求差从而反向传播。它是如何反向求导的呢?是求出y后与标准r的误差经过被控对象公式,导到PID控制器,然后上传到神经网络,这样就实现了修正参数。

    拉普拉斯变换是工程数学中常用的一种积分变换,又名拉氏变换。 [1]  拉氏变换是一个线性变换,可将一个有参数实数tt≥ 0)的函数转换为一个参数为复数s的函数。

    好,那么继续考虑进化算法,编码的基因就是x=[xp,xi,xd],然后m个就可以了。

    种群由M个染色体构成,为X(M,3)矩阵.

    初始染色体中的基因在[0,1]范围内随机产生.

    (3)基因交又率与变异率计算.

    在X(M,3)矩阵中逐列选中基因,按式(1)计算对应平均欧氏距离,再按式(2)求出对应的交叉率和变异率。

    (4)进化操作.先复制种群.在复制的种群中,按各列基因对应的交叉率和变异率逐列进行基因的交叉(采用算术交叉)和变异(在[0,1]区间随机地产生一个数来取代原有值),形成M个子代染色体.

    然后,进行同一世代染色体的评价与选择.将染色体逆映射于PID参数空间获得对应的PID参数,然后将PID参数代人仿真程序计算阶跃响应及评价函数J.选出其中J值最小的M个染色体构成新种群,并显示本世代的最佳染色体的评价值.

    (5)过程结束判定.如果gen<MAXGEN,回到步骤(3)重复进行;如果gen≥MAXGEN,则存贮最佳染色体.绘制最佳染色体的输出响应曲线,结束求解过程.

    再看看进化算法的普遍实现过程,适应度是什么呢?交叉率和变异率是怎么回事呢?

    比如种群长度为6,20个种群,交叉概率为0.7对此种群的意义是什么?
    变异概率又是什么意思啊?
    20个染色体中,每两个染色体从第一位到第六位的代码都有0.7的概率交换交叉点前后的染色体代码!

    emmm,说实话并不会代码的编写。。。

    弄懂进化算法,能写出代码

    求出所有适应度,找出最佳适应度(就是这个),那么适应度函数是什么呢?很明显,就是用这个参数得出的最终结果与预期结果的p1范数或者p2范数,就是如此了。

    变异,交叉,选择,有没有改变种群规模?预计没有,但是问题不大。

    那么整体看来,进化算法是用在运行环境,实时修改,还是之前弄好的?它是有一个收敛过程的,BP神经网络也是有收敛过程啊?但进化算法收敛过程是中心,应该不是,应该就是求出一个稳定的PID,它是前馈的。

    实现matlab代码,画出图像

    写报告

    算了,不搞了,两天了,真学不会。。。没办法,意义也不大。

    看看论文模板。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 但由于控制系统的复杂性和非线性等因素,使 PI D控制器参数受到了影响,因此如何整定 PI D控 制器的参数成为当前乃至今后的研究热点。文章概述了 PI D的理论,讨论了一些常用 PI D 整定方法, 并对新技术进行了探索。
  • 文章目录单回路控制系统整定参数整定要求常用整定方法理论计算方法理论计算整定法工程整定方法经验法(试凑法)临界比例带法(边界稳定法)衰减曲线法响应曲线法(动态特性参数法) 单回路控制系统整定 参数整定要求 通过...
  • PID控制整定算法

    千次阅读 2021-01-17 08:36:43
    一、PID控制算法PID是比例、积分、微分的简称,PID控制的难点不是编程,而是控制器参数整定参数整定的关键是正确地理解各参数的物理意义,PID控制的原理可以用人对炉温的手动控制来理解。阅读本文不需要高深的...
  • PID参数整定一些总结

    千次阅读 2020-06-12 17:34:01
    PID参数整定法总结 PID控制规律 2、PID传递函数 3、各环节的作用 比例环节作用: 系统一旦出现偏差,比例环节立即产生调节作用以减小系统偏差,比例作用大 ,可以加快调节,减少误差,但是过大的比例,使系统的...
  • PID温度控制参数整定方法

    千次阅读 2019-07-04 17:55:42
    @TOCPID温度控制参数整定方法 出处:https://blog.csdn.net/pengzhihui2012/article/details/50380780 最近做了一个温度控制相关的项目,在此记录一下,方便以后查找,同时也供大家参考,欢迎指正,所有数据均为实验...
  •  参数整定找,从小到大顺序查,先是比例后积分,再把微分加,曲线振荡很频繁,比例度盘要放大,曲线漂浮绕大湾,比例度盘往小扳,曲线偏离回复慢,积分时间往下降,曲线波动周期长,积分时间再加长,
  • PID控制的理解与参数整定

    千次阅读 2020-03-11 12:09:26
    PID控制器的一般结构 当控制器为比例控制器(P)时,可以减少因扰动而引起的稳态误差,但不能将稳态误差减少...由于理论上的控制器有的时候产生的信号过大,可能破坏硬件系统,所以在控制器的输出端通常要加一个驱...
  • PID参数整定法(1)

    千次阅读 2019-10-11 17:28:46
    尽管不同类型的控制器,其结构、原理各不相同,但是基本控制规律只有三个:比例(P)控制、积分(I)控制和微分(D)控制。这几种控制规律可以单独使用,但是更多场合是组合使用。如比例(P)控制、比例-积分(PI)...
  • PID控制系统阶跃响应图-参数整定过程,matlab代码真实可用 点个赞呗 clear all clc close all PID=[0.5,0.05,0.2; %1 0.6,0.05,0; %2 0.6,0,0.2; %3 0.3,0.05,0.2; %4 ];%初始化PID参数 for pid=1:1:4 ts=0....
  • 基于MATLAB的PID控制器参数整定及仿真.pdf 基于MATLAB的PID控制器设计.pdf 基于MATLAB/Simulink环境下的PID参数整定.pdf 基于OV7620摄像头智能车道路信息视频采集及处理研究.pdf 基于单片机PID算法的直流电机测控...
  • 目前,常用的解耦设计方法,前馈解耦、偏差解耦以及内模控制。 采用前馈解耦方法 由电机在旋转坐标系下的数学模型可以得到uqu_quq​和udu_dud​表达式: 对其取拉氏变换,得到 由此可以画出电机模型的传递函数:...
  • 模糊自适应整定PID控制

    千次阅读 2022-01-25 16:50:06
    模糊自适应PID算法主要是由模糊控制器和PID控制器结合而成,模糊控制器以误差e和误差变化率ec作为输入,利用模糊规则对PID控制器参数Kp、Ki、和Kd进行自适应整定,使被控对象保持在良好的动、静态稳定状态。...
  • pid参数整定计算

    万次阅读 2017-06-25 12:31:32
    之前推送过一篇关于PID的知识,感觉意犹未尽,今天再给大家奉上一篇关于PID算法及参数整定的知识! 传送门:单片机的PID控制!关于PID控制这篇说得很明白! 1.位置表达式 位置式表达式是指任一时刻PID控制器...
  • 简介 1.1 PID控制应用广泛,实现简单 1.2几种常用的PID参数整定方法 1)稳定边界法 2)4:1衰减法 3)鲁棒法 4)ISTE最优参数整定法 (Itegral Squared Time-weighted Errors) 四种方法各优缺点: 稳定边界法和4:1衰减.....
  • BP神经网络用于PID参数整定学习笔记

    千次阅读 多人点赞 2021-07-20 22:26:34
    1、神经网络激励函数:添加的处理函数一定要是可微的 才能使用梯度下降算法。  sigmoid函数:一般常用这个函数 ...此方法也适用于此处求解权向量,首先我们需要定义损失函数,由于网络的输出层多个输出结点,我
  • 数据中心断路器整定值计算(二)

    千次阅读 2019-08-27 19:50:56
    在我的上一篇文章《低压系统第一个断路器的参数设计》中探讨的是断路器的极限分断能力的选型和接地故障保护电流的计算,后来在其它刊物发表这篇文章的时候,我将文章的名称改为《数据中心断路器整定值计算(一)》,...
  • 数据中心断路器整定值计算(一)

    千次阅读 2019-08-27 19:42:43
    关于低压断路的选型及参数设定,常见的:额定短路极限分断能力Icu、额定运行短路极限分断能力Ics、额定电流Ie、额定电压Ue、长延时动作电流Ir、短延时动作电流Isd、瞬时动作电流Im、接地故障电流Ig等等。...
  • PID 参数整定过程

    千次阅读 2017-06-08 15:08:12
    目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用,各种各样的PID控制器产品,各大公司均开发了具有PID参数整定功能的智能调节器(intelligent regulator),其中...
  • PID参数整定——Z-N方法

    万次阅读 多人点赞 2017-03-08 11:36:28
    PID参数整定的Z-N法,在经验法的基础上更快对参数进行整定

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,920
精华内容 12,368
热门标签
关键字:

常用控制器需要整定的参数有