Cómo usar un puente en forma de SN75441 junto con un arduino

1

Estoy tratando de usar un puente en H SN75441 junto con un arduino para impulsar un motor de CC hacia adelante y hacia atrás. Permítame describir la configuración y luego el problema que estoy encontrando.

Tengo un SN75441. Los pines 1 y 16 están conectados al riel positivo. (+ 5V) Los pines 4, 5, 12 y 13 están conectados a tierra. El pin 8 está conectado a una fuente de alimentación de + 9V. Los pines 2 y 7 están conectados respectivamente a dos de los pines lógicos arduino en el modo de salida. Se alternan cada pocos segundos siendo, respectivamente, H, L, luego L, H, luego H, L nuevamente, y así sucesivamente. Tienes la idea Los pines 3 y 6 están conectados al motor de CC.

El riel positivo de +5 V para el SN75441 es suministrado por el arduino. Todos comparten el mismo terreno.

La configuración es análoga a la que se encuentra aquí: enlace

Mi expectativa para el comportamiento es que el motor cambiará de dirección cada pocos segundos cuando los pines 2 y 7 se inviertan.

Lo que realmente sucede es que el motor cambia de dirección 0-3 veces y luego permanece en esa dirección para siempre. Ahora, lo que parece estar sucediendo es que el arduino comienza a restablecerse muy rápidamente, lo que significa que sigue reiniciando los pines de salida lógica a su configuración inicial.

Mi pregunta tiene dos partes: 1) ¿Por qué estaría pasando eso? 2) ¿Cómo lo arreglo?

    
pregunta azani

1 respuesta

1

Probablemente esté ocurriendo porque el motor está causando un apagón en la fuente de alimentación Arduino, o está causando mucho ruido en el pin RESET del AVR. Asegúrese de haber tirado el pin de reinicio a 5V con una resistencia pequeña (no mayor a 10K). Sin embargo, dado que estás usando un Arduino, probablemente ya esté en el tablero.

Puede confirmar esto mirando MCUCSR inmediatamente al reiniciar, es decir, justo al comienzo de la función main () antes de hacer cualquier otra cosa. También debería poder ver mucho ruido en los pines de la fuente de alimentación del AVR (VCC vs GND), y probablemente también ver que el nivel de suministro desciende a un voltaje mucho más bajo de lo que usted esperaría. Esto está sucediendo porque aunque puede estar utilizando suministros separados, cuando se produce un cambio repentino en los requisitos actuales del motor, su inductancia extraerá la energía de donde sea que pueda. Esto significa que para cuando esté disponible la corriente de la fuente de alimentación separada, habría descargado una gran cantidad de ruido en el suelo, y también habría extraído energía a través del pin IO de la atmega que impulsa el SN754410, así como A través de 5V en el propio 754410.

El problema se ve agravado por la forma en que manejas los motores y lo que les estás haciendo. Al atar la entrada 1,2EN (pin 1) a 5V, se aseguró de que el conductor conduzca continuamente el motor. Cada vez que el motor cambia de dirección, experimenta la peor condición posible, donde tiene que ir de un extremo al otro extremo. El cambio repentino en la dirección de conducción y el tiempo que tomará el motor para responder causan un período durante el cual se va a bombear el EMF inverso al controlador y, posteriormente, se contamina el suelo. Además, dado que la situación es realmente peor que un bloqueo, la corriente consumida es 5 veces más alta que la corriente de estado estable que requiere normalmente el motor.

Para solucionar el problema, hay algunas cosas que puedes intentar.

  1. Agregue diodos en las líneas del motor para evitar que el EMF inverso alcance el 754410. Causará cierta contaminación en el suministro de 9 V y en el suelo, pero se puede localizar cerca del motor y no permitirá que el AVR lo vea como mucho. Deberías tener estos en cualquier caso. Para ver un ejemplo de cómo se puede hacer esto (de la hoja de datos del L293, un IC similar), consulte: Ejemplos en la hoja de datos L293, para obtener orientación sobre cómo se hace esto http://circuits.datasheetdir.com/200/L293-circuits.jpg
  2. Agregue un desacoplamiento importante en ambos las líneas de suministro. Separe por separado el 5V para el AVR y el 5V para el SN754410. Use algo como 10uF electrolítico / tantalio con 100nF de cerámica en paralelo con cada uno, al menos. Desacople la fuente de 9V con algo mucho más alto, digamos 100uF. Intente reducir la resistencia de contacto de los cables que llevan el suministro de 9V.
  3. Controlar 1,2EN desde la ATMega también. Cuando esté cambiando de dirección, desactive el controlador por un corto tiempo y deje que el motor gire solo antes de encenderlo en la dirección opuesta. Si tiene prisa, puede reducir la velocidad de los motores a cero lentamente y luego acelerar en la dirección opuesta, de nuevo lentamente. Necesitarías un PWM para hacer esto. Evitar cambios repentinos y grandes en la velocidad es una buena idea.
  4. Si todo lo demás falla, o si desea usar esto para una aplicación crítica en la que le importa la confiabilidad, tampoco se una a los terrenos. Use la optoaislamiento entre las salidas ATMega y las entradas SN754410. Derive el suministro de 5V del SN754410 del suministro de 9V en este caso utilizando un 7805 o similar. De esta manera, cualquier ruido que genere allí no afectará el suministro del AVR.
respondido por el Chintalagiri Shashank

Lea otras preguntas en las etiquetas