作者 | 主题 |
---|---|
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,楼主参考下; |
我家牛 奇侠 经验值: 9086 发帖数: 2334 精华帖: 30 |
7楼 2019-08-14 11:47:28
主题:回复:利用编码器来计算运动速度 增量型,清零更好, 绝对值可以这样做。
学习ing!学习!
|
shine 至圣 经验值: 19950 发帖数: 8944 精华帖: 39 |
9楼 2019-08-15 14:34:26
主题:回复:利用编码器来计算运动速度 有:因为不知道计数器溢出后的行为方式,或者不知道溢出后的新值减去旧值其结果其实和是否溢出并没有影响,这么做心安 |