
c语言的实现
P用于提高相应速度,I用于减小静差,D用于抑制震荡
速度闭环控制是根据单位时间获取的脉冲数测量电机速度信息,对目标值进行比较
理论分析
直立环使用PD控制
在调试直立环,要在定时器中断服务函数屏蔽速度换和转向环
首先估计kp的取值范围,陪我们设置7200代表占空比百分百
设定kp值为7200,那么小车在10°就会满转
确定参数的原则是:kp一直增加,出现大幅度低频抖动
kd一直增加,直至出现高频抖动
确定了pd的最大数,×0.6就是需要的参数
我们对速度进行低通滤波
一般可以把ki的值设置为kp/200
kp最大值=7200/(160*50%)
pwmout=P*(E(0)-E(1))+I*E(0)+D*(E(0)-2*E(1)+E(2))+pwmprepwmpre=pwmout
E(0)是当前
系统偏差
,E(1)是上一次偏差,E(2)上上次偏差。P、I、D分别是
比例系数
、积分系数和微分系数
E=SpeedSet-Speed
;
SpeedSet可根据路况设置,是你期望小车行驶的速度。Speed是你当前测量的小车的实际速度
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)