Arduino - P34 - Roboter: Albtraum II

Zur Zeit bauen wir einen Roboter auf der Grundlage des Arduino-Systems auf. Benutzt haben wir die einseitige Platine "Serial-Single-Side S3V", die wir selber hergestellt haben.

Auf der Arduinoplatine steckt eine selber entwickelte Motortreiberplatine, die teilweise der original Arduinomotortreiberplatine entspricht. Wir haben diese noch mit einem I²C-Erweiterungs-IC ergänzt. So können 8 Signale mit der I²C Schnittstelle abgefragt werden.

Wenn der Roboter funktioniert, folgt eine Baubeschreibung.

 

03.02.2011: Die ersten zwei Motoransteuerungsplatinen wurden fertig und funktionieren.
Hier das Layout der Platine. Die Originalplatine hat ein zweiseitiges Layout, das für Amateure nicht so einfach nachzubauen ist. Ich hatte mich deswegen entschlossen, eine einlagige Platine mit zusätzlichen Brücken zu entwickeln.
Der linke Teil entspricht der originalen Motoransteuerungsplatine von Arduino. Der re. Teil ist ein I²C Porterweiterungschip. Was wir damit anfangen ist noch unklar. Angedacht war es, die Schalterports abzufragen. Alternativ dazu wäre es möglich, darüber ein LCD-Display anzusteuern.

Die Fototransistoren zur Linienverfolgung werden wir über den Analogport auslesen.

Hier ein einfaches Testprogramm. Der Roboter fährt 2 Sekunden vorwärts und anschließend 2 Sekunden rückwärts. Die Geschwindigkeit wird über die PWM-Ports zwischen 0 und 255 eingestellt. Im Testprogramm habe ich 100 genommen.
Die Motoren laufen nicht exakt gleich schnell. Deswegen muss beim nächsten Programm eine Geschwindigkeitskorrektur eingebaut werden.

Bei Sparkfun (Sparkfun.com) gibt es den Roboter POP-BOT zum Preis von 159 $ mit dem Arduino 168 Minimodul. Von dieser Seite kann die Bauanleitung mit 132 Seiten (10 MB) heruntergeladen werden. Die Bauanleitung gibt viele Hinweise für die Programmierung des Arduinoroboters und besonders über das Auslesen der Sensoren. Die Ansteuerung der Motoren wird dort jedoch anders gelöst, als bei unserem "Standardmotortreiber".

Rob Mot 2 02.pde 904


28.02.2011:
Alle Motortreiberplatinen sind bestückt. Leider haben 50 % der Platinen nicht funktioniert. Hilfreich für die Fehlersuche war das Testprogramm "Rob_Mot_2". Es laufen beide Motoren 2 Sekunden in Vorwärtsbetrieb, dann kurze Pause und schließlich geht es 2 Sekunden rückwärts. Dann nach einer Pause wieder von vorne.
Mit einem einfachen Multimeter können die Schaltsignale nach dem Schaltplan leicht verfolgt werden. Die Fehler lassen sich damit bequem eingrenzen.

 

 

Arduino-I²C-LCD-Display

Arduino-Motortreiberplatine mit I²C-LCD-Display,
Anschluss eines I²C-LCD-Display (©: arduino.cc)

Zum Anschluss eines LCD Displays an den Arduino braucht man 8 Leitungen, die zudem quer über dem Board liegen. Nicht schön. Auf der Motortreiberplatine hatte ich einen I²C-Porterweiterungschip PCF8574 integriert und versucht ein Display anzuschließen. Auf folgender Arduinohomepage gibt es einen I²C-LCD-Treiber.

www.arduino.cc/playground/Code/LCDi2c

Unter PCF8574-HD44780 kann die passende Library heruntergeladen werden. Nach dem Entzippen kann die Datei im Arduinoverzeichnis unter "libraries" abgelegt werden. In der Datei ist der Schaltplan, die Headerdatei und eine Exampledatei gespeichert. Unter "LCD-API" findet man die Befehlsübersicht der Treiberdatei.
Ich habe 20 x 2 und 24 x 2 LCD-Displays angeschlossen. Sie funktionieren. Bei der Software ist wichtig, dass für jede Zeile immer die Schreibposition mit "lcd.setCursor" festgelegt wird, sonst gibt es einen ewigen Durchmarsch.

Der derzeitige Aufbau ist provisorisch. Mit Eagle habe ich bereits eine Platine mit dem PCF 8547 gemacht. Das Display kann aufgesteckt werden. Die Verbindung zum Arduino erfolgt mit einem 4-poligen Kabel. Es gibt 2 Platinen. Eine für den Steckeranschluss 2 x 8 und eine für den Anschluss mit 1 x 16.

P34 - Roboter - Albtraum II: Bauanleitung

08.10.2011: Es ist soweit. Die Bauanleitung unseres Arduino P34 Roboters Albtraum II ist fertig. Zum leichteren Nachbau sollte die Anleitung farbig ausgedruckt werden.

In der Teileliste sind alle benötigten Bauteile zusammengestellt.

Die Datei P34-Roboter-Platinen.zip enthält die Eagledateien der Motortreiberplatine und der Sensorplatine, nicht jedoch der Arduinoplatine. Diese Eageldateien können unter
arduino.cc/en/Main/ArduinoBoardSerialSingleSided3
heruntergeladen werden. 
Die Platinenvorlagen und die Vorlage für den Bestückungsaufdruck sind als Worddatei ebenfalls enthalten.Enthalten ist auch die Wordvorlage für den Bestückungsaufdruck für die Arduinoplatine S3V3.

DieDatei P34-Roboter-PRG-Homepage enthält 2 Testprogramme, ein einfaches Kollisionsprogramm und ein Linienverfolgungsprogramm.

Rob_Mot_2 dient zum Test der Motoransteuerungshardware und zum Test der Motoren.

IR2_Sensoren_Albtraum II braucht man zum Test der Linienverfolgungsplatine und zur Festlegung der Weiss- und Schwarzwerte.

Der P34-Roboter Albtraum II ist ein Open-Source-Project. Eine kommerzielle Verwertung ist nicht gestattet.

Erhard, DB2TU

 

Bauanleitung: Dateien

Bauanleitung Albtraum II.pdf 2.95 M
Baubuch Albtraum-2-Teileliste.pdf 79 K
P34-Roboter-Platinen 02.zip 1.28 M
P34-Roboter-Prg-Homepage.zip 3.79 K

 

Achtung!

Beim Ausdruck der Bauanleitungs- Pdf muss unter "Anpassung der Seitengröße" Keine eingetragen werden! 
Nur dadurch ist gewährleistet, dass der Bauplan 1:1 gedruckt wird. Bitte nach dem Ausdruck den Aufbauplan ( S. 13 ) nachmessen!

 

Diese Website nutzt ausschließlich technisch erforderliche Cookies. Wir benutzen keine Cookies, die eine Einwilligung erfordern würden. Weitere Informationen finden Sie in unserer Datenschutzerklärung. X