Arduino reiniciando/colgándose debido a chispas en la línea de CA

Este es el diseño de PCB del proyecto en el que he estado trabajando recientemente (mi primer diseño de PCB).diseño de placa de circuito impreso

La idea es controlar los aparatos de CA (ventiladores, bombillas, etc.) sin relés. Estoy usando triacs que son mejores que los relés para tales aplicaciones. Estoy usando optoaisladores para un aislamiento completo de las líneas de CA. Intenté ejecutar el arduino usando un cable USB conectado a mi computadora portátil (con el cargador desconectado) y un adaptador de pared (12V).

Al principio, el circuito parecía funcionar bien. Pude volcar el código en el controlador y controlar las bombillas (encender/apagar y atenuarlas) usando UART. Envié los comandos a través de UART. Sin embargo, parece que cada vez que hay una chispa en las líneas de CA (cuando enchufo o desconecto un ventilador), el microcontrolador no parece feliz. A veces se reinicia (que es la mejor parte de la imagen) y otras veces se cuelga y no puedo enviar comandos a través de UART. No estoy seguro de si el código quemado también se ve afectado, pero a veces tuve que volver a cargar el código. Si enciendo/apago un ventilador en otra habitación, no hay efecto.

Posibles problemas:

1) Ausencia de plano de tierra en la PCB.

2) Algún tipo de EMI debido a chispas.

También intenté enchufar un calentador de agua (carga resistiva de 800 vatios) de la misma manera que un ventilador, pero no pasó nada. Entonces, creo que es la carga inductiva la que está dando problemas.

Cualquier solución constructiva para este problema será muy apreciable.

Gracias.

Sí, es la carga inductiva. Necesita un amortiguador y/o MOV (o diodo TVS bidireccional) para suprimir el pico inductivo. Normalmente se coloca en paralelo con la carga. Un diseño de PCB mejorado puede ayudar a minimizar los efectos. Consulte electronics.stackexchange.com/q/101815/25328 para una pregunta similar, aunque esa placa usa un relé.
Dado que está utilizando triacs, es probable que el problema de los picos inductivos sea mucho peor al enchufar/desenchufar manualmente el ventilador, ya que los triacs se apagan con una corriente cercana a cero. Un problema potencial con el que puede encontrarse es que los triac no se apagan cuando se conectan a cargas inductivas. Le sugerimos que busque en las hojas de datos y las notas de la aplicación los circuitos triac diseñados para cargas de CA.
Esto puede ayudar o no, pero puede intentar agregar un temporizador de vigilancia a su software arduino.
@Tut - Gracias por todas sus sugerencias. Leí el enlace que pusiste. Estoy tratando de implementarlos en mi próxima PCB. Publicaré el diseño de la placa antes de ir a producción para que puedan proporcionar comentarios y señalar errores/correcciones.

Respuestas (5)

No mostró un esquema, pero no veo ninguna tapa de derivación obvia o tapas de depósito de fuente de alimentación local a bordo. Es muy probable que eso y la falta de una buena conexión a tierra causen los problemas.

Como han dicho otros, también debe dejar una distancia de aislamiento adecuada entre las secciones de CA y CC, y al menos intentar hacer un plano de tierra.

Tiene una placa grande con pocos componentes y un paso de pines grande, por lo que enrutar la mayoría de los trazos en la capa superior debería ser bastante fácil. Ocasionalmente tendrá que ir a la capa inferior porque, en general, un circuito no se puede enrutar en un solo plano. Sin embargo, puede mantener cortos los trazos en la capa inferior. Considérelos como "puentes" lo suficientemente largos como para conectar dos pistas en la capa superior que de otro modo no podría conectar en un plano. La medida de un plano de tierra no es cuántas islas tiene, sino la dimensión más larga de cualquier isla. Mantenga los puentes cortos y sin grumos.

Sin embargo, es absolutamente necesario poner un límite de derivación en cada fuente de alimentación de cada IC. Estas deben ser pequeñas tapas de cerámica físicamente cerca del IC con los bucles generales lo más pequeños posible. 1 µF 0805 es correcto. No solo serán más baratos y funcionarán mejor que las tapas de orificio pasante equivalentes, sino que también serán más fáciles de soldar.

Dado que la alimentación de CC proviene de otro lugar y, por lo tanto, su impedancia es sospechosa, coloque una tapa electrolítica de tamaño decente justo en el lugar donde la alimentación ingresa a la placa. Unos 100 µF deberían hacerlo.

Gracias Olin. Estuve leyendo sus publicaciones sobre otras preguntas similares y aprendí mucho. Parece que dejar el plano de tierra fue el mayor error. Voy a rediseñar mi PCB con planos de tierra en ambas superficies y también trataré de colocar los componentes de una manera más prolija según lo señalado por otros. Una vez más, realmente aprecio su ayuda.
@ user3455594 No deje de lado esos condensadores de derivación, especialmente en el Arduino.
@Olin: ¿Qué medidas sugiere para proteger los triacs de los picos de voltaje cada vez que el dispositivo está encendido o apagado? Después de leer un poco, descubrí que los amortiguadores se usan más comúnmente para suprimir los picos entrantes. Sin embargo, el uso principal del amortiguador estaba relacionado con la prevención de la activación falsa del triac y no con la protección del triac. MOV es otra opción. Cuál es tu opinión con respecto a esto. Consulte este enlace para referencia a mi caso de uso.

Debe respetar su aislamiento de voltaje. La forma en que colocó (y enrutó) las resistencias R16, R13, R10, R2, R31 y R4 compromete la barrera de aislamiento creada por sus optoaisladores. A continuación, he marcado su diseño existente con su ruta de aislamiento, que es bastante pobre:

ingrese la descripción de la imagen aquí

Tenga una sola zona de aislamiento que sea lo más amplia posible (el ancho de sus optoaisladores). Mantenga los circuitos de línea en el lado de la línea y los circuitos aislados en el lado aislado. Vea la imagen a continuación para obtener sugerencias.

ingrese la descripción de la imagen aquí

Eso será útil y puede ayudar, pero ¿realmente cree que esta es la fuente completa del problema y que esta solución lo resolverá por completo?
@AdamDavis No, no puedo garantizar que esta sea la única causa de los problemas. De hecho, los consejos de Olin y Andy definitivamente deben ser escuchados. Sin embargo, esta es una consideración de seguridad importante, y también puedo ver un ensamblaje menos que perfecto exasperando el problema.
@ W5VO: hice otro diseño . ¿Puede verlo una vez y proporcionar sus valiosas sugerencias? Gracias por adelantado.

Plano de tierra, plano de tierra, plano de tierra y muy pocas excusas. Mire cómo podría haber hecho mucho de esta placa de circuito: -

ingrese la descripción de la imagen aquí

Pasé unos 5 minutos marcando (con rojo brillante) pistas azules que podrían ser rojas sin apenas trabajo cerebral.

Lo descartaría y empezaría de nuevo.

"este es mi primer diseño de pcb"
@kolosy Todos comenzamos en algún lugar y todos hemos hecho malos diseños cuando comenzamos por primera vez. Este es el mejor consejo gratuito que recibirá el OP y si cree que estoy siendo excesivamente duro, insisto, marque esta respuesta a los moderadores.
Gracias Andy. Ya he puesto un plano de tierra en mi segundo diseño. ¿Crees que este es el único problema? PD: no encontré tu respuesta dura de ninguna manera. Aprecio tu ayuda.
@kolosy Honestamente, no creo que la respuesta sea insultante (y esto puede deberse a que estoy de acuerdo con el veredicto de Andy).
@kolosy: Andy está diciendo las cosas como son, y es algo que el OP necesita escuchar en términos claros. Y sí, también estoy de acuerdo con su veredicto.
@Andyaka puede ser revelador como es, pero no veo el sentido de traer "sin excusas" y "casi ningún trabajo mental". Lo que es obvio y tonto para ti, no lo es para la gente que acaba de empezar.
@kolosy: Realmente no hay excusa. Incluso un poco de investigación antes de intentar diseñar su primer tablero habría apuntado a discusiones sobre planos de tierra.
@Andyaka: publiqué otro diseño de PCB después de seguir las sugerencias que recibí en esta publicación. ¿Puedes comprobarlo una vez?
@OlinLathrop: publiqué el esquema y el diseño de la placa de la próxima versión aquí. ¿Puede por favor proporcionar sus valiosas sugerencias? Gracias por adelantado.

Según mi experiencia, las líneas de configuración y reinicio, los flip-flops y otros circuitos son muy susceptibles al "ruido eléctrico". La mejor forma práctica de evitar un comportamiento impredecible del circuito es desacoplar las líneas de alimentación en cada chip, con los condensadores apropiados. Además, activar/habilitar las líneas de entrada con una señal de reloj reducirá la posibilidad de que los "transitorios" afecten a los circuitos.

No entendí la última línea. ¿Podría por favor elaborar? Gracias por la respuesta.

cuando estaba trabajando en un proyecto de control de carga basado en DTMF, encontré el mismo problema con la carga de CA. Sin carga de CA, mi circuito de microcontrolador 8051 funciona bien. Cuando enciendo la carga de CA, todo el circuito se comporta de manera diferente cuando ENCENDIDO/APAGADO la carga de CA a través del circuito de relé. Más tarde descubrí que el suelo vertido en la placa 8051 no es bueno. Finalmente, reemplacé la vieja placa del microcontrolador 8051 con la nueva placa del microcontrolador 8051 con un buen vertido a tierra. Ahora funciona bien. Por lo tanto, pensé que su PCB debería tener un buen vertido de tierra.

Ese era exactamente el problema. Bueno, acababa de comenzar el trabajo en ese momento y no sabía nada sobre un buen diseño de PCB, vertido en el suelo, aislamiento, etc. Este error se solucionó hace mucho tiempo, pero gracias por responder. Espero que sirva como una buena referencia para las personas que luchan con un problema similar. (+1).