(SKU:SEN0230)增量式光电旋转编码器 - 400P/R
来自DFRobot Product 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转/分
引脚说明
|
|
说明: 请严格按标签所示接线使用编码器(需要接上拉电阻!!!)
使用样例
硬件清单
- 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(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 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; } |
编码器输出时序图
结果
通过 两路信号 利用中断 来判断在串口上输出顺时针与逆时针的脉冲数