精华内容
下载资源
问答
  • 增量式pid控制
    千次阅读
    2021-09-04 13:54:21

    数字 PID 控制算法通常分为位置式 PID 控制算法和增量式 PID 控制算法

    一、位置式 PID 算法 :

     e(k): 用户设定的值(目标值) - 控制对象的当前的状态值 
    
    比例P :  e(k)
    
    积分I :e(i)   误差的累加
    
    微分D : e(k) - e(k-1) 这次误差-上次误差
    

    也就是位置式PID是当前系统的实际位置,与你想要达到的预期位置的偏差,进行PID控制

    因为有误差积分 ∑e(i),一直累加,也就是当前的输出u(k)与过去的所有状态都有关系,用到了误差的累加值;(误差e会有误差累加),输出的u(k)对应的是执行机构的实际位置,,一旦控制输出出错(控制对象的当前的状态值出现问题 ),u(k)的大幅变化会引起系统的大幅变化

    并且位置式PID在积分项达到饱和时,误差仍然会在积分作用下继续累积,一旦误差开始反向变化,系统需要一定时间从饱和区退出,所以在u(k)达到最大和最小时,要停止积分作用,并且要有积分限幅和输出限幅

    所以在使用位置式PID时,一般我们直接使用PD控制

    而位置式 PID 适用于执行机构不带积分部件的对象,如舵机和平衡小车的直立和温控系统的控制。

    二、增量式PID

    比例P :  e(k)-e(k-1)  这次误差-上次误差
    
    积分I :  e(i)   误差  
    
    微分D : e(k) - 2e(k-1)+e(k-2)  这次误差-2*上次误差+上上次误差
    
    增量式PID根据公式可以很好地看出,
    一旦确定了 KP、TI  、TD,只要使用前后三次测量值的偏差,
    即可由公式求出控制增量
    

    而得出的控制量▲u(k)对应的是近几次位置误差的增量,而不是对应与实际位置的偏差 没有误差累加

    也就是说,增量式PID中不需要累加。控制增量Δu(k)的确定仅与最近3次的采样值有关,容易通过加权处理获得比较好的控制效果,并且在系统发生问题时,增量式不会严重影响系统的工作

    总结:增量型 PID,是对位置型 PID 取增量,这时控制器输出的是相邻两次采样时刻所计算的位置值
    之差,得到的结果是增量,即在上一次的控制量的基础上需要增加(负值意味减少)控制量。

    float Current_Error;//当前误差
    
    float Last_Error;//上一次误差
    
    float Previous_Error;//上上次误差
    
    float Increase;   //最后得出的实际增量
    
    float Point;   //期望值
    
    float NowPlace;   //实际值
    
    Current_Error = Point - NowPlace;   // 计算当前误差
    
    Increase =  P * (Current_Error - Last_Error) +  
    
     I * Current_Error  +   
    
     D  * (Current_Error  - 2 * Last_Error + Previous_Error);   //增量式PID公式
     
     Previous_Error = Last_Error;   // 更新前次误差
     Last_Error = Current_Error;        // 更新上次误差
    
     return Increase;   // 返回增量
     
    

    增量式与位置式区别

    1增量式算法不需要做累加,控制量增量的确定仅与最近几次偏差采样值有关,计算误差对控制 量计算的影响较小。而位置式算法要用到过去偏差的累加值,容易产生较大的累加误差。

    2增量式算法得出的是控制量的增量,例如在阀门控制中,只输出阀门开度的变化部分,误动作 影响小,必要时还可通过逻辑判断限制或禁止本次输出,不会严重影响系统的工作。 而位置式的输出直接对应对象的输出,因此对系统影响较大。

    3增量式PID控制输出的是控制量增量,并无积分作用,因此该方法适用于执行机构带积分部件的对象,如步进电机等,而位置式PID适用于执行机构不带积分部件的对象,如电液伺服阀。

    4在进行PID控制时,位置式PID需要有积分限幅和输出限幅,而增量式PID只需输出限幅

    位置式PID优缺点:
    优点:
    ①位置式PID是一种非递推式算法,可直接控制执行机构(如平衡小车),u(k)的值和执行机构的实际位置(如小车当前角度)是一一对应的,因此在执行机构不带积分部件的对象中可以很好应用

    缺点:
    ①每次输出均与过去的状态有关,计算时要对e(k)进行累加,运算工作量大。

    增量式PID优缺点:
    优点:
    ①误动作时影响小,必要时可用逻辑判断的方法去掉出错数据。
    ②手动/自动切换时冲击小,便于实现无扰动切换。当计算机故障时,仍能保持原值。
    ③算式中不需要累加。控制增量Δu(k)的确定仅与最近3次的采样值有关。

    缺点:
    ①积分截断效应大,有稳态误差;

    ②溢出的影响大。有的被控对象用增量式则不太好;

    • 比例控制对于惯性较大对象,控制过程缓慢,控制品质不佳。比例微分控制可提高控制速度,对惯性较大对象,可改善控制质量,减小偏差,缩短控制时间。
    • 理想微分作用持续时间太短, 执行器来不及响应。实际使用中,一般加以惯性延迟,称为实际微分。
    • PD 调节以比例调节为主,微分调节为辅,PD调节是有差调节
    • PD 调节具有提高系统稳定性、抑制过渡过程最大动态偏差的作用。
    • PD 调节有利于提高系统响应速度。
    • PD 调节抗干扰能力差,一般只能应用于被调参数 变化平稳的生产过程。
    • 微分作用太强时,容易造成系统振荡
    更多相关内容
  • 实用标准 增量式 PID 控制算法的 MATLAB 仿真 PID 控制的原理 在工程实际中应用最为广泛的调节器控制规律为比例积分微分控制 简称 PID 控制又称 PID 调节 PID 控制器问世至今已有近 70 年历史它以其 结构简单稳定性...
  • 设一被控对象G(s)=50/(0.125s^2+7s),用增量式PID控制算法编写仿真程序(输入分别为单位阶跃、正弦信号,采样时间为1ms,控制器输出限幅:[-5,5],仿真曲线包括系统输出及误差曲线,并加上注释、图例)。
  • 增量式PID控制算法.doc

    2020-07-26 19:49:46
    增量式PID算法 原理及实现方法 物理模型 软件算法流程图流程图 增量式PID算法的优点,对声音信标麦克纳姆轮pid的代码 写法有帮助,里面还有一个连接,附带代码,可以参考。搜集全网最实用资料。
  • 这里个大家分享了一个增量式PID控制C语言的源代码。
  • 增量式PID控制算法每次输出只输出控制增量,必要时可通过逻辑判断限制故障时的输出,从而降低了因机器故障导致PID误输出给系统带来严重后果的影响。  在实际系统中,PLC控制模拟量可采用PLC自带的PID过程控制模块...
  • 增强式PID集成程序,只需输入当前值、期望、比例、积分、微分、限幅即可得到增量式pid控制程序。
  • 参考资料-增量式PID控制在温控系统中的应用.zip
  • 增量式控制算法可以使存储空间减小,运行更迅速
  • 增量式控制PID算法,一种PID控制算法代码,适合参考使用
  • function f(a,M) %a选则输入信号,M为输出图形的横坐标最大值; %单位阶跃f(1,1); %正弦波f(2,2) %三角波f(3,1) ts=0.001;%采样时间 G=tf(50,[0.125,7, 0]) Gd=c2d(G,ts,'z');...[num,den]=tfdata(Gd,'v') ...
  • 增量式PID matlab控制例程,可以尝试调节Kp/Ki/Kd
  • 数控恒流源在计量、半导体、传感器等领域得到广泛应用,针对目前市场上大部分恒流源产品精度和智能化水平偏低等问题,提出了一种增量式PID控制的数控恒流源设计方法。该系统通过单片机对恒流源模块的输出进行采样,...
  • 这是之前做设计的时候存下来的代码,通过quartus使用verilog hdl实现的基本PID控制,做的不算好,只实现了基本的PID控制,精度不敢保证。 之前本来想在网上找,但是找不到不到只能自己学着写。 应付一下课程设计和...
  • 增量式PID控制在温控系统中的应用
  • (1)包含必要的头文件及定义程序需要的结构。    : window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText":
  • 因为课程设计,需要实现PID的控制器,想在网上寻求一下现成的代码发现都没有。 于是个人尝试了一些,刚开始学习PID控制算法,练习了一些代码,这个是我尝试的结果希望对大家有帮助。
  • 增量式PID控制算法每次输出只输出控制增量,必要时可通过逻辑判断限制故障时的输出,从而降低了因机器故障导致PID误输出给系统带来严重后果的影响。  在实际系统中,PLC控制模拟量可采用PLC自带的PID过程控制模块...
  • C语言实现的PID控制器,包含位置式和增量式C语言实现方式,文件包含头文件和源文件,添加到自己工程里就可以调用使用了。
  • 详细介绍51单片机增量式PID算法
  • 本代码是基于STM32F103ZET6和编码器直流电机编写的,模糊自整定增量式PID控制电机转动速度的程序。并且是基于正点原子代码格式编写的,相对于普通增量式PID来说控制效果更好,是很好的算法优化。对于初学者有重要的...
  • 增量式PID控制算法

    千次阅读 2021-05-29 15:20:30
    增量式PID控制算法增量式PID控制算法概述: 注:本文内容摘自《先进PID控制MATLAB仿真(第4版)》刘金琨 编著,研读此书受益匪浅,感谢作者! 增量式PID控制算法概述: 当执行机构需要的控制量的增量(例如驱动步进...

    增量式PID控制算法


    注:本文内容摘自《先进PID控制MATLAB仿真(第4版)》刘金琨 编著,研读此书受益匪浅,感谢作者!

    增量式PID控制算法概述:

    当执行机构需要的控制量的增量(例如驱动步进电机)时,应采用增量式PID控制。根据递推原理可得
    u ( k − 1 ) = K p ( e r r o r ( k − 1 ) + K i ∑ j = 0 k − 1 e r r o r ( j ) + K d ( e r r o r ( k − 1 ) − e r r o r ( k − 2 ) ) ) u(k-1)=K_p(error(k-1)+K_i\sum_{j=0}^{k-1}error(j)+K_d(error(k-1)-error(k-2))) u(k1)=Kp(error(k1)+Kij=0k1error(j)+Kd(error(k1)error(k2)))
    增量式PID控制算法
    Δ u ( k ) = u ( k ) − u ( k − 1 ) \Delta u(k)=u(k)-u(k-1) Δu(k)=u(k)u(k1)
    Δ u ( k ) = K p ( e r r o r ( k ) − e r r o r ( k − 1 ) ) + K i e r r o r ( k ) + K d ( e r r o r ( k ) − 2 e r r o r ( k − 1 ) + e r r o r ( k − 2 ) ) \Delta u(k)=K_p(error(k)-error(k-1))+K_ierror(k)+K_d(error(k)-2error(k-1)+error(k-2)) Δu(k)=Kp(error(k)error(k1))+Kierror(k)+Kd(error(k)2error(k1)+error(k2))
    式中 Δ u ( k ) \Delta u(k) Δu(k)为控制增量, K p K_p Kp为比例系数, K i K_i Ki为积分时间常数, K d K_d Kd为微分时间常数, e r r o r ( k ) error(k) error(k)为本次偏差, e r r o r ( k − 1 ) error(k-1) error(k1)为上次偏差, e r r o r ( k − 2 ) error(k-2) error(k2)为上上次偏差。
    由于控制算法中不需要累加,控制增量 Δ u ( k ) \Delta u(k) Δu(k)仅与最近 k k k次的采样有关,所有误动作时影响小,而且较容易通过加权处理获得比较好的控制效果。
    增量式PID偏差不需要累加,输出结果只和最近3次的偏差结果有关。

    展开全文
  • 51单片机PID算法程序(三)增量式PID控制算法.doc51单片机PID算法程序(三)增量式PID控制算法.doc51单片机PID算法程序(三)增量式PID控制算法.doc51单片机PID算法程序(三)增量式PID控制算法.doc51单片机PID算法程序(三)...
  • 基于增量式PID控制的半导体制冷温控系统.pdf
  • 增量式PID控制算法的MATLAB仿真.pdf增量式PID控制算法的MATLAB仿真.pdf增量式PID控制算法的MATLAB仿真.pdf增量式PID控制算法的MATLAB仿真.pdf增量式PID控制算法的MATLAB仿真.pdf增量式PID控制算法的MATLAB仿真.pdf...
  • 增量式PID控制算法的MATLAB仿真.docx增量式PID控制算法的MATLAB仿真.docx增量式PID控制算法的MATLAB仿真.docx增量式PID控制算法的MATLAB仿真.docx增量式PID控制算法的MATLAB仿真.docx增量式PID控制算法的MATLAB仿真....
  • C# 增量式PID控制

    2015-08-01 18:11:51
    C#开发的关于增量PID控制小程序,是控制台应用程序,适合初学者增强对PID的了解及其开发。
  • 位置式PID控制与增量式PID控制的比较

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,005
精华内容 3,202
关键字:

增量式pid控制