Arduino Motor Control con L293NE

-2

Estoy tratando de construir un controlador de motor simple para un motor de hobby 3v ( enlace ) que recogí en Radio Shack.

Estoy usando el L293NE (la hoja de datos se puede encontrar en: enlace ) para la H Puente y tener los siguientes pines dispuestos

pin 1  -> +5v
pin 2  -> arduino pin 2
pin 3  -> motor + terminal
pin 4  -> ground
pin 5  -> ground
pin 6  -> Motor - terminal
pin 7  -> arduino pin 3
pin 8  -> +5v
pin 16 -> +5v

Escribí un pequeño programa y cuando conecto todo al +5 y me basé en el tablero arduino Duemilanove, tanto el trabajo hacia adelante como el inverso son excelentes.

Sabiendo que no podré usar el USB para suministrar energía al arduino una vez en mi robot, uso una batería de 9v y un regulador de voltaje 7805 para reducir esto a 5v. Cuando tomo el +5 del 7805 al vin de arduino y conecto el suelo del arduino al suelo en el tablero de pruebas, el motor solo funcionará de una manera (por ejemplo, hacia delante) pero no de la otra (por ejemplo, a la inversa). ¿Alguna idea?

Ya verifiqué con el multímetro que todos los pines, en el pinout anterior, todavía obtienen + 5v

EDITAR: Actualización # 1 : los pines de conexión a tierra 9,10,12,13,15 no hacen una diferencia. Además, el arduino no se asusta en ningún momento mientras recibe la alimentación del 7805. Al cambiar el arduino a la alimentación USB después de ser impulsado por el 7805, el motor funciona en ambas direcciones. Me dice que el L293 es bueno. Analizar los posibles problemas actuales mencionados en las respuestas.

EDITAR: Actualización # 2 : hubo una pregunta sobre cómo tengo el 7805 alimentando el arduino. Tengo dos placas de pruebas, ya que facilita el cambio. Breadboard 1 (BB1) tiene solo el 7805 en él donde los rieles de alimentación se conectan a la batería de 9v. Bread board 2 (BB2) solo tiene el L293 en él. De esta manera puedo cambiar fácilmente la fuente de alimentación (ya sea BB1 o el arduino) sin tener que meterme en el circuito del L293. Con eso dicho ... Desde el pin + 5v en el 7805, lo envío al + power rail en BB2. Devuelvo el riel del BB2 al riel en BB1. Para alimentar el arduino, solo corro un cable desde el riel + de BB2 a Vin en el tablero de arduino y corro la Tierra en el arduino de nuevo al riel en BB2.

    
pregunta Scott

2 respuestas

1

Dado que lo que cambiaste fue la fuente de alimentación, miraría el riel de 5 V y el voltaje de la batería y vería lo que están haciendo. Si estuvieran haciendo lo mismo que el riel suministrado por USB, su sistema funcionaría.

Aquí hay una posibilidad: tal vez el motor consume más corriente en una u otra dirección. Eso hace que la batería de 9 V caiga por debajo del voltaje de deserción del 7805 (alrededor de 7 V, ¿creo?), Lo que hace que la salida caiga, lo que hace que Arduino se vuelva loco.

    
respondido por el pingswept
1

Si funciona en una dirección pero no en la otra, suena como si una de las señales de control en el L293 estuviera atascada. Es posible que desee ver el nivel en los pines L293 2 y 7 mientras alterna la salida de arduino 2 y la salida 3, para ver si los niveles siguen correctamente.

Ya que mencionaste que esto estaba en una placa de pruebas, siempre debes estar atento a las conexiones intermitentes, tal vez algo se sacudió cuando cambiaste tu poder.

Además, es una buena práctica no dejar las entradas no utilizadas flotando, ya que esto puede introducir ruido en su circuito. En este caso, probablemente debería moler los pines L293 9,10,12,13,15.

Otra forma en que esto podría suceder sería si uno de los transistores de la unidad en un lado del puente H se fundiera, lo cual es algo de qué preocuparse si se saltan los diodos de sujeción del motor. ¿Ha vuelto a la configuración de trabajo en ambos sentidos desde que se incorporó a este comportamiento unidireccional?

más ideas ...

Otra cosa en que pensar es el esquema de distribución de energía. Tienes un 9V alimentando un 7805, pero a partir de ahí, ¿cómo funciona el cable? ¿Va primero al arduino, y desde ese momento al L293? ¿O hiciste ramificaciones separadas del 7805 al arduino y al L293? ¿O tal vez fuiste del 7805 al L293 primero, luego del arduino?

Es importante porque cuando ambos dispositivos comparten una ruta de suministro, las caídas de voltaje inducidas en el cableado de un dispositivo pueden afectar al otro. Este efecto es menos notorio con solo pequeños circuitos digitales, que no tienden a consumir mucha corriente, pero cuando se introduce un motor, definitivamente puede ser un factor, especialmente cuando se usa cable de calibre pequeño.

La mejor forma de distribuir la energía en una configuración como la suya es hacer corridas separadas (tanto la + V como la tierra), una desde la fuente de alimentación hasta el arduino, otra desde la fuente de alimentación hasta la L293. De esta manera, la corriente vertida en la línea de retorno (tierra) por el L293 no causará tanta caída en el voltaje que ve el controlador.

Además, si observa la documentación de L293 que vinculó, tenga en cuenta que Vcc2 es la fuente de alimentación del motor, mientras que Vcc1 alimenta la parte lógica del L293. Podrías seguir la ruta de doble batería con este proyecto. El 7805 podría alimentar al arduino y el Vcc1 de L293 (pin 16), mientras que un segundo suministro conectado al L293 Vcc2 (pin 8) proporcionaría la corriente que impulsa el motor. La segunda fuente de alimentación podría ser una batería no regulada (o incluso su 9V existente), ya que los motores no se preocupan mucho por la falta de tensión de la fuente de alimentación, y no perdería ninguna energía que pase la corriente relativamente alta del motor a través de una caída del regulador .

Otra cosa: está alimentando un motor de 3V con lo que, en teoría, es un suministro de 5V, que si todo funciona significa que su motor estará funcionando un poco más. Podría ser mejor usar un motor de 6V y bajo voltaje que un motor de 3V y sobrepasarlo.

    
respondido por el JustJeff

Lea otras preguntas en las etiquetas