Roboter MeArm II

Nachdem unser MeArm sich inzwischen wie gewünscht per Tastendruck auf einem Tablet oder Smartphone steuern lässt haben wir uns an die Verbesserung der Bedienerfreundlichkeit gemacht. Der Hauptnachteil der zunächst gewählten Realisierung der Steuerung über buttons ist die sich ergebende Gemächlichkeit der Roboterbewegung, da für jeden Tastendruck ein http-request an den Webserver geschickt wird, den dieser dann auswertet und in eine 5 Grad Servobewegung umsetzt. Außerdem ist das wiederholte Betätigen der Buttons ermüdend. Deswegen wurde zunächst die Bedienung über slider umgesetzt.

Slider in einfachem html Code benötigen allerdings nach Einstellen des Schiebereglers die Betätigung eines submit buttons, um die Werte per http-request an den Webserver zu senden. Der gewünschte Verzicht auf den umständlichen submit-button zur Erhöhung der Benutzerfreundlichkeit erforderte dann allerdings viel Recherchearbeit. Schließlich konnte auf circuitdigest.com aber ein Codeschnipsel gefunden werden, das über die jQuery Bibliothek und asynchrone Datenübertragung per Ajax den eingestellten Slider-Wert nach Loslassen des Schiebereglers automatisch an den Webserver liefert. Besonders angenehm hierbei war der Umstand, dass der event-Handler auf dem ESP8266 kaum umgeschrieben werden musste.

Was sich im Laufe des Projekts als noch nicht umsetzbar herausgestellt hat, war die Bedienbarkeit der Slider per Maus am PC und per Finger am Tablet oder Smartphone. “Schuld” daran sind die aktuell noch unterschiedlichen Event handler für die beiden Eingabemethoden. Hier scheint sich aber auf Grund der steigender Verbreitung von Convertibels in nächster Zeit etwas zu tun. Um den Programmieraufwand klein zu halten haben wir uns dazu entschlossen nur die Eingabe per Finger zu unterstützen.

Damit die Servomotoren auch genügend Strom bekommen haben wir wieder unser 5V/2A Standardnetzteil von Pollin verwendet und auf einer Streifenrasterplatine eine entsprechende Buchse mit Pufferkondensator und Steckerleisten verlötet.

Im nächsten Schritt ging es nun darum, die maximal erlaubten Drehwinkel für die Servomotoren sauber in der Software zu hinterlegen und ihre gegenseitige Abhängigkeit entsprechend zu berücksichtigen, damit der Arm vom Benutzer nicht in Zustände mit überdrehten Gelenken gebracht werden kann. Da die Drehwinkel der beiden Servomotoren für die Vorwärtsbewegung und die Auf-Ab-Bewegung des Greifers gegensinnig laufen gelang dies durch eine Abfrage der Summe der aktuellen Drehwinkel und eine Überprüfung ob die Summe in einem festgelegten Intervall liegt. Droht der erlaubte Bereich verlassen zu werden bricht die momentane Bewegung ab.

 Interface

Über Wolfgang Lormes

Ich bin Diplomphysiker und Lehrer für Physik und Mathematik am Markgraf-Georg-Friedrich Gymnasium in Kulmbach. Dort bin ich auch der MINT-Beauftragte, betreue die Robotik AG und das MGF-Lab, bin Fachbetreuer für Physik und Sammlungsleiter sowie der Stahlenschutzbeauftragte und führe eine Junior-Ingenieur-Akademie der Deutsche Telekom Stiftung.

Hinterlasse eine Antwort