Home - Blog

基础上的旋转编码器Pinout

一些人,如果是大多数人,对不同设备和机器的工作原理很感兴趣。如果你属于这一类,那么你就来对地方了。在这篇文章中,我们将重点介绍一些基础知识。 旋转编码器引脚布局. 让我们开始吧!

目录

什么是旋转编码器?

旋转编码器的引脚配置

旋转编码器是如何工作的?

旋转编码器与电位计

如何将旋转编码器连接到Arduino上

旋转编码器与Arduino的连接

应用

总结

什么是旋转编码器?

金属旋转编码器

A 旋转编码器 是一种电子机械装置,用于测量和转换轴的角度运动和位置,以输出数字或模拟信号。旋转编码器的引脚有两种主要类型。它们是绝对型旋转编码器和增量型旋转编码器。

绝对型旋转编码器引脚

绝对型旋转编码器,也被称为平行绝对型编码器,其输出显示当前轴的位置。而这使它成为一个角度传感器。绝对旋转编码器即使没有电源也能保持位置数据和信息。

编码器有多个具有不同权重的环,提供数据和信息。编码器的绝对位置在一整圈的范围内表示。这种编码器可以进一步细分为不同类型的绝对编码器。它们包括。

机械编码器。

光学编码器。

磁性编码器。

增量式旋转编码器引脚

增量式编码器另一方面,增量式编码器立即提供关于位置的数据和信息。这种编码器不提供任何报告或跟踪绝对位置。

如果您必须使用增量式光学编码器来测量机械系统的绝对位置,那么您必须将其归位。归位是指将编码器移动到一个固定的参考点。这样做可以初始化绝对位置数据和信息。

旋转编码器引脚配置

一个旋转编码器模块总共有五个引脚。其中三个引脚用于旋转编码器,而其余两个引脚用于按钮开关。为了让你更好地了解旋转编码器的引脚配置,我们将使用M274的引脚配置作为一个例子。对于这个旋转编码器模块,四个引脚是必须的。

触点A或DT和触点B或CLK下面的引脚测量方向和轴的运动。

引脚名称说明
屏蔽连接到GROUND
+连接到+5V
脉冲内部按钮的输出
DT触点A的结果或DATA
CLK触点B输出或CLOCK

旋转编码器是如何工作的?

如果你打开一个旋转编码器的内部,你会发现一个有槽的圆盘连接到引脚C,公共接地引脚,以及接触引脚A和B,一旦你转动旋钮,引脚A和B会与引脚C接触。

这个顺序取决于你将转动旋钮的方向。一旦引脚接触,它们就会产生彼此相位偏离90°的信号。这样做的结果就是正交编码。正交编码 是指一个针脚先于另一个针脚接触的情况。

使用跟踪系统来确定哪个针脚先接触,哪个针脚与地面断开,你就可以确定旋钮的旋转方向。

旋转编码器与电位计

在我们看一些方面之前,这两者的共同点不同。让我们先定义一下电位器。

A 电位器 是一个带有旋转触点的三端电阻。这个触点形成一个可调的分压器。了解了我们对旋转编码器的了解后,区分这两者就很容易了。

旋转编码器和电位器之间的区别包括但不限于:。

电位器是模拟控制,范围为0至100%。

电位器的位置总是很清楚。

编码器本质上是数字的,特别是增量编码器。

增量式编码器登记的位置需要不断监测。

如何将旋转编码器连接到Arduino上

现在你已经了解了旋转编码器的工作原理,你可能正期待着用一个旋转编码器来检验你新获得的技能。如果你想对你的电子设备进行物理控制,你应该考虑用旋转编码器和Arduino进行实验。

旋转编码器为按钮或触摸屏提供了一个更好的选择,特别是在旋钮为你的不同应用提供了一个更直观的解决方案。下面是如何将旋转编码器连接到Arduino上。

要求

Arduino Nano

编码器模块

USB A到迷你USB电缆

黑线和红线

塑胶板

旋转编码器与Arduino的连接

如果你已经有了一个带有 编码器,你会有以下引脚GND、+、SW、DT和CLK。在某些情况下,这些引脚的命名可能不同。在这种情况下,请确保GND针脚将一个中心编码器针脚和一个开关针脚连接到地。

+引脚通过焊接的电阻将编码器输出信号拉向正电源轨。SW引脚是轴开关的第二个引脚。CLK和DT是编码器的两个引脚,当轴旋转时将产生脉冲输出。随着你的黑线和红线完成了设置,你可以开始了。

代码

一旦你的设置完成,是时候写一些代码了。为此,你需要使用 平台IO IDE。在这个例子中,你将只使用编码器的引脚。按钮的状态将在没有集成开关的情况下读取。

定义编码器

在你跳入编码过程之前,你需要定义编码器引脚。变量旋转定义了轴将转动的方向。在上面的例子中,可能的值是-1.-1所说的方向是一个旋转方向,0是静止的,1是另一个方向。

中断功能

为了避免错过编码器输出的下降边缘,你需要使用中断。 

使用 Arduino nano板,你只需使用2和3个引脚作为外部中断引脚的来源。rotary()函数的第一行检查引脚A的状态是否为低。如果这个函数在引脚上有变化中断时运行,就意味着有一个下降沿。

这一行if(!digitalRead(pinB))检查发送编码器引脚的状态。如果它是低电平,说明旋钮在朝一个方向转动(设置旋转=-1),如果它是高电平,旋转被设置为1。除了通过试验和错误,没有确切的方法来确定旋转的方向。

完成了这些,现在是时候填写setup()函数了。

设置函数

这段代码的第一行是初始化串行接口。对于编码器,引脚被设置并连接为输入。最后,PinA被设置并分配给中断功能。一旦PinA上有一个变化的边缘,中断就会运行一个叫做旋转的函数。

虚无循环功能

为了检查旋转速度是否有任何变化,使用了无效循环功能。当旋转记录为非零时,检查旋转变量的值。如果它是1,代码将向串行接口打印出字符串 “LEFT”。如果它是-1,那么打印出来的将是 “RIGHT”。最后,旋转将重置为零。

结果

一旦你完成了代码,按下上传按钮并转动设置上的旋钮。你应该能够在串行显示器上读到打印输出。

应用

工程系统。

爱好项目。

工业机器。

测量仪器,包括带编码器的角度测量。

电机

机器人手臂

安全系统。

CRO和信号发生器等系统

自动售货机。

空气处理机 起重机。

总结

随着大家急于开发主要依靠触摸屏的系统、电器和小工具,旋钮似乎不会很快消失。旋转编码器的使用在工业系统、电器和工具中是很明显的。

旋转编码器,虽然看起来很简单,但在任何时候都是复杂系统的一部分,这取决于使用情况。

如果你想进一步深入了解这个话题,你可以随时 联系我们.

zhangkexin