Estabilizar pines en el arranque de Esp8266

3

He estado haciendo un proyecto que involucra un relé y un esp8266. Esencialmente un relé habilitado para WiFi. El problema que he tenido es que cuando el esp8266 arranca, parpadea todas sus clavijas GPIO altas y bajas unas cuantas veces en rápida sucesión. Esto, por supuesto, tiene efectos adversos en el dispositivo que he conectado al relé. Actualmente, he estado tratando de usar un circuito de tipo de filtro que he diseñado usando un condensador y algunos transistores. Sin embargo, he descubierto que esto funcionará para algunos relés, pero tengo que ajustar los valores de resistencia y similares para que funcione. Cada relé diferente debido a inconsistencias en su construcción.

Esto es lo que he estado usando actualmente con valores de resistencia aproximados:

simular este circuito : esquema creado usando CircuitLab

Esencialmente, lo que hace este circuito es evitar que el relé funcione antes de que se cargue el condensador 470uf. Durante el arranque, la resistencia de 7,5kohm está tratando de cargar el condensador (tarda aproximadamente un segundo en cargarse a un nivel utilizable) pero la línea de filtro es inestable, por lo que sigue descargándose. Solo una vez que el esp haya terminado de arrancar y todos los pines estén estables, podrá cargar y permitir que el relé funcione.

También puede notar que, al ajustar el circuito, es bastante fácil ajustar los valores de la resistencia, de modo que cosas como el regulador de voltaje que ejecuta el circuito comience a calentarse bastante.

Básicamente, estoy buscando una solución más confiable (menos capaz de sobrecalentarse) y más elegante para este problema que la que ya he estado usando. He considerado agregar un atTiny al circuito para habilitar el relé debido al hecho de que sus pines parecen estar estables durante el inicio, pero creo que debe haber una solución más simple que tener que agregar un IC completamente diferente a mi proyecto.

Gracias

    
pregunta Razer797

2 respuestas

1

¿Qué módulo esp8266 estás usando? Esp01 solo expone GPIO0 y GPIO2 por usted, y ambos se utilizan durante el modo de arranque. Si usa otro módulo, como ESP12 como ejemplo, podría usar otros GPIO (4, 5, etc.) que el esp8266 no lee durante el arranque, y no tendrá ese parpadeo en el relé.

    
respondido por el Christian D'Aquino
1

Ok

Debería haberlo hecho hace mucho tiempo, pero mejor tarde que nunca, ¿no?

Mi solución final para resolver este problema fue usar un circuito temporizador NE555 externo en modo monoestable como se muestra a continuación.

simular este circuito : esquema creado usando CircuitLab

He encontrado que el circuito anterior funciona de manera muy confiable, lo que creo que compensa la mayor complejidad.

Dependiendo de su circuito, la resistencia RESET puede o no ser importante. Su trabajo es descargar TRIGGER_C lo más rápido posible en el caso de un apagón muy corto para evitar que el ESP8266 se reinicie sin que el 555 se dispare (esto puede ser inútil, pero en mis pruebas, parece que funciona, así que lo dejé) .

La mejor de las suertes para quienes replican esto :-)

    
respondido por el Razer797

Lea otras preguntas en las etiquetas