增量式PID算法控制小车速度

增量式PID算法控制小车速度,第1张

首先声明一下,你的是多变量输入和输出,运用简单的单回路控衫镇野制系统估计效果不太好。

如果你确实要用PID,下面是建议:

1,直线运动,两个输出是一样的,所以公用一个函数,(若有直线纠正的话,你懂怎么办的)。由于你的电机还有传感器,小车速度实时性不会很好,当然,要看你的控制精度了。直线行走,控制速度的设置(若要恒速的话):首先,ID设为0,P从0开始快速加大,直到得或喊到满意的加速的(要快,因为你用的增量式本身就有I的效果)。在增量式PID里,I稍微小点没事,D的系数大概等于2I就行。若不需要恒速:PID就不必要了,直接输出占空比。

2,转弯。若是弯道直径小,转弯速度快,首先明确告诉你,不能用上面的PID输出了,这样你的小车坑定不知道漂移到哪里去了,所以另外需要一个函数控制输出。建议这样:判断要转弯了,靠弯道的轮子要快速变为速度0,另一个轮子必须快速响应,这样PID参数只有P起了主要作用,所以慢慢调P,由0增大,满意为止旅返。

另外的建议: 不用PID,用模糊控制算法,响应速度回提高很多。

希望有用、

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

c语言的实现

P用于提高相应速度,I用于减小静差,D用中桥于抑制震荡

速度闭环控制是根据单位时间获取的脉冲数测量电机速度信息,对目标值进行比较

理论分析

直立环使用PD控制

在调试直立环,要在定时器中断服务函数屏蔽速度换和转向环

首先估计kp的取值范围,陪我们设置7200代表占空比百分百

设定kp值为7200,那么小车在10°就会满转

确定参数的镇培含御笑原则是:kp一直增加,出现大幅度低频抖动

kd一直增加,直至出现高频抖动

确定了pd的最大数,×0.6就是需要的参数

我们对速度进行低通滤波

一般可以把ki的值设置为kp/200

kp最大值=7200/(160*50%)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12386568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存