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.
fuente
Respuestas:
¿Cómo se conecta el registro de desplazamiento? ¿Tiene un condensador de derivación de 0.1uF a través de los cables de alimentación cerca del paquete IC?
Me parece un problema de ruido, especialmente porque solo se activa cuando tienes una carga en los relés. El hecho de que provoque que el estado de registro de registro de desplazamiento se restablezca me hace pensar que es un problema de energía.
Además, ¿cómo está cableando el registro de desplazamiento?
Con un 74HC595, necesita:
Por último, necesita un condensador de derivación de 0.1 uF entre el pin 16 (Vcc) y el pin 8 (Gnd).
fuente
Intente mover el Arduino tan lejos del módulo de relé y la bomba como sea práctico. También asegúrese de que los cables relacionados con la alimentación (de la bomba) no estén cerca del Arduino.
Luego use un par trenzado o un cable CAT5 para enviar la señal de encendido / apagado desde el Arduino.
No puedo abrir el archivo wfm (supongo que son algunos valores hexadecimales, pero será difícil de visualizar si se abre de todos modos), pero según su descripción, parece que ha capturado el evento.
Este pico (que puede ser más rápido / más grande que el que se muestra en su alcance dependiendo de BW y la configuración) probablemente sea el problema. Queda por descubrir cómo un pico de este tipo llega a sus rieles: creo que en este punto una foto o dos de su configuración probablemente ayudarían mucho, y si es posible un diagrama detallado de todo su cableado (bomba, módulo de relé, todo fuentes de alimentación, arduino, etc.)
¿Están unidos el adaptador de relé y la tierra arduino?
EDITAR: mirando la imagen, el diseño no se ve muy bien, es un poco estrecho. Parece que hay cables de alimentación debajo del módulo de relé; estos pueden estar acoplados al lado aislado de Arduino. Intenta alejarlos si puedes.
Además, realmente debería usar el CAT5 o similar para la señal de registro de desplazamiento: ejecútelo junto con el 5V para disminuir el área del bucle.
En este punto, también trataría de agregar un par de diodos con polarización inversa a 5 V y tierra desde la salida del registro de desplazamiento, para sujetar cualquier pico que aparezca (5 V zener opcional, pero es una buena idea si tiene uno)
También puede colocar un condensador pequeño de la línea a tierra (por ejemplo, 100nF) ya que es solo una señal de interruptor.
Para asegurarse completamente de que no hay conexión entre algo que no debería existir, probablemente valga la pena probar la continuidad entre la tierra de Arduino y la tierra del módulo de relé, y Arduino 5V y Relay 5V.
fuente
Esto ciertamente suena como un problema de interferencia electromagnética.
La conexión a tierra de la fuente de alimentación Arduino debe conectarse a la "conexión a tierra verde" de su sistema de alimentación local. Se podría usar un enchufe en blanco con un solo cable a la 'tierra verde'.
Intente separar físicamente el cableado de la bomba del material del microordenador.
También puede agregar un MOV (supresor de sobretensión) MOV (Varistor de óxido de metal) a través de la bomba para absorber los picos que pueden ocurrir cuando se cambia la carga.
¿Qué voltaje y niveles de corriente tiene la bomba?
Su cableado se ve bien.
fuente