Je travaille actuellement sur un projet Arduino qui m'envoie la charge de la batterie de ma voiture une fois par jour via un ESP8266. Pendant l'hiver, je ne conduis pas ma voiture et je voudrais être informé lorsque la batterie tombe au-delà d'une valeur critique, afin de pouvoir la recharger et éviter tout dommage.
L'efficacité énergétique est donc importante pour le projet, donc elle ne décharge pas la batterie elle-même. J'ai lu beaucoup de choses sur le mode veille, les régulateurs efficaces, etc. Ils ont tous en commun que le régulateur de tension fonctionne toujours, ce qui n'est pas ce que je veux.
Je cherche une sorte de "circuit swich-on-timer". Il devrait décompter 24 heures, puis allumer un relais ou MOSFET, qui connecte le régulateur de tension à l'alimentation et qui allume l'Arduino et l'ESP8266. Lorsque l'Arduino a terminé la transmission, il réinitialise la minuterie, ce qui déconnecte le régulateur de tension de l'alimentation, etc. Bien sûr, le circuit de minuterie ne devrait utiliser que très peu d'énergie.
Est-ce que quelqu'un connaît un circuit comme ça? J'ai cherché sur AliExpress avec toutes les variantes de mots qui me venaient à l'esprit, sans succès. Ou peut-être un circuit intégré qui peut être utilisé (facilement) pour créer un tel circuit?
Réponses:
Une approche consisterait à utiliser un module DS3231 (Precision Real Time Clock). Ces modules se vendent sur Ebay pour moins de 1 $. Recherchez
ds3231 arduino
.En règle générale, ces modules ont un connecteur à six broches, avec des broches étiquetées 32K, SQW, SCL, SDA, VCC et GND. Comme indiqué dans les spécifications du DS3231, la broche INT / SQW est utilisée soit pour une sortie rectangulaire ou pour une sortie d'interruption. À la page 13 des spécifications, dans la section Registre de contrôle, il est indiqué:
Initialement, vous exécuteriez un croquis pour configurer le DS3231: allumez une alarme quotidienne, activez une interruption plutôt qu'une onde carrée, réglez l'heure actuelle, etc. Ensuite, chargez un programme opérationnel qui lit la tension de la batterie de la voiture à chaque exécution. et agit de manière appropriée.
La broche DS3231 INT / SQW serait câblée à la porte d'un mosfet à canal P qui commute l'alimentation 12V sur l'Arduino. Le P-fet s'allumerait lorsque la broche de sortie à drain ouvert de l'alarme INT / SQW s'allume. Le programme opérationnel fait son travail et efface ensuite l'indicateur d'interruption DS3231, pour couper l'alimentation jusqu'à ce que la prochaine alarme se produise. (Pour le débogage, définissez des intervalles plus courts qu'une journée; par exemple, une fois par minute, comme décrit dans le Tableau 2, Bits de masque d'alarme, à la page 12 des spécifications.)
En règle générale, le DS3231 consomme 0,84 μA lorsqu'il fonctionne avec une batterie de 3,3 V ou 1 μA de 5 V. Voir Caractéristiques électriques, page 3 des spécifications.
la source
La minuterie ou le circuit de minuterie lui-même devrait tirer du courant. Aucune des puces pico-power AVR ne consomme très peu de courant en mode veille - dans les 10s de micro-amplis pour le 328, si je me souviens bien. Dormir un AVR pour le tirage le moins courant nécessite à peu près tout ce qui est arrêté, mais la minuterie de surveillance, et la période WDT maximale est de 8 secondes. Une bibliothèque comme Narcoleptic gérera des périodes plus longues pour vous. Ce que vous devez faire cependant, c'est fournir une alimentation régulée beaucoup plus efficace que celle intégrée sur la carte Arduino (si c'est ce que vous allez utiliser). Cela fait, la charge de l'Arduino sur la batterie de votre voiture devrait être microscopique.
Une conception possible pour une alimentation efficace est un réseau de piles alcalines, disons 3 en série pour une sortie 4,5 (tout en étant fraîche) fois 2 ou plus de ces chaînes en parallèle, connectées directement au bus 5v.
Je n'ai pas fait la budgétisation de la puissance pour connaître la capacité dont vous auriez besoin et si vous auriez besoin de cellules D ou si vous pourriez faire un tableau pratique à partir de plus petites, disent les AA, mais c'est un moyen de réaliser une charge nulle sur la batterie de la voiture (actualisation de l'exigence du capteur de tension de batterie de voiture). Vous voudrez peut-être inclure l'état de santé de la batterie Arduino dans le rapport quotidien, ou, pour le prix de quelques Alcalines, vous pourriez tellement sur-concevoir la batterie Arduino que la surveiller deviendrait inutile.
Quelques points de données suggèrent qu'une batterie distincte est une approche réalisable:
la source
SLEEP_MODE_PWR_SAVE
, avec uniquement la minuterie asynchrone active, a pris quelque chose comme 2 µA.Pensez à utiliser "Adafruit TPL5110 Power Timer"
https://learn.adafruit.com/adafruit-tpl5110-power-timer-breakout/overview
la source
vous pouvez utiliser un interrupteur à minuterie. vous pouvez l'acheter sur ebay pour environ 5 euros. j'utilise celui-ci
https://www.ebay.com/itm/CN101-DC-12V-16A-Digital-LCD-Power-Programmable-Timer-Time-Relay-Switch-New/401190616827?hash=item5d68d2fefb:g:K3sAAOSwNRdX3ggT
j'ai également essayé le ds3231 mais l'arduino est en mode veille et il consomme de l'énergie. c'est la meilleure solution que j'ai trouvée
la source