Encoder fotoelétrico incremental - 400P/R

20,24 €
preço com IVA incluído

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.

Últimos artigos em stock


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