Forum: Projekte & Code DCF77-Uhr mit LCD


von Uwe (Gast)


Angehängte Dateien:

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

von lordludwig (Gast)


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???

von Thomas (Gast)


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....

von lordludwig (Gast)


Lesenswert?

plan werde ich heute oder morgen malen

von Peter D. (peda)


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

von Uwe (Gast)


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

von lordludwig (Gast)


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

von Peter D. (peda)


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

von lordludwig (Gast)


Angehängte Dateien:

Lesenswert?

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

von lordludwig (Gast)


Angehängte Dateien:

Lesenswert?

Sry im alten Schaltplan war ein Fehler, war wohl zu voreilig

von Uwe (Gast)


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

von lordludwig (Gast)


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)

von lordludwig (Gast)


Angehängte Dateien:

Lesenswert?

schaltplan mit invert. ausgang(ohne pullups)

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

von Stephan (Gast)


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.

von lordludwig (Gast)


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

von lordludwig (Gast)


Lesenswert?

is es normal das die Uhr keine Sekunden anzeigt???

von Uwe (Gast)


Angehängte Dateien:

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

von lordludwig (Gast)


Lesenswert?

ist diese boshaftig an mich gerichtet???

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

von Falko Rieger (Gast)


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

von Ludwig W. (lordludwig)


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???

von Ludwig W. (lordludwig)


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

von Falko Rieger (Gast)


Lesenswert?

Hallo.

Also ist en Standard 2x16er LCD von Reichelt mit nem KS0070B
Controller.
Datenblatt gibts hier:
http://www.reichelt.de/inhalt.html?SID=14QzVvvdS4AQ4AAAfNblg516c28f8eca6b7025990addb01ce0d7b;ACTION=7;LASTACTION=6;SORT=artikel.artnr;GRUPPE=A5211;GRUPPEA=A521;WG=0;ARTIKEL=LCD%20162C%20LED;START=0;END=16;STATIC=0;FC=10;PROVID=0;TITEL=0;DATASHEETSEARCH=LCD%20162C%20LED;FOLDER=A500;FILE=LCD162C%2523DIS.pdf;DOWNLOADTYP=1;DATASHEETAUTO=;OPEN=0

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

von Ludwig W. (lordludwig)


Angehängte Dateien:

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ß!!!

von Falko Rieger (Gast)


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=14QzVvvdS4AQ4AAAfNblg516c28f8eca6b7025990addb01ce0d7b;ACTION=7;LASTACTION=6;SORT=artikel.artnr;GRUPPE=X2;WG=0;SUCHE=DCF77;ARTIKEL=DCF77%20MODUL;START=0;END=16;STATIC=0;FC=669;PROVID=0;TITEL=0;DATASHEETSEARCH=DCF77%20MODUL;FOLDER=X700;FILE=DCF77-Modul%2523UTC.pdf;DOWNLOADTYP=1;DATASHEETAUTO=;OPEN=0

Vielen Dank nochmal
FR06

von Ludwig W. (lordludwig)


Lesenswert?

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

von Uwe (Gast)


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

von Ludwig W. (lordludwig)


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???

von Ludwig W. (lordludwig)


Angehängte Dateien:

Lesenswert?

Uwe war schneller xD und ich hab den Anhang vergessen

von Ludwig W. (lordludwig)


Angehängte Dateien:

Lesenswert?

und noch dazu ist jetzt der anhang falsch xD

Also nimm DIESEN Anhang und vergiss den von eben

von Uwe (Gast)


Angehängte Dateien:

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

von Falko Rieger (Gast)


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=14QzVvvdS4AQ4AAAfNblg516c28f8eca6b7025990addb01ce0d7b;ACTION=7;LASTACTION=6;SORT=artikel.artnr;GRUPPE=X2;WG=0;SUCHE=DCF77;ARTIKEL=DCF77%20MODUL;START=0;END=16;STATIC=0;FC=669;PROVID=0;TITEL=0;DATASHEETSEARCH=DCF77%20MODUL;FOLDER=X700;FILE=DCF77-Modul%2523UTC.pdf;DOWNLOADTYP=1;DATASHEETAUTO=;OPEN=0
)
Stimmt das, mit dem 10kOhm Widerstand zwischen DCF und +5V was
lordludwig gemeint hat ?

VIELEN DANK NOCHMAL

von Uwe (Gast)


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

von Uwe (Gast)


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

von Falko Rieger (Gast)


Lesenswert?

Genau das habe ich gemacht ! Aus instinkt nach der Messung !
Jetzt tut alles !

VIELEN VIELEN DANK !!!!!
Falko Rieger

von Falko Rieger (Gast)


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

von Uwe (Gast)


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

von Ludwig W. (lordludwig)


Lesenswert?

genau das EEPROM beschreiben und wenn das <> weg soll die 4 zeilen
auskommentieren

von Falko Rieger (Gast)


Lesenswert?

Wunderbar, nun läuft alles !

VIELEN DANK !!!

von Ludwig W. (lordludwig)


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

von Falko Rieger (Gast)


Lesenswert?

Nene passt schon, bin ja selbst draufgekommen ;-)

von Uwe (Gast)


Angehängte Dateien:

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

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.