Go Down

Topic: Capacité d'une pile 9V / Arduino (Read 5 times) previous topic - next topic

arduimat

Sep 14, 2011, 05:37 pm Last Edit: Sep 14, 2011, 05:41 pm by arduimat Reason: 1
Bonjour à tous :)

J'ai un petit projet que je vous résume vite-fait : détecteur de présence qui allume 3 Led.

Avec donc :

- Arduino UNO
- 3 Leds (et les résistances)
- 1 Photorésistance pour tester la valeur de la luminosité ambiante
- un détecteur infrarouge dont voici les caractéristiques :
Ø        Detector range: 7m
Ø        Detector angle: 110°
Ø        Power Voltage: 4.5 -- 20V DC
Ø        Level Output: TTL Voltage output (high 3.3V, low 0V)
Ø        Level Holding Time: 0.3-18 seconds adjustable
Ø        Trigger method: L unrepeatable trigger; H repeatable trigger
Ø        Quiescent current: 50uA
Ø        Environment temprature: -20?--+50?
Ø        PCB Dimension: 32*24mm


En gros les LED s'allument seulement quand il fait noir et que quelqu'un passe devant le detecteur. L'Arduino doit donc être en permanence alimenté et la loop() doit tourner.

Mais voilà j'aimerai alimenter le tout via une pile traditionnelle 9V et la prise 2.5mm de l'Arduino.

Ma question, combien de temps ma pile pourra tenir pour un tel projet (à raison de 2/3 détections de présence [et donc allumage des LEDs] par tranche de 24h) ?
Comment calculer ce temps en fonction des éléments ?

Merci pour votre aide :)

al1fch

#1
Sep 14, 2011, 06:24 pm Last Edit: Sep 14, 2011, 08:44 pm by al1fch Reason: 1
Une pile 9V alcaline a une capacité de l'ordre de 500 mAh
Elle peut donc fournir : 50mA pendant 10h , 25mA pendant 20h,10mA pendant 25h......
Le calcul de la durée de fonctionnement nécessite de connaitre le courant consommé par l'ensembledu montage,c'est à dire içi essentiellement le courant consommé par la carte Arduino.
C'est environ 50mA je crois.
-> Donc durée 10h seulement si l'Arduino tourne en permanence dans sa boucle loop.  

Il est dommage de gaspiller toute cette énergie à attendre l'évènement extérieur. Si la boucle loop passe l'essentiel de son temps à attendre le signal du détecteur et s'il n'y a pas d'autre tâche à effectuer pendant ce temps d'attente il serait avantageux de mettre le Mega328 en sommeil (sleep).
Grâce àune interruption externe activée au préalable le Mega328 serait 'réveillé' par le détecteur de présence pour effectuer le travail avant de se rendormir. (=prise en compte de la valeur de la photorésistance et allumage éventuel des leds)
Sur une carte Arduino, contrairement à un montage 'standalone', la réduction du courant sera modérée car il reste encore le courant de repos  du régulateur, la led 'ON', le FTDI ou le Mega8u2..... au total peut etre 20mA et une pile qui tiendra moins de 24h !

arduimat

Merci pour ta réponse, j'ai pas trop compris comment mettre le arduino en sleep... mais bon j'ai compris que la pile c'était pas bon :D

Donc en gros pour faire fonctionner quelquechose à pile il faut forcemment du "standalone" ?

al1fch

Voilà une page un peu ancienne qui parle des divers modes "sleep" et du réveil par interruption.
http://www.arduino.cc/playground/Learning/ArduinoSleepCode
Sur une carte Arduino il y a effectivement trop de composants autour qui 'bouffent' du courant même si l'Arduino est en veille.
Avec un montage 'standalone' par contre seule entre en ligne de compte la consommation du microcontrolleur. Le Mega 328 possède toute une palette de modes d'économies d'énergie variés (modes sleep, mode iddle, powersave, standby ...) qui 'coupent' plus ou moins de fonctions internes du micro.
En gardant un oscillateur à 16MHz il est possible de descendre vers 1mA. En abaissant la fréquence du micro on peut aller encore plus bas. exemple :http://jeelabs.org/tag/lowpower/


arduimat

Merci pour tes réponses, je prendrai le temps de regarder ces principes de consommation.

Mais même en étant à 1mA ma pile 9V tiendrai environ 20 jours non-stop, ce qui n'est pas bon pour mon projet...

Mais comment fonctionne un réveil par exemple, pour qu'il tienne aussi longtemps sans changer les piles ?

Je m'écarte du sujet mais sinon en faut que je trouve une alternative à la pile, donc alimenter mon projet directement via une prise électrique... J'arrive pas à trouver d'exemples pour relier à un Arduino à une prise de manière "propre"...

Merci :)

Go Up