首页 > 编程语言 >控制算法之一:PID控制

控制算法之一:PID控制

时间:2024-11-17 12:14:56浏览次数:3  
标签:控制 误差 积分 控制算法 PID 微分 阻尼作用

PID控制广泛应用于温度控制、速度控制、位置控制等领域,其优势在于简单、鲁棒且易于实现。PID控制器问世至今已有近 70 年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。 当被控对象的结构和参数不能完全掌握, 或得不到精确的数学模型 时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定, 这时应用 PID 控制技术最为方便。

利用公式可表达为:

其中,e(t) =  SetValue(设定值) - ActualValue(实际值),等号右边的三项分别代表比例环节,积分环节,微分环节。

1. 比例环节(P)

比例项是必须要存在的,积分项和微分项视需要添加。比例作用是根据控制偏差与设定值之间的差异来输出控制信号。比例作用可以快速响应变化,增加比例增益(Kp)可以加快系统的响应速度,减少稳态误差。但是,过高的比例增益会导致系统过冲和振荡。缺点是不能消除稳态误差。例如:一个温度控制系统,如果只采用比例控制,那么当控制量刚好和热量损失相同时,那么系统温度就会处于稳定状态,误差始终存在,维持在一个恒定值。

2. 积分环节(I)

积分控制可以有效地消除静差,其原理为只要有误差存在,就会一直对误差积分,控制量就会减小误差,直到误差为零。其中Ki决定了积分作用消除系统稳态误差的速度。较大的Ki值会更快地消除误差,但可能导致积分饱和,从而引起系统超调。较小的Ki值则会导致误差消除速度慢。

3. 微分环节(D)

主要起到阻尼作用。e(t) = SetValue - ActualValue。de(t)/dt = -dy/dt,其中令 y =  ActualValue,相当于控制量与y的趋势相反,所以起到阻尼左右。从另一方面考虑, e(t)求导后更加敏感,当有扰动能提前进行干预。作用可以概括两部分:(1)稳态时,阻尼作用,能够抗干扰,提前对扰动进行干预;(2)动态时,阻尼作用,突然变化快,抑制其速度,防止超调。

当微分过大,会造成震荡,因为当微分作用与比例作用方向相同,就会造成控制量过大;或者突然有个干扰,就会有个特别大的控制量。对于噪声较大的系统一般不用微分或在微分起作用之前先对信号进行滤波。

阻尼作用可以这样理解,心里设想一个弹簧:现在在平衡位置上。拉它一下,然后松手。这时它会震荡起来。因为阻力很小,它可能会震荡很长时间,才会重新停在平衡位置。

请想象一下:要是把上图所示的系统浸没在水里,同样拉它一下 :这种情况下,重新停在平衡位置的时间就短得多。这样是不是就容易理解多了。^-^

关于PID的调参,附上一个可以在线调参的直升机PID控制系统,可以使大家能更好的理解PID各个参数的作用效果。

Webpack App

另外,还有个人认为比较不错的B站视频

通俗易懂的 PID 控制算法讲解_哔哩哔哩_bilibili

标签:控制,误差,积分,控制算法,PID,微分,阻尼作用
From: https://blog.csdn.net/weixin_40046251/article/details/143754384

相关文章

  • HarmonyOS4+NEXT星河版入门与项目实战--------TypeScript语法(循环控制与函数方法)
    文章目录1、循环控制1、for循环与while循环2、数组快捷迭代方法2、函数1、function关键字2、可选参数3、默认参数4、匿名函数5、函数表达式6、结合使用7、函数声明案例1、循环控制1、for循环与while循环2、数组快捷迭代方法数组除了使用常规的for循环......
  • HarmonyOS4+NEXT星河版入门与项目实战--------TypeScript语法(变量声明与条件控制)
    文章目录1、变量声明1、格式与案例2、在线体验TypeScript2、条件控制1、if-else条件控制switch条件控制1、变量声明1、格式与案例TypeScript常见变量主要有string字符串、number数值、boolen布尔、any不确定类型、Object对象类型、Array数组类型以及......
  • 使用python语言实现获取当前时间,按照电子表样式打印到控制台
    使用python语言实现获取当前时间,按照电子表样式打印到控制台clock.py1fromdatetimeimportdatetime23#数字04zero_line_01='---'5zero_line_02='||'6zero_line_03='||'7zero_line_04='||'8zer......
  • 六足仿生机器人机械仿真及控制系统设计(开题报告)
    一、选题目的的理论价值和现实意义选题的理论价值:本次毕业设计是结合慧鱼机器人模型,设计机器人的控制系统与操纵机构其目的是综合运用基础理论知识达到提高自己分析问题和解决问题的能力,提高机械控制系统设计和操纵机构的设计能力,并增强动手能力与计算机编程能力。选题的......
  • 如何防止手机被远程控制,安全远控推荐ToDesk
    随着电子设备及各样应用的兴起,手机可以为人们带来的便利已越来越多,从二十年前的联络通话,到现如今的社交娱乐、导航、缴费等;通过智能手机中的软件均可轻松实现。然而虽然手机的妙用有很多,但对于一些不太善用电子设备的中老年亲友来说,在使用中却也存在一定的被诈骗风险。据报道,有很......
  • 安卓不需要root的远程控制,ToDesk速度最快
    ToDesk作为知名且专业的国产远程控制软件,不仅功能全面、安全系数高,而且响应速度快、几乎无延迟、操作也稳定、使用无门槛。不仅能够帮助广大用户实现PC电脑间、电脑到手机平板移动设备之间的互连互通;更是能够免root权限控制安卓系统的设备,及时解决亲友用不明白电子设备的问题,随时......
  • 国标GB28181-2016平台LiteGBS国标GB28181视频平台球机安装好后发现云台不受控制的解决
    随着视频技术的不断进步,视频监控、直播、执法记录仪等多种视频资源的应用场景愈发广泛且多样化。LiteGBS国标GB28181视频平台不仅在数量上快速增长,更在质量、格式及编码标准等方面展现出极高的多样性。因此,为了实现对这些资源的有效整合和统一管理输出,信息化项目中对于视频综合接......
  • java请求频次控制
    1、添加工具类importjava.util.concurrent.atomic.AtomicInteger;/***频次调用控制类*/publicclassRateLimiterUtil{privatefinalAtomicIntegersum;privatefinalintmaxRequests;privatelongperiod=1000;//1秒privatelonglastTime......
  • 关于Spring生命周期控制的接口:SmartLifecycle
    在Spring框架中,SmartLifecycle接口和StopWatch类都是用来管理和监测应用行为的强大工具。SmartLifecycle提供了对Springbeans生命周期的细粒度控制,而StopWatch用于精确测量代码段的执行时间,对于性能分析和优化非常有用。下面,我们将结合SmartLifecycle和StopWatch......
  • 什么是运动控制工控机?
    运动控制工控机是专为工业环境中的运动控制任务设计的高性能计算机,它集成了先进的运动控制技术以及工业计算机的稳定性能。运动控制工控机具有高精度、高可靠性、强实时性和良好的扩展性等特点。它能够实现对工业设备的精确控制,满足复杂运动控制场景的需求,同事能在恶劣的工业环......