RTC Verwendung

OP #32396
Lesenswert?
• ▲
▼
Ich hab jetzt mal eine RTC an den TINY12 angeschlossen.

Ist natürlich wesentlich komplizierter, als die Zeit direkt im AVR zu 
zählen.

Der einzige Vorteil ist, daß die Zeit sofort beim Einschalten wieder da 
ist, da die RTC ja weiterläuft.

Etwas knifflig war die Sommerzeitumstellung.


Anbei das Bild der Testschaltung. Der 74HC164 zum Ansteuern des LCD 
sitzt unter dem LCD. Durch den Blitz sieht das LCD etwas grobkörnig aus. 
Das, was wie eine Batterie aussieht, ist die RTC (DS1994).

Das sind außerdem noch 2 * DS1820 Temperatursensoren angeschlossen.


Falls Interesse am Code besteht, kann ich es ja in die Codesammlung 
stellen.


Peter
Angehängte Dateien:
Gast #32398
Lesenswert?
• ▲
▼
Hallo Peter!

Tolle Sache dein Teilchen!
Mir schwebt auch schon seit Längerem so ein Projekt vor. Also mit zwei 
Tempsensoren für den Innen- und Außenbereich zum Beispiel. Und dann noch 
mit einer Uhr, damit man sieht wie spät es ist. Außerdem soll man mit 
einem Relays die Heizung ansteuern können. Die Uhr wäre dann auch dafür 
verantwortlich, dass ab einer gewissen Uhrzeit die Soll-Temperatur 
gesenkt wird usw.........

Ich habe jedoch drei Fragen:
Hast du eine Batterie für die Real-Time-Clock?

Du hängst die Platine an ein externes Netzteil. Wo hast du diesen tollen 
Stecker bestellt, den man direkt auf eine Lochrasterplatine setzen kann 
(Ich meine den Stecker an den du das Netzteil hängst)? Ich habe bei 
Conrad geschaut und dort hatten sie zwar solche Stecker (oder sind es 
Buchsen), aber die Pins kann man in keine Lochrasterplatine 
hineinstecken, da sie keine Pins aufweisen, sondern längliche Stege. 
Also diese Anschlüsse passen nicht in die Löcher der Lochrasterplatine.

Du hast das Schieberegister 74HC164 verwendet, um das LCD anzusteuern. 
Funktionert das so ohne Weiteres?
Wie hast du folgendes Problem gelöst: Die Outputs des Schieberegisters 
sind ständig eingeschaltet, das heißt, wenn du zum Beispiel das Bit 7 
ändern möchtest, dann musst du dieses bit hineinschieben. Dieses Bit 
wird nach den ersten Takten beim Bit 0 ausgegeben, danach wandert es 
weiter zum Bit 1 wird dort ausgegeben. Das geht soweit bis es ganz am 
Schluss angekommen ist, also bei Bit 7 wo es hingehört.
Ich dachte mir, dass das Display vielleicht mit der Enable Leitung und 
den Steuersignalen etwas durcheinander kommt, da während des 
Hineinschiebens (abhängig von den Bits, die hineingeschoben werden) die 
Ausgänge wechseln können.

Danke für deine Antwort.

Martin
OP #32400
Lesenswert?
• ▲
▼
@Martin,

der DS1994 enthält eine Batterie und soll 10 Jahre halten. Den Preis 
kenne ich jetzt nicht (ist ein Sample).

Das sind genau die Conrad-Buchsen, die Löcher muß man nur etwas 
aufbohren (1,2mm). Den Anschluß vom Schaltkontakt habe ich umgebogen, da 
er nicht im Raster ist.

Das Display ist auch von Conrad (EA DIP162-D). Ich habe einfach Drähte 
angelötet und die dann in das 2,54 Raster auseinander gebogen.

Laut Taktdiagramm werden die Daten nur mit der 1->0 Flanke an E 
übernommen. Und RS muß nur während E = 1 stabil bleiben. Das 
Durchschieben stört also nicht.


Wenn Du da noch mehr Funktionen einbauen willst, solltest Du den TINY26 
nehmen. Der TINY12 ist mit nur 512 Worten schon hart am Anschlag.


Sobald ich die Beschreibung fertig habe, kommts in die Codesammlung.


Peter
Gast #32401
Lesenswert?
• ▲
▼
Klasse!
Diesen Uhrenbaustein muss ich mir merken. Was mich immer von einer 
Verwendung einer RTC abhielt war der Gedanke, dass ich eine dumme 
Batterie mitdrauflöten muss.

Wie stellt du die Uhrzeit eigentlich ein oder nach wenn sie einmal ein 
paar Minuten falsch geht?
Hast du hierfür irgendwelche Taster oder sendest du während des Flashens 
die richtige Uhrzeit mit.

Tschüss
Martin
OP #32402
Lesenswert?
• ▲
▼
"Wie stellt du die Uhrzeit eigentlich ?"

Das kann ja dann vielleicht ein anderer dazu programmieren.

Jetzt habe ich es erstmal so gelöst, daß die Startzeit beim Assemblieren 
definiert wird. Und dann beim 1.Einschalten wird die RTC auf diese Zeit 
gesetzt und läuft los.


Peter

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.