Perdón por la longitud.
Esta es una continuación de mi pregunta reciente . Tengo una placa optoacoplada de 8 relés que estoy tratando de conectar a mi microcontrolador. He colocado un registro de desplazamiento 74HC595 en línea para consolidar los puertos de entrada. Al hacerlo, sin embargo, la junta ha estado exhibiendo un comportamiento extraño.
Si no conecto nada, o solo una pequeña carga en los relés, todo funciona bien utilizando el registro de desplazamiento. Se encienden y apagan sin ningún problema. Tan pronto como conecto una bomba de 1 + amp al relé, puede escuchar el disparo del relé y luego se desconecta rápidamente. El LED IN1 (diagrama anterior) también se ilumina durante una fracción de segundo. Sin embargo, a veces (1 de cada 5) el relé y la bomba realmente permanecen encendidos. Ahora aquí es donde se pone raro; Si elimino el registro de desplazamiento y conecto directamente los pines al microcontrolador, funciona bien al encender la bomba.
Por lo tanto, se mencionó la interferencia en el registro de desplazamiento, pero hasta donde entiendo el diseño de la placa de relés, el registro de desplazamiento solo está alimentando el LED en el optoacoplador (U1) y de ninguna manera está conectado a ninguna otra parte del circuito (registro de desplazamiento y el controlador funcionaban con batería). La placa también es Active Low, así que, según tengo entendido, el registro de desplazamiento está hundiendo la corriente del optoacoplador. ¿Podría ser que el optoacoplador requiera más corriente para cambiar la carga más alta de lo que puede hundirse el registro de desplazamiento? Puedo estar muy lejos ya que esto me tiene desconcertado. Además, ¿hay alguna forma de que la interferencia pueda penetrar aunque esté aislada y con una batería?
Todas las pruebas se realizaron con una batería que alimenta el microcontrolador \ registro de desplazamiento, y un boceto muy simple que apuntó solo a un pin de registro de desplazamiento por byte.
El relé de 8 ( información ): actualmente está configurado con una verruga de pared de 5V separada que alimenta los relés. El microcontrolador proporciona 5V para alimentar solo el optoacoplador.
Aprecio toda ayuda que puedas darme.
Actualización 13 de agosto:
Todavía no voy, pero hice muchas más pruebas: moví el registro de desplazamiento y Arduino a 3 pies de distancia de los relés y la alimentación de la red. Ambos estaban alimentados por una batería de 9V. Lo único conectado a la placa de relés era un riel de 5V del Arduino y los 8 cables del registro de desplazamiento a las entradas de la placa de relés. Los mismos resultados, la luz de 100W funciona muy bien, la bomba hace que se dispare. Si elimino el registro de desplazamiento y conecto los pines de salida directamente al Arduino, la bomba se enciende sin problemas.
Solo para verificar que no estaba sucediendo nada con la verruga de pared de 5V dedicada que alimenta los relés, la desconecté y reemplacé el puente en JD-VCC y VCC y conecté el Arduino GND. El mismo resultado, la luz de 100W funciona, la bomba hace que se dispare.
Tiene que ser registro de desplazamiento.
También coloqué un condensador de desacoplamiento de 47 uf en los rieles de alimentación, y el registro de desplazamiento tiene un 104 justo al lado.
Esta noche intentaré poner un multímetro en línea con uno de los pines de salida, quiero ver cuánta corriente está tirando el optoacoplador.
También obtuve un osciloscopio, así que todavía estoy aprendiendo cómo usarlo, pero tal vez pueda descubrir cómo medir cualquier interferencia en el riel de 5V o en las líneas de salida.
Actualización 14 de agosto:
Logré capturarlo fallando con mi osciloscopio. Rigol wfm archivos a continuación. El canal uno está conectado a un pin de salida en el registro de desplazamiento. El canal dos está conectado al riel de 5V.
Acabo de hacer algunas pruebas y logré reproducir un pico de 500mv-1V (a veces era una caída) tanto en el riel de 5V como en uno de los pines de salida del registro de desplazamiento. Ese es el problema, ¿verdad? ¿Ese tipo de pico haría que el registro de desplazamiento se disparara y actuara de manera extraña?
15 de agosto:
A continuación se muestra una captura cuando enciendo y apago manualmente la bomba. No usar el registro de desplazamiento para hacerlo. La línea azul es el pin 1 de salida del registro de desplazamiento, la línea amarilla es 5V.
También tomé algunas fotos de la configuración:
También tengo una publicación en el foro en la que también he estado actualizando resultados: Foro Arduino
16 de agosto
Pude capturar una imagen mucho mejor hoy. No me di cuenta de que el osciloscopio solo captura tantos puntos cuando se ejecuta a intervalos de 1 segundo (ahora tiene mucho sentido). Aquí está el emi malvado sobre el Pin 1 del registro de desplazamiento:
Voy a recoger todos los componentes recomendados este fin de semana e intentar agregarlos uno por uno.
18 de agosto
Problema confirmado La bomba estaba causando tanto ruido que nada de lo que podía hacer en las líneas de baja potencia podía contener las ondas. Esas ondas se abrieron paso en el registro de desplazamiento clock \ latch \ data pins y causaron corrupción \ resets.
Así que fui al extremo y arranqué un circuito protector de sobretensión APC Rack de alta potencia y lo puse frente a la bomba.
Ahora apenas hay un punto en ninguna de las líneas en ninguna parte. ¡Hurra!
Ahora, el objetivo era mantener esto contenido en esa huella del gabinete, así que voy a ver si puedo hacer una versión más compacta, ya que creo que esta placa es excesiva y necesitaría una para cada una de las 5 bombas que tengo. Comenzaré con un solo MOV y veré cuánto reduce el ruido.
Problema resuelto: decidí comprar un filtro de línea para ver si podía filtrar el ruido de la bomba directamente en la fuente. Compré esto: Delta High Performance Filter . Ahora ni siquiera recibo una señal en el osciloscopio.
Gracias por toda la ayuda a todos, desearía poder marcarlos a todos como solucionadores, pero no puedo, así que simplemente se lo di a quien ofreció la mayoría de los consejos.