Ich hab den Worldclock aus der Ct Hacks nachgebaut. Lauft soweit so gut,
nur bleibt es immer zwölf uhr, also lauft sie eigentlich nicht.
Das Problem ist das ich kein RTC-modul habe, dafür ist aber ein
Dcf-modul angeschlossen, alles nach Plan.
Das Dcf- Modul funktioniert und das signal kommt auch problemlos an Pin
PB2 an, alles kontroliert, aber irgendwie wird es einfach nicht
verarbeitet.
Kann ich das uberhaupt so betreiben? Also ohne Signal am sda und scl?
Oder muss ich etwas im Schaltplan oder gegebenfalls im Software ändern?
Ich habe das Gefuhl das das Programm einfach nicht weiter lauft weil das
Signal vom RTC fehlt. Ich brauche aber nicht beides. Wenn DCF
funktioniert, brauche ich kein RTC.
Schaltplan und Software sind hier zu finden:
https://github.com/heise/WORDCLOCK
Ich kenne die Wordclock als Projekt jetzt nicht, vielleicht kommen da
noch bessere Antworten, aber ich kann mir gut vorstellen, daß es ohne
RTC nicht geht - heute decodieren die wenigsten Uhren DCF fortlaufend
(weil Empfangsbedingungen stark schwanken und Störungen erkennbar
wären), so daß die einzige Alternative zum RTC ein Software-Timer sein
könnte.
Ist erkennbar, ob die Firmware im Interrupt Sekunden zählt? Vielleicht
wird aber bein Start auch eine RTC-Abfrage durchgeführt und das Programm
bleibt dort hängen, wenn nichts passiert.
Hast Du auch lange genug gewartet?
Manche Leseroutinen brauchen etwa 3 Minuten, wenn es ein sehr
ängstlicher Programmierer war, auch länger, bis das erste Ergebnis
akzeptiert wird.
Auf Verdacht, ohne das Projekt zu kennen: Schalte das Teil mal so 10
Minuten vor Mitternacht an und warte 'ne halbe Stunde.
Um Strom zu sparen wird in vielen Fällen die Uhr nur einmal am Tag
eingeschaltet (der Empfänger). Mitternacht wäre eine Möglichkeit oder
halt alle 24 Stunden, ab Einschaltung.
Martin schrieb:> Wenn DCF funktioniert, brauche ich kein RTC.
Da täuscht du dich. Du brauchst mindestens eine Software RTC, damit bei
schlechtem Empfang eine Uhrzeit zur Verfügung steht. Wenn du etwas
weiter von Mainflingen entfernt wohnst, ist das empfangene Signal oft
nur in den Nachtstunden sauber und stark genug für einfache Empfänger.
Hallo,
du mußt das HEX-File selber compilieren und dafür im PAS-File die
Kommentare vor den DCF-Zeilen entfernen. Das HEX-File auf GitHub enthält
keinen DCF-Support.
Hagger
Genau das hab ich mir gedacht. Allerdings geht das für mich ein bischen
zu weit. Weiss nicht so genau was ich mit den Pas-file anfangen soll.
Bin halt Bastler, kein Programierer.
Wäre für jede weitere Hilfe dankbar.
Grusse aus der Schweiz.
Martin schrieb:> Weiss nicht so genau was ich mit den Pas-file anfangen soll.
Sei doch nicht so lesefaul:
"Sie benötigen zum Kompilieren bei eigenen Änderungen den kostenlosen
Compiler AVRCo Pascal Mega8"
Und da steht bestimmt auch drin, wie man das Legosteinchen für die
Soft-RTC hinzufügt.
Also, Die Avrco Compiler habe ich hier. Projectfiles vom Uhr, sowie .pas
und .hex dateien sind auch vorhanden.
Nur kann mann das alles nicht einfach so öffnen und bearbeiten. Kann mir
vielleicht jemand sagen wie ich damit anfange? Ich weiss es gibt
Handbucher beim Compiler, jede Menge sogar. Aber wie gesagt, ich bin in
diese Programmierwelt ziemlich Noob und dann wird mann vom Handbuch auch
nicht wirklich schlau.
Also, hab jetzt alles probiert. auch mit dem Projectfiles aus der
Github-directory. Ich kriegs einfach nicht hin. Einfach die Kommentaren
vor den DCF-Zeilen wegnemen und neu kompileren funktioniert nicht.
Warscheinlich muss mann mit den Avrco noch irgendwie der Treiber für DCF
reinbauen, aber da verstehe ich nur noch Bahnhof.
Hab mir jetzt auf jeden Fall mal ein RTC besorgt, damit die Uhr lauft.
Wenigstens das lauft perfekt.
Und ja, ich habe die Handbucher vom Avrco gelesen, aber mit meine
Grundkenntnisse kommt mann da nicht weiter.
Hallo Martin,
der hier (Carsten Meyer) http://www.heise.de/ct/Redaktion/cm/ hat den
Artikel verzapft. Unten auf der Seite ist seine Mailadresse. Warum
fragst du den nicht?
Hagger
Also, ich hab jetzt mal das pas-file mit avrco bearbeiten können, damit
er jetzt wenigstens anzeigt das es "viertel vor sechs" ist und nicht
"dreiviertel sechs". Soweit klappt also das neu kompilieren mit avrco.
Mit dem Dcf ist aber immer noch nichts. Ich glaube da fehlt noch etwas
mehr.
Martin schrieb:> Ich glaube da fehlt noch etwas> mehr.
Ja Martin,
der Quellcode ist bezüglich des DCF Codes falsch, wenn man z.B. den
DCF77 Decoder von ELV verwendet. das Port muss negative Polarity
aufweisen.
Weiterhin habe ich das DCF Modul noch mit einer extra 100µF Elko + 100nF
Ceramik SMD auf der Versorgungsleitung abgeblockt, wegen der 25 cm
langen Leitung und mit 10nF zwischen Data und Gnd. Letzteres wurde auch
von ELV in der KL 2001 Uhr genannt.
Hier die richtigen Defines:
Import SysTick, TWImaster, RTClock, TickTimer;
Import DCFclock;
From System Import LongWord, Random;
Define
ProcClock = 8000000; {Hertz}
SysTick = 10; {msec}
StackSize = $0032, iData;
FrameSize = $0032, iData;
DCFclock = iData;
DCFport = PinB, 2, negative; {Port, Pin#, Polarity}
TWIpresc = TWI_BR100; {100kBits/sec}
TickTimer = Timer1;
RTClock = iData, DateTime;
RTCsource = SysTick;
Damit syncht meine Wordclock binnen einer Minute.
Gruss
Manfred