技术论坛

 利用编码器来计算运动速度

返回主题列表
作者 主题
liquanbin
游侠

经验值: 377
发帖数: 68
精华帖: 0
楼主    2019-08-01 17:18:16
主题:利用编码器来计算运动速度

大家好!

  我有一个增量式编码器,我想利用这个来实时知道运行速度。

    非常感谢

bill
芳季
至圣

经验值: 66564
发帖数: 14742
精华帖: 100
1楼    2019-08-01 17:24:15
主题:回复:利用编码器来计算运动速度

慢慢想一下,速度可以怎么算,可以等于什么。脑子想不起来就写纸上。写纸上跟凭空想象差很远的。

有哪些已知量。速度的单位是什么。1个脉冲表达着什么意义。

我家牛
奇侠

经验值: 9086
发帖数: 2334
精华帖: 30
2楼    2019-08-01 17:46:23
主题:回复:利用编码器来计算运动速度

对于实时性要求不高的话,求出100ms的脉冲数,折算出100ms的距离,最后乘以10就行了。

学习ing!学习!
看雪001
至圣

经验值: 19330
发帖数: 2074
精华帖: 72
3楼    2019-08-01 18:17:42
主题:回复:利用编码器来计算运动速度

10ms循环中断,读取当前计数值,用当前计数值减上个周期的计数值,就是对位置值进行10ms微分计算,结果就是速度值;计算完成后,再把当前值写入上周期值里去。

同样的方法可以得到加速度值。

大道至简,知易行难
楼前
奇侠

经验值: 5359
发帖数: 557
精华帖: 0
4楼    2019-08-02 16:40:24
主题:回复:利用编码器来计算运动速度

高速计数里 有个测速  不知道 效果怎样

绿草莓的天空
侠士

经验值: 1302
发帖数: 84
精华帖: 1
5楼    2019-08-10 09:44:25
主题:回复:利用编码器来计算运动速度

我们在矿上上做测卷扬机速度,一般是靠中断,就是100MS发生一次中断,把当前的编码脉冲数存到一个寄存器,下一次中断把此时的实时脉冲数存到另一个寄存器,这样拿此次的脉冲数-上次的脉冲数=100MS的脉冲数,100ms脉冲数*10=1S脉冲数,1个脉冲的距离*1S脉冲数=1s的距离即速度,这样可以循环检测,发生中断的时间可以根据实际要求随意更改,若是100MS可以采集几百个脉冲,那你可以把中断时间减少,这样精度会提高

Lijr
侠士

经验值: 1479
发帖数: 160
精华帖: 0
6楼    2019-08-14 11:42:36
主题:回复:利用编码器来计算运动速度

采用定时中断,在中断里面将高速脉冲数传给当前脉冲寄存器,用当前脉冲寄存器减去上一次执行中断后的脉冲数,算出来一个差值即是中断间隔内的速度值,根据你要的速度单位进行换算,最后再将高速脉冲传送到宁一个寄存器,作为每次中断运行时上次中断的值;

附件是我自己测试写的程序,400线的编码器,100ms的定时中断,最终换算的单位是r/min,楼主参考下;

高速计数器测速例程.zip


我家牛
奇侠

经验值: 9086
发帖数: 2334
精华帖: 30
7楼    2019-08-14 11:47:28
主题:回复:利用编码器来计算运动速度

增量型,清零更好,

绝对值可以这样做。

学习ing!学习!
shine
至圣

经验值: 19950
发帖数: 8944
精华帖: 39
9楼    2019-08-15 14:34:26
主题:回复:利用编码器来计算运动速度

有:因为不知道计数器溢出后的行为方式,或者不知道溢出后的新值减去旧值其结果其实和是否溢出并没有影响,这么做心安

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。