Arduino à faible puissance
Jusqu’à présent, je n’ai fait que gratter la trace vers la LED d’alimentation et je n’ai pas enlevé le régulateur de tension. Selon l’article ci-dessus, cela devrait réduire la consommation d’énergie à environ 0,05 mA, mais j’obtiens environ 1,7 mA, ce qui est plus de 30 fois plus !
Électriquement, je n’ai qu’un MOSFET comme interrupteur d’alimentation connecté à l’une des broches analogiques (je l’utilise comme sortie numérique) et un autre contrôleur, connecté aux broches I2C (l’Arduino agit comme esclave). L’autre contrôleur est éteint par le MOSFET lorsque je prends les mesures. Enlever physiquement les connexions ne change pas la consommation, donc je ne pense pas que tout cela soit lié.
Il s’avère que le régulateur de tension était un AMS1117 – et non un MIC5205-KB50/KB33/KBAA comme celui de l’article. En l’arrachant, j’ai obtenu un courant de repos de 0,026 mA, ce qui est encore mieux que ce que j’espérais.
Arduino en veille pendant 1 minute
Les régulateurs linéaires sont excellents. Ils sont bon marché et peuvent réguler une tension supérieure à une tension inférieure avec seulement 3 broches (Vin, masse Vout). L’inconvénient d’un régulateur linéaire est qu’il peut devenir très chaud quand il y a une grande différence entre la tension d’entrée et de sortie, ou si vous consommez beaucoup de courant. Vous pouvez calculer la puissance qui est gaspillée sous forme de chaleur à l’aide d’une simple équation :
Sans entrer dans les détails, les alimentations à découpage sont beaucoup plus efficaces car le courant d’entrée ne doit pas nécessairement être le même que le courant de sortie. Avec une charge légère, vous pouvez trouver des régulateurs à découpage dont le rendement est supérieur à 90 %. Avec un régulateur à découpage, vous pouvez non seulement réduire la tension d’entrée (en utilisant un convertisseur buck), mais aussi augmenter la tension (en utilisant un convertisseur boost). D’autres circuits intégrés, comme le TPS61200 utilisé sur la PowerCell, sont parfaits pour les applications alimentées par batterie, car ils peuvent efficacement réduire la tension de la batterie ou l’augmenter !
La réduction de la tension a cependant un inconvénient. Réduire trop la tension du système, sans réduire la vitesse d’horloge, pourrait faire en sorte que le microcontrôleur commence à se comporter bizarrement. La RedBoard, l’Uno, et le 5V Pro Mini utilisent tous un cristal de 16MHz. En regardant la fiche technique du 328P, nous pouvons voir qu’à 3.3V, la fréquence maximale recommandée est d’environ 13MHz. La relation entre la vitesse d’horloge et la tension du système est la raison pour laquelle notre Pro Mini 3.3V utilise une horloge de 8MHz au lieu de 16MHz.
Arduino en sommeil jusqu’à l’interruption
La consommation d’énergie est un problème critique pour un appareil fonctionnant en continu pendant une longue période sans être éteint. Pour surmonter ce problème, presque tous les contrôleurs sont équipés d’un mode veille, qui aide les développeurs à concevoir des gadgets électroniques pour une consommation d’énergie optimale. Le mode veille met l’appareil en mode d’économie d’énergie en éteignant le module inutilisé.
Plus tôt, nous avons expliqué le mode sommeil profond dans ESP8266 pour l’économie d’énergie. Aujourd’hui, nous allons apprendre les modes de veille d’Arduino et démontrer la consommation d’énergie en utilisant un ampèremètre. Un mode de veille Arduino est également appelé mode d’économie d’énergie Arduino ou mode veille Arduino.
Les modes de veille permettent à l’utilisateur d’arrêter ou d’éteindre les modules inutilisés du microcontrôleur, ce qui réduit considérablement la consommation d’énergie. Arduino UNO, Arduino Nano et Pro-mini sont équipés d’un ATmega328P et d’un détecteur de surtension (BOD) qui surveille la tension d’alimentation au moment de la mise en veille.
Pour entrer dans l’un des modes de sommeil, nous devons activer le bit de sommeil dans le registre de contrôle du mode de sommeil (SMCR.SE). Ensuite, les bits de sélection du mode de veille sélectionnent le mode de veille parmi les modes suivants : inactif, réduction du bruit ADC, mise hors tension, économie d’énergie, veille et veille externe.
Exemple de sommeil Arduino
Je veux que l’arduino soit éteint jusqu’à ce que l’on appuie sur un bouton, puis qu’il se remette en veille après avoir relâché le bouton. Donc le bouton, relié à la broche 2, est l’interruption du mode de mise en veille de l’arduino. Comment puis-je faire en sorte que lorsqu’il est enfoncé, il entre dans une boucle qui ne s’arrête pas tant que le bouton n’est pas relâché. L’idée est un peu comme une télécommande pour une télévision, en supposant que le circuit ne tire pas la charge de la batterie sauf, et seulement, lorsque le bouton est pressé.13 commentairessharesavehidereport60% UpvotedLog in or sign up to leave a commentLog InSign UpSort by : best