Elko (Diskussion | Beiträge) K (→Projekttagebuch) |
Elko (Diskussion | Beiträge) K (→Projekttagebuch) |
||
(16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Einführung == | == 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 | + | 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.<br> |
− | + | ||
− | 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== | ==Spezifikationen== | ||
− | * Platine mit z.T. SMD und THT (vorzugsweise SMD) | + | * Platine mit z.T. SMD und THT (vorzugsweise SMD/TQFP) |
* zunächst zweilagige Platine (zum Ätzen) | * zunächst zweilagige Platine (zum Ätzen) | ||
* zunächst ATMEGA32 (TQFP) | * zunächst ATMEGA32 (TQFP) | ||
Zeile 14: | Zeile 10: | ||
* Zunächst kamen verschiedene Möglichkeiten für die Grundlage (Kettenfahrzeug) in Betracht | * 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) | ** 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€) | + | ** Kettenfahrzeug aus Alu von Conrad wäre super war zu teuer (ca. 1k€, nicht mehr verfügbar) |
− | ** Eigenbauketten | + | ** Eigenbauketten 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 | + | ** 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. |
− | + | <br> | |
===Das soll der Roboter nach und nach können=== | ===Das soll der Roboter nach und nach können=== | ||
+ | [[Bild:ROBKETE_V1.1_Sensoren.png|right|350px|Beispiel der Sensoren und Aktoren]] | ||
* Orientierung im Raum | * Orientierung im Raum | ||
− | * | + | * Anzeigen per LCD über I2C (siehe [http://www.rn-wissen.de/index.php/LCD_an_I2C_Huckepack_auf_RN-Miniplatine LCD an I2C Huckepack auf RN-Miniplatine]) |
* Anzeige mit 8 LEDs (z.B. Fehleranzeige) | * Anzeige mit 8 LEDs (z.B. Fehleranzeige) | ||
* Befehle per IR-Fernbedienung entgegennehmen | * Befehle per IR-Fernbedienung entgegennehmen | ||
* Vermessung der Umgebung (falls möglich in 3D) | * Vermessung der Umgebung (falls möglich in 3D) | ||
− | * Eine Vermessung soll besonders auch in engen Gängen möglich sein | + | ** Eine Vermessung soll besonders auch in engen Gängen möglich sein |
− | * Verfolgung von Personen | + | * U.a. Landkarte auf SD-Karte speichern |
+ | * Verfolgung von Personen und/oder Licht | ||
* Verfolgung einer Line am Boden | * Verfolgung einer Line am Boden | ||
− | * Abgründe | + | * Abgründe/Stufen einschätzen und ggf. meiden |
+ | * Kommunikation mit PC oder anderen Robotern per Funk | ||
+ | <br> | ||
− | ===Sensoren | + | ===Sensoren, Aktoren und Schnittstellen=== |
* 2 Radencoder (jeweils mittels CNY70) zur Orientierung | * 2 Radencoder (jeweils mittels CNY70) zur Orientierung | ||
+ | * 2 Motoren mit unbekannten Eigenschaften inkl. Getriebe zur Ansteuerung der Ketten | ||
* 1 Maussensor zur Orientierung am Boden | * 1 Maussensor zur Orientierung am Boden | ||
− | + | * 1 bzw. 2 senkrecht aufeinanderliegende IR Sensoren zur 2D/3D Vermessung (z.B. Sharp GP2YA21YK) | |
− | * 1 bzw. 2 senkrecht aufeinanderliegende IR Sensoren zur 3D Vermessung (z.B. Sharp GP2YA21YK) | + | * 2 Servos |
* 2 Sharp IS471F nach unten zur Abgrunderkennung/-vermessung im Impulsbetrieb (ca. 25 cm Reichweite) | * 2 Sharp IS471F nach unten zur Abgrunderkennung/-vermessung im Impulsbetrieb (ca. 25 cm Reichweite) | ||
− | * 2 | + | * SD/MMC Karte |
+ | * 2 Liniensensoren | ||
+ | * Überwachung der Batteriespannung | ||
+ | * RS232 Schnittstelle (z.B. für [http://www.rn-wissen.de/index.php/RN-Funk RN-Funk]) | ||
+ | * I2C Bus | ||
+ | * 2 Ultraschallsensoren (SRF8 von Devantech) nach vorn zur Kollisionsvermeidung an I2C | ||
+ | * weitere Sensoren über I2C möglich | ||
+ | * 8 LEDs zur Fehleranzeige (bis einschl. V1.1 nur 4 LEDs frei verwendbar: LED0/LED1 von I2C belegt; LED6/LED7 von Motoren belegt) | ||
+ | <br> | ||
==Schaltplan und Board== | ==Schaltplan und Board== | ||
Die Vorbilder waren wie gesagt RN-Control (1.4) und ct-Bot | Die Vorbilder waren wie gesagt RN-Control (1.4) und ct-Bot | ||
− | * Es sollen die RN-Definitionen eingehalten werden ( | + | * Es sollen die RN-Definitionen eingehalten werden (Außer: bisher 6Pin ISP, statt 10Pin ISP) |
* Im Gegensatz zu den Vorbildern soll der Controller ATMEGA32 als SMD (TQFP) Variante verwendet werden | * 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 | * 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 | * 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 | + | * 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, aber Doppelbelegung von LED0,1,6,7 |
* Eine Spannungsüberwachung von RN-Control wird aufgegriffen | * Eine Spannungsüberwachung von RN-Control wird aufgegriffen | ||
* Taster am Analogeingang (RN-Control) und Speaker werden ausgespart | * Taster am Analogeingang (RN-Control) und Speaker werden ausgespart | ||
− | + | <br> | |
==Versionen== | ==Versionen== | ||
Zeile 56: | Zeile 65: | ||
* Fehler und Korrekturen für Schaltplan und Layout | * Fehler und Korrekturen für Schaltplan und Layout | ||
** Spannungsversorgung MAX232 fehlt (im Layout aber korrekt: komisch!?) | ** Spannungsversorgung MAX232 fehlt (im Layout aber korrekt: komisch!?) | ||
− | + | ** externe Referenz nicht unbedingt nötig (R3 und R4), interne Referenz möglich; C7 gegen GND lassen | |
− | ** externe Referenz nicht unbedingt nötig (R3 | + | |
** Nahe an den Pin8 des L293 sollte noch ein Elko(Größe?) und ein 100nF Kondensator | ** 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 | ** Der IR-Empfänger SFH5110 hat im im Layout eine falsche Pinbelegung | ||
Zeile 71: | Zeile 79: | ||
* u.a. grobe Fehler im Schaltplan bei der Motorenansteuerung | * u.a. grobe Fehler im Schaltplan bei der Motorenansteuerung | ||
* Fehlende Abblockkondensatoren am Controller | * Fehlende Abblockkondensatoren am Controller | ||
− | + | <br> | |
− | + | ||
==Mechanik== | ==Mechanik== | ||
Zeile 80: | Zeile 87: | ||
** Länge: 323mm | ** Länge: 323mm | ||
** Breite: 180mm | ** Breite: 180mm | ||
− | ** Bodenfreiheit ca: | + | ** Bodenfreiheit ca: 26mm |
** Maximaler Federweg der einzelnen kleinen Räder: 17mm | ** Maximaler Federweg der einzelnen kleinen Räder: 17mm | ||
** Gewicht: 1230g | ** Gewicht: 1230g | ||
Zeile 86: | Zeile 93: | ||
** Getriebe aus Kunstoff (Metall erhältlich) | ** Getriebe aus Kunstoff (Metall erhältlich) | ||
** Raddurchmesser Antriebsrad: 47mm | ** Raddurchmesser Antriebsrad: 47mm | ||
− | |||
* Getriebeübersetzung: | * Getriebeübersetzung: | ||
** Zahnrad1:Zahnrad2=10:45 | ** Zahnrad1:Zahnrad2=10:45 | ||
Zeile 93: | Zeile 99: | ||
** Zahnrad7:Zahnrad8=40:27 | ** Zahnrad7:Zahnrad8=40:27 | ||
Gesamt: Üges=Ü1*Ü2*Ü2*Ü4=1:39,86357143=1400:55809 | Gesamt: Üges=Ü1*Ü2*Ü2*Ü4=1:39,86357143=1400:55809 | ||
+ | <br> | ||
==Projekttagebuch== | ==Projekttagebuch== | ||
Zeile 111: | Zeile 118: | ||
'''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.<br> | '''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.<br> | ||
'''01.02.2012''' Inzwischen wurde das [http://www.rn-wissen.de/index.php/LCD_an_I2C_Huckepack_auf_RN-Miniplatine Display per I2C] angesteuert, ein SRF08 ausgelesen und das Ergebnis auf dem Display ausgegeben.<br> | '''01.02.2012''' Inzwischen wurde das [http://www.rn-wissen.de/index.php/LCD_an_I2C_Huckepack_auf_RN-Miniplatine Display per I2C] angesteuert, ein SRF08 ausgelesen und das Ergebnis auf dem Display ausgegeben.<br> | ||
− | '''17.02. | + | '''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.<br> |
+ | '''13.07.2012''' Eine Platine für CNY70 Sensoren (4x Liniensensor, 2 Encoder) wurde fertig gestellt. Encoder wurden angeschlossen und am Fahrgestell angebracht.<br> | ||
+ | '''20.07.2012''' Die 2 IR Sensoren wurden (zunächst starr) oberhalb der Ultraschallsensoren (nach vorn schauend) befestigt.<br> | ||
+ | '''23.07.2012''' Für den Maussensor muss ein Abstand von etwa 26mm überwunden werden.<br> | ||
+ | '''01.08.2012''' Als neue Optik für den Maussensor bietet sich die Kollimatorlinse LAS LEN 046 (Reichelt) an. Diese soll einen Abstand von 3-4 cm realisieren können [http://www.roboternetz.de/community/threads/28912-Abstandsvergr%C3%B6%C3%9Ferung-von-Maussensor-zur-Oberfl%C3%A4che]. <br> | ||
+ | '''18.12.2013''' IR Sensoren wurden angeschlossen, ausgelesen und die (int) Werte per UART an PC gesendet. Mausplatine wurde gefertigt und montiert.<br> | ||
==Links== | ==Links== | ||
Zeile 119: | Zeile 131: | ||
[http://www.rn-wissen.de/index.php/RN-Definitionen RN-Definitionen]<br> | [http://www.rn-wissen.de/index.php/RN-Definitionen RN-Definitionen]<br> | ||
[http://www.rn-wissen.de/index.php/Atmel_Controller_Mega16_und_Mega32 ATMEGA32]<br> | [http://www.rn-wissen.de/index.php/Atmel_Controller_Mega16_und_Mega32 ATMEGA32]<br> | ||
− | + | [http://www.rn-wissen.de/index.php/RN-Funk RN-Funk]<br> | |
+ | <br> | ||
==Siehe auch== | ==Siehe auch== | ||
[http://www.rn-wissen.de/index.php/RN-Control RN-Control]<br> | [http://www.rn-wissen.de/index.php/RN-Control RN-Control]<br> |
Aktuelle Version vom 19. Dezember 2013, 15:52 Uhr
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/TQFP)
- 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€, nicht mehr verfügbar)
- Eigenbauketten 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.
Das soll der Roboter nach und nach können
- Orientierung im Raum
- Anzeigen 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
- U.a. Landkarte auf SD-Karte speichern
- Verfolgung von Personen und/oder Licht
- Verfolgung einer Line am Boden
- Abgründe/Stufen einschätzen und ggf. meiden
- Kommunikation mit PC oder anderen Robotern per Funk
Sensoren, Aktoren und Schnittstellen
- 2 Radencoder (jeweils mittels CNY70) zur Orientierung
- 2 Motoren mit unbekannten Eigenschaften inkl. Getriebe zur Ansteuerung der Ketten
- 1 Maussensor zur Orientierung am Boden
- 1 bzw. 2 senkrecht aufeinanderliegende IR Sensoren zur 2D/3D Vermessung (z.B. Sharp GP2YA21YK)
- 2 Servos
- 2 Sharp IS471F nach unten zur Abgrunderkennung/-vermessung im Impulsbetrieb (ca. 25 cm Reichweite)
- SD/MMC Karte
- 2 Liniensensoren
- Überwachung der Batteriespannung
- RS232 Schnittstelle (z.B. für RN-Funk)
- I2C Bus
- 2 Ultraschallsensoren (SRF8 von Devantech) nach vorn zur Kollisionsvermeidung an I2C
- weitere Sensoren über I2C möglich
- 8 LEDs zur Fehleranzeige (bis einschl. V1.1 nur 4 LEDs frei verwendbar: LED0/LED1 von I2C belegt; LED6/LED7 von Motoren belegt)
Schaltplan und Board
Die Vorbilder waren wie gesagt RN-Control (1.4) und ct-Bot
- Es sollen die RN-Definitionen eingehalten werden (Außer: bisher 6Pin ISP, statt 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, aber Doppelbelegung von LED0,1,6,7
- 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!?)
- externe Referenz nicht unbedingt nötig (R3 und R4), 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
Mechanik
Fahrgestelleigenschaften
- Unterbau des Panzerkampfwagen III
- Länge: 323mm
- Breite: 180mm
- Bodenfreiheit ca: 26mm
- 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.
13.07.2012 Eine Platine für CNY70 Sensoren (4x Liniensensor, 2 Encoder) wurde fertig gestellt. Encoder wurden angeschlossen und am Fahrgestell angebracht.
20.07.2012 Die 2 IR Sensoren wurden (zunächst starr) oberhalb der Ultraschallsensoren (nach vorn schauend) befestigt.
23.07.2012 Für den Maussensor muss ein Abstand von etwa 26mm überwunden werden.
01.08.2012 Als neue Optik für den Maussensor bietet sich die Kollimatorlinse LAS LEN 046 (Reichelt) an. Diese soll einen Abstand von 3-4 cm realisieren können [1].
18.12.2013 IR Sensoren wurden angeschlossen, ausgelesen und die (int) Werte per UART an PC gesendet. Mausplatine wurde gefertigt und montiert.
Links
IchBauMirEinenRoboter|Downloads zum Projekt
LCD an I2C Huckepack auf RN-Miniplatine
RN-Definitionen
ATMEGA32
RN-Funk