Messuhr-Schnittstelle

Billige Messuhren mit begrenzter Genauigkeit sind zu einem sehr kleinen Preis erhältlich. Im Gegensatz dazu sind die zugehörigen Datenkabel — wenn überhaupt erhältlich — extrem teuer. Deswegen entstand ein kleines Dateninterface, das per USB einen virtuellen COM-Port bereitstellt und die Messdaten an ein Terminal sendet.

Foto: Messuhr-Interface und Messuhr
Messuhr-Schnittstelle basierend auf einem preiswerten blue-pill-Board und einem kleinen Pegelwandler, aufgebaut auf Lochrasterplatine (Zum Vergrößern auf das Bild klicken)

Für ein kleines Nebenprojekt benötige ich eine Messuhr. Da ich einerseits zu faul bin, hunderte Messwerte von einer analogen Messuhr abzulesen und andererseits billige Messuhren mit begrenzter Genauigkeit für unter 20 Euro zu bekommen sind, wurde es eine solche. Kommerzielle Datenkabel für Messuhren und -Schieber sind extrem teuer. Deshalb entstand dieses Interface, das die Messdaten über einen virtuellen COM-Port bereitstellt.

Einen zu vernünftigen Preisen erhältlichen Steckverbinder scheint es nicht zu geben. Also wurde kurzerhand ein Flachbandkabel auf die Leiterplatte gelötet. Das Datensignal wird von der Messuhr, sobald sie eingeschaltet ist, ständig im 100-Millisekunden-Raster gesendet und besteht aus einem 24-Bit-Signal (Takt und Daten) auf 1,5 V-Pegeln.

Der erforderliche Pegelwandler ist auf Lochrasterplatine schnell aufgebaut, und irgendein billiges Mikrocontroller-Evaluations-Board sollte man als Bastler sowieso auf Lager haben. Die blue-pill-Boards sind mit einem STM32F103C8T6 bestückt und passen zusammen mit einer Lochrasterplatine noch in ein kompaktes Gehäuse. Bei meinem blue-pill-Board war —wie üblich— der USB-Pull-Up-Widerstand falsch bestückt, was sich schnell korrigieren ließ.

Foto: Oszillogramm des Datentelegramms
Datentelegramm: Takt (oben) und Daten (unten). Auch wenn es oberflächlich nach sechs Halb-Bytes aussieht und damit BCD suggeriert, handelt es sich um einen zusammenhängenden 24-Bit-Wert. (Zum Vergrößern auf das Bild klicken)

Die Firmware ist eine Fingerübung. USB-seitig kann das „Virtual COM Port Example“ des STM32 USB-FS-Device development kits[1] nahezu unverändert übernommen werden. Die Schnittstelle der zwei bekannten Messschieberprotokolle ist auch auf zahlreichen Websites[2][3][4] bereits beschrieben.

Leider scheint es keine Möglichkeit zu geben, die billige Messuhr vor dem selbsttätigen Abschalten nach einigen Minuten zu bewahren. Die Messsituation muss also so eingerichtet sein, dass sie sich während der Messsaufgabe nullen lässt.

Downloads

zip Firmware Binaries und Quelltexte
zip Layout für Lochrasterplatine

Links

DL1DOW German Amateur Radio Station