Circuit de compte à rebours de 6 mois

8

J'ai besoin de concevoir un circuit de chronométrage. Après une durée de 6 mois, une LED doit s'allumer. La LED peut ensuite être éteinte en appuyant sur un bouton et le décompte de 6 mois doit recommencer. Quelqu'un a une idée par où commencer? Une minuterie 555 est-elle capable de faire quelque chose pendant un temps de cette durée ou aurais-je besoin de quelque chose d'autre? Toute aide serait grandement appréciée ..

[ajouté] il sera utilisé comme rappel pour changer un filtre à eau, il doit donc être éteint avec une petite batterie..quelque chose de petit, facile à installer et avec une faible consommation de courant serait également pratique..toute aide appréciée..merci pour l'entrée précédente ..


la source
7
Doit-il être portable ou sera-t-il connecté à une alimentation CA? Si c'est le cas, vous pouvez compter les croisements à 60 (ou 50) Hz, qui sont très précis à long terme.
tcrosley
1
N'essayez pas d'utiliser l'alimentation CA - vous ne pouvez pas compter sur l'alimentation pendant 6 mois sans prendre des mesures extraordinaires.
Michael Kohne du
1
J'ai vu cette application utilisée dans les filtres à eau pour vous alerter lorsque le filtre doit être remplacé. Ils peuvent fonctionner pendant de nombreuses années sans avoir à remplacer une batterie, donc je suppose qu'ils sont capables de le faire très facilement.
Kellenjb
3
@Vincent Conlon: De quelle précision avez-vous besoin? Dans l'exemple du filtre à eau, je suis sûr que la précision est horrible, mais je ne pense pas que quiconque s'en soucie si vous êtes alerté une semaine plus tôt ou plus tard.
Kellenjb

Réponses:

8

Sur la base de cette réponse , je pense qu'un 555 ne fonctionnera pas. Vous auriez besoin d'un condensateur massif et d'une énorme résistance, et la précision serait terrible.

Je recommanderais d'utiliser le plus simple des microcontrôleurs 8 bits. Vous devrez gérer les chiffres avec soin, mais un PIC16F84A (ou un Arduino, ou beaucoup d'autres appareils similaires) pourrait le faire. Je pourrais configurer une minuterie de 1 seconde, puis compter 15778463 expirations de minuterie, en stockant le nombre dans une variable 32 bits. (Pour les variables Arduino 32 bits, voir http://www.arduino.cc/en/Reference/Double )

pingswept
la source
2
Euh ... double? Faux. Vous voulez dire long, ou de préférence int32_t.
Nick T
8
AH, tu as raison. Impoli, mais c'est vrai.
pingswept
12
Hum ... int32_t? Faux. Vous voulez dire uint32_t, sauf si vous vous attendez à ce que le temps recule également.
Toby Jaffey
1
@Nick alors que techniquement vrai, la plupart des implémentations de C sur des micro-contrôleurs 8 bits ne suivent pas la promotion de type définie par ansi. Ils utilisent souvent le type le plus grand dans l'instruction.
Mark
1
Gardez à l'esprit que sans RTC ou oscillateur externe, la précision ici sera assez terrible, surtout sur une période aussi longue. Et n'oubliez pas d'écrire périodiquement le nombre actuel dans l'EEPROM!
Nick Johnson
6

Tout d'abord, c'est un petit projet intéressant, mais vous utilisez vraiment le mauvais outil. C'est quelque chose qui a été résolu depuis des siècles en utilisant un outil appelé agenda.

ordre du jour

Faisons-le de toute façon par voie électronique, juste pour le plaisir. Vous ne semblez pas avoir besoin d'une très grande précision; peu importe si le filtre est remplacé un jour plus tôt ou plus tard (un jour sur 6 mois a une précision de 0,5%). Je note qu'il doit fonctionner avec une batterie, il doit donc être très faible consommation d'énergie.

Je vais commencer par changer les exigences . Vous voulez une LED comme indicateur, mais votre appareil devrait être assez présent dans le salon si vous voulez être sûr de voir la LED allumée, même lorsqu'il clignote. (Notons que le clignotement peut être nécessaire pour éviter que la batterie ne se décharge avant que la LED ne soit remarquée; après tout, la LED peut s'allumer juste après votre coucher.)
J'utiliserais un buzzer au lieu d'une LED . Et pour éviter que la sonnerie ne retentisse au milieu de la nuit, nous aurons besoin d'un chronométrage précis qui nous indiquera également l'heure de la journée. Cela signifie qu'un 555 est sorti, et nous devrons compter sur un microcontrôleur. Un petit microcontrôleur coûte moins de 50 cents et fonctionner sur un cristal à 32,768 kHz ne consomme pas beaucoup (pour un projet, j'ai utilisé un MSP430F1101 qui en consommait moins de 4μA) et a une précision de quelques minutes sur plusieurs mois.
Mais cela signifierait que vous devez faire attention au moment où vous démarrez votre minuterie, et ce n'est pas très convivial.
Entrez dans le récepteur d'horloge atomique . DCF77 en Europe et WWVB en Amérique du Nord diffusent le temps en impulsions de 1 seconde. Le microcontrôleur peut fonctionner sur une horloge RC interne (n'a pas besoin d'être aussi précis) et garder l'heure en fonction du code temporel reçu. Pour économiser de l'énergie, le récepteur d'horloge atomique peut réveiller le microcontrôleur à chaque impulsion d'une seconde, afin que le contrôleur puisse mettre à jour l'heure et la date et se rendormir. Vous pouvez programmer le microcontrôleur pour donner un signal à 14h00 le premier samedi suivant la temporisation, par exemple.

Ensuite, il y a l' alimentation . La solution de microcontrôleur n'a besoin que de quelquesμR, donc une pile au lithium CR3032 (bonne pour 500mAh) peut durer plusieurs années. Mais le temps entre les événements est si long que finalement la batterie abandonnera à mi-chemin d'une période de 6 mois, et le temps de remplacement du filtre passera inaperçu.
Je suggérerais un appareil alimenté par le secteur , utilisant un petit transformateur; J'ai un tas de transformateurs 6V, 0,35VA pour ce genre de petits produits. Étant donné qu'une longue période comme 6 mois ne garantit pas qu'il n'y aura pas de panne de courant, vous aurez besoin d'une sauvegarde de batterie / condensateur . Ici en Belgique, nous avons moins d'une panne de courant en 2 ans en moyenne, la plus longue que j'ai connue a duré 2 heures. Je n'utiliserais pas de batterie, du moins pas de cellule principale. Un rechargeable fera l'affaire, mais utilisons plutôt un supercap . A 0.μUn appareil fonctionnant pendant plus de 24 heures. Le microcontrôleur peut surveiller l'alimentation secteur, de sorte que, si le délai d'expiration de 6 mois se produit pendant une panne de courant, le microcontrôleur peut reporter le signal jusqu'à ce que le courant soit rétabli.

Pour une application qui nécessite si peu d'interaction avec l'utilisateur, il est toujours utile d'avoir une sorte de rétroaction . Vous pouvez faire clignoter une LED une fois par seconde pour indiquer que la minuterie fonctionne, et si vous voulez en faire une version de luxe pourrait afficher le nombre de jours restant sur un écran LCD ou LED à trois chiffres.


edit (commentaire de Ben)
Dans le passé, j'utilisais ces petits modules récepteurs DCF77 de Conrad .

module dcf77

J'habite en Europe, d'où DCF77, pour des modules similaires à WWVB (Amérique du Nord) .
Les connexions sont simplement une alimentation (1,2 V à 15 V) et 2 sorties DCF77, une non inversée, une inversée. Les sorties sont à collecteur ouvert, donc avec le bon pull-up adapté à la tension du microcontrôleur.


Lectures complémentaires:

Stevenvh
la source
Belle approche, mais il y a une énorme omission flagrante en ce qui concerne le matériel que vous utiliseriez pour recevoir les émissions d'horodatage.
Ben Voigt
@Ben - assez juste. Ajouté à ma réponse.
stevenvh
Votre lien pour les "modules similaires" est mort. Pourriez-vous fournir un numéro de modèle et / ou mettre à jour votre lien?
bcsteeve
6

Arduino (ou autre microcontrôleur) avec un circuit intégré d'horloge en temps réel super précis DS3231 . Lorsque le bouton est enfoncé, l'heure et la date sont stockées en mémoire - le MCU peut parcourir en boucle la date et l'heure et s'éteindre lorsqu'il est prêt; ou lorsque le bouton est enfoncé, il redémarre, etc.

Stevenvh
la source
1
+1 RTC à coup sûr. DS3234 si vous préférez utiliser SPI au lieu d'I2C.
Craig
C'est une excellente puce. Laissez-le garder une trace de tous les comptages et délais fastidieux pour vous. Beaucoup plus facile que de compter les impulsions et de faire toutes les conversions en temps réel.
captncraig
2 ppm est sûrement agréable, mais exagéré. Un cristal standard à 20 ppm fera l'affaire ici: je ne pense pas que la minute exacte pour changer le filtre à eau soit importante (tant que ce n'est pas au milieu de la nuit).
stevenvh
4

La partie délicate serait la précision sur un si grand intervalle de temps.

Vous voudrez peut-être envisager un oscillateur à cristal combiné à une cascade de compteurs binaires. Voir la fiche technique 4060 pour des exemples.

mouviciel
la source
4

Je pense que vous devriez utiliser une minuterie 555 pour chronométrer à 16 minutes d'intervalle, puis l'introduire dans un circuit de compteur pour le diviser. Un compteur de 14 bits ferait l'intervalle d'environ 6,06 mois.

Thomas O
la source
3
Vous ne devez pas utiliser un 555 avec une période de 16 minutes; préférable de mettre en cascade deux compteurs et d'exécuter le 555 à une fréquence plus saine (kHz ou plus). Mieux vaut ne pas utiliser un 555 du tout si vous vous souciez beaucoup de la tolérance.
Nick T
Un CMOS 555 fonctionnera facilement pendant des heures. Le PO semblait suggérer que l'exactitude n'était pas un problème.
Thomas O
Même si la précision n'était pas un problème, un 555 fonctionnant sur une si longue période de temps sera si follement inexact qu'il en fera un temps arbitraire. J'aime beaucoup mieux la solution MSP430, bon marché et le cristal fourni sera raisonnablement précis sur la durée requise.
ttt