Baisser la consommation de courant, possible ?

Un petit régulateur de voltage ferais laffaire ou simplement l'utilisation d'une pile de montre (ou plusieurs en série) ne ferait-il pas l'affaire?

j'imagine que puisque tu exige une consomation inférieure c'est que le systeme d'horloge est intégré a un appareil?

j'ai trouvé les références d'un régulateur de tension "basse consommation", je ferai des essais.

Un régulateur de tension avec en entrée 12V pour avoir 1,5V, ça va chauffer pas mal ! Plutôt une alim à découpage, plus encombrant mais dissipe moins de chaleur. Sinon une pile AA de 1,5V avec une alim à découpage qui augmente un peu la tension.

les 1,5V ne sont pas une obligation, 5,5V sont possible pour autant que mon ensemble consomme moins de 8mA et ma source de courant est obligatoirement de 12V

Je fais un essai à vide avec un LM317, j'ai une tension de 5,1V et l'intensité est à 85 mA, déjà sans rien alimenter, la consommation est rop élevée.
Est-ce que la tension peut être plus élevée à vide qu'en charge ?

Est ce que ce genre de régulateur PWM converti directement le courant comme le LM317 ?

Celui ci ferait-il l'affaire :

MAX1658

dit moi que ta pas brancher directement ton testeur sur la sortie!!:o:O:O

tu sais que si ya aucune charge,les mA vont etre au max..et tres possiblement bruler ton testeur! (comme jai fait aek le mien XD)

parceque c comme un débit,toi ta brancher lentrée a la sortie sans aucune obstruction..c pr ca ;p

essaie qd tout est branché tu va voir,plus ya dla charge moin yen passe^^..eh..je croit ? :stuck_out_tongue:

Le LM317 sort 1,5A maximum et mon testeur supporte 10 ampères.

Par contre c'est logique pour le débit, sur le moment je n'y ai pas pensé, mais dans ce cas j'aurais du avoir 1,5A comme valeur :-?

Je me suis aperçu aujourd'hui que mes mesures étaient erronées.

En sortie du LM317, à vide j'ai 1,7 Ampères qui redescendent à 0,5 A au bout de 5 secondes.

Un petit mot au sujet de la consommation, les micro-contrôleurs ATMEL sont de technologie CMOS donc ne consomment quasiment rien, la major partie de la consommation ce fait lors des basculements des transistors donc plus ton horloges a une fréquence basse moins tu consommes, je sais que sous CVAVR en C tu peux modifier la valeur de ton horloge avec un diviseur de fréquence intégré donc tu peux créer un mode "basse conso" mais vu que tu changes ton horloge en cours de fonctionnement tout utilisation de "fonction du temps" (ex: delay) est à proscrire.

Attention tout de même faire tourner un uC a 32,78kHz est possible avec les nouveaux uC en utilisant l'horloge intégrée du watchdog mais du coup tu peux oublier certaines applications nécessitant une précision dans le temps, de plus tu devras surement paramétrer ton logiciel programmeur pour qu'il ne perde pas la connexion lors d'une programmation, le micro étant plus lent à répondre certain logiciel considère la connexion comme inexistante et l'interrompe.

Bon courage.

En faisant ce montage, mais en assurant l'alimentation par un LM317, j'ai une conso de 25 mA.

L'horloge elle même ne consomme que 500 µA.

Normalement la conso du M168 est inférieure à celle de l'horloge, donc je devrais avoir au maximum 1mA...

Cette conso viendrait-elle du LM317 ?

En "C" qu'est ce que je peux utiliser d'autre que la fonction "delay" ?

Est- ce possible de programmer le M168 avec un quartz de 16 MHz et ensuite de le remonter avec un quartz à plus basse fréquence, ainsi il n'y aurait pas de problème de coupure avec l'ordi ?

J'ai testé en alimentant mon circuit avec des piles sous 3,2 V, la consommation chute à 8mA, mais l'horloge n'avance plus, elle a juste des à coups.
Il faut peut-être que j'augmente le temps de mise sous tension de la bobine du fait de l'utilisation d'un voltage plus faible.

Maintenant j'ai une alimentation à base d'un Max1659, sa consommation est quasiment négligeable, de ce fait j'admets que la valeur mesurée correspond a la consommation du µC et de l'horloge.

  • Avec le quartz de 16MHz, et deux condensateurs de 22 pf, je consomme 22mA avec des pics à 25mA lors des impulsions.

  • Avec un quartz de 1 MHz, les mêmes condo, la consommation est de 8,5mA et des pics a 14,5mA, par contre on tourne moins vite...

  • Avec un quartz de 32,768 KHz et des condensateurs de 220 pf, la consommation est de 10mA avec des pics à 15,5mA, par contre ça va franchement moins vite.

J'ai remarqué que la capacité des condensateurs influence aussi sur la consommation, mais je ne sais pas dans quelles mesure on peut les changer pour que ça fonctionne et que ce soit sans sans dommage pour le quartz ou le µC

Dans le data-sheet du mega168, "ils" parlent de différents "sleep-mode" où on peut choisir les fonctions que l'on veut mettre en veille, est ce que quelqu'un pourrais me mettre sur la piste sur la façon de faire ça et quelles fonctions devraient être mises en veille ?

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() ?

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.

Dans la doc de avr_libc tu as ici
http://www.nongnu.org/avr-libc/user-manual/group__avr__power.html
en 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

tu as aussi ca http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html qui correspond plus a ce que tu veux faire.
Je suis un peu surpris que personne sur le forum en english ait essayé ça.

Nicolas

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 ::slight_smile:

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/ArduinoSleepCode

Nicolas

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.

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 :-?