一、基本原理
旋转编码器是一种机电装置,可将轴的角运动,转换为A/B两相相位偏差90°的脉冲信号,其中C是A/B信号的参考地
【1】根据A/B信号的相位关系可以获取正反转方向。
【2】通过脉冲的计数可以获取旋转的步进数量。
【3】根据脉冲在单位时间内的计数可以获取角速度。
另外旋转编码器的轴除了可以水平旋转运动,还可以进行上下运动,实现按键的功能。下图模块没有将这个功能引出。
工作电压:3.3V 或者 5V均可,由内部发光二极管和光电二极管的工作电压决定。
工作原理:旋转轴带动两组同轴栅格转盘,栅格转盘间存在一定的角度偏差,旋转的栅格会对发光二极管发出的光信号进行间断遮挡,从而使光敏二极管产生高低电平变化。因为两组栅格转盘存在一定的角度偏差,所以会产生两组相位90°偏差的A/B相信号。
遮挡的时候是高电平,反之则为低电平。
二、实测
测试连接图,3.3V供电,使用示波器测量A/B两个引脚的脉冲信号。
正转,黄色信号为A相,绿色信号为B相,A相领先B相90°相位。
反转黄色信号为A相,绿色信号为B相,B相领先A相90°相位。
三、编程算法
由实验可知:以A相信号作为采样时钟,判决B相在A相上升沿时刻的高低电平状态:
【1】正转
A = posedge
B = 0
【2】反转
A = posedge
B = 1
【3】旋转计数
A = posedge 或者 B = posedge
【4】旋转速度
单位时间内的旋转计数