(SKU:SEN0230)增量式旋转编码器400PR Incremental Rotary Encoder (DC5-24V)

来自DFRobot Product Wiki
跳转至: 导航搜索
编码器t图3.png

目录

简介

400PR Incremental Rotary Encoder (DC5-24V)是一款增量型旋转编码器,AB两相。通过旋转的光栅盘和光耦产生可识别方向的计数脉冲信号。单相400脉冲每转,双相4倍频为1600个脉冲/转.DC5-24V宽电压供电。最大机械转速5000转/分以上。AB两相输出矩形正交脉冲,电路输出为NPN集电极开路输出型,此种输出类型可以和带内部上拉电阻的单片机直接相连。编码器可用于测量物体的旋转速度、角度、加速度及长度测量。
注意:如果编码器不接到设备上无法直接示波器示波(集电极开路输出在没有上拉电阻的时候,是没有电压输出的)如要示波请在AB两相输出上加上两个上拉电阻。

产品参数


工作电压:5V
供电电压:5V~24v
编码器主体尺寸:外径39×长36.5mm
轴直径:6×13mm
轴外平台为:高4.85mm,直径20mm
固定孔为:3个3MM螺丝孔成120度分布,到圆心距离为15mm
AB两相输出 相位差90度 最大机械转速5000转/分


接线说明

编码器接线.png


















说明: 请严格按标签所示接线使用编码器 (需要接上拉电阻!!!)

使用样例


硬件


  • 1x arduino UNO 主板一块
  • 1x micro USB数据线
  • 1x SEN0230编码器
  • 1x 联轴器(6mm到6mm)
  • 1x 输出轴6mm电动机
  • 2x 10k直插色环电阻



软件

下载安装开发环境资料


 点击下载Arduino 1.6.9以上最新IDE

编码器输出时序图

Code out.png




















样例代码


/***************************************************
* Two phase quadrature encoder(Incremental)   
* ****************************************************
*  To determine motor with encode (CW OR CCW)
  
* @author Dongzi(1185787528@qq.com)
* @version  V1.0
* @date  2016-5-26
* All above must be included in any redistribution
* ****************************************************/
 #define  A_PHASE 2  //A 相定义在数字2号端口 B相定义在 数字3号端口  实际使用时 可根据需要 修改到具有中断功能的 其他数字引脚
 #define  B_PHASE 3
 char flag=1;    //对标志位赋初值
 /** *  */
 void setup() {
  pinMode(A_PHASE,INPUT);// 将数字口 2、3号引脚 配制成输入模式
  pinMode(B_PHASE,INPUT);
  Serial.begin(9600);   //打开串口通信 配置波特率为 9600
  attachInterrupt(digitalPinToInterrupt( A_PHASE), interrupt, RISING); //开 A相接口中断 上升沿 触发中断
 void loop() {
  if(flag==1)     //根据时序图 档A相在上升沿触发中断时 判断B相电平的高低(高为正传“CW”低反转“CCW”) 并通过串口输出。
 }
   {  Serial.print("VEER:");
      Serial.println("CW");
      delay(5);
    }   
    if(flag==0)
   {   Serial.print("VEER: ");
      Serial.println("CCW");
      delay(5);
    }
   delay(500);//  正反转判断周期
  
 }
  void interrupt()// 中断函数  进入中断 判断 B相电平高低 并对标志位赋值
   { char i;    
    i=digitalRead( B_PHASE);
      if(i==1)
          flag=1;
       else
          flag=0;          
       }


结果

    • 通过 两路信号 利用中断 来判断电动机的转向(CW正传CCW反转)并用串口输出在arduino上显示出来




DFshopping car1.png DFRobot商城购买链接

个人工具
名字空间

变换
操作
导航
工具箱