PID详解汇总(持续更新)

一、PID简介

        1、PID时间系数对PID本身的影响:

        这里的时间系统,一般指的是采样的时间,也就是PID控制的周期。在无人机当中一般采用10ms控制一次。

        一般来说采样周期越小,数字模拟越精确,控制效果越接近连续控制。对大多数算法,缩短采样周期可使控制回路性能改善,但采样周期缩短时,频繁的采样必然会占用较多的计算工作时间,同时也会增加计算机的计算负担。

        对于变化迅速的,采样周期应适当减小。对于多回路控制,采样周期应该适当延长,使得有足够的时间控制

        2、PID参数

        比例环节:对偏差瞬间作出反应。偏差一旦产生控制器立即产生控制作用,使控制量向减少偏差的方向变化。控制作用的强弱取决于比例系数 ,比例系数越大,控制作用越强,则过渡过程越快,控制过程的静态偏差也就越小;但是也越容易产生振荡,破坏系统的稳定性。

        积分环节:虽然会消除静态误差,但也会降低系统的响应速度,增加系统的超调量。 

        微分环节:阻止偏差的变化。它是根据偏差的变化趋势(变化速度)进行控制。偏差变化的越快,微分控制器的输出就越大。微分作用的引入,将有助于减小超调量克服振荡,使系统趋于稳定,特别对髙阶系统非常有利。 但微分的作用对输入信号的噪声很敏感,对那些噪声较大的系统一般不用微分,或在微分起作用之前先对输入信号进行滤波

二、位置式PID

        优点静态误差小,溢出的影响小。
        缺点计算量很大,累积误差相对大,在系统出现错误的情况下,容易使系统失控,积分饱和。

        使用:一般需要结合输出限幅积分限幅使用。积分限幅是避免积分失控的一种手段,也是为了加快调节时间,减少积分饱和的影响, 输出限幅是为了使系统输出不过度,也能够减少系统的调节时间,减少超调量。

        位置式PID适用于执行没有积分部件的对象。在控制系统中,这种控制量确定了执行机构的位置,例如在阀门控制中,这种算法的输出对应了阀门的位置(开度)。所以,将这种算法称为“位置算法”。

三、增量式PID

增量式PID
  • 离散化后的公式:

在这里插入图片描述

        优点:溢出的影响小,在系统出现错误的情况下,影响相对较小(因为只与过去的三次误差有关),运算量也相对较小

        缺点有静态误差(因为没有累积误差)。

        使用:位置式PID适用于执行有积分部件的对象。当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱动步进电动机)时,需要用PID的“增量算法”

四、两种针对积分的PID

1、积分分离式PID:

积分分离式PID主要是针对位置式PID的积分,引入判断误差大小条件,是否使用积分项。

优点
判定误差比较大的时候,取消积分项的,使用PD或者P控制,没有I的控制,这样,超调量和调节时间都会同时减少。当误差比较小的时候,引入积分项,消除静态误差。

缺点

需要经验来确定判断误差的大小,在什么时候使用积分分离比较合适,也就是误差多大的时候取消积分。

应用
主要用于消除余差,该方法特别适用于生产设备启动阶段的控制。

C语言实现:只需要添加一句判断语句和对积分处理。

无积分分离式的PID:

sptr->Error_sum+=sptr->iError;//积分累加
 iIncpid=sptr->Proportion * sptr->iError                  // P
         +sptr->Integral * sptr->Error_sum                // I
         +sptr->Derivative * (sptr->iError-sptr->Error1); // D

积分分离式PID:

  #include<math.h>
  int index=0;//积分分离标志
   //积分分离处理 
  if(abs(sptr->iError)> 40) sptr->index=0; 
  else 
  {
  	sptr->index=1;
	sptr->Error_sum+=sptr->iError;//积分累加
  }
  iIncpid=sptr->Proportion * sptr->iError                          // P
         +sptr->Integral * (sptr->Error_sum * index)             // I
         +sptr->Derivative * (sptr->iError-sptr->Error1);          // D

2、变速积分PID:

变积分PID可以看作是积分分离式PID的变体,积分分离式PID 积分的的权重是1或者0,而变积分PID积分的权重会动态变化。取决于偏差,偏差越大,积分越慢。

优缺点和积分分离式PID差不多,只不过,这个变速积分PID更加科学。

积分分离式PID:

#include<math.h>
#define I_MAX 40
#define I_MIN 5
int index=0;//积分分离标志
   //变积分处理 
  if(abs(sptr->iError)> I_MAX) index=0; 
  else if(abs(sptr->iError)< I_MIN) index=1;
  else   index=(I_MAX -  abs(sptr->iError) / (I_MAX -  I_MIN);
  if(index!=0) sptr->Error_sum+=sptr->iError;//积分累加
  iIncpid=sptr->Proportion * sptr->iError                  // P
         +sptr->Integral * (sptr->Error_sum * index)              // I
         +sptr->Derivative * (sptr->iError-sptr->Error1); // D
         
 //变速积分也可以这样处理:更加灵活
  if(fabs(sptr->iError)> I_MAX) index=0; 
  else if(fabs(sptr->iError)< I_MIN) index=1;
  else if(fabs(sptr->iError>10&&abs(sptr->iError)<20)) index=0.4;
  else if(fabs(sptr->iError>30&&abs(sptr->iError)<50)) index=0.8;
  else   index=(I_MAX -  abs(sptr->iError) / (I_MAX -  I_MIN); 

五、两种针对微分的PID

不完全微分PID:

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 西门子1200是一种数字化的智能控制器,具备先进的PID控制功能。 PID是Proportional-Integral-Derivative的缩写,是一种控制方法,广泛应用于工业自动化领域中。 在西门子1200中,PID控制用于调节和稳定系统的输出值,以使其达到预设的目标值。PID控制器有三个组成部分:比例控制、积分控制和微分控制。 比例控制通过与目标值的误差成比例的方式,调节输出值,其作用是根据误差的大小进行调节,使之对应比例地更改输出值。比例增益因子决定了比例控制的强度。 积分控制通过对误差的积分累计,逐渐减小误差,并降低系统的超调。积分项对于去除系统静态误差和提高系统稳定性非常重要。 微分控制根据误差变化率的快慢来调节输出值,其作用是对系统的超调进行抑制,使系统的响应更加平滑。微分项可以帮助系统更好地响应变化,减少过程中的振荡。 在西门子1200中,可以通过参数设置PID控制的各项参数,如比例增益因子、积分时间和微分时间等,来满足不同系统的要求。PID控制器可以根据系统的实际情况进行调整和优化,以实现更准确、稳定的控制效果。 总之,西门子1200的PID控制功能是一种高级的控制方法,可以根据系统的需求和实际情况,调节和稳定系统的输出值,实现精确的控制效果。它在工业自动化中起着重要的作用。 ### 回答2: 西门子1200是一种PID控制器,用于实现过程控制系统的自动控制。PID代表比例(Proportional)、积分(Integral)和微分(Derivative)控制。 比例控制(P)是PID控制的基本部分,它通过测量变量(例如温度或压力)与设定值之间的差异,并乘以一个比例系数来产生一个控制输出。这个输出与被控变量的变化有直接关系,但有可能存在稳态偏差(steady-state error)。 积分控制(I)用于消除稳态偏差。它将控制输出与时间的积分累加,并乘以积分系数,以增加输出对于稳态偏差的修正。 微分控制(D)通过测量变量的变化率,即变量的导数,并乘以微分系数来影响控制输出。它用于减小系统动态响应中的震荡或过冲。 在西门子1200中,PID控制可以通过设置比例系数、积分时间和微分时间来参数化。比例系数决定了控制输出与误差之间的线性关系,积分时间决定了积分控制的响应速度和稳态精度,微分时间决定了微分控制对于变化率的响应速度。 PID控制的优点是简单且易于实现,可以适应不同的过程要求,并能够通过调整参数来优化系统性能。然而,PID控制也有其局限性,例如在非线性系统或具有大的滞后效应的系统中,可能会出现控制精度不高的问题。 总之,西门子1200的PID控制器提供了一种灵活且可调节的方法来实现自动控制,并可以根据系统要求进行优化。 ### 回答3: 西门子1200的pid,是指西门子公司生产的一种PID控制器,适用于工业自动化控制领域。PID是Proportional-Integral-Derivative的缩写,中文译为比例-积分-微分控制。 首先,比例(Proportional)控制是指根据误差的大小来调节输出信号的幅度,即误差越大,输出信号变化幅度越大,反之亦然。比例控制能迅速地消除误差,但可能会产生震荡。 其次,积分(Integral)控制是指根据误差的累积值来调节输出信号的幅度,以消除系统静态误差。积分控制能够消除较小的误差,但可能导致系统响应时间延长。 再次,微分(Derivative)控制是指根据误差变化的速率来调节输出信号的幅度,以预测系统响应趋势。微分控制能够提高系统的稳定性和响应速度,但对测量噪声敏感,并可能引入额外的抖动。 西门子1200的PID控制器具有以下特点: 1. 响应速度快:采用高性能的处理器和算法,能够实时地对控制信号进行计算和调节,实现较快的响应速度。 2. 精度高:采用精密的测量和控制算法,能够实现精确的控制,提高系统的稳定性和精度。 3. 稳定性好:通过合理地调节比例、积分和微分参数,能够实现系统的稳定控制,避免过度调节和震荡。 4. 用户友好:具有友好的用户界面和操作方式,便于用户进行参数设置和监控。 总之,西门子1200的PID控制器是一种高性能的控制设备,能够广泛应用于各种工业领域,实现对系统的精确控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值