TPL5110 no funciona con NodeMCU

0

Estoy usando un temporizador TPL5110 para conducir mi NodeMCU, para poder El consumo de batería es bajo, pero no puedo dejar que funcione. He configurado el circuito estándar para este temporizador, como se muestra a continuación:

Cada vez que aplico energía desde la batería, TPL5110 comienza a parpadear sin proporcionar energía a NodeMCU. Si desconecto la carga de NodeMCU, el temporizador funciona bien. Cualquiera que sea la carga que aplique al temporizador, funciona como debería, excepto si lo conecto a la NodeMCU (que está drenando solo 80 mA). También probé con un opto-aislador, pero obtuve los mismos resultados: es como si a la TPL5110 no le gustara la carga de NodeMCU.

Llegué a la conclusión (después de comprar 3 TPL5110) que este temporizador es un truco para usar con NodeMCU. Espero estar equivocado.

    
pregunta Fabio Marzocca

2 respuestas

1

Lo arreglé instalando un condensador de 2,200 µF entre el Vcc de NodeMCU y tierra, para filtrar los picos de inicio.

    
respondido por el Fabio Marzocca
0

¿Usted, por casualidad, establece el GPIO en el principio de su código? Porque eso explicaría por qué piensa no funciona.

La señal de HECHO es exactamente eso: "Ya he terminado, puedes apagarme". Debe ser la última línea de código en su NodeMCU.

ACTUALIZACIÓN

Está bien, hice algunas excavaciones y parece que hay varios posibles culpables.

  • Primero, no estás solo teniendo este problema. De hecho, la Hoja de datos de Adafruit reconoce un problema y recomienda agregar Condensador de 47 uF a NodeMCU Vcc. Muchas personas en el foro dicen que no es suficiente y que necesitaban al menos 100 uF para que funcionara (vi sus publicaciones por cierto). Enlaces al foro: uno , two .

Esto es totalmente incorrecto IMHO. No debe haber ningún pico de potencia enorme al inicio (¡no con un sorteo de 80 mA!). El condensador solo retrasaría el tiempo de subida en el encendido y evitaría que NodeMCU se apagara correctamente al apagar. Es más bien el enfoque de "vamos a agregar el límite y ver qué pasa". Incluso si funciona, no identifica el problema real.

Además, si realmente tiene algo que ver con la caída de la línea eléctrica, entonces tiene sentido agregar un condensador antes del MOSFET. De esta manera, no retrasará el arranque, sino que complementará el arranque actual.

  • Segundo, este hilo me recordó una peculiaridad de los chips TPL5110 / TPL5111.

El funcionamiento normal es: el temporizador se activa DRV, MCU arranca, hace lo que se supone que debe hacer y señala DONE, el temporizador se apaga.

Sin embargo, si DONE no se recibe, entonces el temporizador hace que DRV se apague 50 antes del final del período. Aunque la hoja de datos no lo tiene claro, tengo entendido que lo hace para que pueda volver a activar DRV cuando finalice el período, es decir, casi de inmediato (en 50 unidades).

Entonces, si el período programado es corto, se vería como "parpadear". Para evitar este período de tiempo debe establecerse el tiempo suficiente para que la MCU arranque, haga su trabajo y aún tenga tiempo suficiente para indicar HECHO.

  • Otro candidato potencial es ESP8266 en sí mismo.

Es el volcado del cargador de arranque registro de arranque a UART durante el inicio. AFAIK esto no puede ser completamente deshabilitado. Por lo tanto, si usa el pin de TX para la señal de HECHO, está en problemas.

  • Finalmente, y esto es lo que creo que es el verdadero culpable de muchas personas en el foro de Adafruit, algunos pines GPIO de NodeMCU se dispararon durante el arranque .

Consulte aquí y here para una investigación de este problema (el primer enlace es el timbre muerto de su caso). Debo decir que este es un comportamiento bastante extraño para MCU. Siempre asumí que todos los pines permanecen en alto Z hasta que los programe de otra manera ...

En resumen, debe asegurarse de usar los pines "seguros" para la señal DONE. Curiosamente, agregar el capacitor después MOSFET podría enmascarar este problema manteniendo a NodeMCU vivo hasta el próximo período, tal como dije al principio (una solución funcional sin entender un problema).

ACTUALIZACIÓN 2

OK, mientras que todo lo anterior puede causar el comportamiento observado (especialmente al elegir el pin "inseguro" para HECHO), el culpable más probable es el consumo de alta corriente del ESP en el inicio. Aquí, encontré un artículo interesante sobre este tema, que reclama hasta 400 mA en el inicio, con posible bloqueo en este estado si el aumento de potencia es demasiado lento.

Ahora que sabía qué buscar, encontré cientos de páginas sobre este problema, como esta publicación en el foro de Espressif.

En conclusión : ESP consume mucha corriente durante el arranque. Además, puede bloquearse en esta condición si el voltaje no aumenta lo suficientemente rápido. Al agregar el capacitor anterior , MOSFET resuelve ambos problemas al proporcionar instantáneamente la energía requerida sin reducir el tiempo de aumento de voltaje.

    
respondido por el Maple

Lea otras preguntas en las etiquetas