Was ist das? YADRO benutzen Im Detail |
Protokolle der MessleistenEs gibt zwei verschiedene Protokolle der "Billigen Chinesischen Messleisten". Hier zu finden: Die hier beschriebenen Protokolle sind die, die DRO:int4 direkt versteht. Es gibt eine kleine Adapterplatine die an DRO:int4 passt und somit auch Quadraturencoder auslesen kann.
Betriebsarten umschalten:Die Messleisten lassen sich in verschiedene Betriebsarten umschalten indem man die Taktleitung oder die Datenleitung auf H (= 1,55V) zieht. Nicht alle Leisten haben dazu entsprechende Knöpfe oder beschreiben die Modi in deren Handbuch. Es scheint aber so zu sein, dass sich alle auf die gleiche Art und Weise umschalten lassen. Die Betriebsarten und wie man sie wechselt, lässt sich am Besten in einem Zustandsdiagramm darstellen:
Grau hinterlegte rechteckige Kästen sind Ereignisse, runde "Kästen" Zustände. Mögliche Ereignisse sind:
Es gibt noch weitere Ereignisse wie ON/OFF oder mm/inch, aber die sind entweder offensichtlich oder ändern den Modus in jedem Zustand. Mögliche Modi sind:
NB: Es finden sich gültige und sinnvolle Kombinationen im Zustandsdiagramm.
Dieses Protokoll ist seltener anzutreffen Ich habe bis jetzt nur einen Lieferanten gefunden (ALDI) der digitale Messchieber mit diesem Protokoll angeboten hat. Für EUR 9.99 waren sie aber billig genug um auch das Protokoll zu implementieren und analysieren.
Das Signal. Oberer Kanal ist der Takt, unterer Kanal die Daten. Ein ganzes Telegramm ist ca. 780us lang. Jedes Paket wird als 4 Bits (BCD). Das letzte Paket trägt Zusatzinformationen. Das ganze Telegramm besteht aus 7 Paketen. Somit können maximal 6 Stellen übertragen werden, was einer Maximalanzeige von 9999,99mm entspricht.
Zwei Pakete (die ersten beiden) etwas genauer unter die Lupe genommen. Ein Paket wird von einem Vorspann eingeleitet, der ca. 54us H-Pegel ist. Danach folgen 4 Takte die die Bits signalisieren. Gelesen wird jeweils auf der fallenden Flanke. Im ersten Paket steht (LSB zuerst!) die niedrigste Zahl. Bei einer Anzeige von 123,45mm also zuerst die "5", dann die "4" usw.
Ein einzelnes Paket nochmal genauer, um das Timing Clock/Data etwas besser erkennen zu können. Gelesen wird immer auf der fallenden Flanke. Das letzte Paket: Im letzen Paket werden keine Zahlen übertragen, sondern zusätzliche Informationen. Das ist im einzelnen (LSB zuerst):
2 * 24 Bit ProtokollDas ist das gebräuchliche Protokoll Es besteht aus 2 Paketen mit je 24 Bit Daten. Darum nenne ich es 2 * 24 Bit. Andere nennen es Sylvac Protokoll (wohl der Erfinder).
Das Signal. Der obere Knal zeigt Clock, der untere Data.Ein komplettes Datagramm ist ca. 850 us lang. Es gibt 2 Pakete, jedes Paket hat 24 Bits. Das erste Paket übeträgt die absolute Position. Nachdem die Messleiste aber keine Absolut-Marken hat, ist die Information eher sinnlos, da sie sich nach jedem Ausschalten ändert. Im 2. Paket steht die relative Position in Bezug auf die letzte Position an der "ZERO" gedrückt wurde.
Teil des ersten Paketes näher betrachtet. Es gibt eine Präambel von ca. 53us. Danach kommen 23 Pulse mit einer Zyklenzeit von ca. 13us. Wie beim Messscheiber mit 7BCD werden die Daten bei der fallenden Flanke gelesen. Die Bits werden mit dem LSB zuerst übertragen. Die Daten sind im 2er Komplement.
Wer glaubt die Daten lesen zu müssen während Clock H ist, soll sich den Glitch auf Data im oberen Bild ansehen. Es werden keine Informationen übertragen in welchem Zustand sich die Messleiste befindet. Keine Einheit, kein "Hold", nichts. Die Daten sind nicht direkt eine Wiedergabe des Displays. Um die Daten interpretieren zu können müssen sie skaliert werden. Jedes Zoll ist in 20480 Schritte unterteilt. Oder jeder mm in 806,299 Schritte. Ui! Das würde ja eine Auflösung von 0.0012mm ergeben! Nein, nicht ganz. Die letzten Bits zittern recht instabil. Durch Filterung und Mittelwertbildung lässt sich aber die Genauigkeit erhöhen. Soweit ich es erkennen konnte, ist der "Jitter" +/-5 Stellen. |