Você está na página 1de 9

HackLab Almería (foro antiguo) › Taller de hardware abierto Entrar  Registrarse

ahorro de energia en Arduino (y micros AVR en
general)
Clásica Lista En Árbol Tweet
  0
  Me gusta 0
  8 mensajes   Opciones 

AMR Feb 01, 2015; 7:12pm ahorro de energia en Arduino (y micros AVR en general)


Responder | En Árbol | Más     

El ultimo día del cacharreo estuve con Fco. Javier tratando de "dormir" su arduino y creo que esto
podria interesarle a él o cualquiera que  tenga entre manos proyectos alimentados a baterias. 
http://www.gammon.com.au/power

Via: Bricogeek en twitter
32 mensajes
Saludos

Eliminar Publicidad

JavierNo Feb 03, 2015; 4:17pm Re: ahorro de energia en Arduino (y micros AVR en general)


Responder | En Árbol | Más     

Hola Antonio, 
Muchas gracias por el enlace, tiene muy buena pinta... 
Todavía no he probado el sketch que me hiciste, a ver si este finde saco un rato y los pruebo todos.
Ya te comentaré se alguno de ellos me funciona o necesito ayuda extra.;) 
9 mensajes Gracias 
Javier

JavierNo Feb 08, 2015; 4:35pm Re: ahorro de energia en Arduino (y micros AVR en general)


Responder | En Árbol | Más     

Hola, 
He estado probando la reducción de consumo con 4 librerías de bajo consumo que he encontrado.
Para las pruebas he utilizado un Arduino Nano alimentado con 4 pilas de 1,5V (6V de entrada). 
Aquí una foto del montaje 
9 mensajes
Lo primero ha sido cargar un skech vacio: 
void setup() 
{} 
void loop() 
{} 
Ha dado un consumo de 53,5mA. 

Después he usado el skech Blink que viene en los ejemplos de Arduino. 

A dado un consumo de 57,7mA en high y 54mA en low

Y ahoras las librerias utilizadas: 
LowPower
Ejemplo “powerDownWakePeriodic” de la librería LowPower.h modificada con blink 
Web de referencia: 
 
http://www.rocketscream.com/blog/2011/07/04/lightweight­low­power­arduino­library/
 

#include "LowPower.h" 
 
int led = 13; 
 
void setup() {                 
  pinMode(led, OUTPUT);       

 
void loop() 

 
  digitalWrite(led, HIGH); 
 
  LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);   
  digitalWrite(led, LOW);   
 
  LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); 
}   
 
Consumo HIGH: 47,5 mA 
Consumo LOW: 43,9 mA  
 
Libreria BajoConsumoAMR
 
Este skech me lo paso Antonio durante una sesión de cacharreo. No lo pongo porque es un poco
largo. Si a alguien le interesa que lo diga y la subo. 
Consumo: 48,8 mA  
 
A mí me da problemas de bloqueo del arduino y para cargarle otro skech hay que hacerlo con otro
arduino mediante ISP. 
 
Libreria JeeLib
 
Libreria JeeLib con blink 
Web de referencia:   
http://jeelabs.org/  
 
#include <JeeLib.h>
int led = 13;   
 
ISR(WDT_vect) { 
  Sleepy::watchdogEvent(); 

 
void setup() {                 
  pinMode(led, OUTPUT);       

 
void loop() { 
 
  digitalWrite(led, HIGH); 
  Sleepy::loseSomeTime(5000);   
  digitalWrite(led, LOW);   
  Sleepy::loseSomeTime(5000);   
 
Consumo HIGH: 47 mA 
Consumo LOW: 43,5 mA 
 
Libería de la web de Gammon
Sketch Gammon­B   
 
Web de referencia: 
 
http://www.gammon.com.au/power
Referencia web facilitada por AMR  
 

#include <avr/sleep.h>
#include <avr/sleep.h>
 
void setup () 

 
  set_sleep_mode (SLEEP_MODE_PWR_DOWN);   
  sleep_enable();   
  sleep_cpu ();     
}  // end of setup  
 
void loop () { } 
 
Consumo: 43,6 mA
 
También he utilizado este skech anadiéndole el skech blink para que parpadeara pero se quedaba
todo el tiempo el led encendido con el mismo consumo anterior. 

En ningún caso se ha bajado de 43mA el consumo. Con algunas de las libería se puede bajar el
consumo unos de 10mA, pero se queda esta muy lejos de permitir mantener funcionando varios
meses una placa arduino de forma ininterrumpida con 4 pilasde 1,5V. 
 
No sé si alguién tiene alguna experiencia en liberías de bajo consumo, para mantener un arduino
funcionando varios meses (en algunos foros se habla hasta de años!!) con un par de pilas de 1,5V o
similar (empieza a sonarme a leyenda urbana!!). En algunos foros comentan que no es posible por el
tema de regulador de tensión y otros componentes presentes en las placas arduinos, que la única
forma de tener consumos de microamperios es utilizar el micro sin los demás componentes. 
 
Las mismas mediciones la he realizado con un Arduino Uno, y aunque se puede llegar a bajar a
31mA (es curioso que en todas las mediciones la placa Arduino Uno consume menos que la Nano),
tampoco permite manterlo aliimentado durante meses con 4 pilas, sobre todo teniendo en cuenta que
en estos ensayos no se han utilizado sensores que aumentarían el consumo. Alguén ha realizado
mediciones similares con la placa Arduino Pro Mini o Lilypad, que llevan menos componentes? 
 
Si alguién tiene experiencia, conoce alguna forma de bajar el consumo, sería bienvenida cualquier
información. 
 
Bueno, espero que os pueda valer esta información si estáis interesado en bajar el consumo de
arduino. 
 
Javier 
 

Raz_Lobo Feb 09, 2015; 6:47am Re: ahorro de energia en Arduino (y micros AVR en general)


Responder | En Árbol | Más     

El 08/02/15 a las 20:35, JavierNo [via HackLab Almería] escribió: 
> Hola, 
> He estado probando la reducción de consumo con 4 librerías de bajo 
Administrador > consumo que he encontrado. Para las pruebas he utilizado un Arduino Nano 
560 mensajes
> alimentado con 4 pilas de 1,5V (6V de entrada). 

[...] 
> Las mismas mediciones la he realizado con un Arduino Uno, y aunque se 
> puede llegar a bajar a 31mA (es curioso que en todas las mediciones la   
> placa Arduino Uno consume menos que la Nano), tampoco permite manterlo  
> aliimentado durante meses con 4 pilas, sobre todo teniendo en cuenta que   
> en estos ensayos no se han utilizado sensores que aumentarían el   
 
> consumo. Alguén ha realizado mediciones similares con la placa Arduino 
> Pro Mini o Lilypad, que llevan menos componentes?   
>   
 
> Si alguién tiene experiencia, conoce alguna forma de bajar el consumo, 
> sería bienvenida cualquier información.  
Todavía no me he peleado con este tipo de cosas pero estuve mirándolo 
para un proyecto en el que estuve trabajando un tiempo y, efectivamente, 
el tema esta más en la placa que en las bibliotecas que utilices. 

Arduino no va a consumir igual según la alimentación que estés 
utilizando, si alimentas, por ejemplo, por usb la placa «entiende» que 
estas en un entorno de no demasiada potencia y consume menos. Si 
conectas por el conector de alimentación entiende que tenemos energía a 
raudales y consume más. 

Como bien dices la mejor forma de bajar el consumo es construyendo tu 
propio arduino, no obstante, hay placas que ya vienen «preparadas» para 
ese bajo consumo. 

En concreto la Olimexino 328 es la que bate todos los registros en eso, 
en cuanto placas arduino uno compatibles. 

Aquí te dejo un artículo que te puede servir de orientación: 

https://olimex.wordpress.com/2013/11/05/experimenting­with­low­power­modes­and­arduino/

> Bueno, espero que os pueda valer esta información si estáis interesado 
> en bajar el consumo de arduino. 

Realmente muy interesante Javier, gracias por compartir tus avances. 

Salud y Revolución. 

Lobo. 
­­ 
Libertad es poder elegir en cualquier momento. Ahora yo elijo GNU/Linux, 
para no atar mis manos con las cadenas del soft propietario. 
Porque la libertad no es tu derecho, es tu responsabilidad. 
http://www.mucharuina.com
­­­­­­­­­ 
Desde El Ejido, en Almería, usuario registrado Linux #294013 
http://www.counter.li.org

 smime.p7s (3K) Download Attachment

klin Feb 09, 2015; 6:55am Re: ahorro de energia en Arduino (y micros AVR en general)


Responder | En Árbol | Más     

En mi opinión este es uno de los hilos más interesentes que se hayan puesto en el foro.

Según he leido, una buena manera para que consuma menos es dormir todo y que se active mediante
una interrupción asíncrona (por ejemplo con un switch).
77 mensajes
Ahora bien, si se quiere programar para que se despierte síncronamente, creo que la manera de
menor consumo es despertando la cpu mediante el watchdog, pero el reloj que trae es muy
impreciso.

Indagaré un poco más y gracias por este hilo ;­)

El 9/2/2015 10:49, "Raz_Lobo [via HackLab Almería]" <[hidden email]> escribió:

El 08/02/15 a las 20:35, JavierNo [via HackLab Almería] escribió: 
> Hola, 
> He estado probando la reducción de consumo con 4 librerías de bajo 
> consumo que he encontrado. Para las pruebas he utilizado un Arduino Nano 
> alimentado con 4 pilas de 1,5V (6V de entrada). 

[...] 

> Las mismas mediciones la he realizado con un Arduino Uno, y aunque se 
> puede llegar a bajar a 31mA (es curioso que en todas las mediciones la 
> placa Arduino Uno consume menos que la Nano), tampoco permite manterlo 
> aliimentado durante meses con 4 pilas, sobre todo teniendo en cuenta que 
> en estos ensayos no se han utilizado sensores que aumentarían el 
> consumo. Alguén ha realizado mediciones similares con la placa Arduino 
> Pro Mini o Lilypad, que llevan menos componentes? 
... [show rest of quote]

Andy Feb 09, 2015; 9:06am Re: ahorro de energia en Arduino (y micros AVR en general)


Responder | En Árbol | Más     

No sé cómo será en Arduino, pero con Waspmote había 2 modos dormir. En uno de ellos el cacharro
de dormía completamente (sólo consumo del reloj interno) y se despertaba por interrupción del reloj.

Para que la bajada de consumo fuera efectiva había que dormir también los cacharros que tuviera
conectados (zigbee, sensores, etc).
61 mensajes

El 9 de febrero de 2015 10:55:58 CET, "klin [via HackLab Almería]" <[hidden email]> escribió:

En mi opinión este es uno de los hilos más interesentes que se hayan puesto en el foro.

Según he leido, una buena manera para que consuma menos es dormir todo y que se active
mediante una interrupción asíncrona (por ejemplo con un switch).

Ahora bien, si se quiere programar para que se despierte síncronamente, creo que la manera de
menor consumo es despertando la cpu mediante el watchdog, pero el reloj que trae es muy
impreciso.

Indagaré un poco más y gracias por este hilo ;­)

El 9/2/2015 10:49, "Raz_Lobo [via HackLab Almería]" <[hidden email]> escribió:

El 08/02/15 a las 20:35, JavierNo [via HackLab Almería] escribió: 
> Hola, 
> He estado probando la reducción de consumo con 4 librerías de bajo 
... [show rest of quote ]

AMR Feb 09, 2015; 10:41am Re: ahorro de energia en Arduino (y micros AVR en general)


Responder | En Árbol | Más     

Si desactivando todas los subsistemas innecesarios del micro sigues en esos consumos esta claro que
es la periferia la que esta consumiendo (regulador dc­dc, resistencias pull­up como comentan por el
enlace que deja Raz_Lobo.
 
Yo sigo apostando por prescindir de arduino y usar la configuracion minima necesaria alimentando
directamente de baterias (los micros avr funcionan con un rango de voltajes que permitiria
alimentarlos desde una lipo o dos pilas normales). Ademas el resonador interno no es muy preciso,
pero como para despertar cada varios segundos la precision es mas que aceptable (max 8 segundos
32 mensajes
que es lo max que te deja configurar las interrupciones del WD), y si se necesita mas siempre se
puede tirar de interrupciones externas. 
 
Por casa tengo micros diversos a ver si el proximo cacharreo me los llevo y lo probamos sobre una
protoboard.
 
Quizas de ahi salga nuestro propio diseño y le diseñamos la pcb para montarlo. 
Saludos  

El 09/02/2015 13:07, "Andy [via HackLab Almería]" <[hidden email]> escribió:
No sé cómo será en Arduino, pero con Waspmote había 2 modos dormir. En uno de ellos el
cacharro de dormía completamente (sólo consumo del reloj interno) y se despertaba por
interrupción del reloj.

Para que la bajada de consumo fuera efectiva había que dormir también los cacharros que tuviera
conectados (zigbee, sensores, etc).

El 9 de febrero de 2015 10:55:58 CET, "klin [via HackLab Almería]" <[hidden email]> escribió:

En mi opinión este es uno de los hilos más interesentes que se hayan puesto en
el foro.

Según he leido, una buena manera para que consuma menos es dormir todo y
que se active mediante una interrupción asíncrona (por ejemplo con un switch).
... [show rest of quote]

JavierNo Feb 09, 2015; 7:14pm Re: ahorro de energia en Arduino (y micros AVR en general)


Responder | En Árbol | Más     

Parece que nos estamos viniendo arriba (¿efecto Aquarius?), en mi opinión muy buena idea la
propuesta de intentar trabajar con un micro e intentar hacer nuestra propia placa (la podíamos llamar
Indalduino ;) ). 

Vistos que con el consumo de las placas arduinos no iba a poder darle mucha vida al proyecto del
9 mensajes datalogger que me traigo entre manos, ya había comenzado a mirar un poco lo de usar solo los
micros. Hay algunos proyectos en internet como el Sanguino y Bareduino que reducen el número de
componentes para bajar el consumo. Aquí os dejo algunos enlaces con dichos proyectos por si os
interesa: 

http://reprap.org/wiki/Burning_the_Sanguino_Bootloader_using_Arduino_as_ISP
http://junkplusarduino.blogspot.com.es/p/diy­sanguino.html
https://github.com/petervojtek/diy/wiki/Arduino­with­Very­Low­Power­Consumption
http://aeturnalus.com/robotics/poor­mans­breadboard­arduino/

Con respecto a hacer nuestra propia placa, a mí me encantaría. Aunque mis conocimientos son
bastante limitados me ofrezco para hacer las medidas de consumo en las pruebas que sean necesaria.
A mí, lo importante es que el consumo de la placa sea muy, muy bajo, de tamaño pequeño y fácil de
programar (que se pueda hacer con el Arduino IDE) para los que tenemos conocimientos escasos en
el tema. Si alguién tiene algunos requerimientos extra para definir el diseño, estaría bien que los
comentara. 

Además diseñar la placa nos ayudaría a algunos a aprender algo más sobre electrónica y diseño de
placas, supongo que se usaría el Fritzing o el Kidcad. 

Creo que podría ser un proyecto chulo, si se llevara a cabo, ¿qué os parece? 
Saludos 
 

 parte de los comp

Eliminar Publicidad

« Volver a Taller de hardware abierto  |  425 vistas

Free forum by Nabble Disable Popup Ads | Edit this page

Você também pode gostar