This is an old revision of the document!
Interdisziplinäres Arbeiten - Linefollower
Worum geht es überhaupt?
Ein Linefollower ist ein Fahrzeug, das einer Linie auf dem Boden folgen kann. Etwas ähnliches ist ein Labyrinthwettbewerb, bei dem ein Fahrzeug einen Weg durch ein Labyrinth (engl.: Maze) finden muss. Für beides werden nationale und internationale Wettbewerbe veranstaltet. Die Fahrzeug sind ähnlich. Ein gute Übersicht gibt es hier:
In diesem Kurs werden wir ein Fahrzeug für das Linefollowerproblem bauen. Dabei haben wir schon einige Komponenten ausgewählt bzw. entworfen und gefertigt. Anhand des Linefollowers werden wir die Aspekte
- Mechanik / Physik
- Elektronik / Elektrische Schaltungen / Elektrischer Motor
- Programmierung / Mikrocomputer
- Mathematik für die Modellierung
immer im Hinblick auf den Linefollower betrachten.
Abb. 1: Bildschirmfoto vom Ialf Linefollower in der Onshape CAD Software
In Abbildung 1 ist ein Bildschirmfoto vom Linefollower in der Onshape CAD Software dargestellt. Man kann dort die verschiedenen Komponenten erkennen.
- Motormount links/rechts mit Motor, Getriebe, Felge und Reifen
- Racershieldplatine mit Raspberry Pi Pico 2040, Seeed Grove Steckern und Motortreiber
- Batteriesystem mit vier AAA Zellen
- Seeed optischer Sensor
- Platte als Chassis
Die meisten Komponenten bis auf die Akkus und die Chassisplatte sind als Bausatz zusammengestellt.
Mechanisches Design
Das mechanische Design vom IA-Linefollower wird mit Onshape gemacht. Die meisten Teile sind gekauft. Die Motorhalterung wird mit 3D Druck gefertigt und das Chassis wird aus 3mm Sperrholzplatten mit dem Lasercutter geschnitten und dann zusammengesteckt. Die Liste mit den Komponenten als Bill of Material (BOM) ist unten dargestellt.
Onshape
Onshape ist ein CAD Werkzeug für mechanisches Design, das direkt im Browser läuft. Man muss keine Software auf dem eigenen Rechner installieren. Dazu die Einführung Onshape.
BOM Mechanik
Anzahl | Name | Link | Herstellernummer |
---|---|---|---|
2 | Motor FA-130RA | https://opitec.de | 209644 |
2 | Stahlachse 3 x 25 mm | https://slotbox.de | 2003730251 |
4 | Kugellager 3x6mm mit Flansch | https://slotbox.de | 200600101 |
2 | 3mm Lochfelge I-Fl/16x17x15mm | https://slotbox.de | 2008171514 |
2 | Reifen Moosgummit m-hart 15,5 x 26 mm | https://slotbox.de | 2010016268 |
2 | Spurzahnrad 42 Zähne für 3mm Welle | https://slotbox.de | 20250042 |
2 | Motorritzel Messing 10 Zähne | https://slotbox.de | 202503102 |
2 | Stellring für 3mm Welle | https://conrad.de | 2106636-62 |
1 | Batteriehalter 4xAAA | https://conrad.de | 1713843 |
1 | Grove Light Sensor v1.2 | https://seeedstudio.com | 101020132 |
1 | Grove White LED | https://seeedstudio.com | 104030009 |
1 | Grove Line Finder v1.1 | https://seeedstudio.com | 101020172 |
3 | JST-PH 2 Pin Power Connector | https://seeedstudio.com | 321050009 |
1 | Racershield - Platine Grove Motortreiber für Pi Pico | https://github.com/fredowski/ialf | - |
1 | Raspberry Pi Pico H | https://reichelt.de | 5056561803180 |
1 | 3mm Sperrholzplatte für Lasercut | https://sperrholzshop.de | 035 |
4 | Akkus AAA Eneloop | https://conrad.de | 2589498 |
Die Racershieldplatine und die Motormounts werden für das Projekt bei JLCPCB gefertigt.
Elektrisches Design
Die Racershieldplatine ist mit KiCad entworfen und wird bei JLCPCB gefertigt. Die Designdaten sind auf github. Dort findet sich auch die BOM für die Platine.
Das Racershield hat die folgenden Komponenten:
- Steckplatz für Raspberry Pi Pico Mikrocontrollerboard
- Zehn Seeed Grove Stecker zum Anschluss von Seeed Grove Komponenten (Lichtsensoren, LEDs u.s.w.)
- Einen Motorcontroller für den Antrieb von zwei Motoren
- Eine Schutzschaltung gegen Verpolung zum Anschluss der Batterien
Die Firma Seeed Technology stellt eine Vielzahl von Sensoren und anderen Komponenten her, die alle mit dem gleichen Steckersystem Seeed Grove ausgestattet sind. Diese Sensoren kann man so mit verschiedenen Mikrocontrollertypen verbinden. Wir verwenden das System hier auch.
Programmierung mit Raspberry Pi Pico und Micropython
Der Linefollower wird mit einem Raspberry Pi Pico Mikrocontrollerboard gesteuert. Wir programmieren den Mikrocontroller mit der Programmiersprache Mikropython. Es gibt dazu eine Einführung.