赞
踩
PID初始化,因为用到两个环,所以要两个环的PID参数都初始化
设定目标值,我直接在pid初始化里设置了,只要设置外环的,内环的不用设置,因为内环的目标值,就是外环的输出值。
也通过按键设置
PID双环控制
在定时器中断(1ms)里,每50ms计算一次当前编码器的总计数值,并通过这个值进行外环PID(位置环)计算,得到目标速度,要经过速度限幅(防止速度过快),然后存放到g_motor_data.motor_pwm变量(临时存放而已),根据目标速度,再进行速度环PID计算,最终得出要输出的pwm比较值,存放g_motor_data.motor_pwm变量(最终存放),然后再限制pwm比较值输出
可以发现超调明显消失,效果比位置单环pid好。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。