搜索
bottom↓
回复: 16

大家看看这个旋转编码器如何解码?

[复制链接]

出0入0汤圆

发表于 2011-7-30 11:08:19 | 显示全部楼层 |阅读模式
中间脚接地,AB上拉
用示波器看了AB相信号如下:

(原文件名:未命名.JPG)

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出500入0汤圆

发表于 2011-7-30 11:14:15 | 显示全部楼层
CW:B领先A四分之一个周期

出0入0汤圆

发表于 2011-7-30 11:14:54 | 显示全部楼层
波形不大对劲吧,判断相位,一个中断时判断另一个的电平就知道方向了。

出0入0汤圆

发表于 2011-7-30 11:14:55 | 显示全部楼层
质量太差

出0入0汤圆

发表于 2011-7-30 14:01:20 | 显示全部楼层
看到楼主的波形点不对吧,我看到贴子后找了一本编码器手册看了,波形如下图:

(原文件名:02.jpg)
当然,有时把A或B脚当做地来接测出来的就不是这样了。

出0入0汤圆

发表于 2011-7-30 14:07:30 | 显示全部楼层
解码嘛也简单,以下是我玩过的菜码,高手别笑啊:
        if((BMQ1A==0)&&(mute_Flag==0)&&(power_Flag==0)) //音量VOL+ ,编码器的好程序!//不是待机与静音状态时才允许调音量
        {
                delay(2);
                if(BMQ1A==0)
                {
                        volume++;

                        if(volume==41)
                        {
                                volume=40;
                        }
                        write_CS42528(0X0F,volume40[volume]);//0FH-16H是CS42528的8个声道音量控制寄存器,
                        while(!BMQ1A);//松手检测
                        delay(1);          
                        while(!BMQ1B);//延时1至2mS加这条语句可以消除编码器不灵活和反应慢的问题
                }
        }
        if((BMQ1B==0)&&(mute_Flag==0)&&(power_Flag==0))//音量VOL- ,编码器的好程序!//不是待机与静音状态时才允许调音量
        {
                delay(2);
                if(BMQ1B==0)
                {
                        volume--;
                        if(volume==255)
                        {
                                volume=0;
                        }
                        write_CS42528(0X0F,volume40[volume]);//0FH-16H是CS42528的8个声道音量控制寄存器,
                        while(!BMQ1B);//松手检测
                        delay(1);
                        while(!BMQ1A);//延时1至2mS加这条语句可以消除编码器不灵活和反应慢的问题
                }
        }

}

出0入4汤圆

发表于 2011-7-30 16:49:50 | 显示全部楼层
你买到次品了。

出0入0汤圆

发表于 2011-7-30 16:52:40 | 显示全部楼层
这个简单,需要不需要给你一段代码啊楼主?

出0入0汤圆

发表于 2011-7-30 17:18:59 | 显示全部楼层
如【2楼】titrwh 所言。

A 下降沿中断处理程式内检测B的电平, 如 B 是低, 即代表CW, 如 B 是高, 则为 CCW。

出0入0汤圆

发表于 2011-7-30 17:22:55 | 显示全部楼层
回复【8楼】eblc1388
如【2楼】titrwh 所言。
a 下降沿中断处理程式内检测b的电平, 如 b 是低, 即代表cw, 如 b 是高, 则为 ccw。

-----------------------------------------------------------------------

这方法可行

出0入0汤圆

发表于 2011-7-30 18:44:25 | 显示全部楼层
图片只能看到红叉

出0入0汤圆

发表于 2011-8-2 08:03:50 | 显示全部楼层
看到图片,应该不会这么差劲吧,这个是画出来的,用示波器拉长一下,对比边沿看看,只要有几微妙的时间差,用8楼的方法就行了,那种机械的编码器用来调整音量什么的,我都是这样做的,非常好用的

出0入0汤圆

 楼主| 发表于 2011-8-20 10:16:49 | 显示全部楼层
脚位错了,B相与COM反了

出0入0汤圆

 楼主| 发表于 2011-8-20 10:18:29 | 显示全部楼层
现在波形正确了,但中断会误触发,用手碰地,编码器会动作。可能是静电引起的。

出0入0汤圆

发表于 2011-8-20 18:40:35 | 显示全部楼层
还没有搞定编码器?

出0入0汤圆

发表于 2013-10-5 16:27:48 | 显示全部楼层
学习了

出0入0汤圆

发表于 2013-10-5 17:34:38 | 显示全部楼层
又挖!!!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 01:01

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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