6-Monats-Countdown-Timer-Schaltung


8

Ich muss eine Zeitschaltung entwerfen. Nach einer Dauer von 6 Monaten muss eine LED aufleuchten. Die LED kann dann per Knopfdruck ausgeschaltet werden und der 6-Monats-Countdown muss erneut beginnen. Hat jemand eine Idee, wo ich anfangen würde? Ist ein 555-Timer in der Lage, für eine Zeit dieser Dauer etwas zu tun, oder würde ich etwas anderes brauchen? Jede Hilfe wäre sehr dankbar ..

[hinzugefügt] Es wird als Erinnerung verwendet, um einen Wasserfilter zu wechseln, damit er mit einer kleinen Batterie betrieben werden kann. Etwas Kleines, einfach einzurichten und mit einem geringen Stromverbrauch wäre auch praktisch. Jede Hilfe wird geschätzt. Danke für die vorherige Eingabe ..

led  timer  555 

7
Muss dies tragbar sein oder wird es an eine Wechselstromversorgung angeschlossen? In diesem Fall können Sie 60 (oder 50) Hz-Übergänge zählen, die auf lange Sicht sehr genau sind.
Tcrosley

1
Versuchen Sie nicht, die Wechselstromversorgung zu verwenden - Sie können sich nicht darauf verlassen, dass der Strom 6 Monate lang eingeschaltet bleibt, ohne außergewöhnliche Maßnahmen zu ergreifen.
Michael Kohne

1
Ich habe gesehen, dass diese Anwendung in Wasserfiltern verwendet wird, um Sie zu warnen, wenn der Filter ausgetauscht werden muss. Sie können viele Jahre laufen, ohne dass eine Batterie ausgetauscht werden muss, daher gehe ich davon aus, dass sie dies sehr einfach tun können.
Kellenjb

3
@ Vincent Conlon: Welche Präzision brauchen Sie? Im Beispiel mit dem Wasserfilter bin ich mir sicher, dass die Präzision schrecklich ist, aber ich glaube, es interessiert niemanden, ob Sie eine Woche früher oder später alarmiert werden.
Kellenjb

Antworten:


8

Aufgrund dieser Antwort denke ich, dass ein 555 nicht funktioniert. Sie würden einen massiven Kondensator und einen riesigen Widerstand benötigen, und die Genauigkeit wäre schrecklich.

Ich würde empfehlen, den einfachsten 8-Bit-Mikrocontroller zu verwenden. Sie müssten vorsichtig mit den Zahlen umgehen, aber ein PIC16F84A (oder ein Arduino oder viele andere ähnliche Geräte) könnte dies tun. Ich könnte einen 1-Sekunden-Timer einrichten und dann 15778463 Timer-Ablaufzeiten zählen, wobei die Anzahl in einer 32-Bit-Variablen gespeichert wird. (Informationen zu 32-Bit-Variablen von Arduino finden Sie unter http://www.arduino.cc/en/Reference/Double )


2
Ähm ... double? Falsch. Du meinst longoder vorzugsweise int32_t.
Nick T

8
AH, du hast recht. Unhöflich, aber richtig.
Pingswept

12
Ähm ... int32_t? Falsch. Du meinst uint32_t, es sei denn, du erwartest, dass die Zeit auch rückwärts geht.
Toby Jaffey

1
@Nick, obwohl technisch gesehen, folgen die meisten Implementierungen von C auf 8-Bit-Mikrocontrollern nicht der Ansi-definierten Typ-Promotion. Sie verwenden oft nur den größten Typ in der Anweisung.
Mark

1
Denken Sie daran, dass die Genauigkeit hier ohne RTC oder externen Oszillator ziemlich schlecht ist, insbesondere über einen so langen Zeitraum. Und vergessen Sie nicht, die aktuelle Anzahl regelmäßig in das EEPROM zu schreiben!
Nick Johnson


6

Zunächst einmal ist es ein interessantes kleines Projekt, aber Sie verwenden wirklich das falsche Werkzeug. Dies ist etwas, das seit Jahrhunderten mit einem als Agenda bekannten Werkzeug gelöst wurde.

Agenda

Lass es uns trotzdem elektronisch machen, nur zum Spaß. Sie scheinen keine sehr hohe Genauigkeit zu benötigen; Es spielt keine Rolle, ob der Filter einen Tag früher oder später ausgetauscht wird (ein Tag in 6 Monaten entspricht einer Genauigkeit von 0,5%). Ich mache mir eine Notiz, dass es eine Batterie entladen muss, also muss es wirklich stromsparend sein.

Ich werde damit beginnen, die Anforderungen zu ändern . Sie möchten eine LED als Anzeige, aber Ihr Gerät muss im Wohnzimmer gut sichtbar sein, wenn Sie sicher sein möchten, dass die leuchtende LED auch beim Blinken angezeigt wird. (Beachten Sie, dass möglicherweise ein Blinken erforderlich ist, um zu vermeiden, dass der Akku entladen wird, bevor die LED bemerkt wird. Schließlich leuchtet die LED möglicherweise unmittelbar nach dem Schlafengehen auf.)
Ich würde einen Summer anstelle einer LED verwenden . Und um zu verhindern, dass der Summer mitten in der Nacht ertönt, benötigen wir eine genaue Zeitmessung, die uns auch die Tageszeit anzeigt. Das bedeutet, dass ein 555 aus ist und wir uns auf einen Mikrocontroller verlassen müssenμ

. DCF77 in Europa und WWVB in Nordamerika senden Zeit als 1-Sekunden-Impulse. Der Mikrocontroller kann auf einer internen RC-Uhr laufen (muss nicht so genau sein) und die Zeit basierend auf dem empfangenen Zeitcode halten. Um Strom zu sparen, kann der Atomuhr-Empfänger den Mikrocontroller alle 1 Sekunde aufwecken, damit der Controller Uhrzeit und Datum aktualisieren und wieder in den Ruhezustand wechseln kann. Sie können den Mikrocontroller beispielsweise so programmieren, dass er am ersten Samstag nach dem Timeout um 14:00 Uhr ein Signal gibt.

μ
μ

Für eine Anwendung, die so wenig Benutzerinteraktion erfordert, ist es immer noch nützlich, eine Art Feedback zu haben . Sie können einmal pro Sekunde eine LED blinken lassen, um anzuzeigen, dass der Timer läuft, und wenn Sie möchten, dass es sich um eine Luxusversion handelt, können Sie die Anzahl der verbleibenden Tage auf einem dreistelligen LCD- oder LED-Display anzeigen.


edit (zu Bens Kommentar)
In der Vergangenheit habe ich diese kleinen DCF77-Empfängermodule von Conrad verwendet .

DCF77-Modul

Ich lebe in Europa, daher DCF77, für WWVB (Nordamerika) gibt es ähnliche Module .
Die Anschlüsse sind einfach eine Stromversorgung (1,2 V bis 15 V) und 2 DCF77-Ausgänge, einer nicht invertiert, einer invertiert. Die Ausgänge sind Open-Collector-Ausgänge, sodass der richtige Pull-up für jede Spannung geeignet ist, mit der der Mikrocontroller betrieben wird.


Weiterführende Literatur:


Netter Ansatz, aber es gibt eine große Lücke, wenn es um die Hardware geht, mit der Sie die Zeitstempelsendungen empfangen würden.
Ben Voigt

@ Ben - fair genug. Zu meiner Antwort hinzugefügt.
Stevenvh

Ihr Link für "ähnliche Module" ist tot. Könnten Sie eine Modellnummer angeben und / oder Ihren Link aktualisieren?
bcsteeve

6

Arduino (oder ein anderer Mikrocontroller) mit einem supergenauen Echtzeituhr-IC DS3231 . Wenn die Taste gedrückt wird, werden Uhrzeit und Datum im Speicher gespeichert. Die MCU kann das Datum und die Uhrzeit überprüfen und ausschalten, wenn sie bereit ist. oder wenn die Taste gedrückt wird, wird es neu gestartet usw.


1
+1 RTC sicher. DS3234, wenn Sie lieber SPI anstelle von I2C verwenden möchten.
Craig

Das ist ein großartiger Chip. Lassen Sie es all das mühsame Zählen und Timing für Sie im Auge behalten. Viel einfacher als Impulse zu zählen und alle Konvertierungen in Echtzeit durchzuführen.
Captncraig

2 ppm ist sicher schön, aber übertrieben. Ein 20 ppm Standardkristall reicht hier aus: Ich denke nicht, dass die genaue Minute zum Wechseln des Wasserfilters wichtig ist (solange es nicht mitten in der Nacht ist).
Stevenvh

4

Der schwierige Teil wäre die Präzision über ein so großes Zeitintervall.

Möglicherweise möchten Sie einen Quarzoszillator in Kombination mit einer Kaskade von Binärzählern in Betracht ziehen. Beispiele finden Sie im 4060-Datenblatt .


4

Ich denke, Sie sollten einen 555-Timer verwenden, um 16-Minuten-Intervalle zu messen, und diesen dann in eine Art Gegenstromkreis einspeisen, um ihn zu teilen. Ein 14-Bit-Zähler würde das Intervall auf ungefähr 6,06 Monate bringen.


3
Sie sollten einen 555 nicht mit einer Dauer von 16 Minuten verwenden. Es ist besser, zwei Zähler zu kaskadieren und den 555 mit einer vernünftigeren Frequenz (kHz oder so) zu betreiben. Verwenden Sie lieber keinen 555, wenn Sie viel Wert auf Toleranz legen.
Nick T

Ein CMOS 555 läuft problemlos stundenlang. Das OP schien darauf hinzudeuten, dass Genauigkeit kein Problem war.
Thomas O

Selbst wenn Genauigkeit kein Problem war, wird ein 555, der über eine so lange Zeitspanne läuft, so ungenau sein, dass er im Wesentlichen eine willkürliche Zeit ist. Ich mag die MSP430-Lösung viel besser, billiger und der mitgelieferte Kristall wird über die erforderliche Zeitspanne ziemlich genau sein.
ttt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.