economie d'énergie et sleep

Bonsoir,

Je m'amuse depuis maintenant un certain temps avec des Arduinos et des atmega plus généralement.

Mais je bute sur quelques chose qui parait pourtant assez simple, je m'explique :

Je souhaiterais utiliser un atmega 328 (ou a terme plus petit genre Tiny 45) dans une tache assez simple (reveil, enregistrement d'une donnée numérique, dodo) Mais voila, je voudrais que l'arduino se réveil seul au bout d'un certain temps, exécute sa tache, et se rendorme. J'ai bien évidemment fouillé du coté de "sleep" et autre, mais il n'y a que des solutions qui prennent en compte une événement externe. Comme faire pour éviter ca (type timer) ? une RTC est elle indispensable ?

Tout cela est mue par la nécéssité d'utiliser une source d'énergie faible (solaire, 4.8v / 100 mA + un super condensateur de 4 F pour l'interime).

Aussi, est il possible de désactiver individuellement certaines fonctions (ADC,baisser la fréquence) pour économiser de l'énergie même en fonctionnement ?

J'ai pas mal cherché sur le "sleep timer" sans jamais rien trouvé d'abouti.

Merci d'avance !

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1224194680

Regarde du coté de ce post: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1224194680

EDIT: grillé ...

J'avais un avantage.... ;D

Ha ben voila, génial ! Merci a vous 2 pour votre réactivité !

Sinon pour le réveil a intervalle régulier, des idées ?

Merci

Je ne crois pas que ce soit possible de sortir de la fonction sleep en interne. Tu peux assujettir le reveil a un timer externe, qui enverrait une impulsion toutes les X secondes/minutes/heures mais je ne sais pas si ça te fera consommer bcp moins alors

Il faut utiliser l'horloge interne de l'atmega, un DS32khz et un diviseur CD4060. Pour l'alimentation il faut utiliser un régulateur Max 1659 3,3 V de chez Maxim...

Avec ça je consomme moins de 10mA en envoyant une impulsion à un moteur d'horloge 2 fois par seconde. (conso du moteur comprise dans la mesure).

Après si tu veux consommer moins que ça c'est le PIC le plus simple à utiliser je pense ou encore mieux du msp430. Mais beaucoup moins intuitif et convivial que l'arduino ...

en faite, j'était tombé il y a quelques temps sur ca :

http://donalmorrissey.blogspot.com/2010/04/putting-arduino-diecimila-to-sleep-part.html

Ou, a la fin on peut lire

" bringing the Arduino out of a sleep mode:

Via an external interrupt; Via the UART (USB serial interface); Via an internal timer - Coming Soon!; Via the watchdog timer - Coming Soon!; " D'ou ma croyance que cela fut possible... Mais je vais tenter la clock externe avec le div de fréquence en attendant !

Merci

(si qqun a quand même des infos supplémentaires, je suis toujours preneurs évidemment !) :)