Hallo zusammen, seit über 25 Jahren verlasse ich mich auf meine DCF77 Funkuhr. Das ist ein Gerät von Conrad, in dem eine Auerswald DCM77 Platine mit einem ACEM-Empfänger werkelt. Seit 2006 mit der Aufschaltung der Meteotime-Signale verliert die Uhr die DCF-Syncronisation bereits wenige Minuten nach dem Einschalten. Sie läuft zwar impulsgesteuert scheinbar richtig weiter, die LED-Anzeige der synchronen DCF-Kopplung (LED DCF-Zeit)geht aber aus. Eine automatische Zeitanpassung und eine automatische Sommerzeitumstellung erfolgt dann natürlich nicht mehr. Ich gehe davon aus, dass das eingesetzte Decoder-IC (20polig von Philips mit der Bezeichnung GDS DCF Vers 3.1) fehlerhaft programmiert worden ist und durch die variablen Wetterbits durcheinander gerät. Die eingesetzte Decoderbaustein scheint sich wohl darauf zu verlassen, dass die Bits 1-14 immer gleich bleiben und benutzt für die Redundanzprüfung einfach alle 58 Bits. Ein Schaltplan liegt mir zwar vor, ich habe aber nirgendwo etwas darüber finden können, ob es in der Zwischenzeit eine neue (geänderte) Version von diesem IC gibt, und kann auch nicht erkennen, was für ein Baustein sich hinter der Bezeichnung versteckt. Ich befürchte, dadurch wird eine eigene Korrektur schwerlich machbar sein. Ich möchte deshalb zwischen ACEM-Empfänger und der Auswerteplatine eine Schaltung einfügen, die nach dem fehlenden Sekundenbit (nach der 59. Sekunde) dafür sorgt, dass die nächsten 14 Bits alle nur eine Länge von 100ms (logisch 0) haben. Die Lösung, die Bits 1-14 dauerhaft auf 0 zu setzen, könnte hier für einen wirksamen Workaround sorgen. Das Problem dürfte bei eigenen Leuten aufgetreten sein, da noch viele dieser Uhren aus der damaligen Zeit in Betrieb sind. Oder habe ich womöglich ein ganz seltenes Einzelstück in Verwendung? Gibt es solch eine Schaltung bereits? Oder hat jemand einen Tipp, wie ich das am elegantesten lösen kann? Eine diskrete Schaltung würde ich für diese Uhr passender finden, als ein kleiner ATTiny, der die Meteotime-Bits aus dem DCF-Signal entfernt. Wer kann mir helfen? Gruß aus Kiel von Chromagraph
Roland S. schrieb: > Eine diskrete Schaltung würde ich > für diese Uhr passender finden, als ein kleiner ATTiny, der die > Meteotime-Bits aus dem DCF-Signal entfernt. Passender vielleicht. Aber praktikabel? Diskret: Du müsstest ein FlipFlop mit einem Zähler verheiraten. Dieses FF wartet auf die 59-ste Sekunde und gibt dann den Zähler frei, der durch die kommenden DCF-Pulse getriggert wird. Der Zähler muss bis mindestens 14 zählen können. Ein 2. FF wird über den DCF-Ausgang geblendet und generiert solange 0-Pulse, bis der Zähler bei 14 angekommen ist. Dann werden die originalen Pulse wieder durchgeleitet. Müsste mit 3 oder 4 CMOS Gatterschaltkreisen zu erledigen sein.
Ist es nicht praktikabler einfach einen neuen Wecker zu kaufen?
Es geht hier mit ziemlicher Sicherheit um den Nostalgiefaktor und Erhalt historischer Geräte. Die Auerswald-Funkuhr kenne ich auch, allerdings ist bei meiner der Empfänger defekt, daher ist sie nicht mehr in Betrieb. Wenn sich das ganze mit vier CMOS-Schaltungen abbilden ließe, was wäre dann mit einem, dem Nostalgiefaktor absolut angemessenen, GAL-Baustein? Notfalls eben zwei, oder ein Mini-CPLD (Lattice Mach4-32, oder ein ispLSI 1016 - könnte sogar von der technischen Epoche her hinkommen). Wenn jemand Lust hat, die erforderliche Logikbeschreibung zu liefern (ob nun CUPL, ABEL, PALASM oder irgend einem moderneren Tool bis hin zu VHDL), dann wäre ich durchaus bereit, ein oder zwei damit programmierte GALs zu spendieren.
Roland, ist der Schaltplan öffentlich zugänglich? Oder kannst Du ihn bitte hier veröffentlichen?
> Ich möchte deshalb zwischen ACEM-Empfänger und der Auswerteplatine eine > Schaltung einfügen, die nach dem fehlenden Sekundenbit (nach der 59. > Sekunde) dafür sorgt, dass die nächsten 14 Bits alle nur eine Länge von > 100ms (logisch 0) haben. Die Lösung, die Bits 1-14 dauerhaft auf 0 zu > setzen, könnte hier für einen wirksamen Workaround sorgen Problemlos mit Standardchips aufbaubar: +-------------------------|\ | +-------+ +-------+ |&)-- DCF DCF --+--|74HC123|---|74HC123|--|/ +-------+ +-------+ _ 1.5sec 14 sec Q (schau ins Datenblatt des 74HC123 nach der Beschaltug)
MaWin, das ist ein bisschen zu einfach, da Du die ersten 14 Bits ganz entfernst. Sie müssen aber durch 0,1s-Impulse ersetzt werden.
Saubere Idee mit nur einem Dual-Mono-Multivibrator. Zuerst wird die Pause detektiert und dann die folgenden gesamten ersten 14 Sekunden weggeschnitten. Ich bin mir allerdings ziemlich sicher, dass dadurch der Sekundentakt verloren geht. Irgendwie müßte für die ersten 14 Sekunden jeder Minute ein Monoflop nur die Impulsdauer vom DCF-Signal auf 100 ms begrenzen. Ist das Bit im Datentelegramm nur 100 ms, passiert nichts. Ist das Bit aber 200 ms lang, dann wird der Ausgang vom Und-Gatter nach 100 ms nach Low gelegt. Dadurch kommen dann alle Bits als Sekundentakt durch, haben aber eine einheitliche Länge von 100 ms. @ eProfi: Der Schaltplan ist mit dem Bausatz mitgeliefert worden. Ich denke, dass nach 30 Jahren keine Probleme mit einer Weitergabe entstehen. @ Sebastian: Der Schaltplan vom ACEM-Empfänger liegt auch vor. Solltest du deine Uhr wieder instandsetzen wollen, kann ich den Plan veröffentlichen. Der Empfänger ist eigentlich überschaubare Technik mit handelsüblichen Bauteilen.
Vielleicht ein bisschen abwegig... aber warum nicht einfach den Controller komplett ersetzen durch etas selbst programmiertes?
> MaWin, das ist ein bisschen zu einfach, da Du die ersten 14 Bits ganz > entfernst. Sie müssen aber durch 0,1s-Impulse ersetzt werden. Ok, also: 0.1 sec +-------+ +----+ +--|74HC123|--------------|B | | +-------+ | MUX|-- +-------------------------|A | | +----+ | +-------+ +-------+ | DCF --+--|74HC123|---|74HC123|----+ +-------+ +-------+ 1.5sec 14 sec
Hallo Roland, persönlich würde ich den alten MC (Dekoder) entfernen und durch ein aktuelles Modell mit einem eigenen Programm ersetzen. Ein ATtiny2313 (AVR) bzw. ein AT89S2051 (8051) sollte mit wenigen Änderungen an der Schaltung den Platz vom alten MC einnehmen können. Ein Zwischensockel zur Anpassung des Pinouts wäre auch denkbar. Gruß Jens PS: Hast Du mal ein Foto von der Platine?
eh ihr leut! lasst doch die Finger von den Monos, das funktioniert nie richtig. Die Cs altern, es gibt Probleme mit Fehltriggerungen duch spikes. Einfach einen kleinen PIC oder Atmel rein und fertig.
sffdfdf schrieb: > Einfach einen kleinen PIC oder Atmel rein und fertig. Siehe ersten Beitrag: Roland S. schrieb: > Eine diskrete Schaltung würde ich > für diese Uhr passender finden, als ein kleiner ATTiny,
Hallo, sffdfdf schrieb: > lasst doch die Finger von den Monos, das funktioniert nie richtig. > Die Cs altern, es gibt Probleme mit Fehltriggerungen duch spikes. Stimmt, die Dinger wurden entwicklet und hergestellt, weil man sie nicht benutzen konnte... Der Toleranzbereich ist hier so groß, so altert kein C in sinnvollen Zeiträumen. Wenn Spikes ankommen sollten, muß sie auch der jetzige Decoder wegstecken können. Schlimmstenfalls wird der ein paar mehr Pakete verwerfen als jetzt sowieso schon. Man kann es zumindest mit wenig Aufwand aufbauen und testen. Gruß aus Berlin Michael
Mikrocontroller davor setzen, wie hier zu sehen: http://www-user.tu-chemnitz.de/~heha/bastelecke/Konsumg%C3%BCter-Bastelei/Funkuhr/#Filter Funktioniert seit nunmehr 5 Jahren einwandfrei.
Hallo Hendrik, das ist eine wirklich vorzügliche Idee, die fehlerhafte Programmierung meiner Uhr mit nur einem Att12p zu korrigieren. Ich habe in der Zwischenzeit die Lösung von MaWin ausprobiert. Sind also drei Monoflops mit zusätzlichen Eingangs- und Ausgangsgattern. Die Lösung läuft seit 18 Manaten ohne Störungen. Mir ist diese Lösung platzmäßig jedoch zu groß. Ich konnte dadurch aber zweifelsfrei feststellen, dass der Philips-Dekoder mit der Bezeichnung GDS DCF Vers 3.1 fehlerhaft programmiert worden ist. Deine Lösung hatte ich damals schon gefunden und würde sie wirklich gern ausprobieren und einsetzen. Leider hat die DCF-Uhr von Auerswald keinen Taktquarz mit 32,768 kHz. Ich könnte dort nur den Quarztakt von 4,9152 MHz abgreifen. Siehe Schaltplan oben. Das ist Faktor 150x schneller. Könnte man die Taktfrequenz in deinem Programm darauf einstellen? Ich würde es sehr gern ausprobieren. Ich müßte allerdings noch jemanden finden, der mir den Attiny12 beschreibt. Gern würde ich alle Kosten dafür übernehmen. Könnte ich dich dazu überreden? fragt Roland mit vielen Grüßen aus Kiel (Chromagraph@t-online.de).
Roland S. schrieb: > seit über 25 Jahren verlasse ich mich auf meine DCF77 Funkuhr. Da wirds aber mal Zeit die Elkos zu wechseln. Bei meiner Selbstbau-DCF77 Uhr hat der Spannungsregler für den Empfänger angefangen zu schwingen weil 2 Elkos ausgetrocknet waren. Gruß Anja
Roland S. schrieb: > Leider hat die DCF-Uhr von Auerswald keinen > Taktquarz mit 32,768 kHz. Ich könnte dort nur den Quarztakt von 4,9152 > MHz abgreifen. Siehe Schaltplan oben. Das ist Faktor 150x schneller. Nimm statt des Tiny12 einen Tiny13, der hat einen internen Taktteiler. Wenn Dein Quarz tatsächlich auf 4,91 und nicht auf 4,19Mhz läuft, muss das Programm intern halt auf den Sekundentakt umrechnen.
Was mache ich falsch? Ich habe den Code von Henrik Haftmann in AVR Studio 4 kopiert und wollte diesen testweise assemblieren. Daraufhin hagelt es haufenweise Fehlermeldungen, die nicht nachvollziehbar sind. Eigentlich müsste doch die gleiche .hex-Datei dabei heraus kommen wie in FunkFilt.zip. Oder liege ich da völlig daneben? ich würde dann die Power-Down Option heraus nehmen, weil ich diese für o. g. Funkuhr nicht benötige.
Hallo Knut, habe folgende Meldungen bekommen: error : Undefined variable referenced error : Internal - label changed between passes - warning: Immediate byte operand out of range diese kommen mehrfach vor, davon 10 mal "Internal - label changed between passes -" im Ergebnis: "Assembly complete with 13 errors" Gruß berry
@berry Stell unter Projekt -> Assembleroptionen AVR Assembler Version 2 und nicht Version 1 ein, dann geht das schon.
[Frank] schrieb: > Stell unter Projekt -> Assembleroptionen > AVR Assembler Version 2 und nicht Version 1 ein, dann geht das schon. Habe ich probiert, funktioniert leider auch nicht. Ich hatte inzwischen versucht einen Tiny13A zu programmieren, hatte dafür die Register TIMSK nach TIMSK0 und TCCR0 nach TCCR0B im Code geändert. Fehler werden so beim Erzeugen der HEX-Datei nun nicht mehr angezeigt. Bekomme das mit dem Takt aber nicht hin (interner Takt des Tiny13 auf 128kHz gefused). Bin einfach noch zu sehr Anfänger um den Code richtig ändern zu können. Der Ausgang PB0 Pin 5 bleibt ständig auf Low. Auch der Aufbau eines externen Taktgebers ist gescheitert. TTL 7400 schwingt nicht an, CMOS 4011 schwingt wild (ca. 2,5MHZ) offensichtlich sind die Drähte am Steckbrett zu lang. Ich verwende einen Diamex USB-ISP-Programmer mit STK500 Protokoll, aber Atmel unterstützt den Tiny12 anscheinend nicht mehr und ich weiß nicht wie ich das Ding beschreiben soll. Weiß Jemand Rat, wie man einen Tiny 12 mit STK500 Protokol programmieren kann?
Nun gut, wenn man natürlich AVR-Studio4 nicht in der letzten Version hat, darf man natürlich auch keine Antwort erwarten. Hab's nun hinbekommen einen Tiny12 zu beschreiben. Doch nach vielen Stunden vergeblicher Mühe funktioniert auch das nicht. Wie mir scheint, hat es nach der Henrik-Methode auch noch Niemand hinbekommen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.