外观
踩坑Robotics Stack Exchange2017-09-08
PID 输出过小无法映射到电机 PWM
本文由 AI 根据公开内容整理,可能有误,请以原文为准:PID Controller Output Mapping for Motor Speed Control(Robotics Stack Exchange #14179)
状态:已解决
问题
皮带速度误差单位为 m/s,PI 输出相对电机 0 到 16393 的 PWM 范围很小;启动时希望给 100% PWM,接近目标速度 0.2 m/s 后逐步降低。
环境
输送带;滚筒编码器测线速度;电机串口接收 0 到 16393 PWM;最大速度 0.5 m/s。
解决办法
- 将 PWM 单位换算到皮带速度单位,或反向换算。
- 快速做法是把
P、I、D各项乘以16393 / 0.5,把速度域输出缩放到 PWM 范围。 - 该方法假设 PWM 到皮带速度近似线性,原文认为剩余误差可由控制器压制。
- 由于速度响应会滞后控制输入,建议在接近目标速度前将
I增益设为0,避免积分饱和导致超调。
原问题作者:Robotics nerd;采纳答案作者:SteveO。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。
来源
本页事实对应的公开页面,以原文为准。