Das Handyboard wird zur Zeit verstärkt bei Roboterwettkämpfen

Werbung
Embedded Robotics
Inhaltsverzeichnis
1 Das Mikrocontroller-Board
1.1 Einführung
1.2 Der Mikrocontroller
1.2.1 Grundlegendes und Geschichtliches
1.2.2 Details zum 8051
1.3 Die Schaltung des Mikrocontroller-Boards
1.4 Baugruppen auf dem Mikrocontroller-Board
1.5 Hinweise zum Aufbau und zur Inbetriebnahme
1.6 Mögliche Fehlerquellen
1.7 Quellen
11
11
11
11
12
13
13
17
20
20
2 Eine Entwicklungsumgebung für den Mikrocontroller
2.1 Auswahl des Compilers
2.2 Der Ablauf der Programmentwicklung
2.3 Erste Schritte mit dem Entwicklungssystem
2.4 Übersicht zur Programmentwicklung
2.5 Die C-Erweiterungen für den 8051
2.5.1 Speichermodifizierer
2.5.2 Interrupt-Programmierung
2.5.3 Reentrant-fähige Funktionen
2.5.4 Inline-Assembler und direkter Speicherzugriff aus C
2.6 Debugging mit dem Elektor-Board
2.7 Quellen und Quelltexte
21
21
22
24
29
29
30
31
32
32
33
39
3 Der Roboter entsteht
3.1 Einführung
3.2 Die Servomotoren
3.3 Aufbauanleitung zur Robotermechanik
3.4 Stromlaufplan
3.5 Kommentare zum Aufbau und mögliche Fehlerquellen
41
41
42
44
49
52
4 Kommunikation über die serielle Schnittstelle
4.1 Einführung
4.2 Grundlagen der seriellen Übertragung nach RS232
4.3 Die Konfiguration der seriellen Schnittstelle des 8051
4.4 Eine C-Library für die serielle Kommunikation
4.5 Ein einfacher universeller Befehlsinterpreter
4.6 Quellen und Quelltexte
55
55
56
58
61
63
65
Krause Robotik
Neustadt 8
06800 Raguhn-Jeßnitz
E-Mail
[email protected]
Internet
www.krause-robotik.de
Telefon
(03494) 368372
Telefax
(03494) 33784
Handy
(0171) 8747348
5 Eine LC-Anzeige für den Roboter
5.1 Einführung
5.2 Funktionsweise und Ansteuerung des HD44780
5.3 Eine C-Library für das LC-Display
5.4 Quellen und Quelltexte
71
71
72
75
76
6 Der Roboter bewegt sich
6.1 Mehr über Servos
6.2 Der Pulsweitenmodulator für den Servo
6.3 Eine Bibliothek zur Servoansteuerung
6.4 Quellen und Quelltexte
79
79
81
84
85
7 Das Easy Radio-RS232-Funkmodul
7.1 Einführung
7.2 Schaltung und Platine
7.3 Anschluss an das Flashboard im Roboter
7.4 Inbetriebnahme, Tipps und mögliche Fehlerquellen
7.5 Quellen
89
89
89
92
93
94
8 Drehzahl- und Lageregelung
8.1 Grundlagen zur Regelungstechnik
8.1.1 Steuerung
8.1.2 Regelung
8.1.3 Regler
8.2 Positionssteuerung
8.3 Sensorik
8.4 Einfache Positionsregelung
8.5 Drehzahlregelung
8.5.1 Impulsbasierte Drehzahlregelung
8.5.2 Zeitbasierte Drehzahlregelung
8.6 Roboterkinematik
8.7 Verbesserte Positionsregelung
8.8 Quellen und Quelltexte
95
96
96
97
99
102
105
110
112
112
117
119
123
126
9 Eine Maus für den Roboter
9.1 Einführung
9.2 Roboterkinematik aus Maussicht
9.3 Funktionsweise einer optischen PC-Maus
9.4 Die PS/2-Schnittstelle der Maus
9.5 Das Datenprotokoll der PS/2-Maus
9.6 Anschluss einer optischen Maus an das Flashboard
9.7 Der PS/2-Schnittstellentreiber
9.8 Positionsmessung mit der optischen Maus
9.9 Positionsregelung mit der optischen Maus
9.10 Quellen und Quelltexte
137
137
137
140
142
144
146
147
149
152
154
Krause Robotik
Neustadt 8
06800 Raguhn-Jeßnitz
E-Mail
[email protected]
Internet
www.krause-robotik.de
Telefon
(03494) 368372
Telefax
(03494) 33784
Handy
(0171) 8747348
10 Die Leitstandssoftware
10.1 Einführung
10.2 Python-Installation unter Windows
10.3 Ein Probelauf
10.4 Python-Bibliotheken und erneuter Probelauf
10.5 Die Leitstandsapplikation
10.6 Quellen
163
163
164
164
165
167
169
11 A/DC und D/AC
11.1 Einführung
11.2 Analog/Digital-Conversion
11.3 Digital/Analog-Conversion
11.4 Quellen
171
171
171
173
174
12 Lichtsensorik
12.1 Einführung
12.2 Unsere Wahl hier: lichtempfindliche Widerstände
12.3 Anwendungen
12.4 Quellen und Quelltext
175
175
176
177
178
13 Position Sensing Device
13.1 Sharp Infrarot-Distanzsensoren
13.2 Digitaler Abstandssensor Sharp GP2Y0D02YK
13.2.1 Der Roboter fährt entlang einer Wand
13.2.2 Der Roboter als autonomer Staubsauger
13.3 Serieller Abstandssensor Sharp GP2D02
13.4 Quellen und Quelltexte
181
181
183
183
184
186
189
14 Mathematische Funktionen
14.1 Einführung
14.2 Zufallszahlen
14.3 Matheroutinen
14.3.1 Einführung
14.3.2 CORDIC-Algorithmus
14.3.3 Heron-Verfahren
14.4 Erweiterung des Zahlenraums
14.5 Beispielanwendungen
14.6 Anregungen
14.7 Quellen und Quelltexte
193
193
193
196
196
196
200
201
204
205
205
Krause Robotik
Neustadt 8
06800 Raguhn-Jeßnitz
E-Mail
[email protected]
Internet
www.krause-robotik.de
Telefon
(03494) 368372
Telefax
(03494) 33784
Handy
(0171) 8747348
15 Reflexbasiertes Verhalten
15.1 Einführung
15.2 Braitenberg-Vehikel
15.2.1 Einführung
15.2.2 Wesen 1-5
15.2.3 Umsetzung
15.3 Subsumptionsarchitektur
15.3.1 Einführung
15.3.2 Umsetzung
15.4 Quellen und Quelltexte
213
213
213
213
214
220
221
221
222
226
16 Multithreading mit dem Betriebssystem MrOS
16.1 Motivation
16.2 Einführung
16.2.1 Threads und Tasks
16.2.2 Multithreading
16.2.3 Kernel
16.2.4 Betriebsmodi
16.3 Aufbau von MrOS
16.4 Multithreading
16.5 Thread-Zustände
16.6 Thread Control Block (TCB)
16.7 Speicheraufbau
16.8 Thread Switching
16.9 Scheduling
16.10 Synchronisation, Signale
16.11 Interrupts
16.12 Gerätetreiber
16.13 Benutzerschnittstelle (API)
16.13.1 Initialisierung
16.13.2 Thread-Kontrolle
16.13.3 Serielle Kommunikation
16.14 Anwendung
16.15 Beispiel
16.16 Ausblick
16.17 Quellen und Quelltext
233
233
234
234
234
234
234
235
236
238
239
239
240
242
243
244
245
246
247
247
249
250
252
253
253
Krause Robotik
Neustadt 8
06800 Raguhn-Jeßnitz
E-Mail
[email protected]
Internet
www.krause-robotik.de
Telefon
(03494) 368372
Telefax
(03494) 33784
Handy
(0171) 8747348
17 Vision Sensor – Die CMUcam
17.1 Motivation
17.2 Übersicht
17.3 Anschluss
17.4 Befestigung
17.5 Kommunikation
17.6 Farbverfolgung mit der CMUcam
17.7 Die wichtigsten Befehle
17.8 Die wichtigsten Rückgabepakete
17.9 Anwendung
17.10 Ausblick
17.11 Quellen und Quelltext
263
263
263
265
267
267
269
271
275
277
280
280
18 Modellierung komplexen Verhaltens
18.1 Motivation
18.2 Programmierung – Verhalten
18.3 Signale – Reize
18.4 Threads – Verhaltensweisen
18.5 Unterbrechungen – Ablenkung
18.6 Reiz-Reaktions-Kopplung
18.6.1 camera – Auswertung der Kameradaten
18.6.2 bumper – Kontrolle der Bumper-Taster
18.6.3 step back – Kollisionsbehandlung
18.6.4 follow – Verfolgung des Balls
18.6.5 search – Umgebungssuche
18.6.6 cruise – Umherstreifen
18.6.7 main – Aufwachen
18.7 Ausblick
18.8 Quellen und Quelltext
283
283
283
284
284
285
285
286
287
287
287
287
287
288
288
289
19 Ausblicke
19.1 Wie geht es weiter?
19.2 Quellen
293
293
294
Krause Robotik
Neustadt 8
06800 Raguhn-Jeßnitz
E-Mail
[email protected]
Internet
www.krause-robotik.de
Telefon
(03494) 368372
Telefax
(03494) 33784
Handy
(0171) 8747348
A Ein alternativer C-Compiler: der SDCC
A.1 Einführung
A.2 Installation und Probelauf
A.3 Syntaxunterschiede zum Wickenhäuser µC/51
A.4 Quellen
297
297
298
300
302
B Ein alternativer Flasher für den Parallelport: der SP89
B.1 Einführung
B.2 Verwendung
B.3 Quellen
303
303
303
305
C Alternative Mikrocontroller und µC-Boards
C.1 Einführung
C.2 Weitere Mitglieder aus der 8051-Familie
C.3 Es muss nicht immer 8051 sein
C.4 Quellen
307
307
308
309
309
Das Buch ist erhältlich bei
www.krause-robotik.de
Besuchen Sie unsren Shop
Krause Robotik
Neustadt 8
06800 Raguhn-Jeßnitz
E-Mail
[email protected]
Internet
www.krause-robotik.de
Telefon
(03494) 368372
Telefax
(03494) 33784
Handy
(0171) 8747348
Herunterladen