野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16944|回复: 7

关于PID的一个基本问题。

[复制链接]
发表于 2014-10-31 12:50:07 | 显示全部楼层 |阅读模式
用PID控制直流电机(比如飞思卡尔小车)。假设我的PWM的输出周期是2000;编码器每转一圈发出250个脉冲。要求电机的速度是没秒钟转5圈。如何将PWM的输出与电机的转速建立起联系?e(t)为设定值与采集值得差,此时假设我的pwm输出是1000,采集到的编码器脉冲是1300,难道是直接那1000-1300吗?这之间有什么联系没?
回复

使用道具 举报

发表于 2014-10-31 13:30:45 | 显示全部楼层
理论上他们之间应该存在线性关系,但实际上不是,你可以多测几十组数据然后画线,结果你会发现这两者之间的关系是曲线,不过也近似直线
回复 支持 反对

使用道具 举报

发表于 2014-10-31 13:32:07 | 显示全部楼层
要用PID的话,我觉得得先统一单位啊,要不然你自己都被自己搞乱了。可以统一为【r/s】或者【m/s】
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-31 14:15:49 | 显示全部楼层
草原上的星星 发表于 2014-10-31 13:32
要用PID的话,我觉得得先统一单位啊,要不然你自己都被自己搞乱了。可以统一为【r/s】或者【m/s】

这个怎么统一呢?我输出的事PWM波,反馈的事编码器的脉冲。。。要是能统一单位的话当然是感觉没什么问题了,但是看了几十篇介绍PID的文章都没提到过单位的事,,,
回复 支持 反对

使用道具 举报

发表于 2014-10-31 14:26:20 | 显示全部楼层
传说中的小bai 发表于 2014-10-31 14:15
这个怎么统一呢?我输出的事PWM波,反馈的事编码器的脉冲。。。要是能统一单位的话当然是感觉没什么问题了 ...

是这样的,PID控制不是要计算出实际速度和预设速度的偏差嘛,然后再根据偏差(是多了还是少了)来进行PWM的输入(增加还是减少)。那怎么计算偏差,这个就得统一单位啊!!!!比如,你测速时收到的是脉冲对不对,那就把脉冲转换为【r/s】或者【m/s】啊,然后预设速度也采用相同的单位,这样就好了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-31 17:14:19 | 显示全部楼层
草原上的星星 发表于 2014-10-31 14:26
是这样的,PID控制不是要计算出实际速度和预设速度的偏差嘛,然后再根据偏差(是多了还是少了)来进行PWM ...

原来是这样啊,谢谢了,原来我一直就是错在这了。还是要转换单位的。但是这样转换成统一的单位的值应该是不精确地啊。就直接用这些不精确的值进行运算吗?
回复 支持 反对

使用道具 举报

发表于 2014-10-31 20:49:25 | 显示全部楼层
传说中的小bai 发表于 2014-10-31 17:14
原来是这样啊,谢谢了,原来我一直就是错在这了。还是要转换单位的。但是这样转换成统一的单位的值应该是 ...

怎么会不精确啊,将脉冲换成【r/s】怎么会不精确?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-31 21:43:29 | 显示全部楼层
草原上的星星 发表于 2014-10-31 20:49
怎么会不精确啊,将脉冲换成【r/s】怎么会不精确?

能举个列子吗?感觉不是太清楚,有点迷惑。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 19:35 , Processed in 0.046336 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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