Salida de registro de desplazamiento a relés


8

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.

ingrese la descripción de la imagen aquí

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. ingrese la descripción de la imagen aquí

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.

Archivos WFM

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:

ingrese la descripción de la imagen aquí

Tamaño completo

ingrese la descripción de la imagen aquí

Tamaño completo

ingrese la descripción de la imagen aquí

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:

2us

200ns

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.

ingrese la descripción de la imagen aquí

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.


¿Ha agregado un condensador de desacoplamiento a los pines de alimentación del registro de desplazamiento?
Bruno Ferreira

Sí, tengo un 104 adjunto. Dado que está aislado, ¿no sería un problema de desacoplamiento todo el tiempo, pregunto porque no estoy seguro? Todo funciona correctamente si no enchufo la (s) bomba (s).
Existe el

¿Has eliminado el puente entre Vcc y JD-Vcc?
Oli Glaser

Sí, se eliminó, tengo una verruga de pared de 5v dedicada conectada a Gnd y JD-VCC.
Existe el

1
Archivos Rigol WFM, ¿qué es eso? ¿Cómo se supone que debemos leer eso?
stevenvh

Respuestas:


6

¿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:

  • Ate los dos relojes de registro (pines 11 y 12)
  • Tire del pin de reinicio maestro hacia arriba (conecte el pin 10 a VCC)
  • Tire de la línea de habilitación de salida hacia abajo (conecte el pin 13 a tierra)

Por último, necesita un condensador de derivación de 0.1 uF entre el pin 16 (Vcc) y el pin 8 (Gnd).


Tengo un 104 en el registro de vcc y gnd de desplazamiento.
Existe el

@Exist - y no has dejado el pin de reinicio flotando, ni nada, ¿verdad?
Connor Wolf

Lo único que se me ocurre en este momento es intentar cambiar una carga no inductiva (por ejemplo, una bombilla de 60 W o algo así) y ver si eso también desencadena el problema. Si no es así, tiene problemas de EMI cuando se enciende la bomba. si es así, estoy un poco desconcertado. En ese punto, comience a mirar sus rieles de suministro cuando el sistema cambie, vea si algo extraño está sucediendo en ellos.
Connor Wolf

No, ni siquiera creo que el registro de desplazamiento se esté restableciendo, ya que continúa manteniendo otros relés incluso si no puede encender la bomba.
Existe el


3

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)

Diodos espalda con espalda

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.


¿Te refieres al registro de desplazamiento también? Actualmente está montado en el ensamblaje de la barra de alimentación, pero podría separarlo y moverlo más lejos. ¿Estás pensando que está recogiendo ruido?
Existe el

Sí, mueva esto también y use el cable de la salida del registro de desplazamiento al módulo. Parece que se irradia EMI si todavía está sucediendo mientras se alimenta el Arduino de la batería.
Oli Glaser

@Exist: ¿probaste lo anterior? Si es así, ¿hizo alguna diferencia?
Oli Glaser

Lo hice, los resultados publicados anteriormente.
Existe el

Hmmm, algo anda mal aquí :-) Si tiene un alcance ahora, entonces comience a probar las señales y la potencia durante la conmutación del relé, debe tener una idea de lo que está sucediendo. Publique una imagen de los resultados si no está seguro de qué hacer con ellos.
Oli Glaser

1

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.


Actualicé mi publicación con más pruebas. Estoy de acuerdo en que parece ser EMI, Fake también me estaba presionando ayer. Sin embargo, me está costando mucho rastrearlo. Cuando dice conectar la tierra, ¿eso todavía se aplica si el Arduino funciona con batería? La bomba es de 120V 1.2 Amps. Gracias
Existe el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.