Baue deinen eigenen Kampfroboter!

Wer kennt es nicht? Man hat gerade Leerlauf und Lust auf ein lustiges Projektchen, nicht um die Welt zu retten, sondern einfach zu Spaß haben. Genau dafür ist Kampfroboter basteln da! In dieser Anleitung erfährst du, wie du einen per WLAN steuerbaren Mini-Kampfroboter bastelst. Am besten überzeugst du deine Freunde, sich auch einen zu basteln, damit ihr eure Roboter gegeneinander antreten lassen könnt.

Der Bau des Battlebots teilt sich in folgende grundsätzliche Schritte auf:

Vorbereitung

Eine gewisse Grundausstattung an Werkzeugen brauchst du für dieses Projekt, jedoch nichts, was über die übliche Hobbyausstattung hinausgeht:

Erforderliches Werkzeug (Mindestanforderungen):

  • Lötkolben
  • Multimeter
  • Ein Satz Präzisionsschraubenzieher
  • Knipszange

Erforderliche Bauteile:

  • Zwei SG90 Servo-Motoren
  • Ein ESP8266 (WemosD1 Boardform) <-Das ist ein Microcontroler
  • Ein LiPo Akkumulator 200-800 mA
  • Ein Step-Up MT3608
  • Vier 1 kΩ Widerstände
  • Ein 220 Ω Widerstand
  • Ein 100 kΩ Widerstand
  • Eine LED
  • Draht
  • Einen Schalter

Prinzipiell lassen sich diese Schritte in beliebiger Reihenfolge bearbeiten, mit Ausnahme der letzten beiden. Es empfiehlt sich allerdings mit dem Servo-Hacking zu beginnen. Das ist ein frickeliger Schritt, den man am besten schnell hinter sich bringt.

Servo-Hacking

Ein Servomotor ist vereinfacht gesagt ein Elektromotor, dessen Winkelposition bestimmbar und einstellbar ist. Diese Eigenschaft ist sehr nützlich, wenn man beispielsweise bei Modellflugzeugen den Anstellwinkel von Flügeln oder die Position der Landeklappen genau steuern möchte.

In der Mikroelektronik werden gerne die sogenannten „SG90“ Mikroservomotoren verwendet, da sie sehr günstig sind und problemlos direkt über einen Mikrokontroller steuerbar sind (größere Motoren ziehen zu viel Strom und lassen sich nicht ohne weiteres direkt von einem Arduino o.ä kontrollieren). Die Zusatzbezeichnung 9g bezieht sich leider nicht auf die Beschleunigung die der Servomotor erreichen kann, sondern auf seine Masse, nämlich 9 Gramm. Der SG90 kann eine Position zwischen 0 und 180° einnehmen. Ein Servomotor ist als Antrieb für Battlebots erstmal also nicht hilfreich, da das Rad somit nur eine halbe Umdrehung vorwärts und eine halbe Umdrehung rückwärts machen könnte.

Der Servomotor kann aber gehackt werden. Vereinfacht gesagt wird dem Servomotor vorgegaukelt, dass er sich permanent in der gleichen Position befindet, z.B. 90°. Dann wird ihm aufgetragen sich z.B. zu 150° bewegen. Der Servomotor dreht sich und dreht sich um die 150° zu erreichen, und hält nicht an, da er denkt er befindet sich immer noch auf der 90°. So macht man aus einem 180° Servomotor einen Motor, der eine kontinuierliche 360° Bewegung ausführen kann und damit bestens geeignet ist, um den Battlebot anzutreiben.

Wie passiert das konkret? Der Servomotor bestimmt seine Winkelposition über ein sogenanntes Potentiometer. Das Potentiometer ist im Grunde ein Gesamtwiderstand der sich variabel in zwei Einzelwiderstände aufteilen lässt. Je nach Motorposition ergibt sich eine unterschiedliche Verteilung der zwei Einzelwiderstände, die dann erfasst wird und in eine Gradzahl/Position umgerechnet wird. Der Hack besteht darin dieses Potentiometer herauszulöten und durch zwei einfache Einzelwiderstände zu ersetzen. Da die Verteilung der Widerstände so immer gleichbleibt, denkt das Potentiometer somit, dass es sich immer auf der gleichen Position befindet und meldet dementsprechend immer die gleiche Gradzahl/Position an die Steuerung.

  • Zunächst muss der Servomotor aufschraubt werden. Die vier kleinen Schrauben an der Hinterseite des Servos gilt es zu lösen und herauszunehmen. Damit kann das Vorderteil des Servos abgenommen werden und das Zahnradgetriebe wird freigelegt. Die Zahnräder müssen abgenommen werden, am besten legt man sie so auf den Tisch, dass man sie später wieder problemlos in der richtigen Reihenfolge aufsetzen kann.
  • Einige ältere Varianten der SG90 besitzen zusätzlich einen mechanischen Stopper am zweiten Zahnrad. Dieser Stopper verhindert eine 360° Drehung und muss entfernt werden. Das macht man am besten einfach vorsichtig mit einem Cuttermesser.

  • Wenn der Motor und das kleine Board des Servos komplett freigelegt sind, kann das Potentiometer herausgelötet werden. Hier hängt von der eigenen Präferenz ab, wie man vorgehen kann. Eine Methode ist, dass Lötzinn zu erhitzen und die Potentiometer-Beine abwechseln immer wieder etwas rausruckeln und ziehen, bis es raus ist. Hier lohnt es sich die Beine vorher abzuknipsen, das vereinfacht die Sache. Alternativ kann man das Lötzinn absaugen, wenn eine Absaugepumpe zur Verfügung steht. Wenn das Lötzinn erst mal weg ist, lässt sich das Potentiometer sehr leicht rausnehmen.
  • An Stelle des Potentiometers sollen nun zwei gleiche Widerstände (zwischen 1 kΩ und 10 kΩ) eingelötet werden. Wie groß die Widerstände genau sind ist nicht wichtig, am Wichtigsten ist, dass sie möglichst gleiche Werte haben. Es empfiehlt sich die Widerstände noch einmal zu messen vor dem Einbau, da auch Widerstände gleicher Größe natürlich durch Fertigungstoleranzen voneinander abweichen können.
  • Spätestens hier lohnt es sich das Lötzinn in den Löchern des kleinen Servo-Boards abzusaugen, damit die Widerstände zum Verlöten entspannt eingesetzt werden können. Es geht aber mit etwas Mühe auch ohne. Die Widerstände und ihre Drähte sollten natürlich keine anderen Bauteile berühren. Die Drähte die unten herausragen werden abgeknipst.

  • Der Servomotor kann anschließend wieder zusammengebaut werden.

3D-Druck des Gehäuses und der Räder

Die Einzelteile des Battlebots sind bereits vorkonstruiert und müssen nur auf einem beliebigen FDM 3D-Drucker ausgedruckt werden. Die files sind auf Thingiverse https://www.thingiverse.com/thing:4888287 zu finden. Natürlich kann die Optik auch noch angepasst werden und zusätzliche Dekorationselemente entwickelt und gedruckt werden.

Für die slicing-Einstellungen reichen Standardeinstellungen – der Druck ist nicht anspruchsvoll. Es empfiehlt sich ein Standardprofil des präferierten Slicers zu nehmen. Die Elemente „Body“ und „Lid“ können flach auf der Druckplatte angeordnet werden. Stützstrukturen, der sogenannte Support, kann bei den Aussparungen für die Servomotoren gesetzt werden. Jedoch kann man auch darauf verzichten, wenn man Vertrauen in die „bridging“-Fähigkeiten seines 3D-Druckers hat. Der Rest der Konstruktion ist ohnehin 3D-Druck gerecht gestaltet und hat keine Überhänge, die sich schwer drucken lassen.

Ein paar Eckeinstellungen

  • Schichthöhe 0.2 mm
  • Infill 20%
  • 3 Wandstärken
  • Geschwindigkeit 50mm/s
  • PLA oder PETG

Auch die Räder besitzen eine flache Seite, für die Auflage auf der Druckplatte ohne Stützstrukturen. Bei den Rädern gibt es eine Besonderheit. Für den maximalen Grip ist es wichtig, dass die Räder eine möglichst gummiartige Oberfläche haben. Dazu gibt es prinzipiell zwei mögliche Lösungen: Silikon oder TPU-Filament. Ambitionierte Bastler, die vor Silikonguss nicht zurückschrecken, können die innere Radstruktur in einen einhüllenden Silikonmantel gießen. Eine wesentlich sauberere, stressfreie Variante ist es einen Radmantel mit flexiblem Filament (TPU) zu drucken und über das starre Rad zu stülpen.

Zusammenlöten der Komponenten

Für den Battlebot braucht man folgende grundsätzliche Komponenten:

  • Ein Akkumulator
  • Ein Laderegler für den Akkumulator(optional)
  • Eine Steuerung
  • Ein sogenannter Step-Up
  • Kleinteile wie Draht, ein Schalter, eine LED, Widerstände

Der Akkumulator.

Der Akkumulator ist ein sogenannter LiPo – ein Lithium-Polymer Akkumulator. Das „Polymer“ beschreibt den Elektrolyten, denn anstelle eines flüssigen Elektrolyten wird hier ein fester Polymerelektrolyt verwendet. Diese Beschreibung ist leicht irreführend. Der Polymerelektrolyt ist eine Folie und kann besonders kompakt in beliebiger Form gewickelt werden. Diese Art Akkumulatoren sind daher im Modellbau besonders beliebt, da sie eine hohe Energiedichte erreichen können und schnell geladen werden können.

Ein Laderegler.

Ein Akkumulator kann nicht beliebig geladen werden, sondern immer nur innerhalb eines gewissen Spannungsfensters. Ein Unter- oder Überschreiten der zulässigen Spannung schädigt den Akku und führt im Zweifelsfall zu einem thermischen Durchgehen, inklusive Flammen, oder anderen unangenehmen Dingen. Ein Laderegler unterbricht z.B. den Ladevorgang beim Erreichen der maximalen Spannung. Warum ist der Laderegler dann optional, wenn er doch so wichtig ist? Wenn man ein spezielles LiPo-Ladegerät besitzt, kann man den Akkumulator auch außerhalb des Battlebots laden und dann frisch geladen wieder einsetzen.

Die Steuerung.

Für die Steuerung muss ein Mikrokontroller her: ein Minicomputer auf einem einzigen Chip, wie z.B. der bekannte und beliebte Arduino. Ein Arduino ist für diese Aufgabe jedoch überdimensioniert. Zudem muss der Battlebot ja ferngesteuert werden, z.B. über W-LAN. Die Lösung ist ein sogenannter ESP8266, ein sehr kleiner, günstiger, W-LAN fähiger Mikrokontroller. Dieser hat verschiedene Pins (Anschlussmöglichkeiten, die Eingänge oder Ausgänge zu dem Mikrokontroller darstellen). Diese Pins haben z.T. bereits festgelegte Funktionen – die verschiedenen Pinbezeichnungen sind auf der Platine neben den Pins aufgedruckt.

Die ESP8266 gibt es vielen verschiedenen Ausführungen, daher soll man sich nicht wundern wenn der eigene ESP8266 nicht genau so aussieht und unterschiedliche Pins hat. Für dieses Projekt ist die sogenannte “WemosD1 Boardform” anzuempfehlen, da sie besonders kompakt ist.

Der Step-up

Der Step-Up ist ein Spannungsbooster, der eine Gleichspannung erhöhen kann. Um die Notwendigkeit des Step-Up zu verstehen, muss man in die unterschiedlichen Spannungsbereiche der Komponenten schauen. Für die Servomotoren wird ein Betriebsspannung zwischen 4.8 V bis 6 V empfohlen. Der LiPo-Akku liefert jedoch im vollgeladenen Zustand nur 4.2 V und mit sinkendem Ladezustand sinkt auch die gelieferte Spannung. Der ESP8266 muss mit 5V betrieben werden. So oder so muss die LiPo-Eingangsspannung auf jeden Fall erhöht werden.

Grundsätzliches Schaltungsschema vor Step-up

Um die Schaltung einfacher zu verstehen, ist es besser sie getrennt zu betrachten – der Teil vor dem Step-Up und der Teil nach der Schaltung. Zunächst den Teil vor der der Schaltung:

Im Endeffekt wird der LiPo an den Step-Up Eingang angeschlossen. Der Stromkreis vom LiPo Pluspol zum Plus-Eingang wird aber durch den Schalter unterbrochen um den LiPo über den Schalter zuzuschalten oder zu trennen. Parallel zum LiPo wird die Statusanzeige (Widerstand + LED) angebracht. Wenn der Stromkreis geschlossen wird, fließt parallel ein Strom über die LED, die aufleuchtet und anzeigt, dass der LiPo angeschlossen ist. Der Widerstand schützt die LED vor zu hohen Strömen.

Bei dem Step-Up ist eine Sache wichtig zu beachten: Er hat bereits einen vorher eingestellten, unbekannten Spannungoutput. Daher ist es sinnvoll am Anfang erst einmal zu schauen, welchen Spannungsboost er hervorruft, und zwar ohne, dass Bauteile an der Ausgangsseite angeschlossen sind. Die Messung kann ganz einfach über ein Multimeter (eingestellt für Gleichspannung, in der Größenordnung bis 24 V) gemacht werden. Dafür wird der Schalter umgelegt und der Ausgang des Step-up gemessen. In dem Beispiel ist hier eine Outputspannung von 15V eingestellt. Wenn man diese aus Versehen auf ein Bauteil gibt, das dafür nicht ausgelegt ist, ist das nicht so gut.

Die Outputspannung wird dann Drehen der Schraube an dem großen blauen Bauteil justiert, bis 5,5 V erreicht werden. Diese Outputspannung ist an kein Übersetzungsverhältnis gekoppelt, sondern wird auch bei sinkender Akkuspannung konstant bleiben. Warum 5,5 V, wenn doch der ESP8266 5V braucht und die Servos zwischen 4,8 und 6? Es ist wie so oft im Leben ein Kompromiss. Einen zweiten Step-up einzubauen um einmal 5V für den ESP8266 und 6 V für die Servos zu generieren ist „over-the-top“. 5.5V ist ein guter Kompromiss um beide anzutreiben – der Mikrokontroller hält es noch aus und die Servomotoren haben genug Saft.

 

 

 

 

 

 

 

 

 

 

 

Grundsätzliches Schaltungsschema nach Step-Up

Die abgebildeten Komponenten müssen einfach dem Schaltschema entsprechend verlötet werden. Ob man mit Pins arbeitet oder ganz klassisch verlötet, ist egal, Hauptsache die Verbindungen sitzen. Da es im Kampfroboter vom Platz her auch ziemlich eng wird, solltet ihr alle offenen Drähte abisolieren, damit kein Kurzschluss entsteht.

Flashen des Codes

Einen saucoolen Namen für deinen Battlebot überlegen

Finaler Zusammenbau

Battlebots deiner Freunde plattmachen

Leave a Reply

Your email address will not be published.