PID内容学习笔记

学习目的与个人理解:

1. 解决 “系统不听话” 的实际问题

很多现实中的系统不会自动达到理想状态,比如:
  • 想让水温稳定在 50℃,但加热会让温度超过,停止加热又会下降。
  • 想让机械臂精准停在某个位置,但惯性会让它多走一点,反向调整又可能摆过头。

PID 的作用就是通过计算 “当前状态与目标的差距”,自动调整控制力度,让系统快速、平稳地贴近目标,避免反复波动。

2. 自动化控制的基础逻辑

  • PID 是最经典、应用最广的控制算法,没有之一。
  • 它的 “比例(P)、积分(I)、微分(D)” 三部分,分别对应了 “根据当前差距调整”“修正长期偏差”“预判未来趋势” 的控制逻辑。
  • 学会 PID,相当于理解了自动化控制的核心思路,后续学习更复杂的控制算法(如模糊控制、神经网络控制)时,会更容易上手。
  • 把 PID 用在小车和无人机控制上,核心就是让它们 “听话”—— 精准按指令走、不跑偏、不晃荡,具体应用场景和作用特别明确。

3.PID原理:

比例,积分,微分,控制,简称PID控制,其中P表示比例、I表示积分、D表示微分。

PID控制算法是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制。

而且也衍生出多种相关的控制算法:P控制、PI控制、PD控制增量式PID控制、抗饱和PID、微分先行PID、自适应PID、模糊PID控制等。

虽然这些算法各不相同,但都是基于最基本的PID控制算法为原型的。

image

PID控制算法的原理是基于负反馈控制理论的。当系统处于稳态时,PID算法通过不断测量系统的实际输出和期望输出之间的误差,并根据误差的大小来调整控制器的输出。PID算法可以通过三种不同的控制方式来实现这一目标:

环节参数
比例 Kp
积分 Ti
微分 Td

1.比例环节:

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

2.积分环节:

从积分部分的数学表达式可以知道, 只要存在偏差, 则它的控制作用就不断的增加; 只有在偏差e(t)=0时, 它的积分才能是一个常数,控制作用才是一个不会增加的常数。 可见,积分部分可以消除系统的偏差。

积分环节的调节作用虽然会消除静态误差,但也会降低系统的响应速度,增加系统的超调量。积分常数Ti越大,积分的积累作用越弱,这时系统在过渡时不会产生振荡; 但是增大积分常数Ti会减慢静态误差的消除过程,消除偏差所需的时间也较长, 但可以减少超调量,提高系统的稳定性。

当 Ti 较小时, 则积分的作用较强,这时系统过渡时间中有可能产生振荡,不过消除偏差所需的时间较短。所以必须根据实际控制的具体要求来确定Ti 。

3.微分环节:

实际的控制系统除了希望消除静态误差外,还要求加快调节过程。在偏差出现的瞬间,或在偏差变化的瞬间, 不但要对偏差量做出立即响应(比例环节的作用), 而且要根据偏差的变化趋势预先给出适当的纠正。为了实现这一作用,可在 PI 控制器的基础上加入微分环节,形成 PID 控制器。

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

4.PID的分类

1.模拟PID

在我们的微处理器里面,因为控制器是通过软件实现其控制算法的,所以必 须对模拟调节器进行离散化处理,这样它只需根据采样时刻的偏差值计算控制 量。因此,我们需要使用离散的差分方程代替连续的微分方程。模拟PID控制原理:如图所示是一个小功率直流电机的调速原理图。给定速度n0(t)与实际转n(t)速进行比较 ,其差值e(t) ,经过 PID 控制器调整后输出电压控制信号 , 经过功率放大后,驱动直流电动机改变其转速。

r(t)是给定输入,e(t)是偏差,u(t)是控制器的输出,y(t)是被控对象的输出。

给定值与实际输出值构成控制偏差 e(t):

                  e(t) = r(t) - y(t)

image

 

模拟PID控制器的控制规律如下:

image

 

 2.数字PID

1.位置型PID算法:

由于计算机控制是一种采样控制, 它只能根据采样时刻的偏差计算控制量,而不能像模拟控制那样连续输出控制量进行连续控制。 由于这一特点,式中的积分项和微分项不能直接使用,必须进行离散化处理。离散化处理的方法为:以T作为采样周期,作为采样序号,则离散采样时间对应着连续时间 ,用矩形法数值积分近似代替积分,用一阶后,向差分近似代替微分,最后可以得到离散的 PID 表达式为:

image

   image

  • 其中:k ―― 采样序号,k =0,1,2,……;
  • uk ―― 第 k 次采样时刻的计算机输出值;
  • e k ―― 第k次采样时刻输入的偏差值;
  • e k-1 ―― 第k-1次采样时刻输入的偏差值;
  • Ki ――积分系数,Ki=Kp *T Ti ;
  • Kd ――微分系数, Kd=Kp *Td T ;

算法的缺点是: 由于全量输出, 所以每次输出均与过去状态有关, 计算时要对 ek 进行累加,工作量大; 并且因为计算机输出对应的是执行机构的实际位置, 如果计算机出现故障,输出将大幅度变化,会引起执行机构的大幅度变化,因此造成严重的生产事故在实际生产中是不允许的。增量式 PID 控制算法可以避免着重现象发生。

位置式 PID 的 C 语言实现:

屏幕截图_21-10-2025_162147_blog.csdn.net

2.增量型PID算法

增量式PID是指数字控制器的输出只是控制量的增量∆uk。当执行机构需要的控制量是增量,而不是位置量的绝对数值时,可以使用增量式PID控制算法进行控制。 增量式PID控制算法可以通过位置式离散PID 表达式推导出,可以得到控制器的第 k-1个采样时刻的输出值为:

image

增量式PID控制算法与位置式PID算法相比,计算量小的多,因此在实际中得到广泛的应用

增量式 PID 的 C 语言实现:

 屏幕截图_21-10-2025_163824_blog.csdn.net

 

4.PID调制:

参数调试是PID控制系统中非常重要的一步,调整合适的参数可以使系统响应速度更快、稳定性更高、超调量更小等。以下是一些常用的参数调试方法:

Ziegler-Nichols法
该方法通过实验获取系统的临界增益Kc和周期Tc,并根据这些参数计算出比例、积分和微分参数。具体步骤是在系统关闭环路的情况下,逐渐增大比例参数Kp,直到系统开始产生振荡,记录此时的增益Kc和周期Tc。然后根据Ziegler-Nichols法则计算比例、积分和微分参数。
Ziegler-Nichols法它的基本思想是通过试验获取系统的临界增益Kc和周期Tc,然后根据这些参数计算出合适的PID参数。

具体步骤如下:

1)将系统的控制器参数设置为Kp=0, Ki=0, Kd=0,即不带控制器。

2)逐渐增大比例参数Kp,直到系统开始产生振荡。

3)记录此时的增益Kc和周期Tc。

4)根据Ziegler-Nichols法则计算比例、积分和微分参数:

比例参数Kp = 0.6 * Kc
积分参数Ki = 1.2 * Kc / Tc
微分参数Kd = 0.075 * Kc * Tc
其中,Kc是系统的临界增益,Tc是系统的临界周期。

Ziegler-Nichols法的优点是简单易行,可以快速得到PID控制器的参数。但它的缺点是在试验过程中可能会对系统产生不必要的损坏,而且仅适用于一阶惯性系统和二阶振荡系统。

 

Cohen-Coon法
该方法通过实验获取系统的临界时间常数Tc和比例带宽R,根据这些参数计算出比例、积分和微分参数。具体步骤是在系统关闭环路的情况下,逐渐增大比例参数Kp,直到系统产生一次过渡过程(即超调量达到5%左右),记录此时的时间常数Tc和比例带宽R。然后根据Cohen-Coon法则计算比例、积分和微分参数。
它的基本思想是通过试验获取系统的临界时间常数Tc和比例带宽R,然后根据这些参数计算出合适的PID参数。

具体步骤如下:

1)将系统的控制器参数设置为Kp=0, Ki=0, Kd=0,即不带控制器。

2)逐渐增大比例参数Kp,直到系统产生一次过渡过程(即超调量达到5%左右)。

3)记录此时的时间常数Tc和比例带宽R。

4)根据Cohen-Coon法则计算比例、积分和微分参数:

比例参数Kp = (1.35 * Tc) / (R * Kc)
积分参数Ki = (0.54 * Tc) / (Kc * R)
微分参数Kd = (0.075 * Tc * R * Kc)
其中,Kc是系统的增益。

Cohen-Coon法的优点是简单易行,试验过程相对于Ziegler-Nichols法比较安全,而且适用于各种阶数的系统,但其结果可能比较粗糙。

 

频率响应法
该方法通过分析系统的频率响应特性,确定合适的比例、积分和微分参数。具体步骤是将系统置于正弦信号激励下,记录系统的频率响应曲线。根据曲线的特点确定合适的比例、积分和微分参数。该方法需要对系统的频率响应曲线有一定的理解和掌握。

在实际应用中,不同的参数调试方法可以结合使用,以达到更好的控制效果。同时,参数调试是一个迭代过程,需要反复试验和调整,直到达到满意的控制效果为止。

具体步骤如下:

将控制系统置于正弦信号激励下,记录系统的频率响应曲线;
根据曲线的特点,选择适当的参数。通常,如果系统的相位裕度(phase margin)较小,则需要增加比例参数Kp;如果系统的增益裕度(gain margin)较小,则需要增加积分参数Ti;如果系统存在高频噪声,则需要增加微分参数Td。
总之,频率响应法需要对系统的频率响应曲线进行分析,并结合PID控制器的工作原理和PID参数对系统的影响,确定合适的PID参数。与其他方法相比,频率响应法能够更好地考虑系统的动态特性,因此被广泛应用于实际工程中。但需要注意的是,频率响应法需要对系统进行一定的干扰或激励,因此在实际应用中需要谨慎选择适当的激励信号,以避免对系统造成不必要的损害。

经验法
即根据经验或试错法进行调整。该方法简单易行,但需要经过大量实验和经验积累,耗费时间较长。常见的经验法包括调整比例参数;调整积分参数,使系统在稳态时误差的绝对值趋近于零;调整微分参数,使系统的超调量和振荡幅度达到最小值

网上流传的口诀有很多,复制1个我调pid用的:

参数整定找最佳,从小到大顺序查,

先是比例后积分,最后再把微分加,

曲线振荡很频繁,比例度盘要放大,

曲线漂浮绕大湾,比例度盘往小扳,

曲线偏离回复慢,积分时间往下降,

曲线波动周期长,积分时间再加长,

曲线振荡频率快,先把微分降下来,

动差大来波动慢,微分时间应加长,

理想曲线两个波,前高后低4比1,

一看二调多分析,调节质量不会低。
————————————————
版权声明:本文为CSDN博主「佛跳墙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/rank_fei/article/details/142031918

5.PID在直线行驶,循迹避障,直角转弯,循迹之中的作用:

1.直线行驶:

小车走不直的原因比想象中多,PID 的修正逻辑也需要和具体场景结合,才能真正 “纠偏”,所以需要大量的调试,

 

posted @ 2025-11-01 18:51  Zwy4321  阅读(101)  评论(0)    收藏  举报