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.
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ß.
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.
Firmware Binaries und Quelltexte | |
Layout für Lochrasterplatine |