ToyCollect V1.0 Roboter - Bauanleitung und Software
15.07.2015
Wenn Sie Stereokameras brauchen, empfehlen wir stattdessen einen V1.21 (R2X) oder V1.3 (K3D) Roboter zu bauen.
Es folgen alle notwendigen Informationen damit Sie einen originalen ToyCollect V1.0 Roboter bauen können.
Hardware
Zuerst müssen Sie einkaufen gehen. Wir brauchen..
|
- 1x Zumo Chassis Kit (#1418)
- 2x 100:1 Micro Metal Gearmotor HP (#1101)
- 1x Basic Sumo Blade for Zumo Chassis (#1410)
- 1x Pololu Qik 2s9v1 Dual Serial Motor Controller (#1110)
- 1x 0.100" (2.54 mm) Breakaway Male Header: 1x40-Pin, Straight
(Leitungsverteiler, #965)
- 1x Premium Jumper Wire 50-Piece Rainbow Assortment F-F 6"
(Verbindungsleitungen, #1700)
erhältlich bei Pololu Robotics and Electronics.
|
|
- 1x Raspberry Pi Model B (rev1) (#756-8308)
- 1x Raspberry Pi Camera Modul (#775-7731)
- 1x Edimax low power WLAN-Adapter EW-7811UN (#760-3621)
- 1x Gehäuse for Model A/B (#764-4389)
erhältlich bei RS Components oder jedem anderen
brauchbaren Geschäft.
Sie können einen RaspberryPi (RPi) Model A verwenden wenn das Gehäuse ca. 5mm
zurück montiert oder ein kleiner Zeil des Sumo-Blades entfernt wird
damit die WLAN USB Karte paßt. Sie können einen RPi Model B+
verwenden wenn Sie ein anderes (oder kein) Gehäuse
verwenden. Model B (rev1) hatte keine Befestigungslöcher also
mußten wir ein Gehäuse verwenden, es macht den Roboter 7mm höher
und ist nicht notwendig. Wir verwendeten auch nur den unteren Teil
des Gehäuses. |
|
- 1x DC-DC Buck Step-Down Spannungskonverter (basierend auf LM2596)
Diese Geräte bekommt man günstig bei eBay oder Amazon. Sie können
bis zu 4A bei 5V ausgeben. Es ist unbedingt erforderlich das die
Ausgangsspannung auf 5V gesetzt wird (mittels Voltmeter und 2x
nachmessen)! Wenn Sie es sich zutrauen, kann auch ein IC mit
einer fixen 5V Ausgangsspannung verwendet werden (zB L78S05CV)
|
|
- 1x min. 2GB SD-Karte (oder MicroSD-Karte für Model B+) welche
kompatibel
mit dem RPi ist. Wenn Sie TCserver selbst kompilieren wollen,
benötigen Sie ein vollständiges Entwicklungssystem am RPi - in
diesem Fall besser eine größere SD-Karte nehmen (wir verwenden 32G)
- 1x Lumimicro LMFLC4500 oder eine vergleichbare sehr helle weiße
LED die mit 3,3V schon leuchtet und nicht viel mehr als 100mA
verbraucht. Wir verbinden diese direkt mit einem GPIO-Port, der ca.
50mA ausgibt. Diese LED ist dann bei der Hälfte der maximalen
Helligkeit.
- mindestens 4x AA Lithium 1,5V Batterien mit zumindest 2900mAh
Ladung pro Batterie
ODER 4x AA Lithium-Ionen 3,7V Akkus mit IC Protection und zumindest 750mAh (diese benötigen ein spezielles Ladegerät)
Bedenken Sie das man 5V plus die minimale Spannungsdifferenz des
Spannungskonverters für den RPi und die Motoren benötigen. Aus
diesem Grund können keine aufladbaren NiMH oder NiCD Akkus verwendet
werden da diese nur 4,8V liefern würden. Man könnte natürlich stattdessen einen Step-Up/Down Spannungskonverter verwenden... Die Lithium Batterien sind nicht aufladbar und betreiben den Roboter ca. 1,5h. Die Lithium-Ionen Akkus sind aufladbar und betreiben den Roboter ca. 2,5h. Wir empfehlen daher die Verwendung der Akkus. Verfügbar zB bei Amazon, oder googlen Sie "aw lithium rechargable 14500". Die Eingangsspannung ist hier 3.7V * 4 = 14,8V - bitte prüfen Sie ob Ihr Spannungskonverter kompatibel ist!
|
Zusammenbau
- Löten Sie die Leitungsverteiler (breakaway male header) an den
Motor-Controller auf der falschen Seite (d.h. sie sollten nach
unten zeigen wenn man von vorne darauf schaut). Die Pins für
eine fixe Baudrate von 38400 sollten permanent verbunden werden
indem ein kleines Stück Leitungsverteiler darüber gelötet wird. Wir
haben keinen Platz für einen echten Jumper.
- Schneiden Sie einen kleinen Teil des Sumo blades weg damit die
Kamera etwas sehen kann. 5mm x 8mm (BxH, Porträt) vom mittleren Teil
sollten ausreichen (an der linken Seite vom mittleren Teil wenn von
vorne gesehen). Wenn Sie ein Model A verwenden, muß zusätzlich etwas
in der Mitte des mittleren Teils weggeschnitten werden da sonst der
USB-Verbinder nicht zugänglich wäre. Verwenden Sie eine Metallsäge
oder einen Bolzenschneider.
- Schneiden Sie den Stecker von einigen Verbindungsleitungen (jumper
cables) und löten Sie das offene Kabel direkt an die zwei Motoren.
Der Motor-Controller wird gleich neben den 2x USB Ports montiert -
die Kabel müssen dorthin reichen. Wenn man die Kabel gleich neben
dem Stecker abschneidet sind diese leicht lang genug.
- Wir haben den Spannungskonverter verkehrt auf die Unterseite des
Gehäuses montiert, da es 2cm hinter der Zumo-Plattform hervorsteht.
Der Eingang des Spannungskonverters muß an den Ausgang des
Batteriefachs angeschlossen werden. Der Ausgang des
Spannungskonverters muß die entsprechenden Pins des RPi erreichen
können. Man muß alle Verbindungen direkt auf den Spannungskonverter
löten, da zu wenig Platz darunter ist. Wir haben auf der Ober- und
Unterseite gelötet je nach Platzbedarf (an den IN+ und OUT+
Verbindern wäre ein Leitungsverteiler möglich gewesen). Wenn man die
Kabel gleich neben dem Stecker abschneidet, sind diese leicht lang
genug.
Die Ausgangsspannung muß auf 5V eingestellt werden. Das geschieht
durch Einstellen der kleinen Schlitzschraube auf der hellblauen Box,
während eine Eingangsspannung von mindestens 6V angeschlossen ist
und die Ausgangsspannung via Voltmeter geprüft wird.
- Bauen Sie den Zumo Kit inklusive der Motoren und des Sumo-Blade
zusammen.
- Verbinden Sie den RPi entweder über den unteren Teil des
Gehäuses (B rev1), oder die Befestigungslöcher falls verfügbar. Die
Zumo Plattform hat viele kleine Löcher auf der Oberseite, man
benötigt sehr kleine Schrauben und Muttern.
- Verbinden Sie das Kameramodul noch nicht, aber stecken Sie den
WLAN USB Adapter bereits in den oberen USB-Port.
- Schneiden Sie von zwei weiteren Verbindungsleitungen den Stecker
und löten Sie deren offene Kabelseite an die LED. Diese Kabel müssen
GPIO18 auf dem RPi erreichen. Kleben Sie die LED auf die Kamera
(oben rechts) und verbinden Sie diese wie im Anschlußdiagramm
angegeben.
- Verbinden Sie alles andere so wie im Anschlußdiagramm
angegeben.
- Überprüfen Sie alles, insbesonders die Stromversorgung.
5V
an einen 3,3V Verbinder, Erdung (ground) oder einen GPIO-Pin
anzuschließen wird mit hoher Sicherheit ihren RPi
zerstören.
Software
- Jetzt ist die Zeit gekommen, die RPi Softwaredistribution Ihrer
Wahl downzuloaden, diese auf die SD-Karte zu kopieren und
einzulegen. Für erste Tests reicht die Verbindung via micro-USB
Kabel zur Stromversorgung falls keine Motoren verwendet werden -
ansonstens benötigt man ein 4A 5V Netzteil. Wir verwenden die Raspbian Distribution und die folgenden Schritte
sind für diese Distribution gedacht.
- Verbinden Sie die Kamera. Das Kabel noch nicht verlegen.
- Sie müssen Overclocking konfigurieren (auf 1GHz), mittels
sudo raspi-config
, Overclock, zumindest High,
vorzugsweise Turbo. Für Turbo empfehlen wir eine stärkere
Stromversorgung zum Testen (mindestens 2A). Wir haben weiters ein
kleines Heatsink am Hauptprozessor angeklebt um Überhitzungen zu
vermeiden.
Die Kamera muß ebenfalls in raspi-config aktiviert
werden. Ein Reboot ist anschließend notwendig.
- Sie benötigen ein funktionierendes WLAN (d.h. existierende WLAN
Infrastruktur, zB ein WLAN Router). Konfigurieren Sie WLAN und
richten Sie es so ein das der RPi beim Hochfahren automatisch
verbindet. Konfigurieren Sie auch SSH, sodaß fürs Troubleshooting
eine Remotezugang zur Verfügung steht.
- Testen Sie die Internetverbindung und führen Sie die folgenden
Kommandos aus, um notwendige Pakete zu installieren:
apt-get update
apt-get install netcat-openbsd libncurses5-dev
- Loggen Sie sich in den RPi ein und editieren Sie /etc/inittab as
root. Sie müssen die letzte Zeile auskommentieren, da diese einen
Getty auf ttyAMA0 startet und wir diesen seriellen Port für den
Motor-Controller benötigen. Es sollte ausreichen, den Getty danach
zu killen und ein HUP-Signal an Init zu senden, aber
sicherheitshalber sollte man neu hochfahren.
- Starten Sie raspivid für eine Kameraanzeige und verlegen Sie
dann das Kamera-Kabel. Positionieren Sie die Kamera vor dem
Ethernet-Stecker mit dem Kabel nach rechts zeigend (d.h. 90°
verdreht) und verlegen Sie das Kabel unter dem WLAN USB Adapter.
Wenn Sie farbige Linien im Videobild sehen, ist das Kabel zu stark
gebogen. Wechseln Sie zwischen Kabel verlegen und Videobild
überprüfen, es ist manchmal etwas schwierig. Sie müssen u.U. den
WLAN USB Adapter aus- und wieder einstecken.
- Laden Sie die Binärdateien vom Link auf der rechten Seite
herunter. Alternativ können Sie die Sourcedateien downloaden und
alles selbst kompilieren, das benötigt allerdings eine C++
Entwicklungsumgebung am Raspberry Pi selbst, wofür u.U. eine größere
SD-Karte notwendig ist.
- Kopieren Sie das Programm TCserver auf den RPi und starten es
manuell über SSH. Es sollte "Connected" und danach lauter Punkte
ausgeben. Falls nicht, bitte vorherige Schritte überprüfen und ggf.
angezeigte Fehlermeldungen (wenn vorhanden) berücksichtigen.
- Während TCserver am RPi läuft, installieren Sie
TCclient-debug.apk auf einem Android-Gerät Ihrer Wahl (min. Android
4.1). Das Android-Gerät muß mit dem gleichen WLAN verbunden sein wie
der RPi. TCclient nimmt eine IP-Adresse des RPi von 192.168.42.42
an, falls das nicht stimmt kann man diese über Klick auf das Logo
(Mitte unten) ändern (TCclient wird die Änderung auch bei einem
Neustart berücksichtigen). Es sollte sofort möglich sein den Roboter
zu kontrollieren. Falls nicht, tippen Sie ein paar Mal auf den
Hintergrund außerhalb der Steuerung - das startet einen neuen
Verbindungsversuch. Ganz oben ist eine Steuerung für die LED
Helligkeit - gut für erste Tests da sich hier nichts bewegt.
Im Bewegungsrad tippen führt sofort zu einer Bewegung des Roboters,
dafür sollte man dann besser auf Batterien umsteigen.
- Wenn alles funktioniert, kopieren Sie TCserver nach
/usr/local/bin und fügen Sie die folgende Zeile zu /etc/rc.local
hinzu:
/usr/local/bin/TCserver &
Das wird dafür sorgen, das TCserver bei jedem Neustart automatisch
gestartet wird.
Anschließend sollte es in etwa so aussehen.
Viel Spaß! Wenn etwas nicht so funktioniert wie es sollte,
kontaktieren Sie uns.