Forum: Mikrocontroller und Digitale Elektronik RTC Verwendung


von Peter D. (peda)


Angehängte Dateien:

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

von absolut beginner (Gast)


Lesenswert?

sieht klasse aus peter! über den code würden sich sicher einige freuen 
incl. mir :)

von Martin (Gast)


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

von Chris (Gast)


Lesenswert?

@peter

Diese Platinenbuchsen gibts bei www.reichelt.de

und ich glaub ich hab die bei www.pollin.de auch schon mal gesehen

chris

von Peter D. (peda)


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

von Martin (Gast)


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

von Peter D. (peda)


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

von Peter D. (peda)


Lesenswert?

So, das Programm mit Beschreibung steht jetzt in der Codesammlung:

http://www.mikrocontroller.net/forum/read-4-32158.html


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.