Tengo problemas para controlar un relé con carga . Estoy usando PIC16F628A. El problema es el siguiente: El relé tiene carga. Al principio está apagado. Cuando la salida del microcontrolador está encendida, el relé también se enciende. Cuando es necesario apagar el relé, la salida del microcontrolador está apagada. Pero cuando esto sucede, el microcontrolador se reinicia.
EDITAR: La carga es 220AC. Tratando de controlar la campana.
Tenga en cuenta que cuando no hay carga, el comando de relé funciona completamente, sin reiniciar el microcontrolador.
Aquí están los esquemas y el PCB del proyecto.
PD: La huella del cristal se cambió a capacitor, porque necesito dibujar la huella del cristal, pero tiene las mismas dimensiones de orificio que el capacitor.
EDIT2: el diseño de PCB se actualizó como se sugirió. Los esquemas actualizados y PCB:
Solo tenía la intención de comentar, pero descubrí que tenía demasiado que decir:
Sigue los consejos de Spehro y Alexey. Hay múltiples problemas aquí. Realice todas las correcciones, incluso si descubre que solo un amortiguador o un condensador de desacoplamiento parece funcionar.
La carga es de 220AC. Tratando de controlar la campana.
Tenga en cuenta que cuando no hay carga, el comando de relé funciona completamente, sin reiniciar el microcontrolador.
Esto parecería indicar que cambiar la campana es la fuente de un pico que causa el reinicio. No omita el amortiguador y/o el MOV que sugiere Spehro ya que el relé está conmutando una carga inductiva. He visto demasiados problemas con cargas inductivas conmutadas que provocan reinicios en equipos industriales como para considerar que la necesidad de un amortiguador y/o MOV es simplemente una "curita". Además del problema de reinicio, sin la supresión del pico, se producirán arcos adicionales en los contactos del relé, lo que acortará la vida útil del relé. Puedes comprar un amortiguador o hacer el tuyo propio.
El condensador de desacoplamiento agregado (sugerido por Alexey) debe tener la ruta más corta posible a los pines de alimentación/tierra del PIC. El plano de tierra cortado no logra esto.
La colocación de los pines de alimentación/tierra en el PIC es un poco difícil de lograr un camino corto hacia el capacitor de desacoplamiento sin ejecutar rastros entre las almohadillas (podría requerir almohadillas más largas y delgadas) o colocar el capacitor de desacoplamiento en la parte posterior.
Puede "engañar" el condensador de desacoplamiento a la placa existente cortando los cables y soldándolo directamente a los pines de alimentación/tierra del PIC en la parte superior del PIC, o soldándolo a las almohadillas en el lado de soldadura de la placa.
Algunos comentarios más no relacionados con el diseño del tablero. Dado que P1 y P2 están en 220 V CA, aíslelos en un área de la placa sin otros rastros (incluso el plano de tierra) incluso cerca. Consulte Distancia de fuga para PCB que manejan voltaje de línea de CA. ... Tampoco colocaría los interruptores demasiado cerca de la CA ya que los dedos estarán allí. También considere agregar algunos orificios de montaje a la placa.
Su diseño no es muy bueno (en particular, la ruta Vcc es larga, delgada e inductiva), y ese es el peor relé que podría elegir (sin embargo, es el más barato). Un mejor relé con alto aislamiento (preferiblemente con aprobaciones europeas no falsificadas), vertidos de polígono de Vcc y tierra (tiene Altium, es un programa muy bueno y costoso, debe usar esas características) y operar el relé desde el no regulado la entrada ayudaría.
Los PIC son bastante insensibles al maltrato, pero no son mágicos.
Podría intentar suprimir el ruido en la carga (presumiblemente al menos algo inductiva) usando un amortiguador o MOV, pero eso es una curita y el problema probablemente volverá de alguna manera.
Agregue el capacitor 0.1u cerca del pin 14. Suba PortA5 (pin4) a Vdd.
Cuando era estudiante, tenía el mismo problema que usted enfrenta ahora. Y lo resolví después de muchos fracasos. La solución a tu problema sería la siguiente:
Lo primero que debe hacer es colocar un capacitor cerámico de 0.1uF lo más cerca posible del pin de alimentación de su microcontrolador. Este límite eliminará todo el ruido de alta frecuencia antes de que llegue al microcontrolador.
Si está recibiendo alguna entrada de un entorno externo, como la entrada del sensor, la interfaz del interruptor a través de un cable largo o cualquier otra entrada que no sea el ruido de alta frecuencia no deseado se introducirá en el cable o terminal cuando se produzca la chispa del relé o se produzca cualquier otro cambio. DEBE eliminarlo siempre; de lo contrario, el problema de reinicio continuará.
Este problema se puede resolver colocando un capacitor cerámico de 0.1uF en cada pin de entrada con respecto a tierra antes de que llegue a los pines del microcontrolador.
Esto eliminará todo el ruido de su circuito y funcionará normalmente.
PERO... ¡En realidad no haces una pregunta, pero es fácil inferir una! En las líneas de... '¿cómo soluciono esto?'
Dado que desea cambiar 220 V CA, ¿por qué no usar un SSR de conmutación cruzada por cero en lugar del relé? ¡Sin contactos involucrados, sin arcos, casi sin ruido!
Hace décadas me presentaron un problema similar. El diseño basura de la placa de circuito impreso había sido heredado de una antigua "consultoría - así llamada" y no se permitió ningún presupuesto para una retransmisión.
En resumen, se investigaron los sospechosos habituales, como agregar amortiguadores y un mejor desacoplamiento local.
La solución estaba en realidad en el software, algo extrañamente. En lugar de una sola escritura de E/S, las salidas se escribieron varias veces.
Esto lo arregló. Puede que le interese probar lo mismo
Además de todo lo que te han dicho aquí, lo que siempre hago con un pic que controla los relés, es justo después de la línea del programa que ordena apagar o encender el relé, pongo una pausa (NOP) de 1 o 2 ms, y luego continúe ejecutando el programa.
jon l
triaco