PiKoder     ...digital RC for Makers...

Open Source Arduino Digital RC Fernsteuersender

Schematischer Aufbau Arduino Digital RC

Arduino Digital RC stellt einen hochwertigen RC Fernsteuersender dar. Im Gegensatz zu traditionellen Fernsteuerungen erfolgt jedoch die Kodierung der Kanalinformationen nicht mit PPM-Signalen, sondern rein digital auf Basis des miniSSC-Protokolls. Zur Kommandoübertragung wird dann nur noch eine transparente serielle Verbindung wie Bluetooth, Wifi oder XBee benötigt. Als Empfänger kommt beispielsweise bei Bluetooth ein PiKoder/SSC RX zum Einsatz.
 
Der Sender wird mit einem Arduino realisert und basiert auf dem Open Source Projekt "arduinorc" von Richard Goutorbe. Damit stehen "automatisch" Leistungsmerkmale wie:
  • bis zu 9 Proportional-Kanäle (Nano, bei Uno maximal 6 Kanäle)
  • bis zu 6 zusätzliche Schaltkanäle
  • 9 Modellspeicher
  • Dual Rate und Exponential Schalter
  • Throttle Cut als Sicherheitsfunktion
  • 2 programmierbare Mixer
  • Justagemöglichkeiten für Endpositionen, Steuerknüppel und Servos
  • Throttle Sicherheitscheck beim Programmstart
  • Optionale Batterieüberwachung mit Alarm
  • Programmierbar unter Windows und Linux über USB-Schnittstelle und Terminalapplikation
 
Der arduinorc-Sketch wurde zum ArduinoDTx modifiziert, der am Arduino Ausgang D6 nun alle Kanalinformationen im miniSSC-Protokoll ausgibt. Es wird jedesmal dann eine Nachricht erzeugt, wenn sich die Position einen Steuerknüppels verändert hat. Die PPM-Ausgabe ist komplett entfallen.
 
Der ArduinoDTx Sketch (.ino-Datei) ist Open Source und wird über ein entsprechendes github Repository unter den Bedingungen der GNU General Public License Version 3 zur Verfügung gestellt wird.

Digitale Vierkanal-Fernsteuerung

Schematischer Aufbau Arduino Digtial RC
Als konkretes Anwendungsbeispiel soll nun eine digitale Fernsteuerung mit vier Kanälen realisiert werden. Der Aufbau des Prototypen ist im Bild dargestellt. Die zwei Thumb-Joysticks belegen die Anschlüsse Pot 1/2 und Pot 3/4 gemäß des oben dargestellten Schaltbildes. Die Verbindung zu den Analogpins des Arduino wird über ein Prototyp-Shield hergestellt. Dieses nimmt praktischerweise auch den Mode-Schalter und die LED mit ihrem Vorwiderstand von 270R auf.
 
Die Fernsteuerung ist für Batterieversorgung ausgelegt. Um auch beim Einsatz von Akkus mit einer Nennspannung von 1,2 V die erforderliche Mindestbetriebsspannung des Arduino von 6 V zu erreichen, wurde ein Batteriehalter für 5 AA - Zellen vorgesehen. Die beiden seitlichen Brettchen dienen zum Abstützen der Handflächen und erleichtern die Bedienung ganz erheblich.
 
Die USB-Schnittstelle des Arduino ist bei diesem Aufbau sehr gut zugänglich, so dass Firmware geladen werden kann und die spezifische Anwendungsparametrierung möglich ist.
 

Inbetriebnahme und Test

Testaufbau Arduino Digtial RC
Die Inbetriebnahme beginnt mit dem Download des aduinodtx Sketch (.ino-Datei), der über ein entsprechendes github Repository zur Verfügung gestellt wird. (Hinweis: zur Übersetzung des Sketches wird die Arduino Library "TimerOne" benötigt).
 
Nach dem erfolgreichen Upload des Sketches in den Arduino, kann die Funktion der Fernsteuerung am einfachsten mit dem rechts dargestellten Aufbau einer drahtgebundenen Fernsteuerung gestestet werden. In der Standardkonfiguration der Software werden durch die Pots 1 - 4 die entsprechenden Servokanäle 1 - 4 angesteuert.
 
Sind spezifische Anpassungen und Modelldefinitionen vorgesehen, dann sind diese gemäß der "arduinorc"-Beschreibung vorzunehmen: Alle Kommandos zur Programmierung der Fernsteuerfunktionen des "arduinorc" sind weiterhin verfügbar (Kommando Dokumentation).
 
 
 
 
 
 
 

Erweiterung auf Bluetooth

Bluetooth Shield Konfiguration für Arduino Digtial RC
Die digitale Fernsteuerung kann mit einem ITEAD-Bluetooth Shield und einem PiKoder/SSC RX als Empfänger mit einfachen Mitteln zu einer drahtlosen Fernsteuerung ausgebaut werden. Da die Übertragung transparent geschieht, sind keine Anpassungen der Arduino-Software gegenüber der drahtgebundenen Version vorzunehmen und es steht der volle Funktionsumfang der Fernsteuerung zur Verfügung.
 
Der prinzipielle Aufbau des Senders ist im Bild dargestellt. Vor der erstmaligen Inbetriebnahme ist die Verbindung zwischen den beiden Bluetooth-Modulen zu konfigurieren. Das PiKoder/SSC RX User Manual beschreibt die notwendigen Schritte im Detail.
 
 
 
 
 
 

Erweiterung auf Wifi

Wifi Konfiguration für Arduino Digtial RC
Die digitale Fernsteuerung kann mit einem Pegelwandler, zwei Jumpern als UART-Multiplexer, einem ESP8266-01 Wifi-Modul, einem Spannungswandler und einem PiKoder/SSC wRX als Empfänger mit einfachen Mitteln zu einer drahtlosen Fernsteuerung über Wifi ausgebaut werden. Da auch in diesem Fall die Übertragung transparent geschieht, sind keine Anpassungen der Arduino-Software gegenüber der drahtgebundenen Version vorzunehmen und es steht der volle Funktionsumfang der Fernsteuerung zur Verfügung.
 
Der prinzipielle Aufbau des Senders ist im Bild dargestellt. Der Aufbau der Hardware sowie die Konfiguration der Wifi-Module ist in meinem Makerblog im Detail beschrieben.
 
 
 
 
 
 
 
 
 
 
 
 

Weitere Anwendungsbeispiele

Um größere Reichweiten zu erzielen, kann die digitale Fernsteuerung alternativ auch auf XBee umgestellt werden. Der Aufbau wird bei den Makerprojekten und in der PiKoder/SSC Application Note #3: XBee Communication beschrieben.
 

Unterstütze Produkte

Bausatz für PiKoder/SSC Empfänger

PiKoder/SSC wRX WLAN Empfänger Bausatz
English
Logo Pikoder
Shopping cart
PiKoder
...digital RC for Makers...
English
Logo PiKoder
Shopping cart
PiKoder       ...digital RC for Makers...