Tutorial Arduino ultra bajo consumo (90uA)

En esta breve entrada vamos a ver paso a paso como reducir el consumo de la placa Arduino Nano desde los 18mA que consume en funcionamiento normal, hasta 90uA (micro-amperios) en modo bajo consumo

Comprar Arduino Nano en Amazon

Si eres aficionado al mundo DIY y Arduino, tarde o temprano comenzarás a trabajar en algún proyecto que necesite de una batería, como puede ser una estación meteorología, o una boya marina. En este tipo de proyectos, uno de los puntos clave mas importantes es la reducción de consumo energético, y que la batería mas pequeña y barata posible nos dure el máximo tiempo. Por desgracia para nosotros, la placa Arduino Nano consume mucha corriente sin prácticamente ejecutar ni una  sola línea de código, solo con alimentarlo. En esta entrada vamos a ver como paliar esto utilizando utilizando solucionar software y soluciones hardware.  

¿Cuánto consume la placa Arduino Nano

Sin hacer nada, solo con alimentar la placa Arduino y ejecutar un sketch vacío, el consumo de corriente alcanza los 19mA, mucha corriente para tenerlo activo de forma continua y tirando de una batería. Alimentado desde el pin 5V

Consumo arduino nano

Podríamos alimentar la placa desde el pin Vin, pero recordad que para ello la tensión de entrada tiene que ser superior a 7V para que el regulador funcione dentro del rango de la hoja de especificaciones. 

Librería LowPower.h

La librería LowPower.h permite activar el modo de bajo consumo de la placa Arduino y mantener apagados los convertidores analógico a digital, y el circuito BOD (o Brown Out Detection) durante el tiempo que queramos. Una vez instalada la librería, el código necesario es extremadamente simple. En este ejemplo, pasamos a bajo consumo durante 8 segundos, y después volvemos a despertar durante otros 8 segundos: 

#include "LowPower.h"

void setup() {}

void loop() {
  LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
  delay(8000);
}

Mientras la placa Arduino está activa tenemos un consumo de 18mA como hemos visto arriba, pero en cuanto entra en modo bajo consumo, el consumo cae hasta 6.09mA, ¡3 veces menos!

Arduino LowPower.h

El modo bajo consumo ‘duerme’ la placa Arduino, por lo que no se podrá utilizar para realizar ninguna operación mientras permanezca en este estado. Puede ser muy útil para aplicaciones donde queramos tomar muestras a intervalos, como en una estación meteorología, o una boya marina, donde tomamos muestras de los sensores cada minuto, y el resto del tiempo el sistema está en modo bajo consumo.

Quitar el LED de alimentación 

Solo con alimentar la placa Arduino veréis un led (PWR Green) que se enciende automáticamente, y que es un monstruo devorador de energía. Haciendo un cálculo rápido, este led consume unos 4mA de forma continua. El siguiente paso es des-soldar o bien el led, o bien la resistencia que tiene asociada. Os dejo una imagen obtenida de los esquemas oficiales de la placa Arduino Nano v3.2 donde se ve como el led se alimenta de 5V a través de una resistencia de 1kOhm:

Imagen esquema Arduino Nano, led PWR.

Una vez eliminado el led, el consumo de la placa Arduino desciende en más de 3.5mA, de los 18mA que hemos visto mas arriba, a 14.99mA. Puede parecer poco, pero solo con esto hemos reducir el consumo en casi un 20%, lo que es mucho ahorro: 

Arduino low power. Sin led, activo.

Si analizamos el consumo en modo bajo consumo, utilizando la librería LowPower.h, el consumo cae hasta unos increíbles 3.06mA:

Arduino low power. Sin led. Modo bajo consumo.

Quitar el regulador de tensión 

Por último, para minimizar al máximo el consumo energético, podemos des-soldar el regulador de tensión que incorporan todas las placas Arduino. Este regulador genera los 5V necesarios para alimentar la placa cuando utilizamos el pin Vin, que admite tensiones de entrada del rango de 7V-12V aproximadamente. Si vamos a trabajar con 5V constantes, utilizando un DC/DC por ejemplo, este regulador es completamente prescindible, y podemos alimentar la placa directamente desde 5V:

Esquema arduino nano regulador

Eliminando este componentes (regulador LM1117-5.0), nos podemos ahorrar entre 5mA y 10mA según la hoja de datos del fabricante, aunque el ahorro real que he obtenido yo ha sido menor. 

Esta opción es algo mas complicada que las dos anteriores, debido a que este componente está soldado en varios puntos, lo que hace que eliminarlo sea mas bastante complejo si no tenemos una pistola de calor o una herramienta mas especializada.  

Una vez eliminado el regulador, el consumo cae otros 1.8mA, desde los 14.99mA visto en el apartado anterior, hasta los 13.22mA que muestro a continuación: 

Arduino low power. Sin regulador y sin led.

En modo bajo consumo, utilizando la librería LowPower.h, ¡el consumo cae hasta 0.09mA (90uA)! Un consumo realmente bajo y que nos permitirá utilizar la placa desde una batería durante días: 

Arduino low power 90uA

Tabla resumen

Con Arduino activo: 

LedReguladorConsumo
Sin eliminarSin eliminar18.65mA
EliminadoSin eliminar14.99mA
EliminadoEliminado13.22mA

Con Arduino en modo bajo consumo utilizando la librería LowPower.h

LedReguladorConsumo
Sin eliminarSin eliminar6.09mA
EliminadoSin eliminar3.06mA
EliminadoEliminado¡¡0.09mA!!

También te podría interesar

¡NUEVO curso de diseño PCB ! Controlador de vuelo para drones 100% Arduino 

NUEVO curso de diseño de tarjetas electrónicas (PCB) para principiantes, donde aprendemos a diseñar PCB complejos que cubran las necesidades de vuestros proyectos DIY. Para llegar a este objetivo, vamos a diseñar desde cero un PCB controlador de vuelo para drones basado 100% en Arduino, donde como punto final enviaremos el PCB a fabricar para recibirlo en casa completamente montado y listo para ser programado.

Más INFORMACIÓN sobre el CURSO


Indice ‘Boya Iridium con Arduino‘ | Proyecto Elcano:

Boya Iridium Arduino

  1. Introducción
  2. Análisis de concepto y costes
  3. Diseño electrónica (esquemas y PCB)
  4. Montaje hardware (próximamente)
  5. Programación en Arduino (próximamente)
  6. Lanzamiento y seguimiento (próximamente)

Índice ‘Drone con Arduino’

Drone con Arduino

  1. Conceptos generales sobre drones.
  2. Material necesario y montaje de los componentes hardware.
  3. Mando RC y receptor. Programación en Arduino (código).
  4. MPU6050 y su programación en Arduino (código).
  5. Batería LiPo (código).
  6. Control de estabilidad y PID. 
  7. Motores, ESC y su programación en Arduino (código).
  8. Calibración de hélices y motores (código). 
  9. Software completo y esquema detallado (código).
  10. Probando el Software completo antes de volar.
  11. Como leer variables de Arduino en Matlab (código).
Rate this post
Un Comentario

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *