美文网首页
如何将光学旋转编码器与Arduino连接

如何将光学旋转编码器与Arduino连接

作者: 皆大欢喜198071 | 来源:发表于2020-06-06 17:09 被阅读0次

什么是光学旋转编码器

光学旋转编码器是一种机械设备,在圆柱形外壳的内部有一个旋转轴,其结构与电机相同。

圆形平盘,上面有两组插槽。

光学传感器安装在此光盘的两侧,发送器设置在一侧,接收器设置在一侧。

因此,当开槽光盘在传感器之间旋转时,它会切断光学传感器,并在接收器末端生成信号。

接收器还与微控制器连接以处理生成的信号,

这样我们就可以知道旋转了多少轴。

我们还可以通过比较两个输出的信号极性来确定轴的旋转方向。因为两组插槽之间有一定的偏移

光学旋转编码器一般有两个输出“ A”和“ B”。

编码器类型

通常有两种编码器

增量编码器

绝对编码器

增量编码器

这种类型的编码器提供脉冲作为输出,可以将其视为增量信号。

因为它没有任何唯一位置的唯一值,这意味着当该编码器断电时,它失去了位置参考并从零开始。

绝对编码器

这种类型的编码器比增量编码器更为先进。

同时它们具有磁盘来代替插槽磁盘,因此它在每个位置都有独特的价值,因此即使在断电后也能记住它的药水。

在这篇文章中,我们将学习增量编码器。

带有Arduino的连接光学编码器

在这里,我使用的是https://www.pepperl-fuchs.com/china/zh/classid_197.htm?view=productdetails&prodid=76458,每转有1040个脉冲

在下面,您可以看到编码器的电线详细信息:

白色:输出–

绿色:输出–

黑色 – 黑色:GND

红色:+ 5V DC

屏蔽:GND

如下将光学旋转编码器与arduino连接

白色(OUT A):PIN 3( arduino的中断器引脚

绿色(OUT B):PIN 2( arduino的中断器引脚

红色:5V

黑色:GND

在这里,我们必须注意,来自编码器的绿色和白色的输出必须仅连接到orduino的中断引脚。

否则,arduino无法记录来自编码器的每个脉冲。

编码器ARDUINO接线

CODE

volatile long temp, counter = 0; //This variable will increase or decrease depending on the rotation of encoder

void setup() {

  Serial.begin (9600);

  pinMode(2, INPUT_PULLUP); // internal pullup input pin 2

  pinMode(3, INPUT_PULLUP); // internalเป็น pullup input pin 3

  //Setting up interrupt

  //A rising pulse from encodenren activated ai0(). AttachInterrupt 0 is DigitalPin nr 2 on moust Arduino.

  attachInterrupt(0, ai0, RISING);

  //B rising pulse from encodenren activated ai1(). AttachInterrupt 1 is DigitalPin nr 3 on moust Arduino.

  attachInterrupt(1, ai1, RISING);

  }

  void loop() {

  // Send the value of counter

  if( counter != temp ){

  Serial.println (counter);

  temp = counter;

  }

  }

  void ai0() {

  // ai0 is activated if DigitalPin nr 2 is going from LOW to HIGH

  // Check pin 3 to determine the direction

  if(digitalRead(3)==LOW) {

  counter++;

  }else{

  counter--;

  }

  }

  void ai1() {

  // ai0 is activated if DigitalPin nr 3 is going from LOW to HIGH

  // Check with pin 2 to determine the direction

  if(digitalRead(2)==LOW) {

  counter--;

  }else{

  counter++;

  }

  }

将代码上传到arduino后,打开串行监视器

并旋转编码器轴如果沿顺时针方向旋转编码器,则值会增加;如果沿逆时针方向旋转,则值会减小。

如果值显示反向,则表示顺时针运动为-ve值。

您可以颠倒“ GREEN”和“ WHITE”线。

相关文章

  • 如何将光学旋转编码器与Arduino连接

    什么是光学旋转编码器 光学旋转编码器是一种机械设备,在圆柱形外壳的内部有一个旋转轴,其结构与电机相同。 圆形平盘,...

  • [Arduino] 旋转编码器

    有用过酷炫的旋钮吗,怎么拧都拧不到底的那种? 旋钮的实现方式有两种,一种是两头可以拧到底的电位器(也称滑动变阻器)...

  • 中空编码器常规的故障有哪些

    中空编码器是一种能够测量转速的设备连接器,其主要功能是监测传动系统的旋转或旋转部件。那么,在中空编码器中使用不当操...

  • transformer再记(解码器)

    上一篇:transformer再记(编码器)解码器与编码器在细节上有差异。 编码器与解码器的连接:编码器通过处理输...

  • 旋转编码器安装不得不关注的三大事项

    旋转编码器是编码器的一种,旋转编码器作为一种重要的测试装置,被广泛应用于很多场合中.旋转编码器的工作原理是基于不同...

  • 旋转编码器的功能是什么?

    旋转编码器是一种将旋转位移转换成一串数字脉冲信号的旋转式传感器,这些脉冲能用来控制角位移,如果编码器与齿轮条或螺旋...

  • 编码器工作原理

    旋转编码器是一种将旋转位移转换成一串数字脉冲信号的旋转式传感器,这些脉冲能用来控制角位移,如果编码器与齿轮条或螺旋...

  • 怎样选择倍加福旋转编码器

    你遇到过旋转编码器吗?你知道它是做什么的吗?旋转编码器用于日常机械。旋转这个词的意思是旋转运动。这种装置通过检测圆...

  • 【Arduino基础教程】LCD 1602显示屏

    LCD显示屏与Arduino连接可以有两种方式: 直接与Arduino相连 通过转接板利用I2C的方式与Ardui...

  • Arduino UNOR3 与JY-901的连接测试步骤

    Arduino UNOR3 与JY-901的连接测试步骤 1 准备工作 硬件设备:JY-901模块、Arduino...

网友评论

      本文标题:如何将光学旋转编码器与Arduino连接

      本文链接:https://www.haomeiwen.com/subject/yefftktx.html