Control de Motor DC con arduino usando un TRIAC

Control de Motor DC con arduino usando un TRIAC

Para realizar una práctica de control de un motor DC usando un TRIAC con ESP32, puedes seguir estos pasos para crear un sistema básico que permita controlar la velocidad del motor a través de un potenciómetro. Aquí está el esquema y las instrucciones:

Materiales:

  • ESP32
  • TRIAC (BT136 o equivalente)
  • Optoacoplador (MOC3021 o equivalente)
  • Resistencia de 330Ω y 220Ω
  • Diodo (1N4007)
  • Motor DC
  • Potenciómetro
  • Fuente de alimentación adecuada para el motor
  • Protoboard y cables de conexión

Esquema de conexión:

  1. TRIAC y Optoacoplador:
    • Conecta el pin de salida del ESP32 (por ejemplo, GPIO 15) al pin de control del optoacoplador (MOC3021) a través de una resistencia de 330Ω.
    • Conecta el pin de salida del optoacoplador (terminal 6) a la puerta del TRIAC.
    • El terminal de carga del TRIAC (MT1) se conecta a un lado del motor DC, mientras que el otro terminal del motor (MT2) va a la alimentación positiva de la fuente.
    • Conecta el pin común de la fuente de alimentación del motor a tierra.
  2. Potenciómetro:
    • Conecta el pin central del potenciómetro al pin analógico (ADC) del ESP32 (por ejemplo, GPIO 36).
    • Los otros dos terminales del potenciómetro van a 3.3V y GND.

Código para ESP32:

El código leerá la señal del potenciómetro, que se convertirá en una señal PWM para controlar la velocidad del motor.

#define MOTOR_PIN 15 // Pin donde está conectado el optoacoplador al TRIAC
#define POT_PIN 36 // Pin ADC para leer el potenciómetro

int potValue = 0;
int dutyCycle = 0;

void setup() {
pinMode(MOTOR_PIN, OUTPUT);
ledcSetup(0, 5000, 8); // Configuración del canal PWM (canal 0, frecuencia 5kHz, resolución 8 bits)
ledcAttachPin(MOTOR_PIN, 0); // Asignar canal PWM al pin del motor
Serial.begin(115200);
}

void loop() {
potValue = analogRead(POT_PIN); // Leer el valor del potenciómetro
dutyCycle = map(potValue, 0, 4095, 0, 255); // Mapear el valor del potenciómetro a 0-255
ledcWrite(0, dutyCycle); // Ajustar el ciclo de trabajo del PWM para controlar la velocidad
Serial.print(«Potenciometro: «);
Serial.print(potValue);
Serial.print(» , PWM: «);
Serial.println(dutyCycle);
delay(100);
}


Explicación:

  • El ESP32 leerá el valor del potenciómetro, el cual determina la velocidad del motor DC.
  • La velocidad del motor se controla mediante la modulación por ancho de pulso (PWM) aplicada al TRIAC a través del optoacoplador. El ciclo de trabajo del PWM varía entre 0 (motor apagado) y 100% (máxima velocidad).

Notas:

  • El TRIAC se usa principalmente para controlar corriente alterna (AC), pero en este caso, actuará como un interruptor de alta potencia para el motor DC.
  • Asegúrate de usar un optoacoplador adecuado para aislar el control del ESP32 del circuito de potencia.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *