Encoder fotoelétrico incremental - 400P/R

20,24 €

Este é um encoder rotativo fotoelétrico incremental industrial feito com alumínio, concha metálica e eixo de aço inoxidável. Ele gera um sinal de pulso ortogonal de duas fases AB através da rotação do disco.



Se tiver alguma dúvida neste produto não hesite em contactar-nos.

*Atenção: as imagens são meramente ilustrativas.


This is an industrial incremental photoelectric rotary encoder with aluminum material, metal shell and stainless steel shaft. It generates AB two-phase orthogonal pulse signal though the rotation of the grating disk and optocoupler. 400 pulses/round for each phase, and 1600 pulses/round for dual-phase 4 times output. This rotary encoder supports max 5000 r/min speed. And it can be used for speed, angle, angular velocity and other data measurement.
The photoelectric rotary encoder has a NPN open collector output. It could work with Microcontroller with internal pull-up resistors directly. And it is using 750L05 voltage regulator chip, which has a DC4.8V-24V wide range power input, compatible with Arduino, STM32, PLC and other types of microcontrollers.


  • Supply Voltage: 4.8V ~ 24v
  • Encoder Body Size: Φ39× 36.5mm
  • Output Shaft Diameter: Φ6 × 13mm
  • Outside Shaft Platform: Φ20 × 4.85 mm
  • Fixing Holes Screws: M3

Board Overview


Num Label Description
White VCC Power +
Black GND Power -
Red A Pulse A (Need pull-up Resistor)
Green B Pulse B (Need pull-up Resistor)


Direction & Interrupt count


  • Hardware
    • DFRduino UNO (or similar) x 1
    • Incremental Photoelectric Rotary Encoder
    • 2x 1K Resistor
    • M-M/F-M/F-F Jumper wires


Connection Diagram

Arduino Connection


Sample Code

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

  @author Dong
  @version  V1.0
  @date  2016-5-26
  All above must be included in any redistribution
* ****************************************************/
#define  A_PHASE 2
#define  B_PHASE 3
unsigned int flag_A = 0;  //Assign a value to the token bit
unsigned int flag_B = 0;  //Assign a value to the token bit
/** *  */
void setup() {
  pinMode(A_PHASE, INPUT);
  pinMode(B_PHASE, INPUT);
  Serial.begin(9600);   //Serial Port Baudrate: 9600
  attachInterrupt(digitalPinToInterrupt( A_PHASE), interrupt, RISING); //Interrupt trigger mode: RISING
void loop() {

  Serial.print("CCW:  ");
  Serial.print("CW: ");
  delay(1000);// Direction judgement

void interrupt()// Interrupt function
{ char i;
  i = digitalRead( B_PHASE);
  if (i == 1)
    flag_A += 1;
    flag_B += 1;




Expected Results

Use the interruption to detect the rotation direction and count cylinder number.


Q1. Why I can't get any feedback from the encoder?

A. Please connect pull-up resistor to phase A & B



Também poderá gostar