会飞的小东 2023-09-26 10:29 采纳率: 50%
浏览 42

pid输出值转换为pwm

您好,您讲的很详细,我最后再问一下哈。假设outputMin为-1000,outputMax为1000。那么比例系数Kp就等于100.0 / (1000 - (-1000)) = 0.05吧
假设PID算法输出值为50时,根据公式可得。pwm_output = (50 - (-1000)) * 0.05 = 52.5。这个值就是pwm_duyt__cycle需要调整的值。其变化率在0-100之间
outputMax和outputMin这个pid输出的最大最小值-1000到1000的范围。需要根据实际来调整吗,如果写成-800到800呢,有没有比较准确可以确定这个值的方法

  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-09-27 09:28
    关注

    该回复引自免费微信小程序-皆我百晓生:


    您的计算是正确的,比例系数Kp的计算公式为100.0 / (outputMax - outputMin)。在您的例子中,outputMin为-1000,outputMax为1000,所以Kp = 100.0 / (1000 - (-1000)) = 0.05。

    对于PID算法输出值为50的情况,根据公式pwm_output = (PID输出值 - outputMin) * Kp,可以得到pwm_output = (50 - (-1000)) * 0.05 = 52.5。这个值就是需要调整的pwm_duty_cycle的值。

    至于outputMax和outputMin的选择,可以根据实际需求进行调整。如果您将其设置为-800到800,那么Kp的计算公式将变为100.0 / (800 - (-800)) = 0.0625。这意味着比例系数Kp会变大,从而影响到pwm_output的计算结果。

    要确定outputMax和outputMin的准确值,可以考虑以下几点:

    1. 确保outputMax和outputMin的范围能够覆盖您实际应用中可能出现的PID输出值。
    2. 考虑您的PWM输出的范围和精度,确保pwm_output在合理范围内。
    3. 根据实际测试和调试,观察PID输出值和PWM输出的关系,进行适当的调整。

    总之,选择outputMax和outputMin的值需要根据具体情况进行调整和测试,以确保PID算法的输出能够正确映射到PWM输出。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月26日

悬赏问题

  • ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除
  • ¥15 使用MATLAB进行余弦相似度计算加速
  • ¥15 服务器安装php5.6版本
  • ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
  • ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
  • ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
  • ¥15 arcgis处理土地利用道路 建筑 林地分类
  • ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
  • ¥100 寻会做云闪付tn转h5支付链接的技术
  • ¥15 DockerSwarm跨节点无法访问问题