arduino+旋转编码器

本文介绍了如何利用Arduino Nano与旋转编码器进行电路连接和编程,以检测旋转轴的角度位置。主要内容包括旋转编码器的工作原理、电路连接方法以及相关程序代码,通过解析编码器的方波脉冲来确定旋转方向和位置。
摘要由CSDN通过智能技术生成

材料清单

arduino nano(其他型号也可以)、旋转编码器、arduino下载数据线、杜邦线若干。

主要原理

旋转编码器是一种位置传感器,用于确定旋转轴的角度位置。它根据旋转运动产生模拟或数字电信号。
在本篇文章中,我们使用的特定旋转编码器是增量式旋转编码器,它是测量旋转的最简单的位置传感器。该旋转编码器也称为正交编码器或相对旋转编码器,其输出是一系列方波脉冲。(如下图)
旋转编码器

前两个引脚(接地和Vcc)用于为编码器供电,通常使用+ 5V电源。除了以顺时针方向和逆时针方向旋转旋钮外,编码器还有一个开关(低电平有效)编码器的按钮在未按下时为高电平,按下时则为低电平,对SW引脚进行电平检测即可判断按钮是否按下。最后它有两个输出引脚,产生脉冲波形。

要详细了解编码器,我们先看看它的工作原理。以下是方波脉冲的产生方式:编码器有一个带有均匀间隔的接触区的磁盘,它们连接到公共引脚C和另外两个独立的接触引脚A和B,如下图所示。
在这里插入图片描述
当磁盘逐步开始旋转时,引脚A和B将开始与公共引脚接触,并相应地产生两个方波输出信号。

如果我们只计算信号的脉冲,则可以使用两个输出中的任何一个来确定旋转位置。但是,如果我们想要确定旋转方向,我们需要同时考虑两个信号。
在这里插入图片描述
我们可以注意到,两个输出信号相位彼此之间相差90度。如果编码器顺时针旋转,则输出A将在输出B之前;如果编码器逆时针旋转,则输出A将在输出B之后。

进一步地,A信号从高到低或从低到高变化的时刻,我们注意到如果编码器顺时针旋转,那么两个输出信号的值相反;如果编码器逆时针旋转,则输出信号具有相等的值。因此,我们可以轻松地对控制器进行编程以读取编码器的位置和旋转方向。

Let’s get started

电路连接

在这里插入图片描述

程序代码


 *  电路连接:
 *  GND-G
 *  + --5V
 *  SW-D3:按钮检测
 *  DT
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值