旋转编码器的工作原理及应用

什么是旋转编码器?

旋转编码器(轴编码器)是一种机电装置,用于改变轴的运动,旋转轴的角位置。该编码器根据模拟或数字的旋转运动生成电信号。

它们用于需要控制或监控的各种应用,如机器人、工业控制、摄影镜头、计算机的输入设备(如轨迹球、光机械鼠标、受控应力流变仪等)。

旋转编码器

旋转编码器结构可以通过使用不同的部件来完成,例如编码器轴、编码盘或包括标签的旋转盘、包括电子板的光源、接收红外光传感器、包括齿轮的光学机械块、带有数字接口转换器和信号处理器的电子板。

引脚配置

旋转编码器的针脚配置包括五个针脚,下面将讨论每个针脚及其功能。

旋转编码器引脚配置
旋转编码器引脚配置
  • Pin1 (GND):这是一个接地引脚
  • Pin2 (VCC):这是与 3.3 V 或 5 V 一起工作的正电压电源引脚。
  • Pin3 (SW):这是低电平有效按钮开关。按下旋钮后,电压将为低。
  • DT(Output B):这个类似于时钟输出;但是它以 90° 相移滞后时钟。所以,这个输出可以用来决定旋转的方向。
  • CLK (Output-A):这是主输出信号,用于确定旋转量。每次,编码器中的旋钮都会通过一个棘爪向任何方向转动。’CLK’ 的输出将经历一个高周期 & 之后的低

旋转编码器工作

在旋转编码器中,我们可以观察到方波信号是如何产生的。通常,该编码器包括一个圆盘,该圆盘与接触区均匀分布。这些接触区域的连接可以连接到公共插脚 C 和其他两个单独的接触插脚,如下图所示的 A 和 B。

旋转编码器工作旋转编码器工作

该编码器中的圆盘将开始缓慢旋转,并且 A 和 B 等两个引脚将通过公共引脚接触。因此,可以相应地生成两个方波输出信号。
在这里,可以使用两个输出中的任何一个来确定旋转位置。但是,如果我们想决定旋转方向,那么我们必须同时考虑这两个信号。

我们可以观察到两个 o/p 信号以 90 度的相位移动。如果此编码器顺时针方向转动,则输出 A 将在输出 B 之后。

每次,如果我们计算步数,则信号将从低变为高或从高变为低。此时,我们可以观察到像A和B这样的两个输出信号会有相反的值。

如果此编码器逆时针旋转,则两个输出信号将具有相同的值。考虑到这一点,我们可以简单地对控制器进行编程以研究编码器的位置和旋转方向。

旋转编码器类型

这些编码器分为两种类型,包括以下。

  • 增量类型
  • 绝对型

增量旋转编码器

增量旋转编码器用于提供一系列低波和高波。这些波将指定位置的移动。由于轴旋转运动,这些类型的编码器将在脉冲形式内提供一系列周期性信号。

物体的速度可以通过一段时间的脉冲计数来测量。这些脉冲可以简单地从参考点开始计数,以确定位置,否则覆盖距离。

增量式旋转编码器产生两个数字 o/p 信号,这两个传感器之间的相位关系将决定编码器的轴是顺时针方向旋转还是逆时针方向旋转。因此,通过使用该编码器,可以简单地确定位置。

一旦发光二极管产生光,它就会通过一个晶莹剔透的圆盘传输。一旦这个光信号被光传感器接收到,就可以产生一个正弦信号,它变成一个脉冲序列或方波。脉冲波可以传输到旋转计数器,旋转计数器将传输信号以产生首选功能。

绝对旋转编码器

一旦电源从旋转编码器断开,绝对旋转编码器用于保持位置信息。一旦提供电源,该编码器的位置即刻可用。

该编码器通过不同的二进制加权包括不同的编码环,这些编码环提供了一个数据字,用于表示旋转编码器在单圈中的绝对位置。所以这种编码器也称为并行绝对编码器。

多圈绝对式旋转编码器主要包括额外的齿轮和码轮。高分辨率的轮子可以测量低分辨率的分数旋转,而分辨率较低的齿轮码轮可以记录轴的完整转数。

旋转编码器接线图

Arduino的旋转编码器接线图如下所示。带有轴的旋转编码器可以改变角度位置,否则轴的运动。该编码器的输出提供有关轴运动的信息,这些信息通常在控制器或处理器内处理成距离、位置和速度等信息。轴的旋转是 360 度。

此接线图所需材料主要包括Arduino Uno、旋转编码器、USB Cable3、母对公跳线等。

与 Arduino 接口的旋转编码器
与 Arduino 接口的旋转编码器

旋转编码器与 Arduino Uno的接口可以如下所述完成。

  • 将编码器的 VCC 引脚连接到 Arduino 的 5V 引脚
  • 将编码器的 GND 引脚连接到 Arduino 的 GND 引脚
  • 将编码器的 CLK 引脚连接到 Arduino 的 D3 引脚
  • 将编码器的 CLK 引脚连接到 Arduino 的 D4 引脚

连接完成后,将 Arduino Uno 板连接到您的 PC。将编码器上传到您的 Arduino Uno 板上。单击工具-> 选择串行监视器,您将在串行监视器上找到 BEGIN。所以现在您可以开始转动编码器的轴并观察串行监视器上的打印输出。

顺时针转动轴后,串行监视器将打印编码器计数。

读取与 Arduino Uno 接口的旋转编码器的代码 

下面是代码

/******************
* VCC 到 5V *
* GND 到 GND *
* CLK 到 D3 *
* CLK 到 D4 *
**************/
int pinA = 3;
int pinB = 4;
int 编码器PosCount = 0;
int pinAlast;
整数值;
布尔 bCW;
void setup()
{//设置 pinA 和 pinB 并输入
pinMode (pinA,INPUT);
pinMode(pinB,输入);
pinALast = digitalRead(pinA);//读取引脚 A
Serial.begin (9600);
Serial.println(“开始”);
序列号.println();}
void loop()
{aVal = digitalRead(pinA);
如果(aVal!= pinALast)
{if (digitalRead(pinB) != aVal) //我们顺时针旋转
{encoderPosCount ++;
bCW =真;}
否则
{bCW = 假;
编码器PosCount–;}
if (bCW)
{Serial.println (“顺时针旋转”);}
else
{Serial.println(“逆时针旋转”);}
Serial.print(“编码器计数:”);
Serial.println(encoderPosCount);
序列号.println();}
pinALast = aVal;

将旋转编码器与微控制器接口的代码与上述相同,只是应使用微控制器特定的 API。

优点

旋转编码器的优点包括以下几点。

  • 这些是可靠的
  • 准确的
  • 分辨率高
  • 尺寸紧凑
  • 更少的成本反馈
  • 集成电子设备
  • 可以包含在现有应用程序中

旋转编码器的缺点包括以下几点。

  • 它容易受到油、污垢和灰尘污染物的影响。
  • 直接光源的接口。

应用

旋转编码器的应用包括以下内容。

  • 这些用于需要速度、方向、加速度和监控旋转速率的地方。
  • 这些用于不同的行业,如材料处理、包装和输送机。
  • 在自动化领域,这些编码器被用作速度、角度、加速度和位置的传感器。
  • 这些用于通过使用齿轮齿条、主轴、电缆拉线或测量轮来测量线性运动。
  • 这些编码器用于通过使用工业中的转速计、计数器、 PLC 系统和 PC将机械输入更改为电信号。
  • 这些用于包装、装配机、指示系统、打印机、CNC 机器、测试机、机器人、纺织品、电机反馈、医疗设备、钻孔和贴标机。

旋转编码器的精度如何?

旋转编码器的精度通常可以用度或弧秒表示。

什么是最精确的编码器?

绝对光轴编码器是最准确的,因为其典型精度为 0.18 度(10.8 弧分),其最大精度为 0.25 度。

编码器可以是传感器吗?

是的,传感器具有发送和接受数据的能力。

旋转编码器有什么用?

旋转编码器主要用于控制输送带速度及其运动方向。

角度编码器如何工作?

角度编码器是一种用于测量旋转轴角度位置的位置传感器。

我们CALTSENSOR的绝对值编码器都经过严格的出厂测试,确保质量;2年质保确保客户使用稳定12年绝对值编码器行业应用经验24小时提供技术咨询;编码器通过CE认证已出口美国、英国、西班牙、德国等二十几个发达国家和地区,获得高端客户认可!

        不仅如此,CALTSENSOR始终以客户为中心,我们支持客户根据实际需要进行柔性编码器定制,小到一个接插件,一节线缆,大到异型结构编码器加工,输出电路定制,通讯协议定制,软件编写,即使小批量订单也将获得支持。我们努力提高自身技术素养,把控产品质量,为客户创造实实在在的价值。如对我们的产品感兴趣请联系我们

定制你的专属传感器!