Arduino Rotary Encoder – Arduino 旋转编码器使用指南
Arduino 旋转编码器因其坚固的构造和精细的数字控制而在 CNC 机器、机器人甚至打印机中非常有用。
如果您正在从事 Arduino 旋转编码器项目并需要帮助,那么您来对地方了。
今天的文章着眼于旋转编码器,它的配置、类型、工作、示例和应用。
什么是旋转编码器?
图 1:旋转编码器
它是一种机电位置传感器,可确定轴或轮轴的角位置或运动。
然后它将角度位置数据转换为数字或模拟输出信号。
旋转编码器引出线
图 2:旋转编码器引脚分配
- VCC- 电源电压 3.3 或 5V
- GND-接地
- SW- 低电平有效按钮
- CLK(输出 A)- 输出脉冲以确定任一方向的旋转
- DT(输出 B)- 滞后 CLK 90 度并确定旋转方向
旋转编码器的种类
图 3:13 道格雷码绝对旋转编码器
来源:维基媒体
绝对编码器
由光电探测器、光源、磁盘和信号调节器组成。它在断电时保留位置信息,并在断电时恢复。
此外,受控机械的物理位置和编码器值之间的关系是在装配时设置的。您不必恢复到校准点即可保持位置精度。
增量编码器
增量编码器在开机时从零开始计数,并将立即报告位置变化。但是,它并没有保持其绝对位置。您必须将监控系统移动到固定参考点才能开始读取位置。
旋转编码器的工作原理是什么?
图 4:旋转编码器的工作
它有两个触针,A 和 B,以及一个公共接地针,C。当您按旋转顺序转动旋钮 A 和 B 触针 C 时,它们会产生信号。此外,符号彼此相差 90 度(正交编码)。
当您顺时针转动旋钮时,引脚 A 先连接,然后是 B。同样,当您逆时针转动旋钮时,会发生相反的情况。
然后我们可以跟踪引脚何时连接和断开接地以确定旋转方向。
如何选择旋转编码器?
增量编码器还是绝对编码器?
选择成本容量比更好的,或者在启动过程中返回或不返回原点的。另外,根据噪音容忍度和最高速度选择一种。
需要多少分辨率?
选择一种与所需精度和设备成本相匹配的设备。因此,您应该选择分辨率为所用机器精度的 ½ 到 ¼ 的机器。
尺寸
关于安装空间,请考虑使用的旋转轴的类型。供您参考,轴可以是空心的或规则的。
允许的轴负载
选择编码器时,请考虑安装方法如何影响轴的负载和机械寿命。
最大允许速度
选择一个,同时考虑其在使用过程中的最大机械速度。
最大响应频率
配合使用时,根据设备轴的最大速度选择一种。
最大响应频率 =(转数 (RPM)/60) * 分辨率。
确保您选择的规格在最大响应频率值方面具有一定的余地。
保护程度
请根据其工作环境中存在的灰尘、油和水来选择型号。
- 仅防尘:IP50
- 存在水或油:IP52 (f)、IP64 (f)
- 有油:选择防油的
轴启动扭矩
在这种情况下,请考虑启动扭矩。
输出电路类型
在这里,考虑信号频率、传输距离、噪声和连接设备。
旋转编码器的优缺点
图 5:用于 3D 打印机和 CNC 机器的步进电机和同步轮机械部件
优势
- 高分辨率
- 低成本反馈
- 高精度和可靠性
- 紧凑
- 结合了数字和光学技术
缺点
- 无线电和磁信号会干扰磁编码器
- 直射光会干扰光学编码器
- 受油污、灰尘和灰尘的影响
旋转编码器 Arduino 示例
基本示例
您需要一块 Arduino 板、一块 LCD、一个电位器、连接线和一块面包板。如下图连接。
将模块的 +V 引脚连接到 Arduino 的 5V 引脚并将您的设置接地。接下来,将 CLK 和 DT 引脚分别连接到数字引脚 2 和 3。
使用旋转编码器控制步进电机
您需要一块 Arduino 板、一个步进电机和驱动板、一个旋转编码器和一个面包板。
将编码器 GND 连接到 Arduino GND,将 + 连接到 Arduino 5V 引脚。此外,将 DT 连接到 Arduino 模拟引脚 5,将 CLK 连接到 Arduino 模拟引脚 4。
用旋转编码器控制伺服电机
旋转编码器在需要精确定位物体(例如机器人手臂)的项目中至关重要。
使用时,请将伺服电机的棕/黑线接地。此外,将伺服电机的红线连接到 5V 电源。最后,将橙色/黄色线连接到启用 PWM 的引脚 9。
结论
正如我们所见,您可以在许多项目中使用带有 Arduino 的旋转编码器。它们使用简单、用途广泛且价格低廉。如需帮助您的项目,或者如果您有一些灰色地带需要澄清,请联系我们。
工业技术