Schaltuhr bauen

Gast #2495471
Lesenswert?
• ▲
▼
Hallo Leute!

Angenommen, man möchte mit einem AVR-Controller (beispielsweise ATmega8 
oder ATmega16) eine Schaltuhr bauen, welche pro Tag (!) nur etwa 1 
Minute den angeschlossenen Verbraucher eingeschaltet und anschließend 
wieder ausgeschaltet...wie bewerkstelligt man sowas mit einem 
Mikrocontroller?

Die Frage ist einfach, wie man eine (für den Controller) solche 
"Ewigkeit" für den Controller realisiert?

Die erste Überlegung ging natürlich daran, in einer Variablen die 
Overflows eines Timers zu zählen ;-)
Dass durch diese Art aber bereits schon das "warten" von wenigen 
Sekunden vom Compiler wegoptimiert wird, weiß ich auch.


Gruß
#2495474
Lesenswert?
• ▲
▼
atMehl schrieb:

> Minute den angeschlossenen Verbraucher eingeschaltet und anschließend
> wieder ausgeschaltet...wie bewerkstelligt man sowas mit einem
> Mikrocontroller?

Genauso wie man das auch mit einer Uhr macht:
Sekunden zählen.
Nach 60 Sekunden ist 1 Minute um.
Nach 60 Minuten 1 Stunde.
Und nach 24 Stunden ist ein Tag um.

> Die erste Überlegung ging natürlich daran, in einer Variablen die
> Overflows eines Timers zu zählen ;-)
> Dass durch diese Art aber bereits schon das "warten" von wenigen
> Sekunden vom Compiler wegoptimiert wird, weiß ich auch.

Warum soll das wegoptimiert werden?
Der Compiler kann ja nicht einfach eigenmächtig Berechnungen, die 
benötigt werden rausschmeissen.
#2495482
Lesenswert?
• ▲
▼
Muss jetzt schon wieder mal vorgerechnet werden, wieviele Jahrmillionen 
man braucht bis eine uint64 Variable überläuft wenn man sie jede Sekunde 
inkrementiert? Das hatten wir doch schonmal.

Nein es wird nichts wegoptimiert, nein du wirst es nicht mehr erleben, 
nein die Sonne wohl auch nicht.

>Wobei dann wahrscheinlich der Fehler größer wird, oder?
Und WARUM zur Hölle sollte das so sein? Die Dinger nennt man 
"Uhrenquarz" denk mal drüber nach...

gruß cyblord
Gast #2495504
Lesenswert?
• ▲
▼
> wie bewerkstelligt man sowas mit einem Mikrocontroller?

In dem man ihn programmiert.

Wenn man damit Schwierigkeiten hat, das erst erlernen muß und noch nicht 
mal die Grundkonzepte versteht, und die Zeiten nicht ändern muß, dann 
kann man das auch mit einem fertigem ICs aufbauen:

Der CD4536 erlaubt es, den Takt mit einer 
Widerstand/Kondensator-Kombination vorzugeben und die Impulszeitdauer 
mit einem Kondensator zu bestimmen, also reicht ein einzelner IC, so 
lange es nicht quatzstabil sein muß denn 194,18 Hz Quartze sind schwer 
beschaffbar :-) eher noch synchronisiert man den Chip an 50Hz 
Netzfrequenz für 23:18:06

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.