标题: 51单片机利用增量式旋转编码器测速 求帮助 [打印本页]

作者: 哈哈哈雨    时间: 2019-4-23 21:36
标题: 51单片机利用增量式旋转编码器测速 求帮助


作者: 喵哆哩    时间: 2019-10-28 11:00
你好现在你有程序了吗我也想找这个程序 有的话能不能分享一下你的经验 谢谢谢谢
作者: zhuyafei    时间: 2019-10-28 21:49
根据图片里的原理,选择A或B其中一个输入作为中断,当中断触发时,判断另一个输入的电平来确定方向


wKhk7VhsViWAd3CjAAAnMPKHh2g852.jpg (15.16 KB, 下载次数: 20)






wKhk71hsVSWAXaIXAAA2_BxoD4g133.jpg (24.36 KB, 下载次数: 3)





作者: zhuyafei    时间: 2019-10-28 21:52
sbit 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;
}        
作者: zhuyafei    时间: 2019-10-28 21:53
看是什么样的编码器,如果是两相交错信号的编码器的话,那么通过检测两个信号的先后顺序就可以判断方向。
至于速度可以在一个固定的时间里计算编码器的信号个数来计算转速
作者: zhuyafei    时间: 2019-10-28 21:55
有很多场合都会用到增量型旋转编码器
比如:数字PLL收音机、音响中的电子音量、等等
于是找了一个旧的做试验(型号是EC16-2A)
效果还不错
给有兴趣的坛友做个参考

试验的图里:
A接单片机(AT89S52)的P32(INT0)
B接在P34口

在P0口接8个led做类似流水灯的指示
即可观察到左右旋转时的效果
作者: xuanmic    时间: 2020-1-16 21:59
zhuyafei 发表于 2019-10-28 21:52
sbit Encoder_In = P1^0;

void Interrupt_1_isr() interrupt 2

感谢分享!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1