PID从入门到放弃,采样时间

您所在的位置:网站首页 pid控制中i值一般多少 PID从入门到放弃,采样时间

PID从入门到放弃,采样时间

2024-01-06 22:33| 来源: 网络整理| 查看: 265

https://blog.csdn.net/ns2942826077/article/details/84895001

PID控制及位置式与增量式区别

PID调试和出现的问题 ​ 很早的时候就听闻PID调试是一个难点,不过这并不是我们放弃的理由。决定采用arduino中封装好的PID库后,问题已经变得简单很多了。观察PID源码,需要我们设定的值有:

Setpoint:目标值

Kp,Ki,Kd: pid参数

OutputLimits:输出极限

SampleTime:采样时间

​ 一共6个值,Setpoint 相对是最容易理解的,它就是我们想达到的目标值,我们初步设定空载速度为2.00rad/s,尽量慢一点保证摄像头能一次性捕捉到二维码。但是下地跑了一下发现前后运动虽然启动有点困难但是还可以,左右却完全启动不了,排除机械故障和代码问题后,我们认为初始速度过小,左右运动需要速度为4.00rad/s或者以上方可以。

​ 接下来是OutputLimits,是输出的极限范围。我们观察代码公式,得知该库是用的位置式PID。关于两者的区别详见:PID控制及位置式与增量式区别,所以我们输出的范围应该是0-255.

​ SampleTime的确有点不确定,arduino库例程给的倒立摆的例子是5ms,而一些参考文档则说温度等采样时间是1-5s。

​ 我们的第一个问题就是,采样时间如何取呢?

​ 我们分别设置采样时间5ms,50ms,100ms和200ms设置对照时间,发现采样时间对PID参数的选取有着比较明显的影响,每换一个都要重新调整PID系数。最后,我们参考电机编码器的采样时间,暂时设置成了100ms。

​ 接下里就是最复杂的PID调整。一般而言PI控制器就已经能很好的实现速度控制,所以整体调整以PI为主。**如何调整PID呢?**网上关于PID调整的技巧很多,还有口诀什么的,但是对于第一次接触调整的我们来说……恩,这个吗。

​ 我们先看一段口诀:

​ 参数整定找最佳, 从小到大顺序查。 ​ 先是比例后积分, 最后再把微分加。 ​ 曲线振荡很频繁, 比例度盘要放大。 ​ 曲线漂浮绕大弯, 比例度盘往小扳。 ​ 曲线偏离回复慢, 积分时间往下降。 ​ 曲线波动周期长, 积分时间再加长。 ​ 曲线振荡频率快, 先把微分降下来。 ​ 动差大来波动慢, 微分时间应加长。 ​ 理想曲线两个波, 前高后低四比一。 ​ 一看二调多分析, 调节质量不会低。 ————————————————

好在天无绝人之路,经过一两天的折磨,大致调整思路差不多整理出来了:

工欲善其事必先利其器,先写一个波形分析程序再说

先将I、D两个系数置为0,只调节P,从1开始,向大调整(如果不震荡),直到P出现较大的震荡为止,然后将P回调一点(70%左右)。调整后可能出现静差,属于正常现象

再调整I,从1开始逐渐放大(如果不震荡),观察,当I较小的时候并且存在静态误差时候,会经过很长很长时间速度才会逐渐到达标准值,增大I会减小反应时间,而如果I过大,则会产生明显的超调现象。我们需要在不改变P的情况将I调整到不出现震荡,然后再回调一点。

同时放大P和I到尽量大,同时保证图像不震荡。

如果和震荡周期有关,则调整P,如果和超调及反应速度有关,则调整I(I放大好像就把波拉长了一样)

如果震荡过于频繁,则可少量的加入D使图像稍微平滑一点,但是尽量不要加。微分环节在传递函数中表示超前量,及对当前运动趋势(求导,斜率)进行估计从而提前反应, ————————————————



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3