Arduino alimentado por batería de 9V

16

Ayer por la tarde dejé mi Arduino funcionando con una nueva batería alcalina de 9V (+ conectada a Vin, - conectada a GND). Hoy por la mañana (16 horas después) la pantalla LCD ya no era visible, y cuando midí el voltaje, vi que la batería se había agotado para mi sorpresa: su voltaje inactivo era de solo 7 V.

Mi dispositivo es Arduino Uno con LCD 2x16 con retroiluminación LCD y 2 sensores DS18B20. ¿Es normal que dicho dispositivo agote la batería de 9V tan rápido?

He leído una respuesta a ¿Cuáles son (o cómo uso) las opciones de ahorro de energía del Arduino para extender la vida útil de la batería? pregunta y creo que lo que veo podría estar relacionado con esto, sin embargo, no estoy seguro. Si es así, ¿hay algunos esquemas comunes sobre cómo conectar Arduino para que funcione con una batería de manera eficiente?

Suma
fuente
Intentaba conectar un multímetro y medir la corriente de la batería con todo y con la pantalla y los sensores desconectados. No intentes optimizar el arduino si es otra cosa que extrae la mayor parte del poder.
BowlOfRed
@bowlofred "midiendo la corriente de la batería" - Lo haré, sin embargo, primero necesito comprar una nueva celda de 9V. :)
Suma
1
Las baterías de 9V son pequeñas, solo alrededor de 500mAh. La luz de fondo de la pantalla LCD solo la apagará en cuestión de horas.
hobbs
Enfoque más radical para el ahorro de energía: 1. Uso de la placa TI MSP430 en lugar de Arduino; 2. Uso de regulador no lineal; 3. Uso de LCD sin luz de fondo (como en una calculadora).
Vi.
@bowlofred Toda la corriente actual es de 61 mA. Sin luz de fondo es de 57 mA, sin LCD y sin sensores es de 56 mA.
Suma

Respuestas:

21

El consumo de energía

Las placas Arduino usan bastante potencia en comparación con otros sistemas integrados con una funcionalidad similar.

Hay tres factores principales:

  • El regulador lineal de 5V NCP1117 ( hoja de datos ) en el Arduino UNO R3 ( esquemático ) tiene una corriente de reposo de alrededor de 6 mA.

  • El ATMega328P ( hoja de datos ) consume alrededor de 5 mA a 8 MHz y 5 V, y probablemente más del doble que a 16 MHz.

  • user2973: El ATMega16U2 utilizado para las comunicaciones USB también consume aproximadamente 13 mA.

Los LED y otros periféricos también consumen algo de corriente. En su circuito, la retroiluminación de la pantalla LCD probablemente también consume 4 mA.

Al dejar caer de 9V a 5V a través de un regulador lineal, el regulador pierde casi la mitad de la energía debido a su caída de 4V. Duncan comenta que esto casi duplica el consumo de energía en reposo de 9V, así como la energía necesaria para cada mA de 5V, ya que 4/9 de la energía se desperdicia como calor por el regulador de voltaje. Un regulador de conmutación eficiente produciría 5V con poca energía desperdiciada, reduciendo efectivamente el consumo de corriente visto por la batería en 4/9.

Una batería duracell de 9V ( hoja de datos ) cae de 9V a 7V en aproximadamente 7.5 horas con un consumo de corriente de 50mA. Por lo tanto, una suposición aproximada es que su circuito consume alrededor de 25 mA, lo que parece correcto según la descripción de su circuito.

Tenga en cuenta que la duración de la batería alcalina no es lineal con respecto a la corriente. Para corrientes muy pequeñas (<1 mA) la vida de un alcalino se aproxima a la de una batería de litio.

Obtener corriente abajo

Aquí hay algunos consejos para reducir el consumo actual:

  • Regulador: Reemplace el regulador con uno con baja corriente de reposo, o mejor aún, un regulador de conmutación (también con baja corriente de reposo). Un regulador de conmutación utiliza 'pulsos' de corriente y algunos inductores y condensadores externos para proporcionar una salida de voltaje estable razonable. No desperdicia energía como con la caída de voltaje del regulador lineal y la eficiencia en el alto 90% es posible.

    • Hay convertidores reductores (reductores) que toman la batería como entrada, luego se conectan directamente a 5V y GND, sin pasar por VIN y el regulador. Este de Pololu sube y baja, y tiene una corriente de reposo de 0.1mA.
    • Alternativamente, podría usar algunas baterías alcalinas de 1.5V y un convertidor de refuerzo (elevador) para obtener el voltaje de hasta 5V (por ejemplo, este producto de Sparkfun). Parece que los convertidores de impulso se almacenan más comúnmente.
    • Finalmente, puede comprar una batería de litio recargable con escudo de carga. Esta ventaja de esto es no tener que comprar baterías nuevas, y para un poquito más grande que una batería de 9V, la de litio tiene una capacidad mucho mayor. Un producto realmente genial es el kit impermeable seeeduino stalker que incluye un circuito de carga, batería, panel solar y otras cosas.
  • ATMega328P: en lugar de usar delaypara cronometrar y girar loopsin cesar esperando que algo suceda, vuelva a escribir su código para que entre en las lecturas del sensor, etc. Hay algunas bibliotecas de baja potencia que utilizan el temporizador de vigilancia para despertar periódicamente del sueño que son útiles. Puede obtener el consumo actual del ATMega328P por debajo de 0.1 mA durante el sueño.

  • LCD: apaga la luz de fondo, o incluso toda la pantalla LCD. Agregue un botón al diseño que el usuario pueda presionar para activar la pantalla LCD y haga que se apague después de una cantidad fija de inactividad.

  • Periféricos: la mayoría de los chips periféricos también tienen un modo de suspensión que reduce drásticamente su consumo de energía. Retire los LED de alimentación y otros indicadores que no sean necesarios.

  • ATMegu16U2: comentarios de user2973 Parece que este chip consume bastante energía ( user2973 ). Podría eliminarse para ahorrar energía y usar el UART en su lugar, pero parece una exageración. Hay placas Arduino Pro que son simplemente Arduino sin la interfaz USB que podría usarse en lugar de UNO.

  • Baterías: otras células alcalinas tienen una capacidad mucho mayor. Por ejemplo, un AA de 1.5V tiene más de 2000mAh para bajas corrientes. El uso de celdas AA más un convertidor elevador puede aumentar el tiempo antes de reemplazar la batería. Use celdas D (16000 mAh) y funcionará durante bastante tiempo. :RE

Resumen

Con la fuente de alimentación y la codificación adecuadas, puede obtener una vida útil razonable de una batería. Utilizando los principios anteriores, he creado una placa derivada de Arduino que mide algunos sensores y almacena las lecturas en una tarjeta SD cada medio segundo. Puede durar aproximadamente 4 meses con 2 baterías AA, por lo que es definitivamente posible tener poca energía y permanecer en el ecosistema Arduino.

El chip que utilicé para la baja potencia en mi placa es el LTC3525-3.3V. Toma un voltaje de entrada tan bajo como 0.8V y aumenta hasta 3.3V y también está disponible una versión de 5V. Diseñé una PCB para este chip, ya que no había una ruptura lista para usar, y en la hoja de datos hay diseños de referencia. El criterio principal para elegir este chip fue que todavía tenía una alta eficiencia a corrientes muy bajas. Algunos otros convertidores necesitan un pequeño consumo de corriente mínimo.

El mayor consumidor de energía en el tablero terminó siendo la tarjeta micro SD. Puede variar entre 0.1mA y 1.5mA de corriente inactiva dependiendo del fabricante. He encontrado que las tarjetas Verbatim y Lexar consumen la menor cantidad de energía. Haré esta pregunta EESE actualizada con los resultados de las pruebas de consumo de energía de mi tarjeta micro SD.

Geometrikal
fuente
1
Buena respuesta completa. Nota: el consumo de energía del usb a serial atmega16u2 que será muy significativo después de resolver los otros problemas.
user2973
@ user2973 ¿tienes una idea de lo que podría ser? Puedo obtener las características típicas de la hoja de datos, pero no la puse, ya que no sé si el firmware tiene alguna suspensión. Si solo está funcionando normalmente, es de 12 mA a 5 V, lo cual es un sorteo significativo.
geometrikal
@geometrikal, ¿cómo se alimenta un Arduino con 2 pilas AA? Eso es solo 3 voltios, que está por debajo del mínimo. ¿La fuente de alimentación que mencionó es una fuente de inversión? (Excelente respuesta por cierto <voted>.)
Duncan C
1
@geometrikal, ¿le importaría publicar un enlace a una de las fuentes de alimentación que menciona, como la de SparkFun? Solo busqué un poco y no puedo encontrarlo. Para una vida útil prolongada, un suministro estilo buck parece crítico, ya que la corriente inactiva de un regulador de voltaje convencional es significativa.
Duncan C
1
@geometrikal, dijiste "... También cuando se caen 9V a 5V a través de un regulador lineal, el regulador pierde casi la potencia debido a su caída de 4V" ¿Eso no duplica casi el consumo de energía en reposo de 9V, así como ¿La potencia necesaria para cada mA de 5V? (Dado que el regulador de voltaje desperdicia 4/9 de la energía como calor.) Parece que funcionaría con un convertidor reductor como un TSR 1-2450 sería mejor
Duncan C
3

Creo que un Arduino Uno no es adecuado para tales proyectos. Algunos componentes en el tablero consumen demasiados amplificadores, como @geometrikal señala correctamente. Si está a la altura de un desafío, le aconsejaría que lleve su proyecto a otro nivel y se deshágase.

Sparkfun tiene un buen artículo sobre cómo aumentar la duración de la batería, utilizando un ATmega328 que también tiene en su Arduino Uno: https://www.sparkfun.com/tutorials/309

Busque formas de crear un circuito con solo los componentes que realmente necesita y haga que su microcontrolador duerma lo más posible.

Franklin
fuente
1

Otra opción es buscar un hardware (Arduino Clone) diseñado para eso, como esta placa: https://bitbucket.org/talk2/whisper-node-avr/overview

¡Combinando dicho hardware con técnicas de código de ahorro de energía, debería poder ejecutar proyectos durante bastante tiempo con baterías!

Talk2
fuente