Chat

Welcome to Flux

Treat Flux like your intern. Tell it what you'd like to build and it'll get to work. You can also ask it questions, brainstorm ideas, and teach it your preferences. Learn More

Explain project
Write a project description
Find schematic issues
Create a test plan
Simulate a circuit
Prepare for Manufacturing
Component Selection Workflow
New Subsystem Wizard
Write I2C initialization code
Generate firmware skeleton
U1
Manufacturer Part Number
ESP32-DEVKIT-V1
sensor de rotación 36-1 a señal digital doble

@copilot sensor de rotación 36-1 a señal digital doble
1y
Para convertir las señales de un sensor de rotación 36-1 (a menudo conocido como un encoder incremental) a señales digitales dobles, puedes seguir estos pasos:
  1. Conectar el Encoder Incremental:
    • El encoder tiene dos señales de salida: A y B, que son señales cuadradas desfasadas 90 grados (cuadratura).
    • También puede tener una señal de índice (Z) que señala una rotación completa.
  2. Suministro de Energía:
    • Asegúrate de alimentar el encoder con la tensión adecuada. Los encoders incrementales generalmente funcionan con 5V o 12V.
  3. Filtrado y Acondicionamiento de Señales:
    • Usa resistencias pull-up o pull-down según sea necesario en las señales A y B para asegurar señales estables.
    • Puedes usar un filtro de Schmidt trigger para limpiar las señales.
  4. Conectar las Salidas Digitales:
    • Las señales A y B del encoder pueden ser conectadas directamente a las entradas digitales de un microcontrolador o de otro circuito lógico para su procesamiento.
Ejemplo de conexión usando un microcontrolador ESP32:
Componentes Necesarios: Conexiones:
  1. Conectar el voltaje de alimentación del encoder:
    • Encoder Vcc a +5V
  2. Conectar las salidas del encoder:
    • Encoder A a GPIOxx del ESP32 (por ejemplo, U1:D34)
    • Encoder B a GPIOyy del ESP32 (por ejemplo, U1:D35)
  3. Conectar las resistencias pull-up:
    • Colocar una resistencia de 10kΩ entre GPIOxx y +3.3V
    • Colocar una resistencia de 10kΩ entre GPIOyy y +3.3V
  4. Conectar las tierras:
    • Encoder GND a GND del ESP32 (U1:GND)
Esquema de Conexión: Código de Ejemplo en Arduino para ESP32:

Cpp


#define ENCODER_PIN_A 34
#define ENCODER_PIN_B 35

volatile int32_t encoderCount = 0;
volatile bool lastA = LOW;
volatile bool lastB = LOW;

void IRAM_ATTR encoderISR() {
  bool a = digitalRead(ENCODER_PIN_A);
  bool b = digitalRead(ENCODER_PIN_B);
  
  if (a != lastA || b != lastB) {
    if (a != b) {
      encoderCount++;
    } else {
      encoderCount--;
    }
    lastA = a;
    lastB = b;
  }
}

void setup() {
  Serial.begin(115200);
  pinMode(ENCODER_PIN_A, INPUT);
  pinMode(ENCODER_PIN_B, INPUT);
  attachInterrupt(digitalPinToInterrupt(ENCODER_PIN_A), encoderISR, CHANGE);
  attachInterrupt(digitalPinToInterrupt(ENCODER_PIN_B), encoderISR, CHANGE);
}

void loop() {
  noInterrupts();  // Disable interrupts temporarily
  int32_t count = encoderCount;
  interrupts();    // Enable interrupts

  Serial.println(count);
  delay(100);
}
Este ejemplo configura el ESP32 para leer las salidas de un encoder incremental y contar los pulsos. Ajusta los pines y las interrupciones según tu configuración específica.
1y
2
J5
J11
J4
J9
J6
J7
J12
J8
J10
J14
R6
Resistance
10KΩ
R19
Resistance
10KΩ
R17
Resistance
20KΩ
R11
Resistance
20KΩ
R14
Resistance
10KΩ
R2
Resistance
10KΩ
R7
Resistance
20KΩ
R16
Resistance
10KΩ
R10
Resistance
10KΩ
R5
Resistance
20KΩ
R13
Resistance
20KΩ
R18
Resistance
20KΩ
R3
Resistance
10KΩ
R9
Resistance
20KΩ
R8
Resistance
10KΩ
R15
Resistance
20KΩ
R1
Resistance
10KΩ
R4
Resistance
10KΩ
R12
Resistance
10KΩ
C2
Capacitance
Capacitance
Capacitance
100uF
C4
Capacitance
Capacitance
U2
C1
Capacitance
Capacitance
Capacitance
100uF
J3
C3
Capacitance
Capacitance
U3
Manufacturer Part Number
7805
J1
SW3
SW1
J2
SW2
D1
SW8
J13

No files yet

Documents

    Documents are markdown text files which describe project goals, capture details, or even simulation outputs.

    Assets

    No assets added.

    ESP32 ROBOT CONTROLLER

    ESP32 ROBOT CONTROLLER thumbnail
    Control board for autonomous or radio-controlled robots. It has inputs to connect distance sensors and encoders for autonomous mode. It can be radio controlled by the ESP32 bluetooth or by connecting a Flysky RC controller receiver to the IBUS port. It also has 3 push buttons and you can connect some kind of display by I2C to visualize and select configuration modes.

    Properties

    Properties describe core aspects of the project.

    Pricing & Availability

    Distributor

    Qty 1

    Arrow

    $0.14–$0.53

    Digi-Key

    $3.12–$3.78

    LCSC

    $2.44–$3.21

    Mouser

    $3.35–$3.56

    Verical

    $29.55–$29.93

    Controls