freiBot - ein kostengünstiger Roboter für Jedermann.

freiBot mit LEGO

Der Roboter kann von jedem für wenig Geld nachgebaut werden. Er ist für Workshops mit Kindern und Jugendlichen entworfen, bei denen es oft auf den Preis der Teile ankommt.In der einfachsten Ausbaustufe besteht der Roboter aus einem Arduino und einen L239D Motortreiber, Motoren und zwei LEDs.

Bauteile

Bauteile des freiBot

  • Microcontroller: Arduino-NANO
  • Motortreiber: L293D
  • Antrieb: Pollin Motoren + Inlineskates-Kugellager
  • "Schnurrhaar"-Schalter
  • zwei LEDs als Lichtsensor
  • MP6050 3-Achsen Gyro + Beschleunigungssensor

Bilder

Unterseite Oberseite

Antriebssystem

Die Räder des FreiBot sind Inlineskates-Kugellager, auf denen Dichtungsringe aus dem Baumarkt mit Sekundenkleber aufgeklebt sind.
Die Kraftübertragung von der Motorwelle auf die Kugellager erfolgt über ein Gummiband ( 15mm Durchmesser aus dem Supermarkt ).
Der Antrieb ist sehr leise und geschmeidig, hat aber dennoch Kraft.
Die Idee dieser Antriebstechnik findet sich beim Roboter Korsel von der Hochschule Weingarten.

Beim Korsel werden IGUS-Kunsstoffkugellager verwendet, in die eine Nut für die Radgummis gefräst wurde.
Inlineskates-Kugellager sind für den Bastler aber einfacher zu beschaffen und bei guter Wahl des Sekundenklebers für die „Gummireifen“ halten diese extrem gut.

Infrarotsensor

Als Infrarotsensor wird der Bausteine SFH5110 verwendet. Damit kann der Roboter über eine Infrarot-Fernsteuerung gesteuert werden.
Der Sensor lässt sich in Kombination mit einer Infrarot-Leuchtdiode auch als Hinderniserkennungssensor verwenden (siehe ASURO-Sumo-Adapter).

Damit lassen sich dann Sumo-Wettkämpfe realisieren:

Beschleunigungssensor

Mittlerweile sind Beschleunigungssensoren sehr günstig zu beschaffen.
Für einen Roboter sind sie extrem nützlich, da mit ihnen Stöße erkannt werden können und die Orientierung im Raum vereinfacht wird.
Beim FreiBot wird der Beschleunigungssensor MPU6050 verwendet.
Dieser kann mit vier Kabeln an den Arduino-NANO angeschlossen werden: MPU6050 mit Arduino

Das Testprogramm für den Sensor befindet sich auf GitHub zum Download.

Besonders deutlich wird der Vorteil des Beschleunigungssensors beim Roboter Ringo von Plumgeek.

Inbetriebnahme

 

Leuchtdioden

Als erstes schließt man am besten die Leuchtdioden an den Arduino-NANO an.
Für den Test verwendet man den Arduino-Sketch-Ordner TEST_Leds.

Das Testprogramm lässt die LEDs abwechselnd blinken mit den Befehlen

setLed(EYE_LED_LEFT, 1); // links an
setLed(EYE_LED_RIGHT, 0); // rechts aus

Diesen Test sollte man wirklich als erstes laufen lassen. Es zeigt sich dann, ob die Leuchtdioden richtig herum angeschlossen sind und ob sich der Arduino programmieren lässt. Gerade auf Apple-Computern gibt es öfter Probleme mit den kostengünstigen Arduino-NANOs aus China und dem Treiber für die chinesischen USB-Chips.

Motoren

Für den Betrieb der Motoren müssen viele Kabel angeschlossen werden. Selbst erfahrene Bastler machen hier Fehler.
Im Folder TEST_motor_lowLevel befindet sich das Programm für den ersten Motorbetrieb.

Es lässt zuerst den linken und dann den rechten Motor vor und zurück laufen. Dadurch kann man sicherstellen, dass die Motoren richtig herum angeschlossen sind alle Kabelverbindungen stimmen.

Die Syntax der Low-Level-Motorfunktionen ist dem ASURO Roboter entliehen:

MotorSpeed(255, 0); // Geschwindigkeit links auf Maximum, rechts auf 0
MotorDir(FWD, BREAK); // links vorwärts, rechts bremsen

Die Bedeutung der Motorrichtungsparameter ist hierbei wie folgt: FWD: vorwärts RWD: rückwärts BREAK: Motor bremsen (stop)

Eine Beschreibung der Funktion findet sich z.B. bei der Programmbibliothek des Asuro der HS-Augsburg.

Grundplatte

Verschiedene Grundplattenelemete:

Grundplattenelemete

Von links nach rechts:

  1. gekauft (Arexx)
  2. gelaserter Karton
  3. Kunststoffplatte
  4. 3D-Druck (für Legos)

Designvarianten

Links