光电式旋转编码器 400PR

简介

工业级增量式光电旋转编码器,全铝平台,金属外壳,不锈钢出轴。增量型,AB两相输出,通过旋转的光栅盘和光耦产生可识别方向的计数脉冲信号。每转单相输出400脉冲,双相4倍频为1600个脉冲/转。最大机械转速5000转/分以上。AB两相输出矩形正交脉冲,电路输出为NPN集电极开路输出型,此种输出类型可以和带内部上拉电阻的单片机直接相连。可用于转速,角度,角速度等数据测量。采用的进口的稳压芯片750L05,低压差稳压芯片,可以支持DC4.8V-24V宽电压输入,有效兼容Arduino,PLC等各类主控器。 注意:编码器在不接设备的情况下,无法直接示波器示波(集电极开路输出,在没有上拉电阻的时候,是没有电压输出的)如要示波请在AB两相输出上加上两个上拉电阻。

产品参数

引脚说明

:编码器线序

编码器线序

标号 名称 功能描述
红线 VCC 电源正
黑线 GND 电源负
白线 A 脉冲A
绿线 B 脉冲B

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

使用样例

硬件清单

软件清单

点击下载Arduino 1.6.9以上最新IDE

连接图

- 电路连接图

样例代码

显示顺时针和逆时针的中断次数

/*!
 * @file  SEN0230.ino
 * @brief  Two phase quadrature encoder(Incremental)
 * @n  To determine motor with encode (CW OR CCW)
 * @copyright  Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
 * @license  The MIT License (MIT)
 * @author  Dongzi(1185787528@qq.com)
 * @version  V1.0
 * @date  2016-5-26
 */

#define  A_PHASE 2  //A 相定义在数字2号端口 B相定义在 数字3号端口  实际使用时 可根据需要 修改到具有中断功能的 其他数字引脚
#define  B_PHASE 3
unsigned int flagA = 0;  //对标志位赋初值
unsigned int flagB = 0;  //对标志位赋初值
/** *  */
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() {

  Serial.print("CCW:  ");
  Serial.println(flagA);
  Serial.print("CW: ");
  Serial.println(flagB);
  delay(1000);//  正反转判断周期

}
void interrupt()// 中断函数  进入中断 判断 B相电平高低 并对标志位赋值
{ char i;
  i = digitalRead( B_PHASE);
  if (i == 1)
    flagA += 1;
  else
    flagB += 1;
}

编码器输出时序图

code_out.png

结果

通过 两路信号 利用中断 来判断在串口上输出顺时针与逆时针的脉冲数

结果图

更多

DFshopping_car1.png DFRobot商城购买链接