_SKU_SEN0230_增量式光电旋转编码器_ _400P_R - jimaobian/DFRobotWikiCn GitHub Wiki

光电式旋转编码器(400PR)

简介

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

产品参数

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

引脚说明

| | | | --------------------------------------- | | | :编码器线序 | |

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

编码器线序

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

使用样例

硬件清单

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

软件清单

点击下载Arduino 1.6.9以上最新IDE

连接图

  • 电路连接图

样例代码

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

|

/***************************************************
  Two phase quadrature encoder(Incremental)
* ****************************************************
   To determine motor with encode (CW OR CCW)

  @author Dongzi([email protected])
  @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
unsigned int flag_A = 0;  //对标志位赋初值
unsigned int flag_B = 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(flag_A);
  Serial.print("CW: ");
  Serial.println(flag_B);
  delay(1000);//  正反转判断周期

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

|}

编码器输出时序图

code_out.png

结果

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

  • 结果图

更多

DFshopping_car1.png DFRobot商城购买链接