Respuesta rápida

Apila el shield controlador de motor L293D sobre un Arduino Uno, retira el puente de alimentación solo si alimentas el terminal de tornillo propio del shield con una fuente de alimentación separada para motores, y conecta el servo a uno de los dos cabezales de servo 5V. Si estás manejando dos motores DC desde una fuente de banco y prefieres control I2C, el controlador mLink L9110 es una alternativa más limpia. Los pasos a continuación cubren la construcción estándar del shield.

Lo que realmente te ofrece el shield L293D

El Shield Controlador de Motor L293D para Arduino está diseñado para ayudarte a añadir control de motores a tus proyectos. Proporciona dos interfaces para servos de 5V, conectados al temporizador dedicado de alta resolución de Arduino, lo que permite un funcionamiento preciso del servo. Es compatible con placas Arduino Uno; la placa en sí no está incluida.

Esa combinación es la razón por la que este shield sigue siendo popular: dos canales de motor DC más dos cabezales para servos en una sola placa, con la sincronización del servo gestionada por un temporizador dedicado en lugar de bloquear tu bucle principal. La contrapartida es que el L293D es un controlador bipolar con una caída de tensión real, por lo que los motores que necesitan alta corriente o muy bajo voltaje pueden no comportarse bien. Verifica la corriente de bloqueo de tu motor antes de comprometerte.

Verifica tu motor y la fuente de alimentación antes de conectar nada

Dos números deciden si este montaje funciona: la corriente de parada del motor y la tensión de alimentación. El L293D cae aproximadamente 1.4 a 2 V a través de sus transistores internos, por lo que un motor de 6 V en una fuente de 6 V se sentirá lento. Planifique una fuente de alimentación unos voltios por encima de la tensión nominal del motor y confirme que la corriente por canal está dentro de lo que el controlador puede manejar.

Si sus motores consumen más corriente de la que el shield puede suministrar cómodamente, o desea control de velocidad con 255 pasos en cada dirección a través de un enlace I2C simple, vale la pena considerar el controlador de motor DC mLink L9110. Es un controlador de motor DC serie (I2C) de 2 canales capaz de manejar hasta dos motores DC con una corriente máxima de 800 mA por motor, con control independiente de dirección y velocidad.

El puente de alimentación: lo único que la gente hace mal

El puente de alimentación del shield conecta el rail de 5V del Arduino a la alimentación lógica del driver del motor. Con el puente colocado, el shield obtiene la alimentación lógica del Uno, y aún necesita una fuente de alimentación separada para los motores a través del terminal de tornillo.

Retire el puente solo cuando esté alimentando el pin lógico 5V del shield desde una fuente externa regulada de 5V. Si lo retira y olvida alimentar ese pin, el lado lógico se apaga y nada se mueve, que es el informe de 'shield muerto' más común. Déjelo colocado para una construcción normal con Uno.

  • Puente colocado: lógica desde el rail de 5V del Arduino, motores desde el terminal de tornillo.
  • Puente retirado: debe suministrar usted mismo 5V regulado al pin lógico del shield.
  • Nunca aplique tensión de motor al pin lógico de 5V.

Cabezales de servo y el temporizador dedicado

Las dos interfaces de servo de 5V están conectadas al temporizador dedicado de alta resolución del Arduino, lo que significa que los pulsos del servo se mantienen precisos incluso mientras su sketch está ocupado con otras tareas. Es una ventaja real frente a la generación de pulsos de servo por software, donde el jitter se manifiesta como temblores.

La alimentación es el punto crítico. Los servos pueden consumir una corriente de arranque sorprendente al comenzar a moverse, y extraerla del regulador de 5V del Uno puede provocar un apagón en la placa. Para cualquier cosa más allá de un micro servo pequeño, alimente el riel de servo desde una fuente externa de 5V y comparta la tierra con el Arduino.

Finalizar el montaje de forma limpia

Para el cableado del motor y la alimentación, un conector macho de alimentación DC de 2.1mm proporciona un enchufe macho soldable con un diámetro interior de 2.1mm y construcción de plástico y metal, lo que resulta útil cuando se desea terminar un cable de fuente de alimentación de laboratorio o un paquete de baterías en el terminal de tornillo del shield. Las conexiones soldadas mantienen la unión segura bajo vibración, lo que importa en cualquier cosa que se mueva.

Mantenga los cables del motor trenzados y cortos, aléjelos de las líneas de señal del servo y añada una tierra común entre el Arduino y la fuente de alimentación externa. Si un motor tiembla pero no gira, sospeche de la fuente de alimentación o del puente antes de reescribir el código.

Paso a paso: Montaje del shield L293D

  1. 1. Empareje el motor con el controlador: Consulte la tensión nominal y la corriente de parada del motor. El L293D cae internamente aproximadamente de 1.4 a 2 V, así que elija una fuente de alimentación unos voltios por encima de la tensión nominal del motor y mantenga la corriente por canal dentro de los límites del controlador. Si los números no encajan, cambie al mLink L9110, que está clasificado para 800 mA por motor. Punto de control: si no encuentra un valor de corriente de parada, mídalo o elija un controlador con un límite publicado.
  2. 2. Coloque el shield en el Uno: Apague el Arduino, alinee los cabezales del shield con los pines del Uno y presiónelo completamente hasta que encaje. El shield es compatible con placas Arduino Uno, y la placa no está incluida, así que confirme que tiene un Uno y no una placa con una distribución de pines diferente. Punto de control: un shield que esté desplazado una fila de pines a menudo se encenderá pero se comportará de manera errática.
  3. 3. Decida el estado del puente de alimentación: Deje el puente en su lugar para una construcción normal para que el shield tome la alimentación lógica del rail de 5V del Arduino. Retírelo solo si usted mismo está suministrando 5V regulado al pin lógico del shield. En cualquier caso, los motores reciben su propia alimentación a través del terminal de tornillo. Error común: quitar el puente y luego preguntarse por qué la placa está muerta. Si no se enciende nada, vuelva a colocar el puente primero.
  4. 4. Cablee la fuente de alimentación externa del motor: Conecte la fuente de alimentación de su motor al terminal de tornillo del shield, respetando la polaridad. Utilice un conector de enchufe macho de CC 2.1 mm soldado si está terminando una fuente de banco o un cable de batería, y conecte la tierra de la fuente a la tierra del Arduino. Punto de control: mida el voltaje del terminal antes de conectar los motores, y nunca alimente el voltaje del motor al pin lógico 5V.
  5. 5. Conecta los dos motores DC: Coloca el motor A en el primer par de salida y el motor B en el segundo. Si un motor gira en sentido contrario, intercambia sus dos cables en lugar de cambiar el código, y mantén los cables cortos y trenzados. Punto de control: prueba un motor a la vez para que un fallo de cableado en un canal no enmascare al otro.
  6. 6. Añade el servo: Conecte un servo 5V a uno de los dos cabezales de servo, que están conectados al temporizador dedicado de alta resolución del Arduino para un funcionamiento preciso. Para cualquier cosa más grande que un micro servo, alimente el carril del servo desde la fuente externa 5V en lugar del regulador del Uno. Error común: hacer funcionar un servo con carga desde el pin 5V del Arduino y obtener reinicios aleatorios cuando se mueve.
  7. 7. Cargue y verifique: Cargue un sketch que impulse cada motor hacia adelante, luego hacia atrás, y luego barra el servo. Observe la caída de tensión en el medidor mientras los motores funcionan, y confirme que el servo mantiene su posición sin vibraciones. Siguiente paso: si un canal se bloquea bajo carga, revisa el voltaje de alimentación y el margen de corriente antes de tocar el código.

Componentes utilizados en este montaje

  • Escudo controlador de motor L293D para Arduino: Escudo controlador de motor L293D para Arduino: dos interfaces de servo 5V conectadas al temporizador dedicado de alta resolución de Arduino; compatible con placas Arduino Uno (placa no incluida). Te proporciona dos canales de motor y dos conectores de servo en una placa apilable, con la sincronización del servo gestionada por hardware en lugar de en tu sketch.
  • mLink L9110 Controlador de motor DC: mLink L9110 Controlador de motor: driver de motor DC de 2 canales por serie (I2C), compatible con hasta dos motores DC con un máximo de 800mA por motor, con control independiente de dirección y velocidad en 255 pasos por dirección. Una opción más adecuada cuando se desea control por I2C o se necesita conocer de antemano el límite de corriente por motor en lugar de estimarlo.
  • Conector macho de enchufe de alimentación DC de 2.1mm: 2.1mm Conector macho de alimentación CC: clavija macho con diámetro interior de 2.1mm, construcción de plástico y metal, conexiones soldadas para fijación segura, diseñado para aplicaciones de alimentación CC. Le permite terminar un cable de fuente de alimentación o batería en el terminal de tornillo del shield con una unión soldada resistente a vibraciones.