问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

PID参数解析:一文读懂PID并会调试kp,ki,kd(位置式 增量式PID)

创作时间:
作者:
@小白创作中心

PID参数解析:一文读懂PID并会调试kp,ki,kd(位置式 增量式PID)

引用
1
来源
1.
https://www.kpfans.com/article/K5E2Aw3OvD.html

PID控制是工业自动化领域中最常用的控制算法之一,广泛应用于各种需要精确控制的场景,如温度控制、速度控制、位置控制等。本文将从PID控制的基本概念出发,深入解析其各个参数的作用及其对系统性能的影响,并通过具体的代码示例和响应曲线分析,帮助读者掌握PID参数的调节方法。

什么是PID

PID控制是一种基于误差的反馈控制算法,通过比例(P)、积分(I)和微分(D)三个参数的组合来实现对系统的精确控制。具体来说:

  • P(比例):将误差与比例系数相乘,直接反映误差的大小。
  • I(积分):对误差进行积分运算,消除系统的稳态误差。
  • D(微分):对误差进行微分运算,预测误差的变化趋势。

在实际应用中,PID控制的目标是使系统的输出尽可能接近设定值,同时保证系统的稳定性和响应速度。

PID参数对系统性能的影响

比例系数Kp

随着比例系数Kp的增加,系统的响应速度会加快,但同时也会导致超调量增大,系统震荡加剧。因此,Kp的设置需要在响应速度和稳定性之间取得平衡。

积分时间常数Ti

积分作用的强弱取决于积分时间常数Ti。Ti越小,积分作用就越强,反之则积分作用减弱。积分控制的主要作用是改善系统的稳态性能,消除系统的稳态误差。但是,加入积分控制会使得系统的相对稳定性变差,Ti值的减小可能导致系统的超调量增大,Ti值的增大可能使得系统响应趋于稳态值的速度减慢。

微分时间常数Td

随着微分时间常数Td的增加,闭环系统响应的响应速度加快,调节时间减小。微分环节的主要作用是提高系统的响应速度。但是过大的Kd值会因为系统造成或者受控对象的大时间延迟而出现问题。微分环节对于信号无变化或变化缓慢的系统不起作用。

PID控制算法的两种实现方式

位置型控制算法

位置闭环控制就是根据编码器的脉冲累加测量电机的位置信息,并与目标值进行比较,得到控制偏差,然后通过对偏差的比例、积分、微分进行控制,使偏差趋向于零的过程。

代码实现如下:

int Position_PID (int Encoder,int Target)
{
 static float Bias,Pwm,Integral_bias,Last_Bias;
 Bias=Encoder-Target; //计算偏差
 Integral_bias+=Bias; //求出偏差的积分
 Pwm=Position_KP*Bias+Position_KI*Integral_bias+Position_KD*(Bias-Last_Bias);
 Last_Bias=Bias;       //保存上一次偏差
 return Pwm;           //输出
}

增量型控制算法

速度闭环控制就是根据单位时间获取的脉冲数(这里使用了M法测速)测量电机的速度信息,并与目标值进行比较,得到控制偏差,然后通过对偏差的比例、积分、微分进行控制,使偏差趋向于零的过程。

代码实现如下:

int Incremental_PI (int Encoder,int Target)
{
  static float Bias,Pwm,Last_bias;
  Bias=Encoder-Target;                                  //计算偏差
  Pwm+=Velocity_KP*(Bias-Last_bias)+Velocity_KI*Bias;   //增量式PI控制器
  Last_bias=Bias;                                    //保存上一次偏差
  return Pwm;                                           //增量输出
}

如何调节PID三个参数

PID算法具有三大特性:稳定性、快速性和准确性。在实际应用中,需要根据具体的应用场景来调整PID参数。以下是几个具体的调节示例:

示例1:KP=500, KI=0, KD=0

特点:

  • 比例控制较大,出现了震荡
  • 需要加入微分D控制抑制
  • 积分控制为零,但是没有静差,因为比例控制较强

示例2:KP=50, KI=0, KD=0

特点:

  • 比例控制KP减小,无震荡,响应变慢了
  • 无积分控制且比例控制较弱时,会出现静差(积分减少静差)

示例3:KP=500, KI=0, KD=400

特点:

  1. 在比例控制较强的情况下,加入比较大的微分控制,震动次数较小。
  2. 微分控制较大,响应变慢

示例4:KP=120, KI=0.1, KD=500

目标:控制电机转90°,需要严格控制超调量、和静差。但是对响应速度无要求。

特点:

  1. 因为响应速度无要求,一般比例控制应该给小一点。
  2. 加大系统的阻尼防止超调,也就是微分参数尽量大。
  3. 另外因为比例参数较小,应该加入积分控制减小静差。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号