野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14474|回复: 6

PID的速度和PWM的关系问题

[复制链接]
发表于 2021-5-8 09:51:10 | 显示全部楼层 |阅读模式
本帖最后由 tilblackout 于 2021-5-8 09:58 编辑

比如说直流有刷电机的速度环
(1)通过编码器测量最终得到的速度为:actual_speed=单位时间内的计数值/编码器总分辨率*时间系数
(2)然后进行PID:cont_val = PID_realize(actual_speed);
(3)最后直接将这个结果设置占空比:set_motor_speed(cont_val); (定时器的Period为5600)
为什么PID的结果(速度预期增量)直接可以作为PWM的占空比,速度增量的取值范围正好在PWM周期范围0~5600内吗,还是说最后接近目标值后积分的累计值达到了某个期望的PWM值?
还有视频里目标值都取100~300,这个是怎么取的呢?通过actual_speed的输出,然后自己取的吗?
回复

使用道具 举报

发表于 2021-5-30 21:13:26 | 显示全部楼层
我说下,假设PID中,只用最简单的P参数,然后你调节P让系统稳定,那么PID的输出就是正好对应PWM的输入。
你肯定会说,这是废话。的确,这就是废话,但这真的就是对的。
为什么呢?因为如果你能列出传递函数,使用P让系统稳定。正是这个稳定让PID的输出有意义,所以你根本就不用考虑PID的输出。
回复 支持 反对

使用道具 举报

发表于 2021-7-23 16:39:52 | 显示全部楼层
我也有同样的疑问 求解答
回复 支持 反对

使用道具 举报

发表于 2021-7-23 16:41:17 | 显示全部楼层
actual_speed 根据野火官方的电机参数,检测出来的电机实际转速为0~366
回复 支持 反对

使用道具 举报

发表于 2022-11-18 14:43:46 | 显示全部楼层
刚刚接触PID,我也想不明白,求解答
回复 支持 反对

使用道具 举报

发表于 2023-2-17 13:56:54 | 显示全部楼层
同不解,set_motor_speed(cont_val)为什么可以将单位为rpm的cont_val直接当成PWM占空比输入,难道理论上不应该是如图的关系么?
野火论坛202302171356141738..png
回复 支持 反对

使用道具 举报

发表于 2023-2-17 21:37:10 | 显示全部楼层
Ellyn_Xu 发表于 2023-2-17 13:56
同不解,set_motor_speed(cont_val)为什么可以将单位为rpm的cont_val直接当成PWM占空比输入,难道理论上不 ...

感谢野火淘宝技术客服给出解答!pid控制器的输出是以想达到的预期结果为导向的,并不是输入转速就输出转速(pid的公式也能看出)
可以参考知乎https://www.zhihu.com/question/316306877/answer/1313013059
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-3-29 19:24 , Processed in 0.064891 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表