Arduino - Actuador
En este tutorial, vamos a aprender:
- Cómo funciona un actuador lineal
- Cómo hacer que un actuador lineal se extienda o se retraiga.
- Cómo controlar un actuador lineal utilizando un controlador L298N y Arduino.
- Cómo controlar la velocidad de un actuador lineal.
Este tutorial es para un actuador lineal sin retroalimentación. Si quieres aprender sobre un actuador lineal con retroalimentación, consulta este Arduino - Actuador con Retroalimentación tutorial.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del actuador lineal

Diagrama de pines del actuador lineal
El actuador lineal tiene dos cables:
- Cable positivo: normalmente rojo
- Cable negativo: normalmente negro

Cómo funciona
Cuando compras un actuador lineal, necesitas saber qué voltaje necesita para funcionar. Tomemos como ejemplo un actuador lineal de 12 V.
Cuando alimentas el actuador lineal de 12 V con una fuente de alimentación de 12 V:
- 12 V y GND al cable positivo y al cable negativo, respectivamente: el actuador lineal se extiende a toda velocidad hasta que alcance el límite.
- 12 V y GND al cable negativo y al cable positivo, respectivamente: el actuador lineal se retrae a toda velocidad hasta que alcance el límite.
Mientras se extiende o se retrae, si dejamos de suministrar energía al actuador (GND a ambos cables, positivo y negativo), el actuador deja de extenderse/retraerse.
※ Nota:
Para un motor de corriente continua (CC), un servomotor y un motor paso a paso sin engranajes, cuando llevan una carga, si dejamos de suministrar energía, no pueden mantener la posición. A diferencia de estos motores, el actuador puede mantener la posición incluso cuando se detiene el suministro de energía mientras lleva una carga.
Si alimentamos a los actuadores lineales con menos de 12 V, el actuador lineal aún se extiende/retrae, pero no a la velocidad máxima. Esto significa que si cambiamos la tensión de la fuente de alimentación, podemos cambiar la velocidad del actuador lineal. Sin embargo, este método no se utiliza en la práctica debido a la dificultad para controlar la tensión de la fuente de alimentación. En su lugar, fijamos la tensión de la fuente de alimentación y controlamos la velocidad del actuador lineal mediante una señal PWM. Cuanto mayor sea el ciclo de trabajo del PWM, mayor será la velocidad con la que el actuador lineal se extiende/retrae.

Cómo controlar un actuador lineal con Arduino
Controlar un actuador lineal incluye:
- Extiende el actuador lineal a la velocidad máxima.
- Retrae el actuador lineal a la velocidad máxima.
- (opcional) controla la velocidad de extensión/retracción.
Arduino puede generar la señal para controlar el actuador lineal. Sin embargo, esta señal tiene baja tensión y corriente, por lo que no podemos usarla para controlar el actuador lineal. Necesitamos usar un controlador de hardware entre Arduino y el actuador lineal. El controlador realiza dos funciones:
- Amplificar la señal de control del Arduino (corriente y voltaje)
- Recibir otra señal de control del Arduino para intercambiar el polo de la fuente de alimentación → para el control de dirección.
※ Nota:
- Este tutorial puede aplicarse a todos los actuadores lineales. El actuador lineal de 12 V es solo un ejemplo.
- Al controlar un actuador lineal de 5 V, aunque el pin de Arduino suministra 5 V (el mismo voltaje que el actuador lineal), aún necesitas un driver entre Arduino y el actuador lineal, porque el pin de Arduino no proporciona suficiente corriente para el actuador lineal.
Existen muchos tipos de chips; los módulos (p. ej., L293D, L298N) pueden usarse como controladores de actuadores lineales. En este tutorial, usaremos el controlador L298N.
※ Nota:
También puedes usar relés como controlador. Sin embargo, se requieren 4 relés para controlar un único actuador lineal (tanto para la extensión como para la retracción).
Acerca del controlador L298N
El controlador L298N puede usarse para controlar un actuador lineal, un motor de corriente continua y un motor paso a paso. En este tutorial, aprendemos a utilizarlo para controlar el actuador lineal.
Pinout del controlador L298N

El controlador L298N tiene dos canales, llamados canal A y canal B. Por lo tanto, el controlador L298N puede controlar dos actuadores lineales de forma independiente al mismo tiempo. Supongamos que el actuador lineal A está conectado al canal A, y el actuador lineal B está conectado al canal B. El controlador L298N tiene 13 pines:
Los pines comunes para ambos canales:
- Pin VCC: suministra energía para el actuador lineal. Puede estar entre 5 y 35 V.
- Pin GND: es un pin de tierra común; debe conectarse a GND (0 V).
- Pin 5V: suministra energía para el módulo L298N. Puede ser alimentado por 5 V del Arduino.
Pines del Canal A:
- Los pines ENA se utilizan para controlar la velocidad del actuador lineal A. Quitar el puente y conectar este pin a la entrada PWM nos permitirá controlar la velocidad de extensión/retracción del actuador lineal A.
- Los pines IN1 e IN2 se utilizan para controlar la dirección de movimiento de un actuador lineal. Cuando uno de ellos está ALTO y el otro BAJO, el actuador lineal se extenderá o retratará. Si ambas entradas están en ALTO, o si ambas están en BAJO, el actuador lineal se detendrá.
- Los pines OUT1 y OUT2 están conectados a un actuador lineal A.
Pines del Canal B:
- Los pines ENB se utilizan para controlar la velocidad del actuador lineal B. Al quitar el puente y conectar este pin a la entrada PWM, podremos controlar la velocidad de extensión/retracción del actuador lineal B.
- Los pines IN3 y IN4 se utilizan para controlar la dirección de movimiento de un actuador lineal. Cuando uno de ellos está en nivel alto y el otro en nivel bajo, el actuador lineal se extenderá o retraerá. Si ambas entradas están en nivel alto o nivel bajo, el actuador lineal se detendrá.
- Los pines OUT3 y OUT4 están conectados a un actuador lineal.
Como se describe anteriormente, el controlador L298N tiene dos fuentes de alimentación de entrada:
- Uno para actuador lineal (pines VCC y GND): de 5 a 35 V.
- Uno para el funcionamiento interno del módulo L298N (pines de 5V y GND): de 5 a 7 V.
El controlador L298N también tiene tres jumpers para usos avanzados u otros fines. Para simplificar, por favor retire todos los jumpers del controlador L298N.
Podemos controlar dos actuadores lineales de forma independiente al mismo tiempo usando un Arduino y un controlador L298N. Para controlar cada actuador lineal, solo necesitamos tres pines del Arduino.
※ Nota:
El resto de este tutorial controla un actuador lineal usando el canal A. Controlar el otro actuador lineal es similar.
Cómo controlar un actuador lineal
Aprenderemos a controlar un actuador lineal utilizando el controlador L298N.
Diagrama de cableado
Por favor, retire los tres jumpers del módulo L298N antes de cablear.

This image is created using Fritzing. Click to enlarge image
Cómo hacer que un actuador lineal se extienda y se retraiga
La dirección de movimiento de un actuador lineal puede ser controlada aplicando un nivel lógico alto o bajo a los pines IN1 e IN2. La tabla a continuación ilustra cómo controlar la dirección en ambos canales.
| IN1 pin | IN2 pin | Direction |
|---|---|---|
| LOW | LOW | Linear Actuator A stops |
| HIGH | HIGH | Linear Actuator A stops |
| HIGH | LOW | Linear Actuator A extends |
| LOW | HIGH | Linear Actuator A retracts |
- Extiende el actuador lineal A
- Retracta el actuador lineal A
※ Nota:
La dirección de movimiento se invierte si los pines OUT1 y OUT2 se conectan a dos pines del actuador lineal de forma inversa. Si es así, solo es necesario intercambiar los pines OUT1 y OUT2 o cambiar la señal de control en los pines IN1 e IN2 en el código.
Cómo evitar que un actuador lineal se extienda o se retraiga
El actuador lineal se detiene automáticamente al extenderse o retraerse cuando alcanza el límite. También podemos detenerlo de forma programable para que no se extienda ni se retraiga mientras no haya llegado al límite.
Hay dos formas de detener un actuador lineal.
- Controla la velocidad a 0
- Controla los pines IN1 e IN2 para que tengan el mismo valor (BAJO o ALTO)
- O
Cómo controlar la velocidad del actuador lineal mediante el controlador L298N
Es sencillo controlar la velocidad del actuador lineal. En lugar de poner el pin ENA en alto, generamos una señal PWM al pin ENA. Podemos hacer esto de la siguiente manera:
- Conecta un pin de Arduino al ENA del L298N
- Genera una señal PWM en el pin ENA utilizando la función analogWrite(). El controlador L298N amplifica la señal PWM para un actuador lineal
La velocidad es un valor entre 0 y 255. Si la velocidad es 0, el actuador lineal se detiene. Si la velocidad es 255, el actuador lineal se extiende/retracciona a la velocidad máxima.
Ejemplo de código de Arduino
El código a continuación hace:
- Extender el actuador a la velocidad máxima
- Detener el actuador lineal
- Retractar el actuador a la velocidad máxima
- Detener el actuador lineal
Pasos R\u00e1pidos
- Retira los tres jumpers del módulo L298N.
- Copia el código anterior y ábrelo en el IDE de Arduino.
- Haz clic en el botón Subir en el IDE de Arduino para cargar el código al Arduino.
- Verás:
- El actuador lineal se extiende y luego se detiene al alcanzar el límite
- El actuador lineal mantiene la posición durante un tiempo
- El actuador lineal se retrae y luego se detiene al alcanzar el límite
- El actuador lineal mantiene la posición durante un tiempo
- El proceso anterior se ejecuta de forma repetida.
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.