Faire du bricolage comme passe-temps, je fais un petit capteur radio humidité-température.
Un ATmega328 lit un capteur DHT11 puis transmet des données à un Raspberry Pi par un émetteur radio STX882 . Il est alimenté par une batterie 9 V utilisant un régulateur 7805 5 V avec des capacités de 10 µF et 100 µF.
Le code C sur l'ATmega lit l'humidité et la température, puis les envoie toutes les 30 minutes:
const unsigned long DELAY = 30*60*1000UL; // 30 minutes
void loop() {
delay(DELAY);
send_data(); // Maybe a little overcomplicated, but I think it is not the point
}
Cela fonctionnait comme un charme, mais la durée de vie de la batterie a été étonnamment courte. C'était tout neuf, et j'ai fait des tests sporadiques avec un court délai, sans chaleur anormale provenant de n'importe où.
Quand j'étais satisfait, j'ai mis le délai de 30 minutes et je l'ai laissé tranquille (ce qui était peut-être un peu dangereux?), Mais après moins de 24 heures, la batterie était à 5,4 V morte. Le délai de 30 minutes a cependant été respecté pour sa durée de vie.
Qu'est-ce qui pourrait expliquer une durée de vie de la batterie si courte? Serait-ce le régulateur 5 V? Comment pourrais-je construire un circuit durable?
PS: J'essaie toujours de Fritzing un diagramme, mais cela prend de l'âge pour des noobs comme moi ...
J'ai utilisé une batterie alcaline 9 V de marque générique 6lp3146 qui fournissait apparemment 300-500 mAh à 100 mA, ce qui est bien plus que ce que mon circuit utilise.
Voici toutes les informations que j'ai pu recueillir à partir de la fiche technique:
+-----------------+-------------+----------+-----------+---------+
| | DHT11 | STX882 | ATmega328 | 7805reg |
+-----------------+-------------+----------+-----------+---------+
| Voltage | 3-5.5 V | 1.2-6 V | 2.7-5.5 V | |
+-----------------+-------------+----------+-----------+---------+
| Active current | 0.5-2.5 mA | 34 mA | 1.5 mA | |
+-----------------+-------------+----------+-----------+---------+
| Standby current | 0.1-0.15 mA | <0.01 µA | 1 µA | 4-8 mA* |
+-----------------+-------------+----------+-----------+---------+
*"bias current"
Si je comprends bien, mon système est actif pendant quelques secondes toutes les 30 minutes, donc le courant de veille est tout ce qui devrait être important, et il est en effet entraîné par le régulateur 7805.
Alors oui, dans le pire des cas, avec 300 mAh, je devrais pouvoir maintenir le système en vie pendant seulement 40 heures.
Existe-t-il un moyen de nourrir mon système 5 V pendant une durée beaucoup plus longue sans une taille beaucoup plus grande?
Pour mémoire, voici une très bonne vidéo sur les régulateurs LM vs convertisseurs abaisseur: Convertisseur abaisseur vs régulateur de tension linéaire - comparaison pratique
la source
Réponses:
Comme mentionné, le 7805 a environ 4 mA de courant de repos. Vous devez trouver une fiche technique de la batterie (Eveready a de belles fiches techniques de batterie, si vous utilisez une pile alcaline). Ce n'est probablement pas plus de 100mAh - 100mAh / 4mA = 25 heures, donc cela devrait vous dire quelque chose.
Le 7805 est une ancienne technologie. Il existe de meilleurs régulateurs linéaires plus récents. Vous devriez être en mesure de trouver facilement quelque chose qui utilise 10 fois moins de courant de repos et en creusant encore moins.
Pour utiliser encore moins d'énergie, vous utiliseriez un convertisseur abaisseur spécialement conçu pour un faible courant de repos - mais je suppose que vous n'êtes pas prêt à en concevoir un dans une carte au niveau des composants. Il y a peut- être un module qui fera le travail, mais vous devrez le chercher. TI a certains modules de convertisseur abaisseur, mais vous voudrez prêter beaucoup d'attention à leurs capacités, à la fois pour une livraison de courant maximale et un courant de repos.
Pour utiliser encore moins d'énergie, faites tout votre possible pour minimiser la consommation de courant de votre circuit lorsqu'il est au repos. Cela nécessitera une utilisation prudente de la fonction de veille du microprocesseur, ainsi que la gestion de l'alimentation de la carte (par exemple, si elle ne s'allume qu'une fois toutes les 30 minutes, vous souhaiterez peut-être éteindre la radio et la lecture d'humidité portions du circuit).
Mesurez la consommation de courant dans tous les modes de fonctionnement et utilisez-la pour déterminer quels modes sont les pires contrevenants dans l'ensemble, puis concentrez-vous si possible sur la réduction des courants dans ces modes.
la source
Toutes ces pièces peuvent fonctionner de 3 à 5 V, utilisez donc une batterie qui n'a pas besoin de régulateur, une cellule Li-ion 16500 ou une batterie 3xAAA sont à peu près de la même taille que le 9V et produisent des tensions dans cette plage. (ou même une cellule Li-po)
Sans régulateur, le microcontrôleur peut s'arrêter et le circuit n'aura besoin que de quelques microampères.
la source
Le courant de repos d'un régulateur 7805 est d'environ 4 mA, donc, armé de la capacité en ampères-heures de votre batterie, déterminez combien de temps il durera avec une décharge continue de 4 mA.
Si vous établissez que c'est le problème, vous constaterez qu'il existe de nombreux régulateurs ayant un courant de repos nettement inférieur.
Une fois que la batterie est tombée à environ 7 volts, vous êtes sur une pente glissante et décroissante parce que le régulateur 7805 nécessite quelques volts de marge pour réguler correctement et j'estimerais (une estimation rapide) qu'à environ 6,5 volts, le circuit échouera.
Compte tenu de ce que je viens de mentionner, j'estime que seulement 50% de la capacité déclarée de la batterie est utilisable avant l'abandon du circuit. Gardez cela à l'esprit.
la source
J'utilise des nœuds de capteurs similaires avec de bien meilleurs résultats. Ma configuration a quelques différences avec la vôtre:
1 J'utilise avec succès ESP8266s, bien que bien sûr je ne recommanderais jamais cela parce que leur Vcc maximum absolu documenté est de 3,6 VI.
2 Pour mon ESP8266, le réveil d'un sommeil profond est un redémarrage, donc le code commencera à s'exécuter en haut
setup()
, mais avec votre ATmega328, ce n'est pas un problème.la source
Très similaire à "comment se fait-il que mon système solaire / batterie / onduleur ait si peu d'autonomie?" > parce que l'onduleur tourne constamment. Utilisez différentes charges qui fonctionnent sur batterie directe et éliminez la conversion de tension inutile .
Vous avez fait l'ingénierie 101, vous avez giflé les morceaux ensemble et ils fonctionnent. Engineering 202 les fait fonctionner suffisamment efficacement pour être utiles.
Comme ci-dessus, jonque l'inverti - je veux dire régulateur. Sélectionnez des batteries capables de fonctionner correctement, telles que trois batteries de 1,5 V à 4,5 volts. (Deux ne suffiraient pas car ils tomberaient en dessous de 3V trop tôt; ou peut-être; essayez-le!)
Pensez également aux batteries plus grandes - - Les 9V sont stupides - de petite capacité, surtout lorsque vous jetez les 2/3 de la capacité! (L'électronique a besoin de 3V, vous prenez 9V et jetez le reste sous forme de chaleur). Voyez grand - les cellules D sont votre ami si vous voulez la longévité.
Les caméras Deer ont généralement deux banques complètes de cellules D, vous pouvez utiliser l'une ou l'autre ou les deux, et peut fonctionner toute une saison.
De plus, la consommation de courant de sommeil de l'ATMega est très impressionnante, mais pas le STX882 et le capteur. Voyez si vous pouvez trouver un moyen pour que l'ATMega coupe physiquement l'alimentation des autres appareils lorsqu'il n'est pas nécessaire. La façon la moins chère et la plus effrayante de le faire est un petit relais, mais un transistor de puissance devrait également faire l'affaire.
Un dernier truc. Cela ne vaut peut-être pas la peine de dépendre du cycle d'utilisation du système, mais cela vaut la peine d'être mentionné. Ces dernières années, les processeurs sont passés de 5V à 3,3V. Pourquoi? Parce qu'ils fonctionnent sur courant; une tension au-delà des minimums ne facilite pas le fonctionnement et dissipe simplement plus de chaleur. Au fur et à mesure que les processeurs devenaient plus puissants, les problèmes thermiques sont devenus le facteur limitant, donc la chute de la tension au minimum a permis un fonctionnement plus froid et plus de performances sur le même dissipateur de chaleur. Il en va de même pour votre électronique.
Vous visez à fonctionner à 5V, le côté haut de la plage de tension admissible. Ma proposition 3xAA vous met à 4,5 V mais envisagez de faire un choix de batterie différent qui va encore plus bas: comme des batteries au lithium ou trois NiCd / NiMH (3,6 V). NiMH a plus de capacité, mais NiCD a une résistance vraiment incroyable aux abus et aux décharges profondes.
la source
Utilisez plutôt un convertisseur élévateur
C'est ainsi que je fais des projets similaires. J'utilise 3xAA qui me donne 2,5V-4,8V, c'est dans la plage opérationnelle d'atmega, je le connecte à un convertisseur élévateur avec broche de désactivation, lorsqu'il est désactivé, le convertisseur ne consomme presque rien et passe la tension. Lorsque atmega se réveille et doit effectuer des mesures, il allume le convertisseur, trouve 5 V sur VCC, effectue des mesures et transmet, désactive le convertisseur, se rendort. Cela dure des années.
la source
Selon vos chiffres, vous obtenez le comportement attendu, entre votre capteur, votre microcontrôleur et votre régulateur (8ma). Si vous voulez mieux, mettez le contrôleur en veille, éteignez le capteur et obtenez un régulateur plus approprié.
la source
Mesurez la consommation de courant réelle dans les états inactif et actif. Utilisez un ampèremètre entre la batterie et l'entrée 7805. Une nouvelle batterie 9V typique a plus de 300 mAh, et le courant de repos 7805 à lui seul ne pouvait pas vraiment tout consommer - quelque chose de louche! J'ai mesuré beaucoup de piles 9V et elles sont généralement de 500 à 600 mAh. La mise en garde est qu'ils sont tous alcalins, et si vous souhaitez obtenir la durée de vie la plus longue, vous devez bien sûr utiliser des piles alcalines.
Y a-t-il une vraie raison d'utiliser des piles 9V jetables dans votre application? Avez-vous pensé à quelque chose comme 3 × ou 4 × AA?
la source
D'après les fonctions
delay
etloop
, il semble que vous utilisiez du code Arduino. ledelay
fonction est une boucle active, elle ne mettra pas le microcontrôleur en veille! L'API Arduino ne prend pas en charge le mode veille.Lisez la fiche technique ATmega328P et consultez la page 34 pour savoir comment mettre l'appareil en mode veille.
la source
deepsleep
?IMPORTANT: si vous pouvez éteindre le capteur d'humidité DHT11 entre les utilisations, vous POUVEZ être en mesure de prolonger la durée de vie de la batterie d'un facteur 3 ou 4.
Le DHT11 a un courant de repos de 100 à 150 uA en mode veille. Vous devez concevoir au pire des cas.
A la mise sous tension, il faut 1 seconde pour "vider sa tête" (note 4. page 5)
, puis il y a le temps de configuration de l'interface (peut-être quelques 10 ms).
Il n'est pas évident d'après la fiche technique si le temps de réponse est affecté par la mise hors tension, mais probablement pas.
En fonction du temps entre les activations, la mise hors tension du DHT11 pourrait réduire le courant de repos du système d'environ 200 uA à environ 50 uA.
Vaut la peine d'être regardé.
Régulateur LM2936:
Le LM2936 que vous mentionnez est un superbe régulateur s'il répond à vos exigences. Faible chute de tension, faible courant de repos, gamme de tensions de sortie disponibles.
Je les ai utilisés il y a longtemps dans un produit qui avait besoin de leur faible Iq et j'étais très satisfait d'eux. Hmmm - c'était environ 1993 - 25+ ans - un vieux mais un goody.
Iout max est nominalement de 50 mA - ce qui répond à vos besoins tabulés.
Iq est de 10 uA à une charge de 100 uA - et moins à des charges beaucoup plus faibles.
Vin est 5,5 - 40V et en fait probablement plus proche que celui de Vout. Vous pouvez obtenir des versions 5V et 3V3.
Votre courant de charge en mode veille est facilement inférieur à 200 uA.
À 200 uA, vous obtenez 100 / .2 = 500 heures de fonctionnement en veille pour 100 mAh de batterie.
Donc environ 20 jours pour 100 mAh.
Donc, disons 60 jours ou deux mois avec une pile alcaline "9V" 300 - 500 mAH errant du côté conservateur. Utilisez 6 piles alcalines AA 1,5 V (environ 3000 mAh) et vous devriez approcher de 2 ans.
Le fonctionnement direct à partir de 3 alcalines AA donne Vin de 5V initial (jusqu'à 1,65V / cellule) et 3,3V à 1,1V / cellule (environ mort). Donc environ aussi longtemps que 6 alcalines AA avec une tension de sortie constante. Si vous pouvez tolérer une entrée de 3,3 à 5 V, utilisez simplement 3 alcalines. AA depuis presque 2 ans. AAA pour moins.
la source