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?
Respuestas:
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.
ATMega328P: en lugar de usar
delay
para cronometrar y girarloop
sin 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.
fuente
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.
fuente
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!
fuente