Smart-Car
Autoren: Can Nen & Darvin Welslau
Betreuer: Prof. Schneider
→ zurück zur Übersicht: WS 22/23: Angewandte Elektrotechnik (BSE)
Einleitung
Im Rahmen des GET-Fachpraktikums im 5. Semester des Studienganges Mechatronik an der Hochschule Hamm-Lippstadt, soll ein Projekt zur Vertiefung und Umsetzung des bisher vermittelten Wissens umgesetzt werden. Dieser Artikel beschreibt die Entwicklung eines intelligenten Fahrzeuges welches selbstständig durch einen Raum fahren soll und dabei Kollisionen vermeidet. Vermittelte Inhalte des bisherigen Studium, beinhalten die Konstruktion von Bauteilen mittels der Software SolidWorks, Anfertigung der Bauteile mithilfe von 3D-Printing, Projektmanagement Kenntnisse sowie der Programmierung von Mikrocontrollern. Anhand dieses Projektes soll ein zusammenwirken der verschiedenen Studienschwerpunkte veranschaulicht werden, Inhalt der Schwerpunkte Global Produktion Engineering (GPE) & System Design Engineering (SDE) sind in diesem Projekt vertreten. Die Programmierung von Mikrocontrollern findet sich im Schwerpunkt SDE wieder, wohingegen die Konstruktion und das 3D-Printing im Schwerpunkt GPE thematisiert wird. Gleichermaßen zeigt dieses Projekt das zusammenwirken auf, welches in der heutigen Automobilindustrie in Zusammenhang mit dem autonomen Fahren einhergeht. Software sowie Hardware und Entwicklung spielen in vielen Bereichen der heutigen Zeit eine tragende Rolle und bilden in vielen Unternehmen das Herzstück. Ebenso soll dieses Projekt die eigenen Interessen der Studenten aufzeigen und das theoretische Wissen mit dem praktischen verbinden.
Anforderungen
ID | Inhalt | Ersteller | Datum | Geprüft von | Datum |
---|---|---|---|---|---|
1 | Das Fahrgestell sowie Halterungen und Felgen sollen mittels 3D-Druck hergestellt werden . | Can Nen | 30.09.2022 | Darvin Welslau | 08.10.2022 |
2 | Die Versorgung des Fahrzeuges soll mittels einer 9V Block-Batterie realisiert werden . | Can Nen | 19.10.2022 | Darvin Welslau | 19.10.2022 |
3 | Als Antrieb sollen Servo-Motoren verwendet werden . | Can Nen | 30.09.2022 | Darvin Welslau | 08.10.2022 |
4 | Es soll ein Ultraschallsensor zur Abstandsmessung verwendet werden, welcher laufend den Abstand zum nächsten Objekt misst. Bei einem zu kleinen Abstand (<20cm) soll das Fahrzeug sich um die eigene Achse drehen. | Can Nen | 17.10.2022 | Darvin Welslau | 17.10.2022 |
5 | Das Fahrzeug soll selbstständig durch einen Raum fahren können und Kollisionen vermeiden. | Can Nen | 30.09.2022 | Darvin Welslau | 08.10.2022 |
6 | Die Fahrt soll solange erfolgen bis der Benutzer das Smart-Car abschaltet oder die Batterie leer ist. | Can Nen | 17.10.2022 | Darvin Welslau | 17.10.2022 |
Tabelle 1 zeigt die funktionalen Anforderungen.
Funktionaler Systementwurf
Herausforderung an das Projekt soll es seien, dass das Smart-Car sich autonom bewegen kann. Das bedeutet, das Fahrzeug soll sich ohne Eingreifen des Benutzers selbstständig in einem dafür vorgesehenen Testraum bewegen. Dabei sollen Hindernisse oder eben die Begrenzung des Raumes frühzeitig erkannt werden. Durch das Vorgeben eines Mindestabstands zu dem jeweiligen Objekt soll das Fahrzeug eine Anweisung für einen Richtungswechsel erhalten. Folgende Abbildung .. soll die Herausforderung verdeutlichen.
![](/wiki/images/thumb/9/91/Grundlagenteil_Abbildung.jpg/600px-Grundlagenteil_Abbildung.jpg)
Grundlegend gilt es zunächst die Komponenten festzulegen, mit denen diese Aufgabe bewältigt werden kann. Im nächsten Schritt wird dann ein Aufbau entworfen und als Prototyp mittels 3D Druck realisiert. Dazu kommen aus Vorlesungen bekannte Programme wie SoldidWorks zum Einsatz. Sobald der Aufbau des Projekt fertig gestellt ist, kann die Programmierung über die Software Matlab/Simulink erfolgen. Hierbei gilt es ein Modell zu erstellen, in dem Servo-Motoren in Abhängigkeit des ausgelesenen Abstandes zum nächsten Objekt angesteuert werden.
Technischer Systementwurf
-
Abb. 2: Systementwurf Smart-Car
-
Abb. 3: Skizze der Bauteile des Smart-Cars
Komponentenspezifikation
3D-Komponenten
Verwendeter Werkstoff: PLA (Polylactid)
Chassis (Gehäuse)
- Platz für Block-Batterie
- Platz und Aussparung für Servo-Motoren
- Aussparung für festen Sitz des Arduino Uno
Felgen
- Passung für Servo-Motoren
- kreatives Felgendesign
Halterungen
- Fester Sitz für den Ultraschallsensor
- Passende Aussparungen
Elektrische Komponenten
Ultraschallsensor: HC-SR04
![](/wiki/images/thumb/9/9b/HC_SR04.jpg/200px-HC_SR04.jpg)
Daten
- Reichweite: 3 – 400 cm
- Betriebsspannung: 5 V DC
- Frequenz: 40 kHz
- Trigger-Pulsweite: 10 µs
- Maximale Messabweichung: 3mm
- Maße: 43x20x15
Pinbelegung
- Pin 1: VCC
- Pin 2: Trigger
- Pin 3: Echo
- Pin 4: GND
Entfernung ermitteln
Die Schallgeschwindigkeit beträgt 343,5 m/s bei 20°C. Der HC-SR04 gibt die gemessene Zeit in Mikrosekunden aus. Das heißt, pro Mikrosekunde hat der Schall 0,03434 cm zurückgelegt. Um die gemessene Zeit des Echo-Signals nun in cm umzurechnen, muss die gemessene Zeit mit 0,03434 cm multipliziert werden. Dieser Wert muss nun durch zwei geteilt werden, da wir sonst den Hin- und Rückweg ausrechnen würden.
Schaltplan
![](/wiki/images/7/74/Schaltplan_Ultraschallsensor.png)
Microcontroller: Arduino Uno
![](/wiki/images/thumb/b/b3/R3_Arduino_Uno.jpg/175px-R3_Arduino_Uno.jpg)
Der Arduino Uno bietet sich als Microcontroller an, da er leicht zu bedienen ist. Außerdem verfügt er über eine breite Palette von Ein- und Ausgängen, welche es ermöglichen, mit verschiedenen Sensoren und Aktoren zu interagieren. Darüber hinaus ist der Arduino Uno kostengünstig und bietet, durch die große Community, viel Unterstützung durch Foren oder Tutorials.
Motor-Shield: Heemol L298P Shield R3 DC Driver Module
![](/wiki/images/thumb/2/24/Heemol_Motor_Shield.jpg/175px-Heemol_Motor_Shield.jpg)
Das Heemol Motor-Shield bietet eine leistungsstarke und zuverlässige Möglichkeit, DC-Motoren zu steuern. Außerdem verfügt es über einen H-Brückentreiber, welches das Drehen der Motoren in beide Richtungen ermöglicht. Der wichtigste Punkt ist allerdings, dass er kompatibel mit dem Arduino Uno ist.
Motoren: N20 DC 6 V Getriebemotor
![](/wiki/images/thumb/9/9b/N20_Getriebemotor.jpg/175px-N20_Getriebemotor.jpg)
Dieser Getriebemotor ist passend für das Smart-Car, da er klein und leicht ist. Außerdem hat er eine hohe Drehmomentkapazität und mit 150 U/min eine relativ hohe Drehzahl. Außerdem ist der N20 DC 6V Getriebemotor sehr günstig im Vergleich zu ähnlichen Produkten.
Batterie: 9V Blockbatterie
![](/wiki/images/thumb/7/79/9V_Blockbatterie.jpg/100px-9V_Blockbatterie.jpg)
Für die Stromversorgung wurde eine einfache 9V Blockbatterie mit dem zugehörigen Batteriehalter genutzt. Der Batteriehalter hat am anderen Ende lose Kabelenden für die Befestigung am Motor-Shield.
Verkabelung: Jumper Wire Kabel
![](/wiki/images/thumb/3/30/Jumper_Wire_Kabel.jpg/175px-Jumper_Wire_Kabel.jpg)
Für die Verkabelung der Sensoren und Motoren mit dem Motor-Shield wurden einfache Jumper Wire Kabel genutzt. Es waren sowohl „male to male“ -, als auch „female to female“ Kabel notwendig.
Kostenkalkulation
![](/wiki/images/thumb/7/75/Kostenkalkulation_Smart_Car.png/400px-Kostenkalkulation_Smart_Car.png)
Umsetzung (HW/SW)
Hardware
Der Aufbau des Smart-Cars wurde mittels 3D Druck realisiert. Dazu kam ein herkömmlicher FDM (Fused Deposition Modelling) Drucker zum Einsatz. Die einzelnen Komponenten wurden zunächst in der gängigen Software SolidWorks konstruiert. Angefangen mit dem Grundgehäuse bzw. dem Chassis, diese wurde so konstruiert, dass die die Servomotoren sowie die 9V-Baterrie im Innenraum Platz finden. Die Servomotoren können so in dem Chassis platziert werden, dass diese diagonal von einander das Smart-Car antreiben. Um ein verrutschen zu gewährleisten wurden anhand der Maße der Motoren jeweils Anschläge im Innenraum realisiert. Zusätzlich können die Motoren mit Klebstoff fixiert werden. Da ein Arduino Uno sowie ein Motor Shield für das Smart-Car verwendet werden, wurde in dem Chassis eine Aussparung vorgesehen in den der Arduino Uno eingeschoben werden kann. Das gewährleiteistet ein festen Sitz des Controllers, anschließend findet das Motor Shiel dauf dem Arduino seinen Platz und ist somit auch vor verrutschen geschützt. Bei der Konstruktion der Felgen, wurde sich an bekannten Felgen aus dem Automobilbereich orientiert und zusätzlich ein wenig eigene Kreativität ins Spiel gebracht. Die Felgenaufhängung bzw. Felgenmitte wurde so ausgelegt, dass diese problemlos auf dem Servo-Motor platziert werden kann, dazu wurde mit dem Maßen der vorhandenen Servo-Motoren gearbeitet. Um den Ultraschall-Sensor am Gehäuse befestigen zu können wurde eine Halterung aus zwei Komponenten angefertigt. In den ersten Teil der Halterung kann der Ultraschall-Sensor eingelegt werden, mit der zweiten Komponente wird die Halterung umschlossen, sodass der Sensor fest an einer Position gehalten wird. In dieser zweiten Komponente befinden sich die jeweiligen Aussparungen für die Funktion des Sensors. Alle Bauteile sind auf der Abbildung ... zu sehen.
![](/wiki/images/thumb/2/26/Bauteile_zusammen.jpg/600px-Bauteile_zusammen.jpg)
Nachdem das Gehäuse fertiggestellt wurde, ging es an die Verdrahtung. Dafür wurde zunächst das Motor Shield auf den Arduino Uno gesteckt. Anschließend konnte der Ultraschallsensor angeschlossen werden. Dafür wurde er zunächst an die 5 V Versorgungsspannung und den GND-Kontakt angeschlossen. Um die Distanz mit dem Ultraschallsensor messen zu können, müssen noch der Trigger- und Echo-Pin an das Motor Shield angeschlossen werden, welches die Kontakte an den Arduino weiterleitet. Zuletzt wurden Motoren und Batterie an die H-Brücke des Motor Shields angeschlossen, damit die Motoren angesteuert werden können. Die H-Brücke ermöglicht es, die Motoren in unterschiedliche Richtungen drehen zu können.
![](/wiki/images/thumb/3/35/Verdrahtungsplan.png/400px-Verdrahtungsplan.png)
Software
Komponententest
3D Komponenten
Felgen sowie Halterungen und Chassis wurden beim Aufbau auf ihre Maßhaltig und Belastung getestet. Das Chassis hat eine Aussparung für den Arduino in der dieser einen festen Sitz haben soll, ebenso müssen die Servo-Motoren und die Batterie im Chassis platz finden. Die Servo-Motoren müssen so eingesetzt werden, dass die Felgen mit deren Passung auf die Enden der Motoren geschoben werden können. Auch hier muss ein fester Sitz erfolgen um ein Abfallen der Felgen zu gewährleisten. Der Ultraschallsensor findet in seiner Halterung seinen Platz, der mit einer Verschlusskappe verschlossen wird, der wiederum zwei runde Aussparungen an den passenden Stellen hat. Die Halterung des Sensors wird durch Nuten an den Seiten in das Chassis eingeschoben.
Da die Felgen eine glatte Oberfläche aufweisen, musste hier eine Lösung gefunden werden, dass mehr Haftung auf die Felgen gebracht wird. Diese Haftung wurde mittels Grip-Tape realisiert. Dieses Tape wird normalerweise im Skateboard Sport verwendet und sorgt auf der Oberfläche des Skateboard für den Namensgebenden Grip auf dem Brett.
Servomotoren
Die Servomotoren wurde zum testen direkt an die 9V Blockbatterie angeschlossen. Sie lassen sich durch das Vertauschen der Pole in unterschiedliche Richtungen drehen.
Außerdem wurde eine Testsoftware programmiert, mit welcher sich die Servomotoren jeweils in unterschiedliche Richtungen drehen.
![](/wiki/images/thumb/a/a8/Motoren_Test.png/400px-Motoren_Test.png)
Steuerungskomponenten
Die Steuerungskomponenten, bestehend aus dem Arduino Uno und dem Motor Shield wurden getestet, indem sie an den PC angeschlossen wurden. Es wurde eine Verbindung aufgebaut, um über die Software Matlab auf den Arduino zugreifen zu können. Mithilfe der Verbindung zu dem PC konnten dann die einzelnen Servomotoren angesteuert werden.
Ultraschallsensor
Der Ultraschallsensor wurde durch eine Beispielsoftware getestet. Hierfür wurde fortlaufend die Entfernung zu einem Objekt gemessen und ausgegeben. Diese Ausgabe wurde durch ein Lineal überprüft.
![](/wiki/images/thumb/8/81/Ultraschallsensor_Test.png/400px-Ultraschallsensor_Test.png)
Ergebnis
ID | Inhalt | Geprüft von | Datum |
---|---|---|---|
1 | Der Aufbau des Fahrzeuges wurde auf Basis von Skizzen in SolidWorks umgesetzt und mittels 3D-Druck realisiert . | Darvin Welslau | 08.01.2023 |
2 | Das Smart-Car wird über eine 9V Batterie die sich im inneren des Gehäuses befindet versorgt . | Darvin Welslau | 08.01.2023 |
3 | Angetrieben wird das Fahrzeug durch parallel angeordnete Servo-Motoren . | Darvin Welslau | 08.01.2023 |
4 | Durch den verwendeten Ultraschallsensor werden die Objekte detektiert, beim unterschreiten des Mindestabstandes von 20 cm dreht sich das Fahrzeug und nimmt so eine Richtungsänderung vor. | Can Nen | 08.01.2023 |
5 | Das Fahrzeug bewegt sich ohne Eingreifen des Benutzter durch den Raum und vermeidet Kollisionen. | Can Nen | 08.01.2023 |
Tabelle 2 zeigt die Ergebnisse in Bezug auf die Anforderungen an das Projekt.
Zusammenfassung
Lessons Learned
- Zeitmanagement niemals vernachlässigen
- Kommunikation ist ausschlaggebend
- Anforderungen formulieren
- Komponenten Auswahl
- Umgang mit Mikrocontrollern, Sensoren, Motoren
- Anwendung von Simulink
- Schneiden und Bearbeiten von Videos zur Präsentation von Projekten
Projektunterlagen
Projektplan
![](/wiki/images/thumb/f/fa/Projektplan_Smart-Car.jpg/800px-Projektplan_Smart-Car.jpg)
Projektdurchführung
Wie in der Abbildung .. zu erkennen wurde der Aufbau des Smart Cars mittels 3D Druck realisiert. Dazu kam ein handelsüblicher Filamentdrucker zum Einsatz. Räder, Chassis sowie Ultraschallsensor-Halterungen vor zu beginn des Projektes in der Software SolidWorks konstruiert. Basis des ganzen bildet die Skizze die in Abbildung … zu sehen ist. In folgenden Abmaßen sind die Bauteile aus dem das Smart- Car besteht angefertigt worden. Felgen: 50mm Durchmesser, Chassis: Länge … Breite … Höhe …, Ultraschallsensor-Halterung: länge… Breite …
Nach erfolgreichem Drucken wurden zunächst die Servomotoren mit den dazugehörigen Kabeln verlötet, sodass diese an die passenden Stellen am Motor Shield angeschlossen werden können. (siehe Abb. 13)
Das Herzstück des Smart-Cars bildet ein Arduino Uno. Auf den Uno wurde ein Motor Shield gesetzt. Die Servo-Motoren und die Batterie wurden an den H-Brückentreiber des Motor Shields angeschlossen, sodass sich die Motoren in beide Richtungen drehen können. Der Ultraschallsensor wurde über das Motor Shield an die Stromversorgung angeschlossen und mit den Trigger- und Echo-pins verbunden. Anschließend wurde der Komponententest durchgeführt (s. Komponententest)
YouTube Video
Weblinks
Literatur
→ zurück zur Übersicht: WS 22/23: Angewandte Elektrotechnik (BSE)