www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RTC Verwendung


Autor: Peter Dannegger (peda)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: absolut beginner (Gast)
Datum:

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

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@peter

Diese Platinenbuchsen gibts bei www.reichelt.de

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

chris

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, das Programm mit Beschreibung steht jetzt in der Codesammlung:

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


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.