Pages: 1 2 [3]   Go Down
Author Topic: Baisser la consommation de courant, possible ?  (Read 6966 times)
0 Members and 1 Guest are viewing this topic.
Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Petit essai avec power.h  smiley


power_adc_disable() gain de 0,2 mA
power_spi_disable() gain de 0,2 mA
power_twi_disable() gain de 0,0 mA

power_usart0_disable() gain de 0,1 mA


power_timer0_disable() utilisé par millis ou delay
power_timer1_disable() gain de 0,05 mA
power_timer2_disable() gain de 0,05 mA

Soit un gain total de 0,6 mA , je me retrouve avec 9,9 mA  smiley-wink

Si c'est possible de descendre encore un peu...  :smiley
« Last Edit: November 22, 2008, 05:17:16 pm by jfs » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il me semble que le fait d'avoir utilisé ces macros me fait perdre 15 µseconde par seconde...  c'est pas lourd, mais sur 24 heures ça fait pas loin de 10 secondes (avec un quartz de 2Mhertz).

Donc mon horloge retardera de 1 minute pour 6 jours, 10 minutes en 2 mois... smiley-sad  il faut que je rajoute un fonction pour la correction.
« Last Edit: November 23, 2008, 04:18:13 pm by jfs » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Je fais des essais avec un quartz de 32.768 kHz, mais il me semble que cela ne change rien par rapport au quartz de 1MHz, je suis toujours aux alentours de 10 mA.

Selon ce qui était dit dans un post plus haut la fonction delay() serait gourmande en courant, donc j'ai changé d'option et j'ai réécris le programme avec des boucle comme mesure de temps, je ne note pas de différence par rapport à l'ancien programme.

Je suis toujours aux alentour de 10-11 mA  :-?
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

FR
Offline Offline
Full Member
***
Karma: 0
Posts: 105
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

tu devrais peut etre te repencher sur le sleep.h

J'ai qd meme l'impression en lisant la datasheet en diagonale que tu as un timer (le 2) qui reste actif et qui donc est utilisable pour faire une horloge

Nicolas
Logged

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Je vais regarder ça plus en détail...

En lisant le data sheet de l'atmega168 , il me semble qu'il a beaucoup de fonction que l'on peut éteindre, il faut encore voir comment ce serait possible de le faire.
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Est ce qu'il est possible de passer par l'IDE Arduino pour programmer l'horloge interne, et n'utiliser un quartz externe 32,768 kHz que pour cadencer l'horloge ?
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Petit essai ce matin avec la fonction "attachInterupt", je balance un signal d'horloge sur la pin digital 2 ou 3. Le signal d'horloge est donné par un oscillateur-diviseur cadencé par un quartz 32.768 kHz.
Le signal d'horloge récupéré est de 8 Hz, je le divise ensuite par 16 avec l'atmega. En utilisant power.h et sleep.h j'arrive à moins de 8mA pour le tout, oscillateur compris.

Le timer 0 est en fonction car il me permet d'incrémenter la variable (++) avec laquelle j'arrive à diviser mes 8Hz.
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 90
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello

Je sais que c'est un peu tard, mais je déterre ce post pour faire part des expériences menées par JeeLabs en matière de conso avec sa Jeenode (module wireless basé arduino avec un transeiver RFM12B). Elle est alimenté en 3.3V, possède résonateur céramique de 16Mhz, et consomme "de base" 10mA.
Néanmoins, en jouant avec le code, ils ont pu faire descendre la conso à 6.8 µA .... Il va de soit de cela a necessité de pas mal booster le code (mise en sommeil du microcontroler, watchdog, desactivation du module rf ... ). Il va de soit que tout cela est utilisable sur une arduino classique smiley-wink
Les articles sur le sujet :
http://jeelabs.org/2009/05/14/power-consumption-baseline/
http://jeelabs.org/2009/05/16/power-consumption-more-savings/

Logged

Pages: 1 2 [3]   Go Up
Jump to: