Estoy trabajando en un proyecto con el objetivo final de controlar una toma de corriente con un programa Java. Actualmente, tengo el relé conectado a puntos de venta, un enchufe de 120 VAC de 3 clavijas y mi Arduino . Todo funciona según lo previsto: mi programa Java puede activar y desactivar la retransmisión / salida.
El problema:
Cuando tengo una carga conectada a las salidas controladas, mi programa Java se bloquea después de algunos ciclos de encendido / apagado (los cambios dependen de la carga conectada). Si desconecto todas las cargas de la toma de corriente, se enciende / apaga aparentemente para siempre. ¿Cómo cambio mi sistema para que Java no se bloquee, independientemente de la carga? ¿Qué está causando una diferencia en el Arduino de una carga que está conectada?
Mis intentos:
-
He intentado usar una fuente de alimentación externa para alimentar el relé y Sólo se utiliza el Arduino para tirar de los pines a una tierra común. Mismo resultado.
-
He intentado depurar mi programa Java extensivamente. Se produce el error tratando de escribir datos en el puerto serie. Tenga en cuenta, sin embargo, la El programa escribirá los datos con éxito un par de veces (el número depende en la carga) antes de que falle.
-
He intentado todos los puntos de venta (ambos relés) y he tenido los mismos resultados en todos.
Información adicional:
-
Un reloj de alarma de 12 W genera el error mucho más rápido que un 14 W pistola de pegamento caliente clasificada.
-
Ambos puntos de venta son GFCI.
Por favor, avíseme si hay alguna otra información que ayude a resolver este problema.
Edit 1: Me di cuenta de que no tengo un verdadero aislamiento óptico (que pensé que tenía) porque el puente se dejó en Vcc y JD-Vcc. Intentaré más tarde esta noche con una fuente de alimentación externa para controlar la bobina (JD-Vcc) y el Arduino para controlar los 'interruptores' (Vcc). Informaré para compartir resultados.
Edición 2: El tirar del acoplador y la alimentación de JD-Vcc desde una fuente de alimentación separada (conexión a tierra común) no funcionó. He puesto resistencias de 330 ohmios entre los pines y relés de Arduino; no resolvió el problema (podría haberme dado más ciclos de encendido / apagado antes del fallo, pero no una solución). Cambié el cableado para que la toma de corriente esté normalmente apagada (era mi configuración prevista). Trabajando en un diagrama de cableado, brb.
Edición 3: Diagrama del circuito. Sí, es feo. Los interruptores en Sain Smart se cierran cuando IN1 / IN2 se bajan. Y ahora veo que hay una función esquemática incorporada aquí. Es bueno saberlo para la próxima vez.
Edición 4: no he logrado averiguar por qué está actuando así. ¿Alguien tiene alguna idea? En este punto, una solución puede ser aceptable. ¿Condensadores, resistencias, optoacopladores? ¿Qué sería mejor / más barato?
Edición 5: ¿Sería beneficioso un amortiguador (Red Lion, SNUB0000) en cada salida? Finalmente encontré una publicación relacionada (# 101815, no puedo agregar otro enlace) pero no estoy seguro de poder aplicar alguna de las posibles soluciones. Se ha recomendado poner una pequeña capacidad cerámica a través del Vin del Arduino; lo está colocando entre el pin arduino de 5 V y el fondo, ¿qué se quería decir con esto?