mikrocontroller.net

Forum: Projekte & Code DCF77-Uhr mit LCD


Autor: Uwe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Ich habe jetzt mal eine Weile mit DCF77 Versuche gemacht und nach 
reichlich falschen Zeichen, durch Signalstörungen, dann doch ein sehr 
stabieles Programm hinbekommen. Das ganze wird dann an einem
2x16 LCD ausgegebeen und läuft auf einem AT90S1200. Andere Kontroller 
sind ohne grossen Aufwand ebenfalls nutzbar.
Die Erweiterung dieser "Spielerei", eine 2 Kanal DCF Wochenschaltuhr 
befindet sich ebenfalls im Anhang.
Wenn also mal jemand sowas braucht oder Versuche machen will, kann er 
sich's ja mal anschauen.
Die Uhren-Programme unterscheiden sich nur in der Ansteuerbreite für das 
LCD-Displ. (4 und 8 Bit) und sind für Anfänger recht geeignet.
Das Schaltuhr-Programm ist allerdings recht komplex und verträgt nur gut 
überlegte Änderungen.

Wer es also brauchen kann greife zu.
Gruß Uwe

Autor: lordludwig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

hat schon jemand das ding nachgebaut???
Will es auch bauen und würde mich über erfahrungsberichte freuen!!!

@Uwe: kannst du mir evtl. ein Foto von deiner Uhr schicken???

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das scheint ja genau das zu sein, was mir bisher gefehlt hat.
Ich werde das aml auf meinen 2313 ummodeln.
Mal schauen was dabei rumkommt.

Dickes Danke an Uwe

PS. Schick doch mal Bilder oder Plan....

Autor: lordludwig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
plan werde ich heute oder morgen malen

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist auch ne DCF77-Uhr mit dem ATTiny12:

http://www.mikrocontroller.net/forum/read-4-23408.html#new


Mit falschen Zeiten hatte ich überhaupt keine Probleme, da eine sehr
penible Pulslängen- und Pulsabstandsüberprüfung erfolgt.


Peter

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Das das noch beachtet wird.... erstaunlich.
@Peter: Ich wollte mich mit dir eigentlich nicht mehr streiten aber du
lässt einfach nicht locker. Ich gebe dir mal einen Tip: Überlege mal
wer, bei schlechtem Signal(ja, ja du kennst keins), eher eine aktuelle
Uhrzeit hat. Vermutlich bin ich dir um Längen voraus. Da die Uhr für
eine Heizung gedacht war, wollte ich eben nicht warten bis endlich mal
ein ordentliches Signal vorbeikommt. Ansonsten nutze ich auch deine
Progr. da sie meistens recht gut geschrieben sind, aber eben nur
meistens.
@Rest: Bilder habe ich leider keine da das Ding in meinem Heizkessel
verbaut ist und ich auch leider keine Digicam "schäm" habe.
Irgendwann habe ich mal jemanden geholfen das Prog auf auf 2313
umzuschreiben, aber das ist irgendwie weg. Das Hauptproblem war aber
das ich den Ausgang vom DCF-Modul mit einem Zusatztransistor invertiert
hatte. Wer ein 5V taugliches hat braucht nur den Int. auf die andere
Flanke proggen und bei Probl. einfach fragen.

Viel Erfolg Uwe

Autor: lordludwig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
brauch ich jetzt den invertierten oder den normalen wenn ich deinen OHNE
Änderungen nachbauen will???

P.S.: Ich finde es toll das du noch auf so etwas altes antwortest

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Uwe

"@Peter: Ich wollte mich mit dir eigentlich nicht mehr streiten aber
du
lässt einfach nicht locker."


Mein Link war nur als Anregung für Ludwig Wagner gedacht.

Sorry, hatte übersehen, daß er einen alten Thread ausgegraben hat (das
passiert aber auch anderen).


Streiten können wir ja nicht, da Du meinen Code ja nicht ausprobiert
hast. Über echte Probleme können wir gerne reden, aber nur über bloße
Vermutungen möchte ich nicht philosophieren.

Es laufen mehrere Versionen meiner Uhr über viele Jahre einwandfrei
aufm AT89C2051 bzw. eine aufm ATTiny12 in Berlin und auf Usedom.



Peter

Autor: lordludwig (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
im anhang der schaltplan für ein 2x16 LCD mit 8bit und
Hintergrundbeleuchtung.

Autor: lordludwig (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sry im alten Schaltplan war ein Fehler, war wohl zu voreilig

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Bischen spät aber naja, du brauchst den invertierten Ausgang wenn du
nichts ändern willst. Ämmm, soll ich deinen Plan jetzt überprüfen oder
was sollte damit werden?

MFG Uwe

Autor: lordludwig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, dann äandere ich das noch.

Wenn du grad Zeit und Lust hasst kannst du ihn mal überprüfen(währe
nett)

Außerdem noch ne frage: brauch ich irgendwelche Pullups oder so (steht
in der Anleitung von Caonrad: "Pullup-Wiederstände falls nötig"???)

außerdem würde ich noch in die asm schreiben das man den invertierten
benutzen muss(hätte ich falsch gemacht)

Autor: lordludwig (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
schaltplan mit invert. ausgang(ohne pullups)

Wenn ich pullups brauche, dan sag mir bitte wie viel Ohm, Danke!!!

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann das echt sein, aus einem 2MByte-BMP wird ein 30kByte ZIP??
Unglaublich!!

Auf jeden Fall, egal wer jetzt eine wie gute Software für DCF77
geschrieben hat, mein Dank gilt Euch allen, dass Ihr Euren hart
erarbeiteten Code uneigennützig zur Verfügung stellt. Dadurch habe ich
eine Menge gelernt.

Also, Danke!
Stephan.

Autor: lordludwig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hätte ich auch ned geglaubt^^

ich denke ich brauch nen pullup, da ja der invertierte ausgang
"hochgezogen" werden muss das der uC weiß wann ein signal kommt(sonst
währe ja immer 0V) ich hab mal 10k bestellt, ich denke das müsste
reichen

Autor: lordludwig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
is es normal das die Uhr keine Sekunden anzeigt???

Autor: Uwe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo alle miteinander!
Weil immermal Probleme beim Umstellen auf andere uC's auftreten und
manchmal die Frage nach den Sekunden auftritt habe ich das 8-Bit-Progr.
mal auf AT90S2313 umgestellt und die Sek. mit ins LCD gebracht.
Für Leute die sich gerne mit fremden Federn schmücken und vom progr.
keine Ahnung haben ist allerdings eine kleine Boshaftigkeit drinn,
welche der Uhr aber keinen Schaden zufügt. Für alle anderen ganz
schnell zu finden und zu löschen.

Viel Spass, U.Hempel

Autor: lordludwig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist diese boshaftig an mich gerichtet???

Wenn ja tut es mir leid aber dann wüsste ich gerne wieso

Autor: Falko Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Habe mir alles nach Schaltplan nachgebaut und auch das IC richtig
programmier. Nur leider zeigt mein LCD nur Kästchen in der ersten Reihe
an. Sonst nichts !
Brauch das IC erstmal eine Einlaufphase oder müsste die Zeit + Tag
sofort angezeigt werden ?
Hat das Ding überhaupt schonmal jemand nachgebaut oder bin ich hier der
Eizigste ????

DANKE

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nö läuft seit über nem halben jahr ohne Probleme. Das HE_Soft hab ich
als gerechtigkeit drinngelassen, falls das das is was mit

"Für Leute die sich gerne mit fremden Federn schmücken und vom progr.
keine Ahnung haben ist allerdings eine kleine Boshaftigkeit drinn,
welche der Uhr aber keinen Schaden zufügt. Für alle anderen ganz
schnell zu finden und zu löschen."

gemeint ist. Währe zwar inzwischen fürmich kein Prob mehr die Uhr
selber zu machen aber wozu neu schreiben was perfekt läuft??? Synchro
nach ca. 3 minuten oben zeit im Format hh:mm:ss und unten Datum im
Format tt.mm.jjjj. Das HE_Soft 2.2 steht nur während der
Synchronisation da und kann auf wunsch ohne probleme rausgenommen
werden.

--------------------------------------------------------

zu Falkos Problem: Dein LCD wird nich richtig initialisiert!!! Welches
LCD hast du (Datenblatt oder Controller Typ) und wie is deine
Anschlussbelegung (belegung aller Pins des LCD). welchen AVR benutzt
du???

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achja ich hatte das gleiche Problem und habe es mit längeren init-dalays
behoben also überprüf mal das oben genannte und sag mir welchen AVR du
benutzt dann bekommste von mir ne Version mit langen Delays

Autor: Falko Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Also ist en Standard 2x16er LCD von Reichelt mit nem KS0070B
Controller.
Datenblatt gibts hier:
http://www.reichelt.de/inhalt.html?SID=14QzVvvdS4A...

Die Pinbelegung des LCDs ist wie in Ihrem ersten File angegeben. Habe
ich genau gleich gemacht.
Getrieben sollte alles von einem AT90S2313 µC werden.

Vielen Dank für Ihre schnelle Antwort
Falko Rieger

Autor: Ludwig Wagner (lordludwig)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so, also:

1. beim Conrad DCF77 modul brauchst du den NICHT invertierten
eingang(LCD sollte trozdem gehen)
2. Du brauchst von +5V zum DCF77-Signal nen 10k Widerstand
3. Im Anhang ne version mit langen delays und einer automatischen
quarzanpassung(vom Autor eingebaut aber bisher nicht veröffentlicht)

Viel Spaß!!!

Autor: Falko Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Bringt leider garnichts... Wie vorher nur schwarze Kästen !
Hab ich denn das richtige LCD ?
Liegt es vielleicht am Ausgang des AVRs? Ich habe nämlich was von PortB
im ASM-Text gesehen !

Mein DCF77-Modul ist dieses hier:
http://www.reichelt.de/inhalt.html?SID=14QzVvvdS4A...

Vielen Dank nochmal
FR06

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
da haste eh nur einen ausgang (ich hoffe den richtigen), ich schau mir
das mit dem display nochma genauer an

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
@Falko Rieger
>Liegt es vielleicht am Ausgang des AVRs? Ich habe nämlich was von
>PortB im ASM-Text gesehen !

Also wenn du nichts änderst muss das alles so angeschlossen sein:

;* - Pd0 = Ausgang: E (Takt LCD)
;* - Pd1 = Ausgang: RS (Register Set LCD)
;* - Pd2 = Eingang: INT0 auf LH-Flanke von DCF-Modul(invertiert!)
;* - PB0-PB7 = Ausgang: LCD DB0-DB7 Datenleitungen LCD

LCD's sind immer so eine Sache, manche vertragen ewige
Einschaltpausen, manche nicht, manche brauchen eine Einschaltpause
manche nicht. Die besten Erfahrungen habe ich mit ca.16ms gemacht.
Auf jeden fall schlägt einfach dein Init fehl oder du hast was falsch
angeschlossen.
Viel Erfolg,Uwe

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das LCD brauch anscheinend nen langen einschaltdelay der jetzt eingebaut
is. Wenns immer noch ned geht check nochma alle anschlüsse!!!
--------------------------------------------
"Liegt es vielleicht am Ausgang des AVRs? Ich habe nämlich was von
PortB
im ASM-Text gesehen !"

Das display hängt doch am PortB oder etwa nicht???

Autor: Ludwig Wagner (lordludwig)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Uwe war schneller xD und ich hab den Anhang vergessen

Autor: Ludwig Wagner (lordludwig)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und noch dazu ist jetzt der anhang falsch xD

Also nimm DIESEN Anhang und vergiss den von eben

Autor: Uwe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Die letzte und eigentlich saubere Version des Progr. mal im Anhang.

Als Hinweis:

;***** Wenn das LCD nicht anspringen sollte, einblenden
********************

;Pause:  in  temp,TIFR  ;weiter erst wenn TOV0 = 1(16,4ms 
Einschaltpause)
;  tst  temp
;  breq  Pause    ;sonst zurück->Pause (LCD-Einschaltpause)
;  out  tifr,temp  ;TOV1 löschen

(Steht schon im Progr, nur die ";" entfernen)
Takt ist hoffentlich 4MHz.

Viel Erfolg, Uwe

Autor: Falko Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also.
Gute Nachrichten ! Das LCD läuft jetzt ! Nur passiert mit der Uhrzeit
nach 2 1/2 Stunden immer noch nichts !
Hab ich denn das richtige DCF-Modul ? (
http://www.reichelt.de/inhalt.html?SID=14QzVvvdS4A...
)
Stimmt das, mit dem 10kOhm Widerstand zwischen DCF und +5V was
lordludwig gemeint hat ?

VIELEN DANK NOCHMAL

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Benötigt wird ein positiver DCF-Impuls, also LHL mit TTL Pegel.
Wenn du ein Oszi hast, kannste das sehr leicht prüfen.
Wenn nicht, eventuell mit LED+1K testen oder Multimeter mit TTL Test.
Auf jeden Fall muss in jeder Sek.1 Impuls kommen.

Viel Erfolg, Uwe

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe gerade mal das Datenblatt angesehen:
Ausgangsstrom High (0,8 Ub) > 5 μA
Ausgangsstrom Low (0,2 Ub) > 5 μA
Wie gross steht da aber nicht direkt, also von 5uA ausgehen.
Das sind für 3,5V Spannungshub max 700K an Re!
Also die 10K weg, dann könnte es gehen.

Viel Erfolg, Uwe

Autor: Falko Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau das habe ich gemacht ! Aus instinkt nach der Messung !
Jetzt tut alles !

VIELEN VIELEN DANK !!!!!
Falko Rieger

Autor: Falko Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also läuft nun alles. Doch was muss ich tun um den Testmode
abzuschalten. Also damit ich das >< in der ersten Zeile und das // in
der zweiten Zeile wegbekomme ?
Habe es schon selbst versucht, erhalte aber nun in der ersten Zeile
eine komische 7 und ein ä und die 2te Zeile bleibt unverändert.

Danke

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Hä?? Das "><" steht für DCF OK, "<>" für DCF fehlerhaft. Das ist
keine Testmode.
"//" als 2.+3.Zeichen in Zeile 2? Wenn ja, hast du vergessen das
EEPromfile zu laden (*.rom oder*.epp). Da stehen die Wochentage drinn.

Viel Erfolg, Uwe

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
genau das EEPROM beschreiben und wenn das <> weg soll die 4 zeilen
auskommentieren

Autor: Falko Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wunderbar, nun läuft alles !

VIELEN DANK !!!

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das mit dem widerstand tut mir leid aber bei mir geht es eben nicht ohne
und die meisten module schalten eben nur gegen - und haben bei + open
collektor

Autor: Falko Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nene passt schon, bin ja selbst draufgekommen ;-)

Autor: Uwe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Unlängst wollte jemand die 2-Kanal Wochenschaltuhr auf einem AT90 oder 
Tiny laufen lassen und es ging nicht so recht, also habe ich mir das 
Progr. nochmal zur Brust genommen und der Anhang ist dabei entstanden.
- ohne Änderung auf AT90/Tiny2313 lauffähig(Tiny auch interner Takt)
- 24 Schaltzeiten + 2 Partyzeiten
- Schaltuhr ist ohne DCF lauffähig, die Taktanpassung fällt dann aber 
aus
- 2 Schaltkanäle
Was solls, wer es brauchen kann einfach mal lesen/testen

Viel Erfolg, Uwe

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.