发布时间:2022-08-06 14:53:42 人气:197 来源:本站
工作原理:增量旋转编码器通过内部两个光敏接收管转换角码盘的顺序和相位关系,增加或减少角码盘的角位移(正方向)或减少(负方向)。
内部工作原理(判断正反转):
AB相编码器内有两对光电耦合器,输出相位差为90°两组脉冲序列。在正转和反转过程中,两个脉冲的先进性.滞后正好相反。
在B相脉冲的上升边缘,A相脉冲的电平正好相反,所以使用AB相编码器,PLC旋转轴的旋转方向可以很容易地识别出来。
编码器AB相
顺时针AB 逆时针AB
11 11
01 10
00 00
10 01
从上表的AB相可得出:
AB只要你知道正转和反转的编码是不同的AB可以判断编码器是正转还是反转。
计算距离:
购买的编码器会有一些参数:编码器分辨率(转动脉冲).周长(一圈周长)
脉冲对应的距离=编码器分辨率/周长;
则转动距离=脉冲数*编码器分辨率/周长;
我们可以转动固定长度所需的脉冲:
脉冲固定长度所需的脉冲=固定长度*周长/编码器分辨率;
实现:
这里简单说说实现的思路(针对STM32程序设计):
需要到STM32知识外部中断(上升或下降)
1.外部中断捕获A相或B相的上升边(或下降边),产生中断进入中断服务程序;
2.实现中断服务程序代码:判断B相电平或A相电平(这是为了判断编码器是正转还是反转)。
例子(简单举个栗子):
中断是捕获编码器A相的上升沿
判断B相是高电平还是低电平(见下图)
如果B相为低电平,则编码器为正转(顺时针);如果B相为高电平,则编码器反转(逆时针)
判断是正转还是反转后,相应的脉冲加1,然后通过简单的转换计算距离
如果您想计算速度,请添加定时器。