智能车制作

标题: 输入捕获测量低速精度问题 [打印本页]

作者: RHolmes    时间: 2014-10-12 10:34
标题: 输入捕获测量低速精度问题
我现在能够用输入捕获的方法测量频率了,如果是标准的1000Hz方波得到的结果是可以精确到小数点后两位的,但是如果是测实际的(光码盘产生的方波)就出现数值有变动,分析原因是码盘的槽的宽度不是严格的一样,所以产生的方波的宽度也不一样,我的测速算法是每个方波的宽度对应一个速度值,所以这样就会出现上面所说的这个问题,我也考虑过用求平均值的方法,但是,这种方法在低速的时候是不是会有问题,比如我每20个方波周期求一次平均值,但是我只接收到10个方波,这种情况下怎么解决?或者有更好的算法?
作者: 1249844726    时间: 2014-10-12 10:34
用来测速通常是测量编码器在一定时间内计到的脉冲的个数,个数对应速度。已经比较精确了,要是采集的个数少可以适当增加采集的时间。
你用脉宽不是不可以,但是会受到影响。

作者: 1249844726    时间: 2014-10-12 11:45
不是用来测量每个的脉宽的,而是在每段时间采集脉冲的个数,个数不同就对应着速度的不同。
还有就是,码盘十来块钱,编码器一百多,你说呢。
作者: RHolmes    时间: 2014-10-12 16:08
1249844726 发表于 2014-10-12 11:45
不是用来测量每个的脉宽的,而是在每段时间采集脉冲的个数,个数不同就对应着速度的不同。
还有就是,码盘 ...

恩恩,有道理,看来我的算法存在问题。但是,你那个算法具体怎么操作呢?用几个定时器来实现呢?我的思路是用一个定时器捕获脉冲个数,另外一个定时器来做定时。
作者: 1249844726    时间: 2014-10-12 17:04
RHolmes 发表于 2014-10-12 16:08
恩恩,有道理,看来我的算法存在问题。但是,你那个算法具体怎么操作呢?用几个定时器来实现呢?我的思路 ...

K60自带正交解码功能,


作者: RHolmes    时间: 2014-10-12 18:12
1249844726 发表于 2014-10-12 17:04
K60自带正交解码功能,

我用的是STM32,我用一个定时器捕获脉冲数,另外一个定时器做定时。最后得到的速度值还是有变化,跟我用开始说的算法得到的结果差不多。




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2