您尚未登录。

楼主 # 2021-07-20 15:36:02

tigger
会员
注册时间: 2021-06-18
已发帖子: 73
积分: 37

逻辑分析仪 采集到的 旋转编码器 波形

1.png

2.png

顺时钟方向

离线

楼主 #1 2021-07-20 15:53:19

tigger
会员
注册时间: 2021-06-18
已发帖子: 73
积分: 37

Re: 逻辑分析仪 采集到的 旋转编码器 波形

1.png

2.png

离线

#2 2021-07-20 20:47:24

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 540
积分: 488.5
个人网站

Re: 逻辑分析仪 采集到的 旋转编码器 波形

正常的,想去掉可以加施密特触发器,就是原理上加一个迟滞比较

离线

楼主 #3 2021-07-20 20:55:02

tigger
会员
注册时间: 2021-06-18
已发帖子: 73
积分: 37

Re: 逻辑分析仪 采集到的 旋转编码器 波形

微凉VeiLiang 说:

正常的,想去掉可以加施密特触发器,就是原理上加一个迟滞比较

原来如此,感谢指教。

离线

#4 2021-07-21 23:10:59

hz2
会员
注册时间: 2021-04-10
已发帖子: 8
积分: 4.5

Re: 逻辑分析仪 采集到的 旋转编码器 波形

楼主逻辑分析仪用的哪个?我手上这个配套软件不是很好用。

离线

#5 2021-07-22 17:53:14

msr06rr
会员
所在地: 苏州
注册时间: 2018-01-11
已发帖子: 170
积分: 168

Re: 逻辑分析仪 采集到的 旋转编码器 波形

解码这种正交编码器信号最好用专用的外设,可以硬件自动消除glitch

离线

#6 2021-07-22 19:08:29

xboot
会员
注册时间: 2019-10-15
已发帖子: 370
积分: 275

Re: 逻辑分析仪 采集到的 旋转编码器 波形

很久之前写过这个驱动,每个周期支持1步,2步,4步,其中1步最可靠,4步最灵敏。如果要消抖的话,就需要在这个函数里面处理了

static int rotary_gpio_get_state(struct rotary_gpio_pdata_t * pdat)
{
	int a = !!gpio_get_value(pdat->a);
	int b = !!gpio_get_value(pdat->b);

	a ^= pdat->inva;
	b ^= pdat->invb;

	return ((a << 1) | b);
}

https://gitee.com/xboot/xboot/blob/master/src/driver/input/rotary-gpio.c

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn