Joystick Modellfernsteuerung mit Multiprotokoll-TX-Modul iRangeX IRX4+

In den beiden vorhergehenden Beiträgen zur Modellfernsteuerung mit Joystick wurde ein „ganz normaler“ Fernsteuersender zur Kommandoübertragung genutzt. Dabei wurden die Steuerknüppel und diversen Schalter nicht benötigt, weil die Steuerung selber ja durch den Joystick wahrgenommen wird.

Von daher kann der Gesamtaufbau vereinfacht werden, indem statt des kompletten Fernsteuersenders ein Multiprotokoll-TX-Modul wie das iRangeX  iRX4+ eingesetzt wird.

Das Modul kann – genauso wie der Fernsteuersender – direkt über das PPM-Signal vom USB2PPM – PiKoder angesteuert werden. Da das iRangeX bereits ab einer Betriebsspannung von 5 Volt arbeitet, ist keine zusätzliche Batterie erforderlich sondern die Spannungsversorgung erfolgt ebenfalls über den USB2PPM PiKoder. 

Aufbau 

Der USB2PPM PiKoder wird entsprechend der Anleitung aufgebaut. Auch wenn Sie bisher nur eine Cynch-Buchse bestückt haben, lässt sich der dreipolige Header problemlos nachrüsten.

Die Verbindung zwischen dem iRX4+ Moduls wird über ein dreiadriges Kabel (Vcc, PPM und Gnd) hergestellt (s. Bild links unten). An einem Ende des Kabels befindet sich eine dreipolige Buchse zum Aufstecken auf die entsprechende Stiftleiste des USB2PPM, auf der anderen Seite werden die fünf Buchsen des Moduls adaptiert – die Pinbelegung, die das Modul erwartet, sehen Sie im rechten Bild. 

  

 

 

 

 

 

Es sind darüber hinaus keine weiteren Anpassungen oder Änderungen erforderlich. 

Und der hier beschriebene Aufbau ist natürlich genauso in Verbindung mit einem Windows-Notebook zu verwenden.

Joystick Modellfernsteuerung mit Spektrum DXe (2)

Der erste Beitrag dieser Reihe hat ein Notebook verwendet, um die Joystick-Eingaben in Kommandos für den USB2PPM zu übersetzen. Alternativ hierzu kann für ausgewählte Joysticks auch ein Android(TM) Smart Device mit einer entsprechenden App zum Einsatz kommen.  

Der Hardwareaufbau im Titelbild gleicht der Konfiguration im Teil 1 bis auf den Computer, der durch das Smart Device ersetzt wird und den Hub: in Verbindung mit dem Smart Device ist unbedingt ein USB OTG Hub zu verwenden. 

Hinsichtlich der Vorbereitung des Fernsteuersenders gelten die gleichen Überlegungen zur Ergonomie und es empfiehlt sich, die Fernsteuerung wie in Teil 1 beschrieben, mit einem Schalter zu erweitern.

Hinsichtlich der App selber haben Sie die Auswahl zwischen der kostenlosen App Joystick2PPM und einer speziellen  App für Quadrocopter Joystick4UAV (s.u.); beide Apps finden Sie im Google Play Store. 

Joystick2PPM (Android App)

Die Bedieneroberfläche der App entspricht weitgehend der Windows Implementierung und ist intuitiv und einfach verständlich. Auf der linken Seite befinden sich die Joystick – Bedienelemente und die Abbildung auf die Servokanäle erfolgt auf der rechten Seite mit Drop-Down-Boxen.

Der Joystick und der USB2PPM werden nach dem Starten der APP automatisch erkannt. Der Benutzer muss beim erstmaligen Gebrauch den Zugriff der Anwendung auf die entsprechenden USB-Schnittstellen freigeben. 

Bitte beachten Sie, dass die App derzeit nur eine beschränkte Anzahl von Joysticks und anderen Bediengeräten unterstützt. Den aktuellen Stand der kompatiblen Geräte finden Sie jederzeit im Playstore. 

Joystick4UAV (Android App)

Die Joystick4UAV App stellt eine Weiterentwicklung der Joystick2PPM Anwendung dar, die auf die Belange der Fernsteuerung von Quadrocoptern oder anderen Fahrzeugen (UGV) und Booten (USV) mit einem Flight Controller ausgerichtet ist.

Vom grundsätzlichen Aufbau her entspricht die Joystick4UAV den bereits beschriebenen Apps. Die Abbildung der vier Joystick-Achsen erfolgt auf die Fernsteuerkanäle 1-4 entsprechend der üblichen Belegung für Flight Controller. Diese Zuordnung innerhalb der vier Kanäle können Sie natürlich entsprechend Ihrer Präferenzen anpassen. Alle Kanäle können durch Checken der zugehörigen Box invertiert werden.

Der Flight Mode wird im Kanal 5 kodiert. Es stehen sechs Modi zur Verfügung. Die Umschaltung erfolgt über die Joystick-Taster 7-12 (s. Bild rechts unten), wobei Taster 7 Flugmode „1“ einstellt und Taster 12 den Flugmode „6“. Der gewählte Flugmode wird jeweils numerisch angezeigt („1“ im Bild oben) und der Balken entspricht dem übertragenen Kanalwert.

Die verbleibenden Taster 1-6 (Button B1 .. B6 im oberen Bereich) und der Hat-Switch stehen für Sonderfunktionen zur Verfügung und können beliebig den Kanälen 6-8 zugeordnet werden. Wird die zum Kanal gehörige Box aktiviert, dann verhält sich der Taster als Schalter.

Bitte beachten Sie, dass in der App derzeit nur der Logitech Extreme 3D Pro Joystick unterstützt wird.

Modellfernsteuerung mit Webbrowser – intuitiver und reaktiver

In meinen bisherigen Blogs zum Thema Modellfernsteuerung mit Webbrowser habe ich Lösungen vorgestellt, die hinsichtlich der Bedieneroberfläche und der Responsezeiten (Agilität) der Fernsteuerung nur für einfache und nicht zeitkritische Anwendungen geeignet waren.

Die zuerst vorgestellte tastenorientierte Bedieneroberfläche war vergleichsweise träge, weil nach jeder Bedienung wieder die komplette Seite übertragen und neu aufgebaut wurde.

Das verbesserte „Joystick-artige“ Konzept benutzt bereits AJAX, um die Reaktionsgeschwindigkeit zu erhöhen. Allerdings erfordert die Steuerung noch, dass eine Bewegung durch einmaliges Antippen gestartet wird und dann durch erneutes Tippen an einer anderen Stelle des Bildschirms gestoppt wird während man eigentlich erwarten würde, dass die Bewegung solange aktiviert ist, wie die Taste „gedrückt“ wird.

Die neueste Version von httpRC erfüllt nun auf Basis einer tastenorientierten Bedieneroberfläche beide Anforderungen hinsichlich Reaktionsgeschwindigkeit und Logik: ein Befehl wird nur solange ausgeführt, wie der Button gedrückt wird.

Der Source Code für den ESP8266-01 wird über github bereit gestellt. Für die Programmierung habe ich sowohl den bereits beschriebenen Programmieradapter als auch den Arduino Due erfolgreich eingesetzt.

Weitere Informationen zum Empfängerbausatz selber finden Sie auf der entsprechenden Pikoder-Webseite.

Modellfernsteuerung mit Arduino über XBee

Durch die Kombination der Arduino-basierten digitalen Open Source Fernsteuerung arduinodtx mit einem intelligenten Servocontroller wie dem PiKoder/SSC, einem XBee Shield und einem XBee Modul entsteht eine hochwertige Modellfernsteuerung.

Hierbei wird eine transparente Übertragung eingesetzt, so dass keine Anpassungen an der Arduino Software oder der PiKoder/SSC Firmware erforderlich sind; es steht der volle Funktionsumfang der Fernsteuerung zur Verfügung.

Der prinzipielle Aufbau des Senders mit der Jumperstellung für das Arduino XBee Shield ist im Bild unten dargestellt, die Verdrahtung der Steuerknüppel entspricht dem Aufbau auf der arduinodtx Webseite.

xbee-digital-rc_404p

Der Aufbau des kompletten Empfängers bestehend aus dem XBee-Breakout Adapter, dem PiKoder/SSC und einem Spannungswandler zur Erzeugung der benötigten 3,3 Volt Versorgungsspannung sowie die Programmierung der XBee Module ist in der PiKoder/SSC Application Note #3: XBee Communication detailiert beschrieben.

complete-receiver-unit

Prototyp Empfängeraufbau

Modellfernsteuerung mit Tablet oder Smartphone 2.0

Benutzen Sie Ihr Android Tablet oder Smartphone als Fernsteuerung: mit Touch-Kommandos oder durch Bewegen des Tablets kann beispielsweise ein Roboter oder ein Modellauto über Bluetooth ferngesteuert werden. Als Basis dient die Android App picCAR, die als Open Source released wurde und in ablauffähiger Version im Play Store erhältlich ist.  

Diese App unterstützt in der aktuellen Version 1.3 nun zusätzlich zur bisherigen Robotersteuerung ( = Richtungsänderung über Geschwindigkeitsänderung der Antriebsmotoren)  auch „normale“ Fahrzeuge, bei denen ein Kanal zur Lenkung und ein Kanal zur Geschwindigkeitsregelung verwendet wird.

Foto_hoch

Das Tablet oder Smartphone steuert einen PiKoder/SSC über BlueTooth an. Der Einbau und die Verdrahtung des PiKoder/SSC ist schnell vorgenommen.

Detail Einbau PiKoder

Nähere Informationen zum Aufbau des Empfängers finden Sie auf der PiKoder Bluetooth-Fernsteuerseite.

Android Based Robotics

Auf der Suche nach einer geeigneten Plattform für eigene Roboter-Experimente bin ich auf Android Based Robotics gestoßen. Die Idee, die Sensoren, die Kamera und die Rechnerperformance eines Android Smartphone zur Steuerung eines Roboters zu verwenden, hat mich angesprochen.

Die Ansteuerung der Roboterhardware, wie beispielsweise der Motoren, erfolgt über ein IOIO Board, das ja speziell dazu entwickelt wurde, über ein Android Smartphone Aktoren zu steuern.  Die Verbindung zwischen IOIO und Phone wird über Bluetooth realisiert.

Ansicht_02

Der Aufbau der Hardware ist nicht besonders schwierig und erfolgte in meinem Fall auf einer Pertinaxplatte. Das aktuelle PCB-Release des IOIO-Boards hat nur noch einen micro-USB Port, so dass der zur Kommunikation verwendete USB BT Dongle über das mitgelieferte (rote) Kabel adaptiert werden musste.

Die gesamte Verdrahtung kann wesentlich vereinfacht werden, wenn eine Prototyp-Leiterplatte, wie im Bild gezeigt, eingesetzt wird.

Android_Based_Robotics_02

Das komplette Android Based Robotics Projekt ist Open Source; allerdings war der verfügbare Source Code hinsichtlich der Entwicklungsumgebung und verwendeten Libraries für die Videoverarbeitung und IOIO Ansteuerung nicht auf dem neuesten Stand. Ein aktualisierter Stand des ABR_client ist bei github verfügbar.