Modifica un controlador de velocidad de motor PWM de 20A DC con un Arduino

Modifica un controlador de velocidad de motor PWM de 20A DC con un Arduino

En este tutorial, aprenderemos cómo modificar un controlador de velocidad de motor PWM de 20A de corriente continua para que funcione sin problemas con un Arduino. Esta modificación permite un control de velocidad preciso de un motor utilizando un potenciómetro o comandos directos desde el Arduino. El resultado es un sistema de control de motor más versátil que se puede integrar en varios proyectos.

Controlador de velocidad de motor PWM de 20A CC: Vista frontal del lado izquierdo
Controlador de velocidad de motor PWM de 20A DC: Vista frontal del lado izquierdo

Para este proyecto, conectaremos el controlador PWM al Arduino y usaremos código para gestionar la velocidad del motor según la entrada del usuario. Esta configuración puede ser ventajosa en aplicaciones que requieren control de velocidad variable, como la robótica o sistemas automatizados. Para mayor claridad, puedes consultar el video que acompaña este tutorial (en el video a las 00:00).

Hardware Explicado

Los componentes principales de este proyecto incluyen la placa Arduino, el controlador de velocidad de motor PWM de 20A y un potenciómetro. El Arduino actúa como el cerebro del sistema, enviando señales PWM al controlador de motor para ajustar la velocidad del motor. El controlador de velocidad del motor utiliza un circuito integrado temporizador 555 para generar señales PWM, que controlan la compuerta de un MOSFET que regula la potencia del motor.

Controlador de velocidad de motor PWM DC de 20A: Dimensiones
Controlador de Velocidad de Motor PWM de 20A DC: Dimensiones

El potenciómetro actúa como un dispositivo de entrada, permitiendo a los usuarios ajustar manualmente la velocidad deseada. Al girar el potenciómetro, la resistencia cambia, enviando un voltaje correspondiente al Arduino. El Arduino lee este voltaje y ajusta la señal PWM enviada al controlador del motor en consecuencia.

Detalles de la hoja de datos

Fabricante Desconocido
Número de parte Controlador de Velocidad de Motor PWM de 20A CC
Voltaje de lógica/IO 5 V
Tensión de alimentación 10-60 V
Corriente de salida (por canal) 20 A
Corriente de pico (por canal) 40 A
Guía de frecuencia PWM Típicamente 1 kHz
Umbrales de lógica de entrada 0.2 V (bajo), 2.0 V (alto)
Caída de tensión / RDS(on)/ saturación 0.1 V
Límites térmicos Hasta 85°C
Paquete PCB estándar
Notas / variantes Varios modelos disponibles

  • Asegúrese de una correcta disipación de calor para aplicaciones de alta corriente.
  • Verifique el cableado para asegurar que la polaridad sea correcta antes de encender el sistema.
  • Utilice capacitores de desacoplamiento en los terminales de la fuente de alimentación.
  • Mantenga la frecuencia PWM alrededor de 1 kHz para un rendimiento óptimo.
  • Ten en cuenta los límites de voltaje de entrada (10-60 V).
Controlador de velocidad de motor PWM de CC de 20A: Potenciómetro (resistor variable)
Controlador de velocidad de motor PWM de CC 20A: Potenciómetro (resistor variable)

Instrucciones de cableado

Para conectar el controlador de velocidad del motor PWM de 20A DC al Arduino, comienza conectando la fuente de alimentación. El terminal positivo de la fuente de alimentación debe conectarse a la entrada V+ del controlador del motor, mientras que el terminal negativo se conecta a la tierra (GND) del controlador. A continuación, conecta el motor a los terminales de salida del controlador, asegurándote de la polaridad correcta para la rotación deseada.

Para la señal PWM, identifica el pin de salida PWM en el controlador, que conectaremos al pin PWM designado en el Arduino (en este caso, el pin5). Además, conecta la tierra del Arduino a la tierra del controlador de motor para asegurar una referencia común. Finalmente, si se utiliza un potenciómetro, conecta un extremo al pin de 5V en el Arduino, el pin del medio a un pin analógico (comoA0), y el último pin a tierra.

Ejemplos de código y tutorial

El código comienza definiendo el pin de salida PWM y el pin de control para el potenciómetro.setup()la función inicializa el pin PWM como salida y comienza la comunicación serial para depuración.

#define pwmPin 5
#define controlPin A0

void setup() {
  pinMode(pwmPin, OUTPUT);
  Serial.begin(9600);
}

En elloop()función, leemos el valor del potenciómetro y lo mapeamos a un rango de PWM adecuado para el controlador del motor. Este valor se escribe luego en el pin de PWM, que controla la velocidad del motor.

void loop() {
  int potValue = analogRead(controlPin);
  int pwm = map(potValue, 0, 1023, 0, 255);
  analogWrite(pwmPin, pwm);
  Serial.print("PWM:");
  Serial.println(pwm);
  delay(500);
}

Por último, se definen funciones para convertir el valor PWM en un porcentaje, lo que permite una comprensión más fácil de la velocidad del motor basada en la entrada del usuario. El código completo se carga debajo del artículo (en el video a las 00:00).

Demostración / Qué Esperar

Una vez que todo esté conectado y el código esté subido, puedes esperar que el motor responda a la posición del potenciómetro. Girar el potenciómetro aumentará o disminuirá la velocidad del motor de acuerdo con la señal PWM enviada desde el Arduino. Asegúrate de que la fuente de alimentación esté dentro del rango de voltaje requerido y de que el motor pueda manejar el voltaje aplicado.

Los errores comunes incluyen el cableado incorrecto, lo que podría llevar a una rotación del motor invertida o a un fallo en el arranque. Siempre verifica las conexiones y asegúrate de que los terrenos del Arduino y del controlador del motor estén unidos (en el video a las 04:30).

Sellos de tiempo del video

  • 00:00 Comenzar
  • 00:40 Introducción
  • 04:07 Preparándose para el cableado (modificándolo)
  • 06:55 Explicación del cableado
  • 08:40 Código explicado
  • 13:15 Demostración

Imágenes

Controlador de velocidad de motor PWM de CC de 20A: principal
Controlador de velocidad de motor PWM de CC de 20A: principal
Controlador de velocidad de motor PWM de CC de 20A: vista superior
Controlador de velocidad de motor PWM de CC de 20A: vista superior
Controlador de velocidad de motor PWM de CC de 20 A: Dimensiones
Controlador de velocidad de motor PWM de CC de 20 A: Dimensiones
Controlador de Velocidad de Motor PWM de CC 20A: Potenciómetro (resistor variable)
Controlador de Velocidad de Motor PWM de CC 20A: Potenciómetro (resistor variable)
Controlador de velocidad de motor PWM de CC de 20A: Vista frontal
Controlador de velocidad de motor PWM de CC de 20A: Vista frontal
Controlador de velocidad de motor PWM de CD de 20A: Vista frontal del lado derecho
Controlador de velocidad de motor PWM de CD de 20A: Vista frontal del lado derecho
Controlador de velocidad de motor PWM de CC de 20A: Vista frontal lateral izquierda
Controlador de velocidad de motor PWM de CC de 20A: Vista frontal lateral izquierda
Controlador de velocidad de motor PWM de CC de 20A: Vista del PCB inferior
Controlador de velocidad de motor PWM de CC de 20A: Vista del PCB inferior
Controlador de velocidad de motor PWM CC de 20 A: línea positiva común
Controlador de velocidad de motor PWM CC de 20 A: línea positiva común
222-Hack: Control a 20A DC Motor with an Arduino using 20A DC 10-60V PWM
Idioma: C++
¡Copiado!

Archivos📁

No hay archivos disponibles.