0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arduino旋转编码器的教程

454398 来源:网络整理 作者:佚名 2019-10-31 08:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:旋转编码器的脉冲流

Arduino旋转编码器的教程

以下旋转编码器产生的脉冲流与上图类似。

步骤2:旋转编码器的引脚排列

说明:

GND-》 GND

+-》 + 5V

SW -》按下时旋转编码器的按钮

DT-》数据

CLK-》数据2

DT之一或CLK引脚必须连接到Arduino Uno的中断脚,或者DT和CLK都连接到中断引脚。

步骤3:示意图

GNDàGND Arduino Uno

+à+ 5V Arduino Uno

SWàPIN 4 Arduino Uno

DT àPIN 3 Arduino Uno

CLKàPIN2 Arduino Uno

第4步:代码

在以下教程中,PI将用作中断Arduino Uno的N 2,而PIN 3仅用作常规输入。

#define encoder0PinA 2

#define encoder0PinB 3

#define encoder0Btn 4

int encoder0Pos = 0;

void setup() {

Serial.begin(9600);

pinMode(encoder0PinA, INPUT_PULLUP);

pinMode(encoder0PinB, INPUT_PULLUP);

pinMode(encoder0Btn, INPUT_PULLUP);

attachInterrupt(0, doEncoder, CHANGE);

}

int valRotary,lastValRotary;

void loop() {

int btn = digitalRead(encoder0Btn);

Serial.print(btn);

Serial.print(“ ”);

Serial.print(valRotary);

if(valRotary》lastValRotary)

{

Serial.print(“ CW”);

}

if(valRotary {

Serial.print(“ CCW”);

}

lastValRotary = valRotary;

Serial.println(“ ”);

delay(250);

}

void doEncoder()

{

if (digitalRead(encoder0PinA) == digitalRead(encoder0PinB))

{

encoder0Pos++;

}

else

{

encoder0Pos--;

}

valRotary = encoder0Pos/2.5;

}

上面草图的第10行用于启用Arduino Uno的2号插针的中断。在“ doEncoder”功能中,由旋转编码器计算得出。如果DT和CLK(Arduino Uno的引脚中断)的值相同,则“ encoder0Pos”变量将增加/添加,除此条件外,“ encoder0Pos”变量将减少。

步骤5:说明

ValRotary值是已运行的步骤数的值。 ValRotary值由旋转传感器编码器读数值除以2.5获得。从测试中获得的值为2.5,因为旋转编码器的一个步骤可能会超过1,因此请根据每个步长以及读取延迟的增加将其值除以2.5。

第19-25行是确定旋转旋转编码器是CW还是CCW的程序。第19-25行的解释是当前的旋转编码器读数大于先前的旋转数据,然后表示为CW。

步骤6:输出

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    45

    文章

    3903

    浏览量

    141436
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    195959
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Vishay RAIK060 旋转绝对感应套件编码器技术解析

    Vishay RAIK060旋转绝对电感套件编码器专门用于电机驱动、机器人位置和具有精确定位的工业运动控制。这些编码器通过LED状态颜色轻松组装,对外部磁场、电场和温度不敏感。RAIK060
    的头像 发表于 11-11 11:31 332次阅读
    Vishay RAIK060 <b class='flag-5'>旋转</b>绝对感应套件<b class='flag-5'>编码器</b>技术解析

    国产编码器在人形机器人领域的进展

    电子发烧友网综合报道 编码器是测量旋转角度、位移及速度的传感,作为伺服系统的核心部件,在人形机器人领域,其数据反馈对实现机器人运动的精密控制与定位至关重要。   编码器种类丰富,按技
    的头像 发表于 09-24 09:41 1062次阅读

    多圈增量式编码器:工业自动化中的“旋转记忆大师”

    在工业自动化设备高速运转的场景中,一台风电齿轮箱的传动轴持续旋转了128圈,传统单圈编码器早已因数据溢出而“失忆”,而多圈增量式编码器却能精准记录每一圈的位移变化,为控制系统提供连续、可靠的位置反馈
    的头像 发表于 09-18 17:14 570次阅读

    新品|Unit Step16,16 定位BCD旋转编码器控制单元

    UnitStep16是一款基于STM32G031G8U6微控制的16定位旋转编码器控制单元。其核心功能在于实时采集旋转编码器的BCD
    的头像 发表于 08-01 17:35 1127次阅读
    新品|Unit Step16,16 定位BCD<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>控制单元

    增量型旋转编码器:工业智能化的“精密罗盘”

    在工业自动化浪潮席卷全球的今天,每一个精密动作的背后都离不开传感的精准反馈。作为工业控制领域的“隐形冠军”,增量型旋转编码器凭借其高性价比、高可靠性和灵活适配性,正成为智能制造、机器人、新能源汽车
    的头像 发表于 07-30 08:33 435次阅读
    增量型<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>:工业智能化的“精密罗盘”

    一文读懂什么是磁性编码器

    磁性编码器是一种用于测量角度和线性位置的传感。它使用磁性信号来监测旋转或线性位置的变化,并把这些变化转换成数字信号。磁性编码器可用于各种应用中,比如机器人、汽车、数控机床等领域
    的头像 发表于 04-27 17:18 762次阅读

    旋转编码器在永磁同步电机位置测量中的应用(可下载)

    旋转编码器能够满足高精度、高可靠性、低成本的设计要求。 那么将 AS5040 磁旋转编码器应用于永磁同步电机位置检测时,需要解决两个问题:一是 磁
    发表于 04-09 13:37 0次下载

    创新伺服电机使用的多圈绝对式旋转编码器

    为了适应越来越短伺服驱动的设计,使用多圈 绝对值旋转编码器的长度和直径也必须减少。 机器人和数控机床制造商比以往任何时候都 需要具有更高效率更精确和更紧凑型驱动。为 了满足这些未来
    发表于 03-12 16:58

    编码器与无轴承编码器,到底如何选择?

    :    ● 通常包含光传感和光栅。当轴旋转时,光栅会中断传感的光路,产生电脉冲,从而进行角度测量。    ● 内部轴承通常较小,不适合重载。编码器连接的轴必须沿其轴线对中,以免与
    的头像 发表于 03-11 15:33 987次阅读
    轴<b class='flag-5'>编码器</b>与无轴承<b class='flag-5'>编码器</b>,到底如何选择?

    伺服电机编码器怎么选型

    伺服电机编码器的选型是一个综合性的过程,需要考虑多个因素以确保所选编码器能够满足系统的性能要求。以下是一些关键的选型步骤和考虑因素: 一、明确应用需求 首先,需要明确伺服电机编码器的应用需求,包括
    的头像 发表于 03-11 12:01 1461次阅读
    伺服电机<b class='flag-5'>编码器</b>怎么选型

    磁环编码器:精准定位与高效旋转控制的创新解决方案

    在当今高度自动化与智能化的工业领域,每一个微小的运动控制都承载着关键的任务与期望。磁环编码器,作为旋转位置检测领域的明星产品,正以其卓越的性能、高精度的定位能力以及对恶劣环境的适应性,引领着旋转控制
    的头像 发表于 02-28 08:54 911次阅读

    DISCOAA编码器类型功能

    根据编码器的通用分类,我们可以推断DISCOAA编码器可能也包括绝对编码器和增量编码器。绝对编码器能够提供每个
    的头像 发表于 02-20 13:47 672次阅读

    旋转编码器选用国产铁电存储(​SF24C512)的5个理由

    旋转编码器选用国产铁电存储(​SF24C512)的5个理由
    的头像 发表于 02-20 09:42 848次阅读
    <b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>选用国产铁电存储<b class='flag-5'>器</b>(​SF24C512)的5个理由

    用于 SPI 绝对编码器Arduino 示例代码

    : [Arduino 板] [AMT22 编码器] [AMT-06C-1-036 电缆] ,或带有相应连接的类似电缆 [Arduino IDE] [下载 AMT22 单圈样例代码]
    的头像 发表于 01-26 21:35 1293次阅读
    用于 SPI 绝对<b class='flag-5'>编码器</b>的 <b class='flag-5'>Arduino</b> 示例代码

    编码器的作用与功能解析

    编码器的工作原理、主要类型及其在各个领域中的广泛应用,揭示这一技术背后的奥秘。 编码器的工作原理 编码器的基本工作原理基于光电效应或磁电效应。光电式编码器通过光源照射
    的头像 发表于 01-24 08:41 2516次阅读
    <b class='flag-5'>编码器</b>的作用与功能解析