Soy un novato en este mundo electrónico y el inglés no es mi primera lengua, por favor, disculpen las molestias que pueda crear. Fue una larga historia para mí para llegar a esta escritura, vamos a conseguir un poco de comprensión en mi caso primero:
- Requisito de antecedentes: Diseñar un relé de estado sólido para encender y apagar dispositivos domésticos de baja potencia (menos de 600W) que:
- Se puede encender y apagar de forma independiente sin la MCU mediante un botón táctil capacitivo ( TTP223 ) (denominado aquí como TTP223);
- Puede ser encendido/apagado usando un pin de la MCU y si es posible permitir que la MCU monitoree el estado del relé usando ese pin (aquí llamado como GPIO).
- Tanto el TTP223 como el GPIO forman una lógica XOR para que el relé pueda ser conmutado utilizando cada una de las líneas de control (TTP223 o GPIO).
- Proceso de desarrollo:
2.1 Desarrollo del relevo: Bastante fácil usando un Triac BTA16-600BRG (este puede manejar una carga de hasta 2A sin un disipador dedicado) y un optoacoplador de detección de cruce cero MOC3041 o MOC3063S. Probé una carga (inductiva y resistiva) de 470-500W y el triac se calentó hasta los 45-50 grados de celosidad y se mantuvo estable durante 20 minutos después de unos 5 minutos de calentamiento gradual. He utilizado el triac chino barato (menos de 0,15 $). The genuine one from ST Microelectronics is better and have higher capacity to capacitive load but cost about 0.5$ ). El BTA16-600BRG no tiene snubber por lo que no necesito un circuito RC (pero es seguro tener un par R/C si necesitas manejar una carga inductiva).
2.2 Desarrollar la interfaz de control del relé Esta es la parte más difícil para mí como novato. Google me proporciona bastantes opciones y llegué a la siguiente versión: + Versión 1: Usando 2 chips SPDT analógicos SN74LVC1G3157DBVR para alternar las salidas de las 2 líneas de entrada (TTP223 y GPIO) (esto es similar al interruptor en escalera)
Este diseño ha funcionado bien. Sin embargo, no tengo forma de controlar el estado de la salida (encendido/apagado)
- Versión 2: Desarrollar un circuito para sustituir los chips SPDT analógicos. Google me dice que un circuito de enclavamiento usando NE555, CD1403 o UA741 (UA741 requería al menos 10V para funcionar así que eliminé esta opción) puede ser de ayuda
Con C3 y R5, la salida no se activará en el momento del encendido. C5 es necesario para crear un pulso de control agudo desde la línea de entrada (siguiendo el consejo de Swagatam en https://www.homemade-circuits.com/ ).
Todos ellos aplicaron un enfoque similar
EL PROBLEMA: Para permitir la sustitución del SW por una señal de control externa (TTP223 y GPIO), se requiere un circuito que actúe de forma similar al interruptor momentáneo físico. Sin pensarlo mucho, me lancé a la búsqueda de "construir un circuito que imite al SW y que permita la corriente de ambas direcciones A1<->A2". Y llegué a la opción del interruptor bidireccional MOSFET. Y este fue el título original de esta pregunta . Sin embargo, a partir de los consejos del foro, descubrí que esta opción era un fracaso (configuré un esquema equivocado).
- Salida conmutada del CD4013
- Salida de conmutación NE555 Estudiando un poco más, descubrí que el flujo de corriente en el interruptor era sólo desde el condensador a través del interruptor (en un sentido) en ambas pulsaciones (primera pulsación para encender y segunda para apagar). Con esta consideración, el interruptor bidireccional ya no es necesario y llegué a este último esquema como abajo:
La aplicación del CD4013BMS es mejor que la del NE555 ya que el Quiescent es mucho más pequeño a 5VDC (~1 micro Amp) y funciona mejor que el NE555 en el encendido (no hay compromiso de la salida).
- La MCU Esta parte no es demasiado difícil: Utilizo el ESP8266-01S como MCU con un módulo de alimentación barato (0,8$) y un expansor de puertos PCF8574. La placa está aquí y puede soportar hasta 8 relés enchufables. Los pines IO del PCF8574 (P0-7) son cuasi-bidireccionales por lo que pueden funcionar tanto como entrada como salida sin problema (lo he probado con éxito) Así que la parte de programación de la MCU es sencilla:
- Tener una variable para establecer el estado inicial del relé (en el encendido) como OFF (Relay_state_1)
- Mide el GPIO cada 20ms para ver si el TTP223 está presionado y cambia el Relay_state_1 a HIGH o LOW respectivamente.
- El resto utilizará Write para establecer el pin relacionado HIGH/LOW a través de la biblioteca pfg8574 Lo probaré la semana que viene y publicaré el resultado. Así que esto todo de mi larga historia. Muchas gracias por su atención.