ESP8266 - Actuador

Este tutorial te enseña cómo usar ESP8266 para controlar un actuador lineal. En detalle, aprenderemos:

Hay dos tipos de actuadores lineales:

Este tutorial es para un actuador lineal sin retroalimentación. Si está interesado en aprender sobre un actuador lineal con retroalimentación, consulte el tutorial ESP8266 - Actuator with Feedback.

Hardware Requerido

1×ESP8266 NodeMCU
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×Actuador Lineal
1×Módulo Controlador de Motor L298N
1×Adaptador de Corriente 12V
1×Conector de Alimentación DC
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del actuador lineal

Actuador lineal Extender Retractar

Disposición de pines del actuador lineal

Un actuador lineal tiene dos cables:

  • El cable positivo suele ser rojo.
  • El cable negativo suele ser negro.
Diagrama de pines del actuador lineal

Cómo funciona

Al adquirir un actuador lineal, es esencial estar al tanto del voltaje que necesita para funcionar. Por ejemplo, consideremos un actuador lineal de 12 V.

Cuando alimentas el actuador lineal de 12 V con una fuente de alimentación de 12 V:

  • Conectar 12 V y GND al cable positivo y al cable negativo, respectivamente: el actuador lineal se extenderá a toda velocidad hasta que alcance el tope.
  • Conectar 12 V y GND al cable negativo y al cable positivo, respectivamente: el actuador lineal se retraerá a toda velocidad hasta que alcance el tope.

Si se corta la alimentación del actuador, el proceso de extensión o retracción se detendrá.

※ Nota:

Para motores de corriente continua, servomotores y motores paso a paso sin engranaje, cuando hay una carga presente, si se corta la energía, no mantendrán su posición. En cambio, un actuador puede mantener su posición incluso cuando se quita la energía mientras soporta una carga.

Si el voltaje de la fuente de alimentación para actuadores lineales es inferior a 12 V, el actuador lineal aún se extenderá/retraerá, pero no a su velocidad máxima. Esto significa que cambiar el voltaje de la fuente de alimentación puede afectar la velocidad del actuador lineal. Sin embargo, este enfoque no se utiliza comúnmente debido a la dificultad para controlar el voltaje de la fuente de alimentación. Por lo tanto, el voltaje de la fuente de alimentación se mantiene constante, y la velocidad del actuador lineal se regula mediante una señal PWM. Cuanto mayor sea el ciclo de trabajo de la PWM, más rápido se extenderá/retraerá el actuador lineal.

Cómo controlar un actuador lineal

Cómo controlar un actuador lineal con ESP8266

La gestión de un actuador lineal implica:

  • Extender el actuador lineal a su velocidad máxima.
  • Retractar el actuador lineal a su velocidad máxima.
  • (Opcional) Ajustar la velocidad de extensión y retracción.

ESP8266 es capaz de generar una señal que puede utilizarse para controlar un actuador lineal; sin embargo, el voltaje y la corriente de esa señal son demasiado bajos para usarse tal como están. Por lo tanto, se debe usar un controlador de hardware para cerrar la brecha entre el ESP8266 y el actuador lineal. El controlador tiene dos funciones:

  • Amplificar la señal de control del ESP8266 (tanto para voltaje como para corriente)
  • Recibir otra señal de control del ESP8266 para invertir la polaridad de la fuente de alimentación, lo que permite el control de la dirección

※ Nota:

  • Este tutorial puede usarse para todos los actuadores lineales, siendo el actuador lineal de 12 V solo un ejemplo.
  • Al controlar un actuador lineal de 5 V, aunque la salida del pin del ESP8266 entrega 5 V (que es el mismo voltaje que el actuador lineal), aún es necesario un controlador entre el ESP8266 y el actuador lineal porque el pin del ESP8266 no proporciona suficiente corriente para el actuador lineal.

Existen numerosos tipos de chips y módulos disponibles para controladores de actuadores lineales. Para este tutorial, usaremos el controlador L298N.

Acerca del controlador L298N

El controlador L298N se puede usar para controlar actuadores lineales, motores de corriente continua y motores paso a paso. Este tutorial te indica cómo usarlo para regular el actuador lineal.

Esquema de pines del controlador L298N

Pinout del controlador L298N

El controlador L298N tiene dos canales, etiquetados como A y B. Esto significa que puede controlar de forma independiente dos actuadores lineales 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 trece pines.

Los pines comunes para ambos canales:

  • Pin VCC: Este pin proporciona energía al actuador lineal y puede variar de 5 a 35 V.
  • Pin GND: Este es un pin de tierra que debe estar conectado a 0 V (GND).
  • Pin 5V: Este pin suministra energía al módulo L298N y puede provenir de la salida de 5 V de un ESP8266.

Pines del Canal A:

  • Pines ENA: Estos pines se utilizan para controlar la velocidad del actuador lineal A. Al quitar el puente y conectar este pin a la entrada PWM, podemos controlar la velocidad a la que se extiende y retrae el actuador lineal.
  • Pines IN1 e IN2: Estos pines se utilizan para controlar la dirección de un actuador lineal. Cuando uno de ellos está en ALTO y el otro en BAJO, el actuador lineal se extenderá o retraerá. Si ambas entradas están en ALTO o en BAJO, el actuador lineal se detendrá.
  • Pines OUT1 y OUT2: Estos pines están conectados al actuador lineal A.

Pines del canal B:

  • Pines ENB: se utilizan para regular la velocidad del actuador lineal B. Retirar el puente y conectar este pin a la entrada PWM nos permitirá controlar la velocidad de extensión/retracción del actuador lineal B.
  • Pines IN3 e IN4: se utilizan para controlar la dirección de movimiento de un actuador lineal. Cuando uno de ellos está en ALTO y el otro en BAJO, el actuador lineal se extenderá o retraerá. Si ambos pines están en ALTO o en BAJO, el actuador lineal se detendrá.
  • Pines OUT3 y OUT4: están conectados a un actuador lineal.

El controlador L298N tiene dos fuentes de alimentación de entrada:

  • Uno para el actuador lineal con un rango de voltaje de 5 a 35 V, conectado a los pines VCC y GND.
  • Uno para el funcionamiento interno del módulo L298N, con un rango de voltaje de 5 a 7 V, conectado a los pines 5V y GND.

Quita todos los jumpers del controlador L298N para simplificar.

Podemos gestionar dos actuadores lineales de forma independiente y simultánea con la ayuda de un ESP8266 y un controlador L298N. Solo se requieren tres pines del ESP8266 para controlar cada actuador lineal.

※ Nota:

El resto de este tutorial se centrará en controlar un actuador lineal a través del Canal A. El proceso para controlar el otro actuador lineal es similar.

Cómo controlar un actuador lineal

Estudiaremos la técnica para manejar un actuador lineal con la ayuda de un controlador L298N.

Diagrama de cableado

Quita los tres puentes del módulo L298N antes de conectarlo.

Diagrama de cableado del actuador lineal ESP8266 NodeMCU y del controlador L298N

This image is created using Fritzing. Click to enlarge image

Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.

Cómo hacer que un actuador lineal se extienda y se retraiga

La dirección de movimiento del actuador lineal puede controlarse aplicando un nivel lógico alto o bajo a los pines IN1 e IN2. La tabla a continuación muestra cómo gestionar 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.
digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW);
  • Retracta el actuador lineal A
digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH);

※ Nota:

El sentido de orientación del actuador lineal puede cambiarse al conectar los pines OUT1 y OUT2 en un orden distinto. Para ello, es necesario o bien cambiar los pines OUT1 y OUT2 o bien modificar la señal de control en los pines IN1 e IN2 en el código.

Cómo evitar que el actuador lineal se extienda o se retraiga

El actuador lineal dejará de extenderse o retraerse cuando alcance el límite. Además, podemos programarlo para que deje de extenderse o retraerse antes de que alcance el límite.

Hay dos métodos para detener un actuador lineal:

  • Reduzca la velocidad a 0
  • Desconecte la fuente de alimentación
analogWrite(ENA_PIN, 0);
  • Configura los pines IN1 e IN2 al mismo valor, ya sea LOW o HIGH.
digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, LOW);
  • O
digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, HIGH);

Cómo controlar la velocidad del actuador lineal mediante el controlador L298N

Es fácil regular la velocidad del actuador lineal. En lugar de poner el pin ENA en ALTO, podemos generar una señal PWM para el pin ENA. Esto se puede hacer de la siguiente manera:

  • Conectar un pin del ESP8266 al ENA del L298N
  • Generar una señal PWM al pin ENA utilizando la función analogWrite(). El controlador L298N amplifica la señal PWM al actuador lineal.
analogWrite(ENA_PIN, speed); // speed is a value from 0 to 255

La velocidad es un valor que va de 0 a 255. Cuando la velocidad es 0, el actuador lineal se detendrá. A una velocidad de 255, el actuador lineal se extenderá o retraerá a su velocidad máxima.

Código de ejemplo para ESP8266

El código a continuación:

  • Aumenta el actuador lineal hasta su velocidad máxima
  • Detiene el actuador lineal
  • Disminuye el actuador lineal hasta su velocidad máxima
  • Detiene el actuador lineal nuevamente
/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-actuator */ #define ENA_PIN 7 // The ESP8266 pin connected to the EN1 pin L298N #define IN1_PIN 6 // The ESP8266 pin connected to the IN1 pin L298N #define IN2_PIN 5 // The ESP8266 pin connected to the IN2 pin L298N // The setup function runs once on reset or power-up void setup() { // initialize digital pins as outputs. pinMode(ENA_PIN, OUTPUT); pinMode(IN1_PIN, OUTPUT); pinMode(IN2_PIN, OUTPUT); digitalWrite(ENA_PIN, HIGH); } // The loop function repeats indefinitely void loop() { // extend the actuator digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW); delay(20000); // actuator will stop extending automatically when reaching the limit // retracts the actuator digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH); delay(20000); // actuator will stop retracting automatically when reaching the limit }

Pasos R\u00e1pidos

Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:

  • Consulta el tutorial cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
  • Conecta los componentes como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu ordenador usando un cable USB.
  • Abre el IDE de Arduino en tu ordenador.
  • Elige la placa ESP8266 correcta, por ejemplo (NodeMCU 1.0 (Módulo ESP-12E)), y su puerto COM respectivo.

Retira los tres jumpers del módulo L298N.

Copia el código de arriba y ábrelo en el IDE de Arduino.

Haz clic en el botón Subir en el IDE de Arduino para subir el código al ESP8266.

Observará:

  • El actuador lineal se extenderá hasta alcanzar el límite, y luego se detendrá.
  • El actuador lineal permanecerá en esa posición durante un tiempo determinado.
  • El actuador lineal se retraerá hasta alcanzar el límite, y luego se detendrá.
  • El actuador lineal permanecerá en esa posición durante un tiempo determinado.
  • Este proceso se repetirá continuamente.

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.

Referencias de Funciones

Tutoriales Relacionados

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!