Nachdem das Auslesen der Drehencoder des robolinks - zumindest in Form eines experimentellen Aufbaus - recht schnell und problemlos realisiert war, hat Herr Martin Raak, einer der igus Entwicklungsingenieure des robolinks, bei mir angefragt, ob ich nicht ein einfaches kleines Encoderauslesegerät für ihn bauen könnte. Das Gerät sollte einerseits dazu dienen, die einwandfreie Funktion der Encoder im Gelenk überprüfen zu können, andererseits dazu, ihre Funktionsweise für Demonstrationszwecke anschaulich zu machen. Weil ich nach wie vor begeistert von dem robolink-Konzept bin, habe ich mich über dieses Interesse seitens der Firma igus natürlich sehr gefreut und bin der Anfrage dementprechend gerne nachgekommen. Im Folgenden beschreibe ich kurz das Gerät, das in diesem Rahmen entwickelt wurde.
Die grundlegende Funktionsweise hatte ich ja schon im Zusammenhang mit meinem ersten Prototypen angedeutet: Die beiden Freiheitsgrade im robolink sind mit jeweils einem Drehencoder ausgestattet. Die Encoder geben ein Quadratursignal aus, das darüber informiert, ob und in welche Richtung ein Schritt im Gelenk stattgefunden hat. Es steht somit nur eine inkrementelle Information zur Verfügung. Um daraus die absolute Gelenkstellung zu ermitteln, müssen zum einen die gemachten Schritte integriert werden, zum anderen muss ein Referenzpunkt zur Verfügung stehen, auf den die relativen Bewegungen bezogen werden. Der Referenzpunkt wird von einem ebenfalls ins Gelenk integrierten Hall-Sensor detektiert. Mein Rotationsdekoder wertet diese Informationen folgendermaßen aus: in einer Bereitschaftsstellung wartet der Dekoder zunächst auf das Erfolgen des Referenzsignals. Währenddessen werden keine Drehbewegungen angezeigt, auch wenn sie stattfinden. Erfolgt das Hall-Sensor Referenzsignal, wird der entsprechende Punkt als Nullpunkt angenommen und von da an alle detektierten Schritte addiert bzw. subtrahiert, je nach Drehrichtung. Der Dekoder kann zu einem beliebigen Zeitpunkt in die Bereitschaftstellung zurückversetzt werden und wartet dann wiederum auf das nächste Erfolgen des Referenzsignals. Dieses ist nützlich, wenn wiederholt die Funktion des Referenzsensors getestet werden soll oder aber das Gelenk gewechselt werden soll, ohne das Gerät neu zu starten. Die Umrechnung der Schrittinformation in einen Winkel erfolgt über einen Faktor, der sich aus der Schrittzahl pro 360° ergibt. Die Schrittzahl pro 360° für die Schwenkbewegung beträgt laut igus 4960, für die Rotationsbewegung 4640 Schritte pro 360°.
Anders als bei meinem ersten Versuchsaufbau, ging es im Falle dieses Gerätes nicht bloß darum, die dekodierten Encoderdaten an einen PC zu übertragen, dieses Gerät sollte auch stand-alone zu betreiben sein, musste also selbst eine einfache Art der Datenvisualisierung bieten. Es verfügt dazu über ein kleines Grafikdisplay. Um die Encoderausgaben sowohl im Detail, als auch "auf einen Blick" verfolgen zu können, verfügt das Gerät über verschiedene Anzeigemodi: In zweien der drei Modi werden die Schrittzahl und die daraus errechnete Winkelstellung für beide Bewegungsachsen gleichzeitig numerisch angezeigt. Zusätzlich kann der Winkel eines der Freiheitsgrade auch in Polardarstellung visualisiert werden, welcher das ist, kann gewählt werden. Um nur einen Überblick zu bieten, können im dritten Anzeigemodus aber auch beide Freiheitsgrade parallel in Polardarstellung angezeigt werden, dann allerdings ohne weitere numerische Daten. Das folgende Bild vermittelt einen Eindruck von den Darstellungsmodi.
Außerdem habe ich ein kleines Video von dem Gerät im Einsatz gemacht, wie üblich wieder etwas verwackelt und improvisiert. Ganz so träge wie es in dem Video erscheint, ist das LCD übrigens nicht...
Neue Box | Mittlerweile ist eine neue Version der Box entstanden. Neben einigen Verbesserungen der Firmware wurde das Gerät mechanisch komplett überarbeitet und ist dadurch nun deutlich kompakter geworden. Außerdem wurde die bei der ersten Version vorhandene RS232 Schnittstelle durch USB ersetzt.