Escritor: Andrew Lotze
Publicado: 1/7/2022


Andrew Lotze comparte aquí su experiencia con microcontroladores en conjunto con el trabajo del proyecto BeerSheba Project work en Senegal. Sus ideas hacen referencia al artículo de EDN 155 [http://edn.link/2myd6p] sobre aplicaciones agrícolas para microcontroladores.

He estado siguiendo una trayectoria similar a la de Tim durante los últimos dos años con respecto al uso de microcontroladores para recopilar datos y automatizar fincas. Comencé con sencillos temporizadores programables, y relés de Wi-Fi, pre-diseñados, y finalmente descubrí un firmware (soporte lógico inalterable) alternativo bien desarrollado que hace gran parte del trabajo de programación de los microcontroladores, y se integra fácilmente en las redes Wi-Fi.

El firmware se llama Tasmota [https://tasmota.github.io/docs/], y es un software basado en Arduino para microcontroladores ESP8266/ESP8285 y ESP32.  El ESP8266 es un microcontrolador con capacidad Wi-Fi de 160mhz que tiene 10 entradas/salidas digitales y 1 analógica, que puede controlar relés, luces, motores, MOSFETs, leer voltaje, comunicarse en buses seriales como I2C y SPI, y más. Una tarjeta de desarrollo cuesta unos 2 dólares. La comunidad Tasmota es muy activa y existen controladores para todo tipo de sensores  (temperatura, humedad), tiempo de vuelo, calidad del aire, presión, luz, ultravioleta, dióxido de carbono y pH). Estos sensores están disponibles a un costo muy bajo (entre US$1 y 5).

El ESP32 es más potente (240mhz), y cuesta alrededor de US$4, pero tiene más entradas/ salidas digitales y analógicas. Tanto el ESP8266 como el ESP32 consumen considerablemente más energía que una tarjeta Arduino más sencilla, sobre todo debido al Wi-Fi, por lo que intentar que funcionen con baterías presenta un reto. El firmware funciona mejor cuando se puede conectar a Wi-Fi (y enviar/ recibir datos a/ desde varios servidores), pero existen opciones de bajo consumo de energía, por lo que los módulos pueden funcionar durante semanas en una celda de litio 18650, e indefinidamente en conjunto con un panel solar pequeño. En general son adecuados para entornos donde existe energía disponible 24/7.

Yo tengo:

  • Módulos ESP8266 que controlan bombas de perforación (incluso pueden leer y transmitir datos en serie de los controladores del motor), con interruptores manuales adjuntos, para que las bombas puedan encenderse y apagarse en persona o de forma remota (Figura 14A).
  • Módulos que controlan la carga de la batería solar (figura 14B) y leen celdas de litio individuales (si bien las tarjetas de balance BMS [Sistema de Gestión de Baterías] específicas son más fáciles)
  • Módulos de lectura de temperatura, humedad, y precipitación; esos datos se registran en una tarjeta SD.
  • Módulos para monitorear y registrar el consumo de energía de algunos congeladores utilizando un módulo ESP8266 más unatarjeta medidora de energía CA (US$6) (Figura 14C). 
EDN156 Figure 14

Figura 14. Módulos de control de bombas (A) de carga de baterías solares (B), y uso de energía (C). Fuente: Andrew Lotze

La recopilación centralizada de datos de todos los módulos es útil, y estoy usando una Raspberry Pi Zero 2 W de US$15 para ejecutar los servicios que el ESP8266 necesita para ello. La Zero 2 W puede manejar fácilmente:

  • Node-Red (software de diagrama de flujo de automatización)
  • Syslog (registro de errores y depuración)
  • InfluxDB (base de datos de series temporales para el registro de sensores)
  • Grafana (graficación de datos de series temporales)
  • MQTT (protocolo de mensajería de baja sobrecarga para comunicarse con objetos Wi-Fi)
  • GPS (para llevar el tiempo exacto en ausencia de Internet)
  • NTP (distribución de tiempo preciso a todo lo demás en la red).

Grafana e InfluxDB me permiten recoger los datos del sensor de los módulos ESP8266 y visualizarlos (gráfico 15A ) fácilmente. También puedo monitorear el estado del interruptor (gráfico de la figura 15B) para ver de un vistazo qué cosas están encendidas o apagadas.

EDN156 Figure 15

Figura 15. Ejemplos de gráficos que muestran los datos del sensor (A) y los estados del interruptor (B).Fuente: Andrew Lotze

Citar como:

Lotze, A. 2022.  Uso de microcontroladore. ECHO Notas de Desarrollo no. 156.