www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Meteotime-Bits stören Auerswald DCF-Uhr


Autor: Roland S. (chromagraph)
Datum:

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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

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

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es nicht praktikabler einfach einen neuen Wecker zu kaufen?

Autor: Sebastian (Gast)
Datum:

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

Autor: eProfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Roland, ist der Schaltplan öffentlich zugänglich?
Oder kannst Du ihn bitte hier veröffentlichen?

Autor: MaWin (Gast)
Datum:

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

Autor: eProfi (Gast)
Datum:

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

Autor: Roland S. (chromagraph)
Datum:
Angehängte Dateien:

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

Autor: Jürgen L. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht ein bisschen abwegig... aber warum nicht einfach den 
Controller komplett ersetzen durch etas selbst programmiertes?

Autor: MaWin (Gast)
Datum:

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

Autor: Bal Tic (baltic)
Datum:

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

Autor: sffdfdf (Gast)
Datum:

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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

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

Autor: Michael U. (amiga)
Datum:

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

Autor: Henrik Haftmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mikrocontroller davor setzen, wie hier zu sehen:
http://www-user.tu-chemnitz.de/~heha/bastelecke/Ko...
Funktioniert seit nunmehr 5 Jahren einwandfrei.

Autor: Roland S. (chromagraph)
Datum:

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

Autor: Anja (Gast)
Datum:

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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

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

Autor: HFF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leichenschänder... mann... :P

Autor: berry (Gast)
Datum:

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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
berry schrieb:
> Daraufhin
> hagelt es haufenweise Fehlermeldungen

Welche?

Autor: berry (Gast)
Datum:

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

Autor: [Frank] (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@berry

Stell unter Projekt -> Assembleroptionen
AVR Assembler Version 2 und nicht Version 1 ein, dann geht das schon.

Autor: berry (Gast)
Datum:

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

Autor: berry (Gast)
Datum:

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

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.