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