PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DCF-Empfangsmodul "DCF1" von Pollin



BurningWave
15.07.2008, 18:50
Hallo,

ich habe bei Pollin das DCF-Empfangsmodul "DCF1" gefunden und dachte, dass ich vielleicht Verwendung dafür finden würde. Hat jemand von euch vielleicht Erfahrungen mit diesem Modul und kann mir sagen ob und wie es funktioniert. Wie kann man mit dem Modul die aktuelle Zeit auslesen?

In dem genialen Datenblatt von Pollin (wenn man diese 2 Seiten noch so nennen kann) steht


Nach Inbetriebnahme des DCF-Moduls kann es, je nach Empfangslage, bis zu 20 Minuten dauern,
bis sich das Modul mit dem DCF-Signal abgestimmt hat und das Signal empfangen werden kann.

Dauert es wirklich 20 Minuten, bis das Modul einsatzbereit ist?

Schon mal im Voraus danke für eure Antworten
mfg
_R2D2

fhs
15.07.2008, 19:48
Hallo,


...Wie kann man mit dem Modul die aktuelle Zeit auslesen?
das Modul gibt den rohen DCF77-Code aus. Mit einer Internet-Suche nach "dcf77 dekodieren" findest Du mehr als Du denkst... Die Datenrate beträgt immerhin 1Bd ! Auch in diesem Forum gibt es schon Threads dazu.


Nach Inbetriebnahme des DCF-Moduls kann es, je nach Empfangslage, bis zu 20 Minuten dauern, bis sich das Modul mit dem DCF-Signal abgestimmt hat und das Signal empfangen werden kann.
Das deckt sich nicht mit meinen Erfahrungen. Habe so etwas auch in einem anderen Datenblatt gelesen; gemeint ist u.U. (ich rate hier), dass es länger dauern kann, bis man genug Daten zur vollen Synchronisation hat. (Es muss ja erst der Minutenwechsel erkannt werden, ehe man weiß, wo man sich im Datentelegramm befindet, das eine Minute lang dauert.)

Wichtig bei dem preisgünstigen Pollin-Modul ist nur, dass man PON zunächst H hält und erst mehrere Sekunden später auf L legt.

Ich hatte eine schwierige Empfangssituation und ein saubereres Signal mit dem DCF77-Modul von C; aber das Pollin-Modul geht auch.

Viel Erfolg!

Fred

Anlage: Kurz_Vor_Zwei; meine DCF77-Nixie-Uhr im Testaufbau

BurningWave
15.07.2008, 20:04
Danke, aber wie wird das Modul überhaupt an meinen AtMega32 angeschlossen?

fhs
15.07.2008, 20:10
Hallo,

.., aber wie wird das Modul überhaupt an meinen AtMega32 angeschlossen?
das Modul gibt verschieden lange Impulse aus. Ein kurzer Impuls (grob etwa 80-120ms) entspricht einer "0", ein langer (grob etwa 170-230ms) einer "1". Du verbindest also den Ausgang des Moduls mit einem Eingangspin des ATmega und schreibst die entsprechende Software, um das Signal zu dekodieren. Ich taste das Signal in Intervallen von 10ms ab. Jeder hat da einen eigenen Ansatz. Beispiele in C, Assembler und Bascom gibt's genug im Netz.

Viele Grüße

Fred

PS: Ich nehme an, dass während des Aufnehmens des Bildes oben gerade ein Sekundenwechsel stattgefunden hat, denn sonst leuchtet natürlich immer nur eine Ziffer in jeder Röhre!

robocat
15.07.2008, 21:16
hallo fred,
gefällt mir sehr gut, deine nixie uhr. ich habe auch vor, eine zu bauen, die röhren habe ich schon hier. hast du vor, den dcf77 empfänger mit im gehäuse unterzubringen (habe oft gelesen, dass das nicht geht, zumindest nicht, wenn man die röhren mit multiplexing ansteuert - deshalb wollte ich einen aufbau ohne multiplexing versuchen)?

gruesse von der katz und sorry für offtopic

vielleicht hast du ja lust, deine uhr in einem eigenen thread mal vorzustellen, würde mich sehr interessieren

python_rocks
15.07.2008, 21:33
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=41767&highlight=dcf

tüddelkrams
15.07.2008, 21:45
Hi,
nimm mal irgend nen BC 54X und nen 1M sowie 5k Ohm Widerstand.

Auf die Basis kommt 1Meg Ohm, dahinter der Data Pin.
An den kollektor 5kilo Ohm.
Ausserdem 5V vor die 5 kilos.


Dann kannste an den Kolektor noch ne low current LED hängen, gegen Masse natürlich ;)


Dann siehst du, ob du ein Signal hast oder nicht.


gruß
tüddelkrams

fhs
15.07.2008, 21:50
Hallo,


...hast du vor, den dcf77 empfänger mit im gehäuse unterzubringen (habe oft gelesen, dass das nicht geht, zumindest nicht, wenn man die röhren mit multiplexing ansteuert - deshalb wollte ich einen aufbau ohne multiplexing versuchen)?

Es wird ein Metallgehäuse. Ich weiß noch nicht, ob ich nur die Antenne nach extern verlege oder auch das eigentliche Empfangsmodul. Auf dem Holzbrett läuft alles sehr stabil. Als Treiber-ICd verwende ich die russische Version des 74141, Multiplex ist nicht vorgesehen, aber PWM in Abhängigkeit von der Raumhelligkeit.

Viele Grüße

Fred

HPM
16.07.2008, 06:11
Hallo Fred,


Auf dem Holzbrett läuft alles sehr stabil. Als Treiber-ICd verwende ich die russische Version des 74141, ...

Viele Grüße
Fred

Cooles Gerät!!! Die Zahlenröhren kenn ich auch noch,
Ich sehe mal wieder, wir sind und sehr ähnlich !! O:)
Wenn die Funktion bei meinen Geräten gegeben ist vergeht nur meistens sehr viel Zeit, bis ein Gehäuse drum kommt (manchmal eeeeewig viel Zeit)!



Nun aber zum Thema von _R2D2 !

Ich habe zwar ein DCF-Modul von Reichelt eingesetzt, denke aber mal, dass der Unterschied nicht gravierend ist.
Auf dem PIN11 kommt das DCF Signal rein (siehe Anhang). Ich musste das Modul über Spannungsteiler laufen lassen, mit 5Volt ging kein Signal raus! Deswegen der Transistor T1 nochmal zur Pegelanpassung. Als Grundlage zur Software habe ich die Lib von AlBundy eingesetzt, das hier im Forum zu finden ist. In der neuen Version von Bascom ist aber auch eine Lib schon dabei. Hier mal noch ein Stück Code aus Bascom. Ich weiß ja nicht, mit was Du Deinen M32 programmierst!


' Quarz > | 9)XTAL1 AVCC(20 |
' | |
' Quarz > |10)XTAL2 PB5(19 | < E Display (SCK)
' | |
' DCF Eigang > |11)PD5 PB4(18 | < DB7 Display (MISO)
' | |
' Ausgang5 Stör. > |12)PD6 PB3(17 | < DB6 Display (MOSI)
' | |
' Ausgang6 Nacht > |13)PD7 PB2(16 | < DB5 Display
' | |
' Display RS > |14)PB0 PB1(15 | < DB4 Display
' |---------------------|
'
'
'-------------------------------------------------------------------------------
' Controller Grundeinstellung
'-------------------------------------------------------------------------------
$regfile = "m8def.dat" 'Prozessor AT Mega8
$crystal = 14745600 'ext.14,7456MHz-Takt

' Timer0
' Timer1 für DCF
' Timer2

'-------------------------------------------------------------------------------
' DCF-Funkuhr Grundeinstellung
'-------------------------------------------------------------------------------
' Lib für PinD5 am M8 Angepasst!
$lib "dcf77Aq.lib" ' einrichten für M8
$external Dcf77 ' und Eingangssignal!
Declare Sub Dcf77
' Timerstartwerte und Prescale mit Prog "Atmel Timer Calculator.exe" ermittelt
Config Timer1 = Timer , Prescale = 8 'Timer für 40Hz (25ms)
Const Startwert = 19455 'bei 14,7456MHz
Timer1 = Startwert
On Timer1 Tim1_isr 'Überlauf alle 25ms
Enable Interrupts
Enable Timer1

' Variablen für DCF Routine
Dim Status As Byte , Zaehler As Byte , Buffer As Byte , Impuls As Byte
Dim H_sek As Byte , Sekunde As Byte , T_min As Byte , T_std As Byte
Dim Minute As Byte , Stunde As Byte , Wotag As Byte , Tag As Byte
Dim Monat As Byte , Jahr As Byte , Pari As Byte , Pau As Byte , Imp As Byte

' Eingangssignal DCF-Empfänger
Config Pind.5 = Input ' DCF 77 Eingang
Set Portd.5 ' Pullup einschalten
' ^^^^^^^^ Muss in der "Dcf77.lib" angepasst werden !
' PIND.5 ist $10 laut M8-Datenbl_kl S.7


'-------------------------------------------------------------------------------
' Display Grundeinstellung
'-------------------------------------------------------------------------------

BurningWave
17.07.2008, 14:38
Wenn man die Pin "PON" des Moduls mit dem µC verbindet, dann ist das Modul also aktiviert, wenn der PORT am µC also low ist, oder?



Wichtig bei dem preisgünstigen Pollin-Modul ist nur, dass man PON zunächst H hält und erst mehrere Sekunden später auf L legt.


Wiso soll man das Modul am Anfang mehrere Sekunden ausgeschaltet lassen?

fhs
17.07.2008, 14:59
Hallo,


...Wiso soll man das Modul am Anfang mehrere Sekunden ausgeschaltet lassen?
gute Frage: In einigen Foren wurde beschrieben, dass manche dieser Module auch funktionieren, wenn man PON sofort bei Einschalten der Betriebsspannung auf GND legt. Viele andere berichten, dass man erst ein paar Sekunden warten muss, ehe man PON von H auf L zieht. Das ist auch meine Erfahrung; mein Modul funktioniert nicht, wenn PON schon beim Einschalten auf GND liegt. Was der tatsächliche Grund dafür ist? Keine Ahnung!

Viele Grüße

Fred

Grammatik korrigiert 16:49

PICture
17.07.2008, 15:22
Hallo!

Laut der Beschreibung, die ich beim Pollin in dazugehöriger PDF Datei gefunden habe, steht ohne Erklärung, dass zum Starten des Empfangsmoduls nach dem Einschalten der Spannungsversorgung eine fallende Flanke von PON nötig ist.

MfG

jeffrey
17.07.2008, 17:04
Hallo,
vermutlich reagiert es auf die Flanke und nicht auf den Pegel selbst, also entweder einen Port zusätzlich spendieren, oder mit nem c und nem transistor die flanke kurz nach dem einschalten erzeugen, falls es immer eingeschaltet sein soll.
mfg jeffrey

PICture
17.07.2008, 17:48
Hallo jeffrey!

Genau, und im Code ist (hoffentlich) die Schaltung mit einem Transistor, die Du gemeint hast. O:)

Die Diode (D) dient nur der schneller Entladung des C nach dem Abschalten der VCC Spannung vom DCF Modul und kann weg gelassen werden.

MfG

VCC vom DCF Modul
+
|
+---+-----+
| | |
| .-. .-.
D - | |Rb | | Rc
^ | | | |
| '-' '-'
| | |
+---+ +-----> PON
| |
| |/
+---| T
| |>
C --- |
--- |
| |
=== ===
GND GND

jeffrey
18.07.2008, 11:56
hi,
genau so habe ich es gemeint.
mfg jeffrey

BurningWave
19.07.2008, 13:38
Wenn eine fallende Flanke nötig ist, um das Modul zu aktivieren, deaktiviert man es dann mit einer steigenden Flanke wieder?

fhs
19.07.2008, 14:48
Hi,


Wenn eine fallende Flanke nötig ist, um das Modul zu aktivieren, deaktiviert man es dann mit einer steigenden Flanke wieder?

genau!

Gruß

Fred

Spessi
21.03.2009, 19:49
Hallo,
wäre es ausreichend wenn beide Widerstände 330 Ohm und der C 100µF hätte?

Grüße

Edit: und als Transistor nen BC847?

PICture
21.03.2009, 20:17
Hallo!

@ Spessi

Den Widerstand Rb = 330 Ohm finde ich unnötig so klein. Er sollte nur kleiner als Rb = Rc * ßmin sein, wobei ßmin ist die minimale Stromverstärkung des verwendeten Transistors. Bei Größerem Rb kann der C sicher kleiner sein.

MfG

Spessi
21.03.2009, 20:24
Hallo PICture,
leider hab' ich es mit den Berechnungen noch nich so. Ich komm mit deiner Formel bei Rc=330 Ohm auf 36,3Ohm max. für Rb. Wäre da also beispielsweise 20kOhm in Ordnung? Wie kommt man da auf die Zeit die das Teil "wartet"?
Mit RC Gliedern kenn ich mich ja schon etwas aus, nur verwirrt mich die Sache mit dem Transistor noch etwas.

Danke für Deine Antwort und Grüße

PICture
21.03.2009, 21:12
Die 20k passen schon (es sollte wahrscheinlich 36,3 k sein). Der C ladet sich exponentiell von 0 V bis ca. 0,7 V, wenn erst der T fängt zu leiten. Vereinfacht kann man annehmen, dass der C sich für niedrige Spannungen durch Rb mit einem Strom I = Vcc / Rb linear mit Zeitkonstante T = Rb * C aufladet. Die Spannung von ca. 0,7 V wird dann in der Zeit ca. t = 0,7 / Vcc * T erreicht.

MfG

dkarv
05.10.2011, 03:34
Hat jemand einen funktionierenden Assembler-Code für das DCF1-Modul? Wäre sehr dankbar!