Geneva
Offline
Faraday Member
Karma: 22
Posts: 2878
Yoplait... le pt'it suisse
|
 |
« Reply #15 on: November 15, 2008, 10:07:16 am » |
Avec un quartz de 1MHz, j'avais moins de 10mA de conso en laissant mon programme tel quel, mais l'horloge tournait 16 fois moins vite...
En modifiant mes delay() pour que mon horloge fonctionne à nouveau en concordance avec le temps réel la mesure oscille entre 9 et 10,5mA.
je me demande si en utilisant une fonction avec millis() la consommation serait moins grande qu'avec delay() ?
|
|
|
|
« Last Edit: November 15, 2008, 01:12:58 pm by jfs »
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2878
Yoplait... le pt'it suisse
|
 |
« Reply #16 on: November 15, 2008, 01:09:44 pm » |
Après essai, la fonction millis() me fait exactement la même consommation qu'avec delay().
Il faut que je mette une partie du µC en veille pour faire descendre la consommation.
J'aimerais atteindre les 4-5 mA.
|
|
|
|
« Last Edit: November 15, 2008, 01:17:36 pm by jfs »
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
FR
Offline
Full Member
Karma: 0
Posts: 105
|
 |
« Reply #17 on: November 16, 2008, 04:59:37 am » |
Dans la doc de avr_libc tu as ici http://www.nongnu.org/avr-libc/user-manual/group__avr__power.htmlen faisant un #include <avr/power.h> accès à ces macros pour limiter la conso de courant pour le 168 (en eteignant des périphériques qui te servent pas) power_adc_disable() power_spi_disable() power_twi_disable() Si tu n'as pas besoin de communiquer par l'usb power_usart0_disable() sur les 3 timers je pense que tu peux en éteindre 2 sans pb (mais il faut garder celui utilisé par millis ou delay). power_timer0_disable() power_timer1_disable() power_timer2_disable() Perso j'ai jamais essayé mais fais nous un retour sur les mesures de courant observées en éteignant chacun des modules. Nicolas
|
|
|
|
|
Logged
|
|
|
|
|
|
|
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2878
Yoplait... le pt'it suisse
|
 |
« Reply #19 on: November 16, 2008, 05:28:50 am » |
Merci pour tes réponses. Est-ce que c'est possible de programmer ça directement depuis l'IDE Arduino ? Je crois que Benoit Rousseau avait fait une horloge numérique qui utilise le mode interrupt(), mais j'ai pas trop compris : 
|
|
|
|
« Last Edit: November 16, 2008, 05:31:00 am by jfs »
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
FR
Offline
Full Member
Karma: 0
Posts: 105
|
 |
« Reply #20 on: November 16, 2008, 08:47:29 am » |
pour l'include de <avr/power.h> j'ai en effet des soucis (arduino 11 sous linux) mais pour <avr/sleep.h> aucun pb J'ai d'ailleurs trouvé qq chose sur le playgroud http://www.arduino.cc/playground/Learning/ArduinoSleepCodeNicolas
|
|
|
|
|
Logged
|
|
|
|
|
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2878
Yoplait... le pt'it suisse
|
 |
« Reply #21 on: November 16, 2008, 08:54:15 am » |
La librairie sleep.h, je l'ai trouvée, mais pas la power.h. J'ai trouvé quelques choses sur le site koders, mais je sais pas si c'est la bonne librairies.
|
|
|
|
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2878
Yoplait... le pt'it suisse
|
 |
« Reply #22 on: November 16, 2008, 09:58:11 am » |
Voilà le résultat de mes essais avec sleep.h.
Il existe cinq modes différents :
SLEEP_MODE_IDLE SLEEP_MODE_ADC SLEEP_MODE_PWR_SAVE SLEEP_MODE_STANDBY SLEEP_MODE_PWR_DOWN
Le premier est le seul où l'horloge tourne et consomme autant qu'en mode normal, avec tous les autres elle ne tourne pas,
il faut vraiment que j'arrive à faire ça avec power.h :-?
|
|
|
|
« Last Edit: November 16, 2008, 09:58:26 am by jfs »
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
FR
Offline
Full Member
Karma: 0
Posts: 105
|
 |
« Reply #23 on: November 16, 2008, 01:16:45 pm » |
Tu utilises bien un atmega168 dans ta définition des board de l'arduino ? et tu fais bien un
#include <avr/power.h>
Nicolas
|
|
|
|
|
Logged
|
|
|
|
|
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2878
Yoplait... le pt'it suisse
|
 |
« Reply #24 on: November 16, 2008, 01:32:42 pm » |
J'utilise l'onglet "Tools" dans L'IDE Arduino 010 , et je configure sous "diecimila".
Je fais bien un #include<avr/power.h>, mais je n'avais pas cette librairies dans le Pack Arcuino 010, j'ai été chercher cette lib le net qu j'ai trouver sur un site qui s'appelle "Koders". L'auteur de la librairies est le même que celui de sleep.h donc je pense que c'est la bonne.
Mais je n'arrive pas à trouver comment mettre mon code, pour sleep j'avais trouvé des exemples.
|
|
|
|
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
FR
Offline
Full Member
Karma: 0
Posts: 105
|
 |
« Reply #25 on: November 16, 2008, 05:07:18 pm » |
comment sais tu que tu n'as pas la lib ? tu es allé voir dans ton .../avr/include/avr/ (sur mon linux c'est dans /usr/avr/include/avr/power.h) ? Essaye de setter une autre board (genre NG atmega168 pour voir si ca marche la compil).
Nicolas
|
|
|
|
|
Logged
|
|
|
|
|
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2878
Yoplait... le pt'it suisse
|
 |
« Reply #26 on: November 16, 2008, 05:21:23 pm » |
J'ai regardé dans tout mes dossiers et même en faisant la fonction "rechercher" je ne l'a trouve pas.
Elle devrait être dans le même dossier que celui où se trouve sleep.h ?
|
|
|
|
« Last Edit: November 16, 2008, 05:23:42 pm by jfs »
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
FR
Offline
Full Member
Karma: 0
Posts: 105
|
 |
« Reply #27 on: November 20, 2008, 08:37:17 am » |
Je suis au travail donc je peux pas regarder mais je viens de jeter un oeil sur les releases notes de la version 12 ils parlent de :
* Upgraded to newer versions of avr-gcc (4.3.0) and avr-libc (1.6). This provides support for newer Atmel chips, but may increase the size of sketches.
Peut etre qu'en passant à cette version de avr-libc tu auras la lib ?
Nicolas
|
|
|
|
|
Logged
|
|
|
|
|
FR
Offline
Full Member
Karma: 0
Posts: 105
|
 |
« Reply #28 on: November 20, 2008, 08:40:30 am » |
Je confirme : je viens de comparer les distributions en version 10 et 12 pour mac et tu as power.h uniquement sur la 12.
Bonne suite.
Nicolas
|
|
|
|
|
Logged
|
|
|
|
|
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2878
Yoplait... le pt'it suisse
|
 |
« Reply #29 on: November 20, 2008, 01:06:40 pm » |
Je me suis remis à jour en installant la 012, je ferais un essai comme ça. 
|
|
|
|
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
|