Inhaltsverzeichnis
Einführung
Der hier vorgestellte Roboter ist ein kleines Langzeitprojekt von mir (eines meiner vielen Hobbys,dass ich nicht lassen kann). Die Platine stellt eine Experimentierplatine
dar, die z.T. in SMD und z.T. in THT gefertigt werden soll. Da ich mit den käuflichen Platinen nicht zufrieden war und gerne so viel wie möglich selbst erledigen möchte,
erstellte ich eine eigene. Ziel ist es einen kleinen Roboter aufzubauen, welcher später auch ein wenig Gelände befahren können soll. Daher wird er als Kettenfahrzeug realisiert.
Spezifikationen
- Platine mit z.T. SMD und THT (vorzugsweise SMD)
- zunächst zweilagige Platine (zum Ätzen)
- zunächst ATMEGA32 (TQFP)
- Vorbilder für die Platine sind RN-Control (1.4) und ct-Bot
- Zunächst kamen verschiedene Möglichkeiten für die Grundlage (Kettenfahrzeug) in Betracht
- Ketten von Lego gabs nicht in der gewünschten Größe (heutzutage gibt es schon bessere Ketten)
- Kettenfahrzeug aus Alu von Conrad wäre super war zu teuer (ca. 1k€)
- Eigenbauketten waren zu aufwendig
- Unterbau vom Panzerkampfwagen III (1:16 RC Modell von HENG LONG), fernsteuerbar (ebay ca. 50€), einfache Motoren und Getriebe enthalten, Elektronik, oberen Aufbau und Fernbedienung entfernt, zuvor ein bisschen spielen und Kügelchen "verteilen" ;-)
Das soll der Roboter nach und nach können
- Orientierung im Raum
- Anzeige per LCD über I2C (siehe LCD an I2C Huckepack auf RN-Miniplatine)
- Anzeige mit 8 LEDs (z.B. Fehleranzeige)
- Befehle per IR-Fernbedienung entgegennehmen
- Vermessung der Umgebung (falls möglich in 3D)
- Eine Vermessung soll besonders auch in engen Gängen möglich sein
- Verfolgung von Personen (und/oder Licht)
- Verfolgung einer Line am Boden
- Abgründe (Stufen) einschätzen und u.U. meiden
Sensoren & Aktoren
- 2 Radencoder (jeweils mittels CNY70) zur Orientierung
- 1 Maussensor zur Orientierung am Boden
- 2 Ultraschallsensoren (SRF8 von Devantech) nach vorn zur Kollisionsvermeidung
- 1 bzw. 2 senkrecht aufeinanderliegende IR Sensoren zur 3D Vermessung (z.B. Sharp GP2YA21YK)
- 2 Sharp IS471F nach unten zur Abgrunderkennung/-vermessung im Impulsbetrieb (ca. 25 cm Reichweite)
- 2 Motoren mit unbekannten Eigenscahften inkl. Getriebe zur Ansteuerung der Ketten
Schaltplan und Board
Die Vorbilder waren wie gesagt RN-Control (1.4) und ct-Bot
- Es sollen die RN-Definitionen eingehalten werden (Ich wehre mich bisher, wegen des Größenunterschiedes allerdings gegen 10pin ISP)
- Im Gegensatz zu den Vorbildern soll der Controller ATMEGA32 als SMD (TQFP) Variante verwendet werden
- RN-Control belegt für Motorensteuerung über L293D vier Pins am Controller für die Richtungsangabe. ct-bot kommt mit halb so vielen Pins aus, braucht dafür aber den zusätzlichen IC 74HC14
- RS232 Schnittstelle soll vorhanden sein
- Die Ansteuerung der LEDs zur Anzeige von Infos, sowie das Ansprechen der Sensoren ist am ct-Bot mit Schieberegister realisiert. Da hier eine Experimentierplatine aufgebaut wird ist die RN-Control-Variante besser
- Eine Spannungsüberwachung von RN-Control wird aufgegriffen
- Taster am Analogeingang (RN-Control) und Speaker werden ausgespart
Versionen
aktuelle Version
ROBKETE V1.1 Schaltplan und Layout
- funktionsfähig mit Korrektur von MISO und MOSI (JP5): Siehe Fehlersuche
- Fehler und Korrekturen für Schaltplan und Layout
- Spannungsversorgung MAX232 fehlt (im Layout aber korrekt: komisch!?)
- Diode D1 verkehrt herum
- externe Referenz nicht unbedingt nötig (R3 uund R4 entfernen), interne Referenz möglich; C7 gegen GND lassen
- Nahe an den Pin8 des L293 sollte noch ein Elko(Größe?) und ein 100nF Kondensator
- Der IR-Empfänger SFH5110 hat im im Layout eine falsche Pinbelegung
- korrekt: 1: OUT; 2: GND; 3: VCC (Vorderansicht von links nach rechts)
- eine Drehung des Sensors um 180° behebt das Problem
frühere Versionen
ROBKETE V1.0 Schaltplan und Layout
- nicht funktionsfähig:
- MISO und MOSI vertauscht
- VCC nicht korrekt
- u.a. grobe Fehler im Schaltplan bei der Motorenansteuerung
- Fehlende Abblockkondensatoren am Controller
ROBKETE V0.x (Versionen vor 1.0 werden nicht vorgestellt)
Mechanik
Fahrgestelleigenschaften
- Unterbau des Panzerkampfwagen III
- Länge: 323mm
- Breite: 180mm
- Bodenfreiheit ca: 20mm
- Maximaler Federweg der einzelnen kleinen Räder: 17mm
- Gewicht: 1230g
- Kettenbreite: 25mm
- Getriebe aus Kunstoff (Metall erhältlich)
- Raddurchmesser Antriebsrad: 47mm
- Getriebeübersetzung:
- Zahnrad1:Zahnrad2=10:45
- Zahnrad3:Zahnrad4=14:52
- Zahnrad5:Zahnrad6=15:53
- Zahnrad7:Zahnrad8=40:27
Gesamt: Üges=Ü1*Ü2*Ü2*Ü4=1:39,86357143=1400:55809
Projekttagebuch
20.02.2011 Platine ROBKETE V1.0 wurde gefertigt. Aufbau folgt
10.03.2011 Platinenaufbau ROBKETE V1.0 fertig, aber nicht funktionsfähig. Versorgungsspanung zu niedrig. Fehlersuche erfolglos. Nachtrag 08.11.2011: MISO und MOSI vertauscht.
18.05.2011 Layout:
- Bugfix:Ein- und Ausgänge vom L293D waren vertauscht.
- Bugfix: Eingänge des L293D waren nicht an IC angeschlossen.
18.05.2011 Fertigstellung des Lauyouts von V1.1 ROBKETE
15.08.2011 Fertigstellung der geätzten Platine
01.09.2011 Auflöten der Spannungsversorgung; erfolgreich getestet
02.09.2011 Auflöten des Controllers und Resetschaltung; Spannungen an allen Pins des Contr. ok; Programmieren des Controllers über STK500 nicht möglich
28.09.2011 Überprüfen der Resetspannung während "Signature read" per Oszilloskop: sauberes Signal während Reset auf GND von +5V 300ms
27.10.2011 Starten des Threads zur Hilfe bei der Fehlersuche
08.11.2011 Hauptfehler gefunden: MISO und MOSI sind vertauscht daher keine Programmierung möglich (siehe Fehlersuche).
08.11.2011 MISO und MOSI auf Platine vertauscht und die Programmierung funktioniert.
23.11.2011 Fertigstellung der ersten funktionsfähigen Platine. Spannungsversorgung MAX232 noch nicht kontrolliert. Ansterung von Motoren möglich. LED1-6 können verwendet werden.
01.02.2012 Inzwischen wurde das Display per I2C angesteuert, ein SRF08 ausgelesen und das Ergebnis auf dem Display ausgegeben.
17.02.2012 Nach Drehung des IR-Empfängers um 180° wurde mit einer RC5 Fernbedienung (RC Univers 29) der RC5 Code nach Tastendruck jeweils aufs Display geschrieben.
Links
IchBauMirEinenRoboter|Downloads zum Projekt
LCD an I2C Huckepack auf RN-Miniplatine
RN-Definitionen
ATMEGA32