Hier après-midi, j'ai laissé mon Arduino fonctionner sur une nouvelle pile alcaline 9V (+ connectée à Vin, - connectée à GND). Aujourd'hui matin (16 heures plus tard), l'écran LCD n'était plus visible et lorsque j'ai mesuré la volatilité, j'ai vu la batterie s'épuiser à ma grande surprise - sa tension de repos n'était que de 7 V.
Mon appareil est Arduino Uno avec LCD 2x16 avec rétro-éclairage LCD et 2 capteurs DS18B20. Est-il normal qu'un tel appareil épuise la batterie 9V aussi rapidement?
J'ai lu une réponse à Quelles sont (ou comment utiliser) les options d'économie d'énergie de l'Arduino pour prolonger la durée de vie de la batterie? question et je pense que ce que je vois pourrait être lié à cela, mais je ne suis pas sûr. Si tel est le cas, existe-t-il des schémas communs sur la façon de connecter efficacement Arduino pour qu'il soit alimenté par une batterie?
Réponses:
Consommation d'énergie
Les cartes Arduino utilisent un peu de puissance par rapport à d'autres systèmes embarqués avec des fonctionnalités similaires.
Il y a trois facteurs principaux:
Le régulateur linéaire 5 V NCP1117 ( fiche technique ) de l'Arduino UNO R3 ( schéma ) a un courant de repos d'environ 6 mA.
L'ATMega328P ( fiche technique ) consomme environ 5 mA à 8 MHz et 5 V, et probablement plus du double à 16 MHz.
user2973: L'ATMega16U2 utilisé pour les communications USB consomme également environ 13 mA.
Les LED et autres périphériques consomment également du courant. Dans votre circuit, le rétro-éclairage LCD consomme probablement 4 mA également.
Lors de la chute de 9V à 5V via un régulateur linéaire, près de la moitié de la puissance est perdue par le régulateur en raison de sa chute de 4V. Duncan remarque que cela double presque la consommation d'énergie au repos de 9V ainsi que la puissance nécessaire pour chaque mA de 5V, car 4 / 9ème de la puissance est gaspillée sous forme de chaleur par le régulateur de tension. Un régulateur de commutation efficace produirait 5 V avec peu d'énergie gaspillée, réduisant efficacement la consommation de courant vue par la batterie de 4 / 9ème.
Une batterie duracell 9V ( fiche technique ) passe de 9V à 7V en environ 7,5 heures avec une consommation de courant de 50mA. Par conséquent, une estimation approximative est que votre circuit consomme environ 25 mA, ce qui semble à peu près correct en fonction de la description de votre circuit.
Remarque, la durée de vie des piles alcalines n'est pas linéaire par rapport au courant. Pour des courants très faibles (<1mA), la durée de vie d'une pile alcaline se rapproche de celle d'une pile au lithium.
Prendre du courant
Voici quelques conseils pour réduire la consommation actuelle:
Régulateur: remplacez le régulateur par un régulateur à faible courant de repos, ou mieux encore, un régulateur à découpage (également à faible courant de repos). Un régulateur à découpage utilise des «impulsions» de courant et certains inducteurs et condensateurs externes pour donner une sortie de tension stable raisonnable. Il ne gaspille pas d'énergie comme avec la chute de tension du régulateur linéaire et une efficacité de 90% élevée est possible.
ATMEGA328P: Plutôt que d' utiliser
delay
pour le moment et le filage enloop
attente sans fin pour que quelque chose arrive, ré-écrire votre code afin qu'il va dormir entre lit capteur, etc. Il y a quelques bibliothèques de puissance faible là - bas qui utilisent la minuterie de chien de garde pour réveil périodique du sommeil qui est pratique. Vous pouvez obtenir la consommation actuelle de l'ATMega328P en dessous de 0,1 mA pendant le sommeil.LCD: Désactivez le rétroéclairage, ou même la totalité de l'écran LCD. Ajoutez un bouton à la conception que l'utilisateur peut appuyer pour activer l'écran LCD et l'éteindre après une période d'inactivité définie.
Périphériques: la plupart des puces périphériques ont également un mode veille qui réduit considérablement leur consommation d'énergie. Retirez les voyants d'alimentation et autres indicateurs qui ne sont pas nécessaires.
ATMegu16U2: user2973 commentaires Il semble que cette puce est assez avide de pouvoir ( user2973 ). Il pourrait être supprimé pour économiser de l'énergie et utiliser simplement l'UART à la place, mais cela semble exagéré. Il existe des cartes Arduino Pro qui ne sont que des Arduino sans os sans interface USB qui pourraient être utilisées à la place de l'UNO.
Piles: D'autres piles alcalines ont une capacité beaucoup plus grande. Par exemple, un 1.5V AA a plus de 2000mAh pour les faibles courants. L'utilisation de piles AA et d'un convertisseur boost peut augmenter le temps avant le remplacement de la batterie. Utilisez des cellules D (16000mAh) et cela fonctionnera pendant un bon moment. :RÉ
Sommaire
Avec une alimentation et un codage appropriés, vous pouvez obtenir une durée de vie raisonnable d'une batterie. En utilisant les principes ci-dessus, j'ai créé une carte dérivée Arduino qui mesure quelques capteurs et stocke les lectures sur une carte SD toutes les demi-secondes. Il peut durer environ 4 mois sur 2 piles AA, il est donc définitivement possible d'avoir une faible puissance et de rester dans l'écosystème Arduino.
La puce que j'ai utilisée pour la faible puissance de ma carte est la LTC3525-3.3V. Il prend une tension d'entrée aussi faible que 0,8V et augmente jusqu'à 3,3V et une version 5V est également disponible. J'ai conçu un PCB pour cette puce car il n'y avait pas de cassure prête à l'emploi, et dans la fiche technique il y a des modèles de référence. Le principal critère de choix de cette puce était qu'elle avait toujours un rendement élevé à des courants très faibles. Certains autres convertisseurs ont besoin d'une petite consommation de courant minimum.
Le plus gros consommateur d'énergie sur la carte a finalement été la carte micro SD. Elle peut varier entre 0,1mA et 1,5mA de courant de repos selon le fabricant. J'ai trouvé que les cartes Verbatim et Lexar consomment le moins d'énergie. Je vais poser cette question EE.SE à jour avec les résultats de mes tests de consommation d'énergie de la carte micro SD.
la source
Je pense qu'un Arduino Uno ne convient pas à de tels projets. Certains composants de la carte consomment trop d'amplis, comme le souligne @geometrikal correctement. Si vous êtes à la hauteur d'un défi, je vous conseillerais de prendre votre projet à un autre niveau et d'aller à l'essentiel.
Sparkfun a un bon article sur la façon d'augmenter la durée de vie de la batterie, en utilisant un ATmega328 que vous avez également sur votre Arduino Uno: https://www.sparkfun.com/tutorials/309
Cherchez des façons de créer un circuit avec uniquement les composants dont vous avez vraiment besoin et laissez votre microcontrôleur dormir autant que possible.
la source
Une autre option consiste à rechercher un matériel (Arduino Clone) qui a été conçu pour cela, comme cette carte: https://bitbucket.org/talk2/whisper-node-avr/overview
En combinant un tel matériel avec des techniques de code d'économie d'énergie, vous devriez pouvoir exécuter des projets assez longtemps sur piles!
la source