前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

Arduino 实例(四十二)确认增量式霍尔编码器的脉冲数并测量长度

qiguaw 2024-12-04 14:46:41 资源文章 37 ℃ 0 评论

1 有时候,我们买的增量式霍尔编码器电机,连个标签也没有,时间久了,技术资料也不知道放哪里了,那怎么确认脉冲数呢?譬如下面这个电机

2 确认增量式霍尔编码器电机脉冲数的思路

将增量式霍尔编码器A相接线接到Arduino上,将轮子转一圈,统计脉冲变化次数,并从串口中显示出来。

3 接线示意

Arduino uno

增量式霍尔编码器

GND

GND

VCC

编码器5V

PIN 3

编码器A相

4 实物接线

平衡车的轮子先借用一个:)平衡车有点难,还没搞定:(,先大材小用下吧

5 程序,程序中用到了中断

#include <FlexiTimer2.h>    //定时中断 
#define ENCODER_A 2
int Count=0;
const float r = 33; //轮子的半径mm
const float pi = 3.141592654;//圆周率
float l=0;
void setup()
{ attachInterrupt(0, READ_ENCODER_A, CHANGE);  
  Serial.begin(9600);
  }
void READ_ENCODER_A() 
{
    if (digitalRead(ENCODER_A) == CHANGE)      
       Count++;  //根据另外一相电平判定方向
    else      
       Count;
    }

void loop()
{ 
  Serial.println(Count);
  delay(500);
  l=2*r*pi*Count/390;
  Serial.print("测量长度为");
  Serial.println(l);
  }

6 串口数据,得到脉冲数

根据电机标签,网上查了下参数,貌似是吻合的,线数是390

7 也可以用轮子在量测物体上滚动,测出被测物体的长度,可以参看这个视频

确认增量式霍尔编码器的脉冲数,并测量长度 - 西瓜视频 (ixigua.com)

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表