21-2-17 PID调试——增量式PID

21-2-17 PID调试——增量式PID

速度PID

速度PID采用增量式PI控制
源码: 内联代码片

void Motor_Speed_PI(motor_parameter_st *Motorx)
{ 
	(*Motorx).PID_speed.bias = (*Motorx).actual_speed-(*Motorx).target_speed;//计算此次偏差               
	(*Motorx).PWM-=(*Motorx).PID_speed.Kp*((*Motorx).PID_speed.bias-(*Motorx).PID_speed.last_Bias)+(*Motorx).PID_speed.Ki*(*Motorx).PID_speed.bias;			//增量式PI控制器  
	(*Motorx).PID_speed.last_Bias = (*Motorx).PID_speed.bias;//保存上一次偏差	                  
}

调参策论

PID参数调整的口诀:
参数整定找最佳,从小到大顺序查
先是比例后积分,最后再把微分加
曲线振荡很频繁,比例度盘要放大
曲线漂浮绕大湾,比例度盘往小扳
曲线偏离回复慢,积分时间往下降
曲线波动周期长,积分时间再加长
曲线振荡频率快,先把微分降下来
动差大来波动慢。微分时间应加长
理想曲线两个波,前高后低4比1
一看二调多分析,调节质量不会低
转自:https://www.cnblogs.com/agvcfy/p/9467148.html

这个策略适用的是绝对式PID,对于增量式PID来说P对应绝对式中的D,I对应绝对式中的P。

测试数据

根据先绝对式PID调整时的先P后I最后D的原则
P=0;
I=0.25;//估算得
target_speed=300;(mm/s)
可以看到虽然收敛但是反应速度不够快,尝试增大I

P=0;
I=0.4;
target_speed=300;(mm/s)
用类似二分法的思想,直接将I取到0.4,发现速度曲线震荡,无收敛趋势,(0.25+0.4)/2,将I取0.3
P=0;
I=0.3;
target_speed=300;(mm/s)
曲线收敛但还不赶快,继续增加I

P=0;
I=0.35;
target_speed=300;(mm/s)震荡大,但已经有收敛趋势

P=0.4;
I=0.35;
target_speed=300;(mm/s)
在这里插入图片描述加入P后震荡明显被抑制,但反应不够快,增加P

P=0.4;
I=0.35;
target_speed=300;(mm/s)
P设为0.8,曲线开始震荡,无收敛趋势,P超调了。同样二分法思想(0.4+0.8)/2,尝试将P设为0.6

P=0.6;
I=0.35;
target_speed=300;(mm/s)
虽然震荡幅度减小,但震荡依然存在,继续减小P

P=0.5;
I=0.35;
target_speed=300;(mm/s)
P=0.55;
I=0.35;
target_speed=300;(mm/s)在这里插入图片描述P=0.5;
I=0.3;
target_speed=300;(mm/s)P=0.5;
I=0.2;
target_speed=300;(mm/s)
P=0.5;
I=0.1;
target_speed=300;(mm/s)

P=0.55;
I=0.05;
target_speed=300;(mm/s)
在这里插入图片描述P=0.6;
I=0.05;
target_speed=300;(mm/s)
在这里插入图片描述

P=0.6;
I=0.1;
target_speed=300;(mm/s)

在这里插入图片描述
P=0.55;
I=0.1;
target_speed=300;(mm/s)在这里插入图片描述P=0.45;
I=0.1;
target_speed=300;(mm/s)
在这里插入图片描述P=0.4;
I=0.1;
target_speed=300;(mm/s)
在这里插入图片描述P=0.35;
I=0.1;
target_speed=300;(mm/s)在这里插入图片描述P=0.25;
I=0.1;
target_speed=300;(mm/s)

在这里插入图片描述P=0.3;
I=0.1;
target_speed=300;(mm/s)
在这里插入图片描述P=0.27;
I=0.1;
target_speed=300;(mm/s)
在这里插入图片描述P=0.27;
I=0.11;
target_speed=300;(mm/s)
在这里插入图片描述P=0.27;
I=0.09;
target_speed=300;(mm/s)
在这里插入图片描述
P=0.25;
I=0.09;
target_speed=300;(mm/s)在这里插入图片描述P=0.25;
I=0.1;
target_speed=300;(mm/s)

在这里插入图片描述
P=0.25;
I=0.1;
target_speed=500;(mm/s)

在这里插入图片描述快测试完才发现测试的时候电机是空转的,电机在空载和负载情况下的相应曲线并不相同。
所以一切重新再来。。

  • 42
    点赞
  • 319
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
增量式PID调试是一种基于反馈控制原理的方法,用于优化和稳定系统的控制效果。在实际应用中,如果存在波动问题,可以通过以下几个方面来进行优化,减少系统的波动。 首先,可以从PID参数调整的角度入手。增量式PID控制器有三个参数,即比例系数Kp、积分时间Ti和微分时间Td,可通过调整这些参数来减少系统的波动。具体来说,可以适当减小Kp的值,增加Ti和Td的值,以降低系统对于干扰的敏感程度。 其次,可以考虑调整采样时间和控制周期。合适的采样时间和控制周期可以有效减少波动。如果采样时间太长,可能导致对系统的响应不及时,波动加大;如果采样时间太短,可能会导致过多的抖动和干扰。因此,根据具体的系统特点,选择适当的采样时间和控制周期,能够降低系统的波动。 此外,对于增量式PID控制器,也可以采用自适应控制策略。自适应控制策略能够根据系统的实际特性自动调整参数,从而减少波动。例如,可以引入模型参考自适应控制的思想,基于系统的模型进行参数调整,以适应不同的工况和外部干扰,从而减小波动。 总结起来,要减少增量式PID调试中的系统波动,可以从参数调整、采样时间和控制周期的优化以及自适应控制策略的应用等多个方面入手。通过不断的实验和调试,找到最佳的控制策略和参数设置,能够有效地提高系统的稳定性和控制效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值