TankPi

Hier möchte ich euch meinen selbst gebauten Roboter vorstellen.
Der Roboter ist auf einem Panzerchassis gebaut worden und als „Gehirn“ verwende ich ein Raspberry Pi.
Das Raspberry Pi stellt einen W-LAN Hotspot bereit um eine Verbindung mit einem Laptop herstellen zu können. Über den W-LAN Hotspot ist das Raspberry Pi in der Lage Bildmaterial von der Kamera zu streamen. Zudem verfügt der Roboter über ein Bluetooth Modul um Steuerbefehle einer selbst geschriebenen Android App entgegen zu nehmen. Da die Kommunikation beim Smartphone nur über Bluetooth stattfindet ist der Roboter nicht in der Lage auf direktem Wege Bilder an das Smartphone zu senden.
Perspektivisch habe ich vor ein PC Programm zu entwerfen womit das Raspberrry Pi über LAN gesteuert wird und wo die Livebilder angezeigt werden.
Vorne am Roboter befindet sich ein Servo um mit Hilfe eines Ultraschallmoduls eine Art Radar aufbauen zu können. Dadurch ist der Roboter in der Lage Hindernissen auszuweichen oder ihnen zu Folgen
Der Roboter befindet sich zur Zeit noch im Aufbau und wird nach und nach erweitert.

-> Das Chassis:

Als Chassis verwende ich eine alte Panzerwanne von einem Henglong Panzer, welche ich auf Ebay ersteigert habe. Dieses Chassis beinhaltet die Bodenwanne, die Ketten und zwei Antriebsmotoren.
Die Spannungsversorgung baue ich getrennt auf. Ein Akkupack für die Motoren und ein Akkupack für das Raspberry Pi und die ganze Elektronik.
Für die Motoren verwende ich dieses Akkupack, welches ich in das Akkufach des Chassis gelegt habe, wodurch es keinen Platz weg nimmt.
Die Spannungsversorgung des Raspberry Pi gestaltet sich etwas schwieriger, da ich keine zusätzliche Regelungselektronik mit in die Wanne einbringen wollte, aber genau 5V benötige.
Die Lösung meines Problems ist ein Mobilladegerät für ein Smartphone, welches über eine Kapazität von 20Ah verfügt und zwei USB Anschlüsse besitzt.
Das Raspberry Pi kann dann direkt mit einem Micro-USB zu USB-A Kabel angeschlossen werden.
Zum Laden verwendet das Akkupack einen separaten Mini-USB Anschluss, welchen ich aus Platzgründen mit einem Winkelstecker versehen musste.
Das ganze sieht dann fertig so aus:

TankPi Spannungsversorgung

Das Kabel zum Laden des Akkupacks wird mit einer USB-A Buchse herausgeführt, sodass ich den Roboter mit jedem Handyladegerät und einem USB-A zu USB-A Kabel aufladen kann.
Die Kabel des Akkupacks für die Motoren sind ebenfalls herausgeführt worden um sie ganz einfach an ein Ladegerät anschließen zu können.
Das Ladekabel und die Montageplatte mit dem Servo seht ihr hier:

TankPi Ladekabel

Am hinteren Teil des Roboters befindet sich der Motortreiber und das Spannungsversorgungskabel aus dem Batteriefach:

TankPi Motortreiber

Bei dem Motortreiber handelt es sich um dieses Modul, welches ich bei Ebay ersteigert habe. Das Blech mit dem Motortreiber ist mit langen Abstandssäulen am Chassis befestigt.

-> Die Elektronik:

Die Elektronik besteht aus einem Raspberry Pi, welches ganz normal über USB mit Strom versorgt wird. Der Motortreiber wird über den internen Akku im Akkufach mit Strom versorgt.
Dadurch habe ich die beiden Spannungsquellen voneinander getrennt und muss keine aufwändige Spannungsregelung für das Raspberry Pi realisieren.
Die Eingänge des Motortreibers liegen auf dem 8-pol Connector an Pin 28-31.

Das verbaute Bluetoothmodul ist ein Low-Cost Modul, welches ich hier bestellt habe. Da über die Bluetoothverbindung nur Steuerbefehle gesendet werden sollen, reicht dieses Modul allemal aus. Es ist mit einem Klebepad an der Unterseite der Montageplatte befestigt worden.
Auf dem Raspberry Pi befindet sich eine Adapterplatine von Adafruit, Auf dieser Platine habe ich einen einfachen Spannungsteiler aufgebaut um die 5V UART Signale von dem verbauten Bluetooth Modul zu reduzieren, da das Raspberry Pi 3,3V Pegel benötigt.

Video- und Bilddaten der montierten Kamera werden direkt per W-LAN an einen Laptop oder mein Tablet gestreamt. Da ich nicht wollte, dass sich das Raspberry Pi immer verbinden muss, habe ich mir überlegt einen Accesspoint auf dem Raspberry Pi zu realisieren. Dadurch kann sich das dem entsprechende Gerät ganz einfach per W-LAN aufschalten.
Als Accesspoint verwende ich diesen Stick. Eine genaue Anleitung zum einrichten des Sticks folgt noch.

<Platzhalter Anleitung>

Natürlich funktioniert der Stream nur wenn eine Kamera angeschlossen ist. Im Moment verwende ich die Kamera anstelle des vorher geplanten Ultraschallmoduls, da es kaputt ist und ich noch kein neues bestellt habe. Die Kamera wird demnächst durch die Infrarot Version der Kamera ersetzt. Dadurch erhoffe ich mir, dass der Roboter auch bei schwachen Lichtverhältnissen ein Bild liefert (die „normale“ Kamera rauscht gewaltig bei wenig Licht). Falls es dennoch nicht reichen sollte, wird der Roboter mit einem IR-Scheinwerfer ausgestattet.
Für die Kamera verwende ich eine selbst gebaute Kamerahalterung:

Kamerahalterung TankPi Zeichnung

Die Halterung ist anschließend mit doppelseitigem Klebeband an der Bodenplatte festgeklebt worden.

 

 

Dokumentation:

 

-> Zurück zu den Projekten

6 thoughts on “TankPi
  1. Hallo Kampi,

    würdest du noch etwas genauer ausführen, wie du die Motoransteuerung realisiert hast?
    Alos wie du die PWM erzeugst und die Vor- und Zurückfahrt der Motoren.
    Und wie du die GPIOs mit dem Motortreiber verbunden hast.

    Gruß

    Elchi

  2. Hllo Kampi,
    bin auf deine Seite über den NTP-Server gestolpert und dann hierher.
    Recht interessant, sowas verfolge ich auch seit einiger Zeit.
    Ich habe die Rover 5 Platform. Das ist aber nur Spielzeug. Die Gummi-Ketten fallen dauernd ab.
    Ich will mir eine Wanne und Ketten aus Kunststoff 1:16 zulegen.
    Ist das sinnvoll?
    Sind deine Ketten aus Metall oder Kunststoff und halten die?

    Die Motorsteuerung, die ich habe, ist vielleicht für dich interessant:
    http://www.pololu.com/product/767

    Gruss Rainer

    • Hallo Rainer,

      ich habe meinen Bot noch nicht oft auf der Straße fahren lassen (wollte auch schon ewig den Artikel für den weiterschreiben) – für beides fehlt irgendwie die Zeit -.-
      Aber ich würde für einen Außeneinsatz auf Asphalt etc. eher Metallketten empfehlen. Die Kunststoffketten gehen zwar nicht so schnell kaputt, allerdings habe ich den Bot auch bisher nur auf Parkett fahren lassen (für sowas vielleicht ein paar Gumminoppen an die Ketten machen um mehr Grip zu haben).

      Die Motorsteuerung sieht wirklich interessant aus… :)
      Aber fürs erste tut es meine 5€ Chinaplatine auch ^.^ . Danke aber trotzdem für den Hinweis!

      Gruß
      Daniel

  3. Hallo,
    ich beschäftigte mich derzeit selbst mit der Programmierung eines Roboters und suche eine Möglichkeit die Tastatur abzufragen. Bsp. bei gedrückter Taste „fährt gerade aus“ beim loslassen der Taste „Stop“. Wie wurde das hier realisiert?

    • Hallo Tobias,

      die Tastatur ist am Pi angeschlossen?
      Ich habe das ja über eine App gemacht, indem ich per Bluetooth einen Text an den Pi gesendet habe.
      Dieser hat den Text ausgewertet und sich dann entsprechend bewegt.

      Gruß
      Daniel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.