DCF77-USB-Uhr

Es gibt im Netz ein tolles Projekt über USB-Code für AVR-Controller: VUSB

Henrik Haftmann hat dieses Projekt aufgegriffen und damit einen Umwandler von „DCF77“ → „USB“ gebaut: FunkUSB

Und eHaJo hat dann noch ne Platine davon gemacht und fertigen lassen die unter CC BY SA steht.

Der Schaltplan wurde ein wenig umgeworfen und bekam teilweise neue Bezeichungen oder sonstige Details.

dcfusb-schaltplan.pdf

Die aktuellen Abmessungen betragen 29mm x 17mm (ohne USB-Buchse)

Anzahl Bezeichnung Wert
1 R1 1k5
3 R2-R4 47Ω
2 C1, C2 4µ7
1 LED1 LED grün
1 IC1 ATtiny45-20SU
1 IC2 TPS71533
1 X1 USB-B-Buchse

Windows

Henrik hat eine gute Beschreibung zur Inbetriebnahme unter Windows geschrieben und stellt auch das Programm „Funkuhr.exe“ zur Verfügung. (siehe externe Links) Beim ersten Einstecken wird die Funkuhr erkannt und Windows fragt nach einem Treiber. Dieser ist in der Zip-Datei von Henrik vorhanden (FunkUSB) und kann einfach installiert werden.

Danach sollte man im Gerätemanager den Port kontrollieren den das USB-Funkmodul erhalten hat. (am besten auf eine möglichst kleine Port-Nr. stellen zB COM1, 2, 3, …)

Hier ein paar Bilder vom Programm im Betrieb:

Einstellungen Aufnahme der ersten Bits Erster vollständiger Frame wird aufgenommen Erster Frame in der Bit-Anzeige Vollständiger Frame in der Bit-Anzeige Histogramm über empfangene Bits

Joystick-Version

Henrik hat jetzt eine neue Softwareversion veröffentlicht. Mit dieser wird das DCF77-Modul als Joystick erkannt:

Ansicht Gerätemanager

Der Artikel dazu ist hier zu finden: Link zu Henriks Seite

Mit der neuen Version von Funkuhr.exe kann der Joystick im Hardware-Tab eingestellt werden:

Joystick im Hardware-Tab von Funkuhr.exe

Linux

Der Datei /etc/udev/rules.d/77-local.rules folgende Zeile hinzufügen:

KERNEL=="ttyACM0" SYMLINK+="refclock-0"

Dadurch wird beim Einstecken des Bausatzes ein Symlink von /dev/ACM0 nach /dev/refclock-0 angelegt.

Nun der Datei /etc/ntp.conf folgendes hinzufügen:

server 127.127.8.0 mode 5 prefer # DCF-77 clock

wobei hier für 127.127.8.n gilt: /dev/refclock-n

Ich musste bei Ubuntu 11.04 folgende Datei von apparmor löschen damit ntp Zugriff auf die DCF-Uhr hat: /etc/apparmor.d/usr.sbin.ntpd

Die Diskussion dazu gibt es hier: http://forum.ubuntuusers.de/topic/ntp-serielle-funkuhr/#post-2472530

dmesg-Ausgabe beim Einstecken des DCF-USB:

usb 2-1: new low speed USB device using uhci_hcd and address 18
usb 2-1: config 1 interface 1 altsetting 0 endpoint 0x1 is Bulk; changing to Interrupt
usb 2-1: config 1 interface 1 altsetting 0 endpoint 0x81 is Bulk; changing to Interrupt
cdc_acm 2-1:1.0: ttyACM0: USB ACM device''

ll /dev/refclock-*

lrwxrwxrwx 1 root root 7 2011-05-21 16:35 /dev/refclock-0 -> ttyACM0