简介
工业级增量式光电旋转编码器,全铝平台,金属外壳,不锈钢出轴。增量型,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直插色环电阻
软件清单
连接图
样例代码
显示顺时针和逆时针的中断次数
/*!
* @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;
}
编码器输出时序图
结果
通过 两路信号 利用中断 来判断在串口上输出顺时针与逆时针的脉冲数