Escolar Documentos
Profissional Documentos
Cultura Documentos
ahorro de energia en Arduino (y micros AVR en
general)
Clásica Lista En Árbol Tweet
0
Me gusta 0
8 mensajes Opciones
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
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
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/lightweightlowpowerarduinolibrary/
#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 GammonB
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
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/experimentingwithlowpowermodesandarduino/
> 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
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]
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 ]
Si desactivando todas los subsistemas innecesarios del micro sigues en esos consumos esta claro que
es la periferia la que esta consumiendo (regulador dcdc, resistencias pullup 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]
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/diysanguino.html
https://github.com/petervojtek/diy/wiki/ArduinowithVeryLowPowerConsumption
http://aeturnalus.com/robotics/poormansbreadboardarduino/
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