电子常识
PID算法是工程控制领域常用的一种算法,其有着技术成熟,不需要建立数学模型,参数整定灵活,适用性强,鲁棒性强,控制效果好等优点,得到了广泛的应用,其参数整定对控制效果影响极大,针对增量式的PID的参数整定方法在现有的文献中较少涉及,本文将对增量式PID参数整定进行一定的探讨。
PID分位置式PID和增量式PID两种,由于位置式PID控制的输出与整个过去的状态有关,用到了误差的累加值;而增量式PID的输出只与当前状态和前两状态的误差有关,因此位置式PID控制的累积误差相对更大,增量式PID输出的是控制量增量,如果微处理器出现故障,误动作影响较小,而执行机构本身有记忆功能,可仍保持原位,不会严重影响系统的工作,而位置式的输出直接对应对象的输出,对系统影响较大,因此实际中增量式PID应用更加广泛
增量式PID控制和位置式PID控制不同,增量式PID控制将当前时刻的控制量和上一时刻的控制量做差,以差值为新的控制量,是一种递推式的算法。
增量式PID控制主要是通过求出增量,将原先的积分环节的累积作用进行了替换,避免积分环节占用大量计算性能和存储空间。增量式PID控制的主要优点为:
①算式中不需要累加。控制增量Δu(k)的确定仅与最近3次的采样值有关,容易通过加权处理获得比较好的控制效果;
②计算机每次只输出控制增量,即对应执行机构位置的变化量,故机器发生故障时影响范围小、不会严重影响生产过程;
③手动—自动切换时冲击小。当控制从手动向自动切换时,可以作到无扰动切换。由于增量式需要对控制量进行记忆,所以对于不带记忆装置的系统,只能使用位置式PID控制方式进行控制。
/**************************************************************************
函数功能:增量PI控制器
1.入口参数:编码器测量值,目标速度
2.入口参数:编码器位置 ,目标位置
返回 值:电机PWM
根据增量式离散PID公式
pwm+=Kp[e(k)-e(k-1)]+Ki*e(k)+Kd[e(k)-2e(k-1)+e(k-2)]
e(k)代表本次偏差
e(k-1)代表上一次的偏差 以此类推
pwm代表增量输出
在我们的速度控制闭环系统里面,只使用PI控制
pwm+=Kp[e(k)-e(k-1)]+Ki*e(k)
**************************************************************************/
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的输出是由本次位置式pid的输出减去上次位置式的输出得到的。对比一下:
增量式:pwm+=Kp[e(k)-e(k-1)]+Ki*e(k)+Kd[e(k)-2e(k-1)+e(k-2)]
位置式:pwm =Kp*e(k) + Ki*∑e(k) + Kd[e(k)-e(k-1)]
可以看出增量式的KP和位置式的kd一样,增量式的ki和位置式的kp一样。所以对于增量式的参数整定,应该先整定KI,它反映了响应的速度,再整定KP,它反映了对超调量的限制,也就是缓减增量式KI参数过大时候的抖动。
先加大KI,这时候会越来越接近实际速度,当KI过大的时候,在切换目标速度的时候,就会抖动,这时候就是KI大了响应速度高了,但导致超调量增加,这时候就加大增量式的KP,来缓减抖动,减小超调量。
经过我自己的实验,增量式pid的位置控制,只用比例参数就够了,把kp从小往大了调,过小响应慢,过大反应会来回摆动。而如果加上积分参数的话,会来回转的很厉害,可能正是因为它和位置式的p很相似,并且他是一直在+=,以至于他越转误差越大,如果大家有比我好的想法可以评论在下方哦 欢迎指正!!
全部0条评论
快来发表一下你的评论吧 !