Arduino
Reduciendo consumo.
Parte 1
Reloj - DS1302
xsetaseta@gmail.com
Reduciendo consumo.
Parte 1
Reloj - DS1302
xsetaseta@gmail.com
En este montaje intentamos reducir el consumo de corriente de mi anterior montaje arduds.html.
El consumo de todo el circuito incluido placa de arduino y LCD es de 23,3 mA.
En esta primera parte he utilizado tres métodos para reducir el consumo.
Método 1.
El primero es variar dinámicamente mediante el programa la velocidad del reloj del ATMEGA328.
Esto se consigue modificando el registro CLKPR – Clock Prescale Register.
En la parte del programa que quiero que corra a 16MHZ pongo las ordenes:
CLKPR = (1 << CLKPCE);
CLKPR = 0; // Velocidad 16Mhz
En la parte del programa que quiero que corra a 500khz pongo las ordenes:
CLKPR = (1 << CLKPCE);
CLKPR = 5; // Velocidad 500khz
Método 2.
El segundo método para reducir el consumo es el de reducir el voltaje de alimentación del circuito.
El arduino utiliza 5V para la alimentación de todo el circuito. Si se disminuye el voltaje de 5V a 4V podemos obtener un significativo ahorro de consumo.
Podríamos disminuir el voltaje hasta 2,8 V, pero los LCD no trabajan por debajo de los 4V, con lo cual el microcontrolador funciona, pero en el LCD no se ve nada.
Tengo un LCD que en teoría funciona con 3,3V, pero en la práctica por debajo de 3,6V no se ven los caracteres.
Método 3.
El tercer método para reducir el consumo es montar solo el microcontrolador con los componentes mínimos para que funcione, cristal y dos condensadores. De esta forma eliminamos el consumo del conversor USB->RS232 y otros componentes que lleva la placa.
Si no se requiere mucha precisión de reloj, podríamos eliminar el crystal y los dos condensadores, utilizando el oscilador interno de 8 MHz. Estó requiere modificar el boot del arduino por lo que lo he descartado.
Montaje del micro con los dos condensadores y el cristal.
Programa arduino
Después de realizar todas la pruebas, estos son los resultados:
5V | 4V | 3,7V | |
16Mhz | 23.3mA | 14,5mA | |
2MHz | 14,4mA | 9mA | |
1MHz | 13,4mA | 8,6mA | |
500KHz | 13,2mA | 8,3mA | |
500KHz(Atmega328+LCD) | 5,5mA | 4,5mA | 2,6mA |
En el mejor de los casos, si alimentamos el circuito con 3 pilas alcalinas en serie (4,5V) de 2890mAH y colocamos un diodo en serie para bajar el voltaje a 3,8V la corriente medida es de 2,6mA.
Si dividimos 2890 entre 2.6 el resultado es de 1111 horas, 46 días. Siempre es algo menos debido a la autodescarga de la propia batería.
Si quitamos el LCD en consumo se reduce a 1mA, alimentando el Atmega a 3,7V.
En la segunda parte trataremos el poner el microcontrolador a dormir para disminuir el gasto de la batería.
Saludos
SETA43
Bibliografía:
http://www.gammon.com.au/forum/?id=11497
http://www.surprisingedge.com/low-power-atmegatiny-with-watchdog-timer/
http://blog.dosbotones.com/2011/09/reducir-el-consumo-de-arduino.html
http://www.sparkfun.com/tutorials/309
http://interface.khm.de/index.php/lab/experiments/sleep_watchdog_battery/
No hay comentarios:
Publicar un comentario