En este ejemplo, controlaremos la velocidad de un actuador lineal con un Arduino y un controlador de motor.
Nota: Este tutorial asume conocimientos previos con principios electrónicos básicos, hardware y software Arduino. Si es la primera vez que usa Arduino, le sugerimos que aprenda los conceptos básicos de uno de los muchos excelentes tutoriales para principiantes disponibles a través de las búsquedas de Google y YouTube. Tenga en cuenta que no tenemos los recursos para proporcionar soporte técnico para aplicaciones personalizadas y no depuraremos, editaremos, proporcionaremos código o diagramas de cableado fuera de estos tutoriales disponibles públicamente.
Componentes
- Actuador lineal 12V
- Fuente de alimentación 12V
- Arduino
- Controlador de motor
- Potenciómetro (opcional)
- Cables eléctricos para hacer conexiones y herramienta de crimpado o soldador
Alambrado
Descripción general de hardware y software
Los motores de CC en actuadores lineales requieren una alta corriente (hasta 5A), si tuviéramos que conectar el actuador lineal directamente al Arduino, este alto consumo de corriente destruiría los pines digitales de Arduino, ya que solo tienen una capacidad nominal de 40 mA cada uno. Por lo tanto, utilizamos un controlador de motor que puede tomar una señal PWM (modulación de ancho de pulso) de baja corriente de la placa Arduino y enviar una señal PWM de alta corriente al actuador lineal.
El controlador del motor está conectado a dos pines digitales PWM (pines 10 y 11 en el Arduino Uno). Al establecer uno de estos pines en BAJO y el otro en ALTO (consulte las líneas 18 y 19 en el código a continuación), podemos extender el actuador a la velocidad máxima. Para detener el actuador, configuramos ambos pines en LOW (ver línea 21 y 22 en el código a continuación) y para invertir la dirección del movimiento podemos invertir el orden de los pines HIGH y LOW (ver línea 24 y 25 en el código a continuación). También podemos ajustar la velocidad cambiando la variable “Velocidad” a cualquier valor en el rango [0, 255]; vea la línea 17 en el código a continuación.
Código
https://gist.github.com/Will-Firgelli/c0ef0871dc1946d75257e0c29dccae2a
Control de velocidad variable con un potenciómetro
En el ejemplo anterior, configuramos manualmente la velocidad en la línea 17 del código. Sin embargo, pueden surgir situaciones en las que queramos variar la velocidad del actuador en el tiempo. El método más sencillo para lograrlo es mediante un potenciómetro. UN potenciómetro esuna resistencia variable de tres terminales que puede actuar como divisor de voltaje. Al girar la perilla del potenciómetro, el voltaje de salida variará y podemos conectarlo al pin analógico de un Arduino para establecer una velocidad variable.
Alambrado
Descripción general de hardware y software
Como se mencionó anteriormente, un potenciómetro es un dispositivo giratorio que cambia la resistencia cuando se gira la perilla. Al conectar los dos pines exteriores del potenciómetro a 5V y GND, y el pin del medio al pin analógico Arduino, A0, se crea un divisor de voltaje. A medida que se gira la perilla, Arduino leerá lecturas analógicas que van desde [0, 1023].
Para valores en el rango [512, 1023] queremos que el actuador se extienda y para valores [0, 511] queremos que el actuador se retraiga, esto se puede lograr con una simple declaración if () / else en las líneas 22 y 28 en el código de abajo. Luego, usando la función map () (línea 23 y 29 en el código a continuación) podemos convertir esto en una señal PWM que controlará tanto la velocidad como la dirección del actuador.
Código
https://gist.github.com/Will-Firgelli/d2cdf69edc829974885984b3fb8e4856