单片机/MCUwilliam hill官网
直播中

小卡

6年用户 17经验值
擅长:可编程逻辑 嵌入式技术 接口/总线/驱动
私信 关注
[问答]

请问怎么利用51单片机检测编码器旋转方向和速度?

怎么利用51单片机检测编码器旋转方向和速度?

  • wKhk7VhsViWAd3CjAAAnMPKHh2g852.jpg
  • wKhk71hsVSWAXaIXAAA2_BxoD4g133.jpg

回帖(6)

Clean

2018-7-4 22:20:17
51目前应该不能用来检测编码器吧?我最近在做用的是12系列
举报

人中狼

2018-7-4 22:50:57
看是什么样的编码器,如果是两相交错信号的编码器的话,那么通过检测两个信号的先后顺序就可以判断方向。
至于速度可以在一个固定的时间里计算编码器的信号个数来计算转速
举报

小卡

2018-7-6 15:48:04
引用: 人中狼 发表于 2018-7-4 22:50
看是什么样的编码器,如果是两相交错信号的编码器的话,那么通过检测两个信号的先后顺序就可以判断方向。
至于速度可以在一个固定的时间里计算编码器的信号个数来计算转速

具体程序怎么写
举报

人中狼

2018-7-9 10:40:14
根据图片里的原理,选择A或B其中一个输入作为中断,当中断触发时,判断另一个输入的电平来确定方向
举报

小卡

2018-7-18 09:53:46
引用: 人中狼 发表于 2018-7-9 10:40
根据图片里的原理,选择A或B其中一个输入作为中断,当中断触发时,判断另一个输入的电平来确定方向

有具体程序吗
举报

人中狼

2018-7-18 10:44:55
***it Encoder_In = P1^0;

void Interrupt_1_isr() interrupt 2
{
        Encoder_Turn_Left = 0;
        Encoder_Turn_Right = 0;
        if(Encoder_In)        
                Encoder_Turn_Left = 1;
        else Encoder_Turn_Right = 1;
}       
举报

更多回帖

发帖
×
20
完善资料,
赚取积分