NodeMCU: suministro ESP8266 con celda solar y batería con energía

Si desea operar una estación meteorológica, también debe pensar en la fuente de alimentación. Sería ideal un suministro autónomo de electricidad mediante baterías recargables. La fuente de alimentación del panel solar ESP8266 es, por supuesto, una solución obvia. Durante el día, el microcontrolador recibe electricidad de la celda solar y una batería se carga al mismo tiempo. Este dispositivo de almacenamiento de energía se utiliza luego por la noche.

En este tutorial, vemos cómo conectar el ESP8266 a la celda solar y qué necesitamos para el funcionamiento de la batería.

Piezas de hardware requeridas

El ESP8266 se puede alimentar con 5V a través de USB, así como con 3,3V. Para lograr una batería de larga duración, utilizamos baterías de 3,3 V y baterías correspondientes con un voltaje más alto. Luego lo aceleramos. Los paneles solares deben entregar al menos 5V, 6V es mejor. Recomiendo que cada módulo solar pueda entregar al menos 500mA (mejor 750mA).

He utilizado los siguientes componentes:

Como alternativa a las baterías Panasonic NCR18650B de 3,7 V, también puede conectar en serie baterías normales de 1,2 V, que tienen menos capacidad (mAh). Como alternativa o para realizar pruebas, todavía se pueden utilizar (con un portapilas).

Configuración y conexión de los paneles solares en el ESP8266

Para usar paneles solares con el ESP8266, necesitamos un voltaje constante de 3.3V. Aquí podríamos usar un regulador de voltaje lineal entre la celda solar y el ESP. Sin embargo, esto tiene la desventaja de que la conexión eléctrica se interrumpe tan pronto como el sol deja de brillar.

Por esta razón, se debe interponer una batería. Si el panel solar genera suficiente electricidad, se debe suministrar el ESP y la batería se debe cargar al mismo tiempo. Durante la noche, la batería debería transferir su energía al ESP8266. Esto asegura una fuente de alimentación constante. Hay módulos de carga especiales para esto, como el TP4056, que asumen esta tarea. Vista frontal del MCP1700-3302E (lado plano al frente)

El módulo de carga tiene un total de tres ranuras (cada una con un polo positivo y negativo). Primero, conectamos la celda solar a + y – (junto al puerto USB). Si utiliza varias células solares, puede conectarlas en paralelo (todos los polos positivos a +, todos los polos negativos a -). La batería o el soporte de la batería está conectado a B + y B– (positivo con positivo, negativo con negativo). Aquí, también, puede conectar varias baterías en paralelo para que las fases oscuras más largas puedan sobrevivir mejor sin cortes de energía. Esto es particularmente útil en invierno.

La conexión OUT +/OUT permanece. A esto le conectamos el ESP8266, pero antes necesitamos el regulador de voltaje para que salgan 3.3V constantes. Este tiene 3 conexiones (VIN, VOUT, GND) y lo conectamos de acuerdo al siguiente (diagrama). El condensador (pin más corto en GND):

Con el condensador electrolítico (100uF) es importante que el lado más largo (+) esté conectado a VOUT y el lado más corto a GND. Ahora puede medir con el multímetro. El voltaje debe ser constante a 3,3 V, incluso si las celdas solares están cubiertas.

Por último, pero no menos importante, conectamos VOUT y GND al ESP-01/NodeMCU (aquí tomamos el pin de 3,3 V y GND.ESP8266 ESP-01 PinoutNodeMCU Dev Board Pinout

Mida la celda solar y el voltaje de la batería con el ESP8266

Dependiendo del clima y la época del año, la batería se carga más o menos bien. Para que el voltaje no baje demasiado, tiene sentido conocer el nivel de la batería y, si es necesario, reducir la potencia o incluso poner el ESP en modo de espera.

Los ESP con más pines suelen tener también un pin analógico con el que podemos medir tensiones de hasta 3,3V. Sin embargo, el problema es que la batería de iones de litio puede generar hasta 3,7 V (algunas fuentes incluso hablan de hasta 4,2 V). Este voltaje puede dañar el ESP, por lo que necesitamos bajar el voltaje. Para ello, utilizamos un divisor de voltaje que podemos construir nosotros mismos fácilmente con dos resistencias: Divisor de voltaje simple (fuente: Wikipedia)

Sabemos aquí que el voltaje máximo es U = 3.7V y queremos lograr un voltaje de salida U2 = 3.3V. De acuerdo con la ecuación, esto funciona de la siguiente manera:

U2 = (U * R2) / (R1 + R2)

Entonces podemos elegir libremente las dos resistencias R1 y R2. Aquí puede calcular sus propios valores o tomar R1 = 12k Ω, R2 = 100k Ω.

3.3V = (3.7V * 100kΩ) / (12kΩ + 100kΩ)

Si el voltaje máximo de su batería es más o menos de 3,7 V, debe ajustar los valores en consecuencia.

Ahora conectamos el pin ESP analógico entre las dos resistencias, donde R1 está conectado a VOUT del MCP1700-3302E y el otro extremo de R2 está conectado a GND.

Luego podemos consultar el valor de voltaje analógico en la placa de desarrollo ESP32/NodeMCU. Esto funciona con el pin analógico 10/ADC0 (vea el diagrama de pines arriba). Con el ESP32 es GPIO 33.

analogRead(0);

El valor es un valor de 12 bits (0 a 4095) e indica el nivel. Entonces, para encontrar el voltaje, tenemos que dividir por 4095 y multiplicar por 3.3.

Ahorre electricidad con Deepsleep

Si el ESP8266 solo recibe energía de un panel solar, es aún más importante que el consumo no sea demasiado alto. Por supuesto, depende de varios factores. Debe colocar las células solares en lugares con la mayor y más larga exposición posible a la luz. Además, no se recomiendan tareas computacionalmente intensivas en el ESP8266.

Entonces, para ser lo más económico posible, hay algunas opciones:

  • Deepsleep: El método más sencillo es “dejar dormir al ESP” si no tiene que calcular nada. Sin embargo, la conexión Wi-Fi también se desconecta y el ESP no se puede abordar desde el exterior durante este tiempo. Es particularmente adecuado cuando los valores deben registrarse continuamente (por ejemplo, cada 30 minutos) y enviarse a un servidor.
  • Subcontratar cálculos: no todos los cálculos tienen que realizarse en el ESP/NodeMCU. Si es posible, puede hacer que otros realicen acciones computacionalmente intensivas, como una Raspberry Pi. Un buen ejemplo de esto son los algoritmos de reconocimiento facial o aprendizaje automático.
  • Ir a dormir cuando la batería está baja: Si se requiere la potencia del ESP, también podemos medir el nivel de la batería en un intervalo y solo activar el sueño profundo cuando el valor cae por debajo de cierto nivel. Solo podemos estar activos en la radiación solar y reducir las medidas/funciones por la noche.
  • Utiliza otros protocolos inalámbricos: La conexión a una red Wi-Fi necesita hasta 200mA, por lo que existen mejores alternativas en operaciones solares. A través de protocolos como Zigbee, los valores se pueden enviar a la estación principal incluso sin una conexión Wi-Fi.
  • Le invitamos a comentar sobre otras formas de ahorrar electricidad con la operación solar ESP8266.