eSkateboard mit VESC-Speedcontroller

Seite 4: Sender

Inhaltsverzeichnis

Da die Modellauto-Fernsteuerung etwas unhandlich ist, sollte auch hier eine andere Lösung gefunden werden. Einfach geht es mit dem Analog-Joystick und dem Gehäuse eines alten, defekten Wii Kama Controllers, wobei prinzipiell jeder Nunchuk als Teilespender geeignet sein sollte. Darüberhinaus gibt es die perfekte Software für unsere Fernsteuerung auf GitHub.

Die neue Fernsteuerung basiert auf dem Mikrocontroller Arduino Nano. Er wertet die Signale des Steuerkreuzes und der Taster aus und gibt sie über den Funk-Chip NRF24L01+ an einen Empfänger weiter, der ebenfalls auf Nano und NRF24L01+ basiert. Da die Funktransmitter etwas anfällig sind, kriegen sie einen Linearregler und einen Elko für stabile Spannungsversorgung.

Die Software (hier als ZIP-Datei zum Herunterladen) ist für unser Board angepasst, so dass nur die Libraries aus dem Download-Ordner installiert werden und die Datei ArduBoardControler_Tx.ino kompliert und auf den Arduino Nano geschrieben werden muss. Online gibt es zahlreiche Hilfe beim Einrichten der Arduino-Entwicklungsumgebung und Installieren von Libraries. Die notwendigen Header-Dateien (erkennbar an der Dateiendung .h) sind ebenfalls im Download enthalten.

Am Joystick des Nunchuk müssen diese Verbindungen hergestellt werden.

Zu Beginn wird im Gehäuse des Nunchuk alles bis auf den Joystick und die Taster entfernt und die Platine mit einem Seitenschneider passend gekürzt.

Um die Signale des Steuerkreuzes auszuwerten werden Masse und 5 V der X- und Y-Achse wie auf der Abbildung parallel geschaltet, und die Signale für die Achsen werden über den grünen Draht (X-Achse) bzw. gelben Draht (Y-Achse) an einen Arduino angeschlossen: X an Pin A0 und Y an Pin A1. Die Taster werden an Pin 2 (Taster C) und Pin 3 (Taster Z) angeschlossen.

Die LEDs werden nach dem Verkabeln mit Heisskleber befestigt.

Als Feedback für den Fahrer kommen drei 8 mm WS2812 RGB-LEDs zum Einsatz. Zur Montage werden diese, wie auf der Abbildung des Controllers zu erkennen, einfach in 8,5-mm-Bohrungen im Gehäuse gesteckt und von unten mit Heißkleber fixiert. Das ist nicht sehr elegant, aber schnell gemacht.

Pinout der LEDs

Die erste LED wird mit dem Daten-Eingang (Din) an Pin 4 des Arduinos angeschlossen. Die LEDs zwei und drei jeweils mit ihrem Eingang an den Daten-Ausgang (Dout) der vorhergehenden. GND und Betriebsspannung (Vdd) werden parallel an alle LEDs angeschlossen.

Generell sieht die RollingGecko Software den Einsatz von vier LEDs vor. Da jedoch nur die ersten drei verständliche Informationen liefern, wurde auf die vierte verzichtet. Es ist möglich vom Pin A3 des Arduinos einen kleinen Vibrationsmotor anzusteuern, um ein haptisches Feedback zu erhalten. Dafür ist aber zusätzlicher Transistor oder MOSFET zur Ansteuerung nötig. Aus Platzgründen haben wir darauf verzichtet.

Der Verkabelungsaufwand ist überschaubar

Spannungsteiler

Die erste LED (LED_TX 0 //TX-Voltage) zeigt den Ladezustand des Akkus des Fernsteuersenders an. Ist die LED grün, ist die Fernsteuerung einsatzbereit und bei rotem Licht der Akku leer. Um den Ladezustand zu erfassen, wird die Akkuspannung über einen Spannungsteiler an den Analogeingang A2 des Arduinos angeschlossen. Da dessen A/D-Wandler bis zu 5 Volt misst, verwenden wir für einen 2S-Akku mit maximal 8,4 Volt einen Spannungsteiler mit den Widerständen R1 = 10 kΩ und R2 = 13 kΩ.

Die zweite (LED_TRANS 1 //Transmission) zeigt durch rotes und grünes Blinken die Kommunikation mit dem Empfänger an. Die dritte LED (LED_VOLTAGE 2) signalisiert, wie voll der 8S-Akku auf dem Board ist. Bei einem Ladezustand von mehr als 80 Prozent leuchtet sie grün, im Bereich von 80 bis 60 Prozent gelbgrün, von 60 bis 30 Prozent orange und darunter rot. Um die Akkus zu schonen sollte Fahren im roten Bereich vermieden werden.

Ohne zusätzlichen Schalter wird die Fernbedienung an- bzw. ausgeschaltet, indem im Batteriefach der Akku an- bzw. abgesteckt wird. Genauso kommt man an den Balancer-Anschluss, um den Akku laden. Wer einen Nunchuck ohne Batteriefach verwendet, kann natürlich Schalter und Ladebuchse montieren.

Pinout der verwendeten NRF24 Module

Als letztes muss das NRF24-Board an den Arduino angeschlossen und über den 3,3-V-Linearegler mit Strom versorgt werden.

Arduino Nano NRF25L01+
GND GND
9 CE
10 CSN
11 MOSI
12 MISO
13 SCK
IRQ bleibt frei
3,3 V Ausgang des Stabis und Plus des Elkos
GND Ausgang des Stabis und Masse des Elkos
Nunchuck
5 V +5V
GND GND
A0 Joystick X Ausgang
A1 Joystick Y Ausgang
2 C Knopf
3 Z Knopf
Sonstiges
A2 Ausgang Spannungsteiler
4 Dateneingang der ersten LED
(A3) (Vibrationsmotor)
GND Masse des 2S LiPos
Vin 8,4 V des LiPos

Je ein kleiner Elko wird nach dem Anlöten direkt unter den NRF-Modulen mit Heisskleber befestigt und stabilisiert die Versorgungsspannung.

Am NRF-Board wird direkt auf der Unterseite ein kleiner Elko (etwa 10 bis 22 µF) an die Kontakte der Spannungsversorgung angelötet und mit Heisskleber fixiert.

Nachdem alle Verbindungen hergestellt wurden, sollten die Komponenten in Schrumpfschlauch eingeschrumpft werden, um Kurzschlüssen vorzubeugen.

Nur der Stabi muss noch eingeschrumpft werden, um Kurzschlüssen vorzubeugen.

Lässt man die Leitungen nicht zu lang und arbeitet sorgfältig, passt später alles inklusive des kleinen 2S 450mAh LiPos des Senders in ein Gehäuse. Wird der Sender nun mit Strom versorgt, sollten die LEDs farbig aufleuchten und grün strahlen.

Wenn die Fernsteuerung korrekt funktioniert leuchten nach dem Einschalten alle LEDs grün.
Mehr Infos

Strecke erfassen

Da wir kein OLED-Display nutzen, braucht die Software nicht auf korrekte Erfassung der Wegstrecke eingestellt zu werden. Der Absatz //Calculation Parameter in der Datei Config.h ist angepasst, kann aber auch ignoriert werden.