Smart-Car: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
<!-- Kopieren Sie diesen Header in Ihren Artikel, damit er aufgelistet wird.  -->
<!-- Kopieren Sie diesen Header in Ihren Artikel, damit er aufgelistet wird.  -->
'''Autoren: [[Benutzer:Can Nen|Can Nen]] & [[Benutzer:Darvin Welslau|Darvin Welslau]]''' <br/>
'''Autoren: [[Benutzer:Can Nen|Can Nen]] & [[Benutzer:Darvin Welslau|Darvin Welslau]]''' <br/>
'''Betreuer: Prof. Göbel & Prof. Schneider''' <br/>
'''Betreuer: Prof. Schneider''' <br/>


→ zurück zur Übersicht: [[:Kategorie:ProjekteET_MTR_BSE_WS2022|WS 22/23: Angewandte Elektrotechnik (BSE)]]
→ zurück zur Übersicht: [[:Kategorie:ProjekteET_MTR_BSE_WS2022|WS 22/23: Angewandte Elektrotechnik (BSE)]]
Zeile 69: Zeile 69:
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.  
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.  


[[Datei:Grundlagenteil Abbildung.jpg|600 px|mini|zentriert]]
[[Datei:Grundlagenteil Abbildung.jpg|600 px|mini|zentriert|Abb 1: Abbildung der Funktionsweise des Smart-Cars]]


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.
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 ==
== Technischer Systementwurf ==
Nach der Ideenfindung, wurde zunächst mit einer groben Skizze (siehe Abb. 1) begonnen, um festzuhalten wie die Idee umgesetzt werden könnte. Nachdem ein grober Umriss des Ganzen (siehe Abb. 2) festgehalten wurde, konnte ausgemacht werden, mithilfe welcher Verfahren dieses Projekt in die Realität umgesetzt werden kann. Felgen sowie das Fahrgestell sollen via 3D-Druck (mit einem FDM-Drucker) hergestellt werden, zusätzlich können die Felgen mit einer Gummischicht ummantelt werden um bessere Vortriebskraft zu gewährleisten. Antrieb findet über zwei Servo-Motoren statt, die diagonal gegenüber voneinander platziert werden. Im Falle einer Richtungsänderung soll abhängig von der Richtung der jeweilige Servo-Motor schneller Drehen um das Fahrzeug in die gewünschte Richtung zu bewegen. Diese Motoren werden in der Konstruktion des Fahrgestell berücksichtigt und mit eingebettet. Als Versorgung kommt eine 9-Volt Block Batterie zum Einsatz. Ein Arduino Uno und ein Motor Shield runden das ganze Projekt ab und sollen das eigentliche Leben in das Smart-Car bringen.   
Nach der Ideenfindung, wurde zunächst mit einer groben Skizze (siehe Abb. 2) begonnen, um festzuhalten wie die Idee umgesetzt werden könnte. Nachdem ein grober Umriss des Ganzen (siehe Abb. 3) festgehalten wurde, konnte ausgemacht werden, mithilfe welcher Verfahren dieses Projekt in die Realität umgesetzt werden kann. Felgen sowie das Fahrgestell sollen via 3D-Druck (mit einem FDM-Drucker) hergestellt werden, zusätzlich können die Felgen mit einer Gummischicht ummantelt werden um bessere Vortriebskraft zu gewährleisten. Antrieb findet über zwei Servo-Motoren statt, die diagonal gegenüber voneinander platziert werden. Im Falle einer Richtungsänderung soll abhängig von der Richtung der jeweilige Servo-Motor schneller Drehen um das Fahrzeug in die gewünschte Richtung zu bewegen. Diese Motoren werden in der Konstruktion des Fahrgestell berücksichtigt und mit eingebettet. Als Versorgung kommt eine 9-Volt Block Batterie zum Einsatz. Ein Arduino Uno und ein Motor Shield runden das ganze Projekt ab und sollen das eigentliche Leben in das Smart-Car bringen.   


<br>
<br>
<gallery widths="400" heights="400">   
<gallery widths="400" heights="400">   
   Bild:Entwurf Smart-Car.jpg|Abb. 1: Systementwurf Smart-Car
   Bild:Entwurf Smart-Car.jpg|Abb. 2: Systementwurf Smart-Car
   Bild:Skizzen der Bauteile.png|Abb. 2: Skizze der Bauteile des Smart-Cars</gallery>
   Bild:Skizzen der Bauteile.png|Abb. 3: Skizze der Bauteile des Smart-Cars</gallery>


<!-- Füllen Sie Ihre Projektskizze bis hierher aus. Fügen Sie einen Projektplan unten ein.  -->
<!-- Füllen Sie Ihre Projektskizze bis hierher aus. Fügen Sie einen Projektplan unten ein.  -->
Zeile 106: Zeile 106:


'''<big>Ultraschallsensor: HC-SR04</big>'''
'''<big>Ultraschallsensor: HC-SR04</big>'''
[[Datei:HC SR04.jpg|200x200px|mini|rechts|Abbildung des Ultraschallsensors HC_SR04]]
[[Datei:HC SR04.jpg|200x200px|mini|rechts|Abb. 4: Abbildung des Ultraschallsensors HC_SR04]]
'''Daten'''
'''Daten'''
* Reichweite: 3 – 400 cm
* Reichweite: 3 – 400 cm
Zeile 127: Zeile 127:


'''Schaltplan'''
'''Schaltplan'''
[[Datei:Schaltplan Ultraschallsensor.png|500x500px|gerahmt|zentriert]]
[[Datei:Schaltplan Ultraschallsensor.png|500x500px|gerahmt|zentriert|Abb. 5: Abbildung des Schaltplans vom Ultraschallsensor]]


'''<big>Microcontroller: Arduino Uno</big>'''
'''<big>Microcontroller: Arduino Uno</big>'''
[[Datei:R3 Arduino Uno.jpg|175x175px|mini|rechts|Abbildung des Arduino Uno R3]]
[[Datei:R3 Arduino Uno.jpg|175x175px|mini|rechts|Abb. 6: Abbildung des Arduino Uno R3]]
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.  
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.  
Darüber hinaus ist der Arduino Uno kostengünstig und bietet, durch die große Community, viel Unterstützung durch Foren oder Tutorials.  
Zeile 146: Zeile 146:


'''<big>Motor-Shield: Heemol L298P Shield R3 DC Driver Module</big>'''
'''<big>Motor-Shield: Heemol L298P Shield R3 DC Driver Module</big>'''
[[Datei:Heemol Motor Shield.jpg|175x175px|mini|rechts|Abbildung des Heemol Motor Shields]]
[[Datei:Heemol Motor Shield.jpg|175x175px|mini|rechts|Abb. 7: Abbildung des Heemol Motor Shields]]
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.
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.
Der wichtigste Punkt ist allerdings, dass er kompatibel mit dem Arduino Uno ist.
Zeile 162: Zeile 162:


'''<big>Motoren: N20 DC 6 V Getriebemotor</big>'''
'''<big>Motoren: N20 DC 6 V Getriebemotor</big>'''
[[Datei:N20 Getriebemotor.jpg|175x175px|mini|rechts|Abbildung des N20 Getriebemotors]]
[[Datei:N20 Getriebemotor.jpg|175x175px|mini|rechts|Abb. 8: Abbildung des N20 Getriebemotors]]
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.
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.


Zeile 174: Zeile 174:


'''<big>Batterie: 9V Blockbatterie</big>'''
'''<big>Batterie: 9V Blockbatterie</big>'''
[[Datei:9V Blockbatterie.jpg|175x175px|mini|rechts|Abbildung einer 9V Blockbatterie]]
[[Datei:9V Blockbatterie.jpg|175x175px|mini|rechts|Abb. 9: Abbildung einer 9V Blockbatterie]]
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.
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.


Zeile 188: Zeile 188:


'''<big>Verkabelung: Jumper Wire Kabel</big>'''
'''<big>Verkabelung: Jumper Wire Kabel</big>'''
[[Datei:Jumper Wire Kabel.jpg|175x175px|mini|rechts|Abbildung der Jumper Wire Kabel]]
[[Datei:Jumper Wire Kabel.jpg|175x175px|mini|rechts|Abb. 10: Abbildung der Jumper Wire Kabel]]
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.
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.


Zeile 200: Zeile 200:


=== <big>Kostenkalkulation</big> ===
=== <big>Kostenkalkulation</big> ===
[[Datei:Kostenkalkulation Smart Car.png|400x400px|mini|zentriert|Abbildung der Kostenkalkulation für das Smart-Car]]
[[Datei:Kostenkalkulation Smart Car.png|400x400px|mini|zentriert|Abb. 11: Abbildung der Kostenkalkulation für das Smart-Car]]


== Umsetzung (HW/SW) ==
== Umsetzung (HW/SW) ==
Zeile 206: Zeile 206:
=== Hardware ===
=== 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.  
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.  
[[Datei:Bauteile zusammen.jpg|600 px|mini|zentriert|Felge, Chassis, Ultraschallsensor Halterung ]]
[[Datei:Bauteile zusammen.jpg|600 px|mini|zentriert|Abb. 12: Abbildung der 3D-Bauteile]]


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.  
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.
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.


[[Datei:Verdrahtungsplan.png|400 px|mini|zentriert|Abbildung des Verdrahtungsplans aus der Software qelectrotech]]
[[Datei:Verdrahtungsplan.png|400 px|mini|zentriert|Abb. 13: Abbildung des Verdrahtungsplans aus der Software qelectrotech]]


=== Software ===
=== Software ===
Zeile 227: Zeile 227:
Die Servomotoren wurde zum testen direkt an die 9V Blockbatterie angeschlossen. Sie lassen sich durch das Vertauschen der Pole in unterschiedliche Richtungen drehen. <br>
Die Servomotoren wurde zum testen direkt an die 9V Blockbatterie angeschlossen. Sie lassen sich durch das Vertauschen der Pole in unterschiedliche Richtungen drehen. <br>
Außerdem wurde eine Testsoftware programmiert, mit welcher sich die Servomotoren jeweils in unterschiedliche Richtungen drehen.
Außerdem wurde eine Testsoftware programmiert, mit welcher sich die Servomotoren jeweils in unterschiedliche Richtungen drehen.
[[Datei:Motoren Test.png|400 px|mini|zentriert|Code der Testsoftware für die Motoren]]
[[Datei:Motoren Test.png|400 px|mini|zentriert|Abb. 14: Code der Testsoftware für die Motoren]]


==== Steuerungskomponenten ====
==== Steuerungskomponenten ====
Zeile 234: Zeile 234:
==== Ultraschallsensor====
==== 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.
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.
[[Datei:Ultraschallsensor Test.png|400 px|mini|zentriert|Code der Testsoftware für den Ultraschallsensor]]
[[Datei:Ultraschallsensor Test.png|400 px|mini|zentriert|Abb. 15: Code der Testsoftware für den Ultraschallsensor]]


== Ergebnis ==
== Ergebnis ==
Zeile 288: Zeile 288:
== Projektunterlagen ==
== Projektunterlagen ==
=== Projektplan ===
=== Projektplan ===
[[Datei:Projektplan Smart-Car.jpg|800 px|mini|zentriert]]
[[Datei:Projektplan Smart-Car.jpg|800 px|mini|zentriert|Abb. 16: Abbildung des Projektplans]]


=== Projektdurchführung ===
=== Projektdurchführung ===
Zeile 295: Zeile 295:
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 …  
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. (s. Verdrahtungsplan)
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)
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)

Version vom 9. Januar 2023, 12:52 Uhr

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

Tabelle 1: Testbare, atomare 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.

Abb 1: Abbildung der Funktionsweise des Smart-Cars

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

Nach der Ideenfindung, wurde zunächst mit einer groben Skizze (siehe Abb. 2) begonnen, um festzuhalten wie die Idee umgesetzt werden könnte. Nachdem ein grober Umriss des Ganzen (siehe Abb. 3) festgehalten wurde, konnte ausgemacht werden, mithilfe welcher Verfahren dieses Projekt in die Realität umgesetzt werden kann. Felgen sowie das Fahrgestell sollen via 3D-Druck (mit einem FDM-Drucker) hergestellt werden, zusätzlich können die Felgen mit einer Gummischicht ummantelt werden um bessere Vortriebskraft zu gewährleisten. Antrieb findet über zwei Servo-Motoren statt, die diagonal gegenüber voneinander platziert werden. Im Falle einer Richtungsänderung soll abhängig von der Richtung der jeweilige Servo-Motor schneller Drehen um das Fahrzeug in die gewünschte Richtung zu bewegen. Diese Motoren werden in der Konstruktion des Fahrgestell berücksichtigt und mit eingebettet. Als Versorgung kommt eine 9-Volt Block Batterie zum Einsatz. Ein Arduino Uno und ein Motor Shield runden das ganze Projekt ab und sollen das eigentliche Leben in das Smart-Car bringen.



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

Abb. 4: Abbildung des Ultraschallsensors HC_SR04

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

Abb. 5: Abbildung des Schaltplans vom Ultraschallsensor

Microcontroller: Arduino Uno

Abb. 6: Abbildung des Arduino Uno R3

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

Abb. 7: Abbildung des Heemol Motor Shields

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

Abb. 8: Abbildung des N20 Getriebemotors

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

Abb. 9: Abbildung einer 9V Blockbatterie

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

Abb. 10: Abbildung der Jumper Wire Kabel

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

Abb. 11: Abbildung der Kostenkalkulation für das Smart-Car

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.

Abb. 12: Abbildung der 3D-Bauteile

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.

Abb. 13: Abbildung des Verdrahtungsplans aus der Software qelectrotech

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.

Abb. 14: Code der Testsoftware für die Motoren

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.

Abb. 15: Code der Testsoftware für den Ultraschallsensor

Ergebnis

Tabelle 2: Ergebnisse in Bezug auf die Anforderungen
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

Abb. 16: Abbildung des Projektplans

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)