Usando el L9110s con el Arduino

Using the L9110S With the Arduino

El controlador del motor L9110S es una solución compacta y eficiente para controlar motores de CC y motores paso a paso en sus proyectos Arduino. Ya sea que esté construyendo un robot simple o un sistema de automatización más complejo, el L9110 ofrece una forma confiable de administrar las operaciones motoras con un mínimo de cableado y complejidad de programación. En esta publicación de blog, exploraremos las características del controlador del motor L9110, cómo conectarlo a un Arduino y proporcionaremos un código de muestra para que comience.

¿Qué son los L9110?

El L9110S es un IC del controlador de motor de doble canal diseñado para controlar la velocidad y la dirección de dos motores de CC o un motor paso a paso. Funciona en un rango de voltaje de 2.5V a 12V, lo que lo hace versátil para varias aplicaciones. El L9110S es conocido por su tamaño compacto, bajo consumo de energía y facilidad de integración con microcontroladores como el Arduino.

¿Por qué elegir el L9110S?

  • Diseño compacto: Su pequeña huella lo hace ideal para proyectos con espacio limitado.
  • Canales duales: Controle dos motores de forma independiente, permitiendo movimientos complejos.
  • Fácil de usar: Interfaz simple con etiquetado transparente para conexiones fáciles.
  • Rentable: Precios asequibles sin comprometer la funcionalidad.

Conectando el L9110 a Arduino

Configurar el L9110 con un Arduino es sencillo. A continuación se muestra una guía paso a paso para hacer las conexiones:

  1. Conexiones de alimentación:
    • Conecte el VCC Pin del L9110 al pin 5V en el Arduino.
    • Conecte el GND Pin del L9110 al pin GND en el Arduino.
  2. Conexiones del motor:
    • Conecte el primer motor al OUT1 y OUT2 patas.
    • Si usa un segundo motor, conéctelo al OUT3 y OUT4 patas.
  3. Pins de control:
    • Conecte el AIN1 y AIN2 Pins a dos alfileres digitales en el Arduino (por ejemplo, pines 2 y 3).
    • Si usa un segundo motor, conecta BIN1 y BIN2 a otros dos alfileres digitales (por ejemplo, pines 4 y 5).

Consulte el diagrama a continuación para obtener una representación visual de las conexiones:

L9110S Diagrama de conexión Arduino

Programación del Arduino

Después de configurar el hardware, el siguiente paso es programar el Arduino para controlar los motores. A continuación se muestra un código de muestra que demuestra cómo controlar la dirección y la velocidad de un motor de CC utilizando el controlador del motor L9110S.


// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;

// Setup function
void setup() {
  // Initialize the motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
}

// Loop function
void loop() {
  // Rotate motor forward
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second

  // Rotate motor backward
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second
}

Explicación:

  • AIN1 y AIN2 se utilizan para controlar la dirección del motor.
  • Configuración AIN1 Alto y AIN2 Low gira el motor hacia adelante.
  • Configuración AIN1 Bajo y AIN2 Alto gira el motor hacia atrás.
  • Establecer ambos AIN1 y AIN2 Bajo detiene el motor.

Velocidad de control con PWM

El L9110s admite PWM (modulación de ancho de pulso) para el control de velocidad. Al variar el ciclo de trabajo de la señal PWM, puede ajustar la velocidad del motor. Aquí le mostramos cómo modificar el código anterior para incluir el control de velocidad:


// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;
const int PWM_PIN = 9; // PWM pin for speed control

// Setup function
void setup() {
  // Initialize the motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
  pinMode(PWM_PIN, OUTPUT);
}

// Loop function
void loop() {
  // Set speed to 150 out of 255
  analogWrite(PWM_PIN, 150);

  // Rotate motor forward
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second

  // Rotate motor backward
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second
}

Explicación: El analogWrite() La función envía una señal PWM al motor, lo que le permite controlar su velocidad. El valor varía de 0 (parada) a 255 (velocidad completa).

Aplicaciones de L9110 con Arduino

La combinación del controlador de motor L9110 y Arduino abre una amplia gama de posibilidades de proyecto:

  • Robótica: Controle el movimiento de brazos robóticos o robots móviles con control de motor preciso.
  • Sistemas de automatización: Automatice tareas como abrir/cerrar puertas, ajustar válvulas o componentes móviles en líneas de ensamblaje.
  • Proyectos de bricolaje: Cree proyectos electrónicos personalizados como controles deslizantes de cámara motorizados, sistemas de riego de plantas automatizados o vehículos controlados a distancia.
  • Herramientas educativas: Enseñe a los estudiantes sobre el control del motor, la electrónica y la programación a través de proyectos prácticos.

Conclusión

El controlador del motor L9110S es un componente versátil y fácil de usar para cualquier persona que busque controlar motores utilizando un Arduino. Su capacidad de doble canal, combinada con simplicidad en el cableado y la programación, lo convierte en una excelente opción tanto para principiantes como para aficionados experimentados. Siguiendo los pasos descritos en esta publicación, puede integrar rápidamente el control del motor en sus proyectos y ampliar la funcionalidad de sus sistemas basados ​​en Arduino.

Experimente con diferentes velocidades, direcciones y aplicaciones motoras para aprovechar completamente el potencial del controlador del motor L9110S. ¡Feliz tinking!

Escribir un comentario

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.