Smart-Car: Unterschied zwischen den Versionen
(89 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
[[Kategorie:ProjekteET MTR BSE WS2022]] | [[Kategorie:ProjekteET MTR BSE WS2022]] | ||
<!-- Kopieren Sie diesen Header in Ihren Artikel, damit er aufgelistet wird. --> | <!-- Kopieren Sie diesen Header in Ihren Artikel, damit er aufgelistet wird. --> | ||
'''Autoren: Can Nen & Darvin Welslau''' <br/> | '''Autoren: [[Benutzer:Can Nen|Can Nen]] & [[Benutzer:Darvin Welslau|Darvin Welslau]]''' <br/> | ||
'''Betreuer: | '''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)]] | ||
== Einleitung == | == Einleitung == | ||
Im Rahmen des GET-Fachpraktikums im 5. Semester des Studienganges | 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. | Dieser Artikel beschreibt die Entwicklung eines intelligenten Fahrzeuges, welches selbstständig durch einen Raum fahren soll und dabei Kollisionen vermeidet. Vermittelte Inhalte des bisherigen Studiums, 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. <br> | ||
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== | == Anforderungen== | ||
Zeile 24: | Zeile 23: | ||
|- | |- | ||
| 1 | | 1 | ||
| Das | | Das Fahrgestell sowie Halterungen und Felgen sollen mittels 3D-Druck hergestellt werden . | ||
| Can Nen | | Can Nen | ||
| 30.09.2022 | | 30.09.2022 | ||
Zeile 31: | Zeile 30: | ||
|- | |- | ||
| 2 | | 2 | ||
| | | Die Versorgung des Fahrzeuges soll mittels einer 9V Block-Batterie realisiert werden . | ||
| Can Nen | | Can Nen | ||
| | | 19.10.2022 | ||
| Darvin Welslau | | Darvin Welslau | ||
| | | 19.10.2022 | ||
|- | |- | ||
| 3 | | 3 | ||
| | | Als Antrieb sollen Servomotoren verwendet werden . | ||
| Can Nen | | Can Nen | ||
| 30.09.2022 | | 30.09.2022 | ||
Zeile 45: | Zeile 44: | ||
|- | |- | ||
| 4 | | 4 | ||
| Es soll ein | | 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 | | Can Nen | ||
| | | 17.10.2022 | ||
| Darvin Welslau | | Darvin Welslau | ||
| | | 17.10.2022 | ||
|- | |- | ||
| 5 | | 5 | ||
| | | Das Fahrzeug soll selbstständig durch einen Raum fahren können und Kollisionen vermeiden. | ||
| Can Nen | | Can Nen | ||
| 30.09.2022 | | 30.09.2022 | ||
Zeile 59: | Zeile 58: | ||
|- | |- | ||
| 6 | | 6 | ||
| | | Die Fahrt soll solange erfolgen bis der Benutzer das Smart-Car abschaltet oder die Batterie leer ist. | ||
| Can Nen | | Can Nen | ||
| | | 17.10.2022 | ||
| Darvin Welslau | | Darvin Welslau | ||
| | | 17.10.2022 | ||
|- | |- | ||
|} | |} | ||
Tabelle 1 zeigt die funktionalen Anforderungen. | Tabelle 1 zeigt die funktionalen Anforderungen. | ||
== Funktionaler Systementwurf/Technischer Systementwurf == | == Funktionaler Systementwurf == | ||
Nach der Ideenfindung, wurde zunächst mit einer groben Skizze begonnen, um festzuhalten wie die Idee umgesetzt werden könnte. Nachdem ein grober Umriss des Ganzen festgehalten wurde, konnte ausgemacht werden, mithilfe welcher Verfahren dieses Projekt in die Realität umgesetzt werden kann. | 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 1 soll die Herausforderung verdeutlichen. | ||
[[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 SolidWorks zum Einsatz. Sobald der Aufbau des Projekts fertiggestellt ist, kann die Programmierung über die Software Matlab/Simulink erfolgen. Hierbei gilt es ein Modell zu erstellen, in dem Servomotoren 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 Servomotoren statt, die diagonal gegenüber voneinander platziert werden. Im Falle einer Richtungsänderung soll sich ein Servomotor rückwärts drehen, damit sich das Fahrzeug auf der Stelle dreht. Diese Motoren werden in der Konstruktion des Fahrgestells berücksichtigt und mit eingebettet. Als Versorgung kommt eine 9-Volt Blockbatterie 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> | |||
<gallery widths="400" heights="400"> | |||
Bild:Entwurf Smart-Car.jpg|Abb. 2: Systementwurf Smart-Car | |||
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. --> | |||
== Komponentenspezifikation == | |||
==== <big>3D-Komponenten</big> ==== | |||
Verwendeter Werkstoff: PLA (Polylactid) | |||
<big>'''Chassis (Gehäuse)'''</big> | |||
* Platz für Block-Batterie | |||
* Platz und Aussparung für Servomotoren | |||
* Aussparung für festen Sitz des Arduino Uno | |||
'''<big>Felgen</big>''' | |||
* Passung für Servomotoren | |||
* kreatives Felgendesign | |||
'''<big>Halterungen</big>''' | |||
* Fester Sitz für den Ultraschallsensor | |||
* Passende Aussparungen | |||
=== <big>Elektrische Komponenten</big> === | |||
'''<big>Ultraschallsensor: HC-SR04</big>''' | |||
[[Datei:HC SR04.jpg|200x200px|mini|rechts|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'''<br> | |||
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 jetzt durch zwei geteilt werden, da wir sonst den Hin- und Rückweg ausrechnen würden. | |||
'''Schaltplan''' | |||
[[Datei:Schaltplan Ultraschallsensor.png|500x500px|gerahmt|zentriert|Abb. 5: Abbildung des Schaltplans vom Ultraschallsensor]] | |||
'''<big>Mikrocontroller: Arduino Uno</big>''' | |||
[[Datei:R3 Arduino Uno.jpg|175x175px|mini|rechts|Abb. 6: Abbildung des Arduino Uno R3]] | |||
Der Arduino Uno bietet sich als Mikrocontroller 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. | |||
'''<big>Motor-Shield: Heemol L298P Shield R3 DC Driver Module</big>''' | |||
[[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. | |||
Der wichtigste Punkt ist allerdings, dass er kompatibel mit dem Arduino Uno ist. | |||
'''<big>Motoren: N20 DC 6 V Getriebemotor</big>''' | |||
[[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. Zudem ist der N20 DC 6V Getriebemotor sehr günstig im Vergleich zu ähnlichen Produkten. | |||
'''<big>Batterie: 9V Blockbatterie</big>''' | |||
[[Datei:9V Blockbatterie.jpg|175x175px|mini|rechts|Abb. 9: Abbildung einer 9V Blockbatterie]] | |||
Für die Stromversorgung wird 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. | |||
'''<big>Verkabelung: Jumper Wire Kabel</big>''' | |||
[[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. | |||
== | === <big>Kostenkalkulation</big> === | ||
[[Datei:Kostenkalkulation Smart Car.png|400x400px|mini|zentriert|Abb. 11: Abbildung der Kostenkalkulation für das Smart-Car]] | |||
== Umsetzung (HW/SW) == | == 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 Servomotoren sowie die 9V-Batterie im Innenraum Platz finden. Die Servomotoren können so in dem Chassis platziert werden, dass diese diagonal voneinander 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ährleistet einen festen Sitz des Controllers, anschließend findet das Motor Shield auf 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 Servomotor platziert werden kann, dazu wurde mit den Maßen der vorhandenen Servomotoren 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 12 zu sehen. | |||
[[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. | |||
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|Abb. 13: Abbildung des Verdrahtungsplans aus der Software qelectrotech]] | |||
=== Software === | |||
Für das Erstellen der Software wurde zuerst ein Projektablaufplan (siehe Abb. 14) erstellt. Anhand dieses Projektablaufplanes konnte das Programm mit Matlab / Simulink realisiert werden. Zuerst müssen die Bremsen gelöst. Dafür wurden die Pins 8 und 9, welche auch mit "Brake_A" und "Brake_B" gekennzeichnet wurden, auf LOW gesetzt. Als nächsten muss die Geschwindigkeit der Motoren gesetzt werden. Es wurde die Maximalgeschwindigkeit von 255 als PWM-Signal gewählt, welches auf die Pins 3 und 11 für "PWM_A" und "PWM_B" geschrieben wird. | |||
Das linke Rad mit dem Pin 12, welches als "Dir_A" gekennzeichnet wurde, bekommt das Signal HIGH, damit es sich immer vorwärts dreht.<br> | |||
Das rechte Rad mit dem Pin 13, welches mit "Dir_B" gekennzeichnet wurde, bestimmt, wie sich das Fahrzeug am Ende verhält. Wenn der gemessene Abstand des Ultraschallsensors kleiner als 10 cm sein sollte, bekommt das Rad ein HIGH-Signal und dreht sich rückwärts. Das führt dazu, dass sich das Smart-Car auf der Stelle dreht. Falls der Abstand zum nächsten Objekt größer als 10 cm ist, bekommt das rechte Rad ein LOW-Signal und dreht sich ebenfalls geradeaus. Das Auto fährt also vorwärts. | |||
<gallery widths="550" heights="400" perrow="2"> | |||
Abbildung PAP.jpg|Abb.14: Abbildung des Projektablaufplans | |||
Software Matlab.png|Abb. 15: Abbildung der Software aus Matlab / Simulink | |||
</gallery> | |||
== Komponententest == | == 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 Servomotoren und die Batterie im Chassis platz finden. Die Servomotoren 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 Skate-Sport verwendet und sorgt auf der Oberfläche des Skateboards 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. <br> | |||
Außerdem wurde eine Testsoftware programmiert, mit welcher sich die Servomotoren jeweils in unterschiedliche Richtungen drehen. | |||
[[Datei:Motoren Test.png|400 px|mini|zentriert|Abb. 16: 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. | |||
[[Datei:Ultraschallsensor Test.png|400 px|mini|zentriert|Abb. 17: Code der Testsoftware für den Ultraschallsensor]] | |||
== Ergebnis == | == Ergebnis == | ||
{| class="wikitable" | |||
|+ style = "text-align: left"|Tabelle 2: Ergebnisse in Bezug auf die Anforderungen | |||
! style="font-weight: bold;" | ID | |||
! style="font-weight: bold;" | Inhalt | |||
! style="font-weight: bold;" | Geprüft von | |||
! style="font-weight: bold;" | 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 Servomotoren. | |||
| 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 == | == Zusammenfassung == | ||
=== Lessons Learned === | === 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 == | == Projektunterlagen == | ||
=== Projektplan === | === Projektplan === | ||
[[Datei:Projektplan Smart-Car.jpg|800 px|mini|zentriert|Abb. 18: Abbildung des Projektplans]] | |||
=== Projektdurchführung === | === Projektdurchführung === | ||
Wie in der Abbildung 17 zu erkennen, wurde der Aufbau des Smart-Cars mittels 3D Druck realisiert. Dazu kam ein handelsüblicher Filament Drucker zum Einsatz. Räder, Chassis sowie Ultraschallsensor-Halterungen vor zu bbginn des Projektes in der Software SolidWorks konstruiert. Basis des ganzen bildet die Skizze, welche in Abbildung 3 zu sehen ist. In folgenden Abmaßen sind die Bauteile aus dem das Smart- Car besteht angefertigt worden. Felgen: 48mm Durchmesser, Chassis: Länge 65mm Breite 55mm Höhe 32mm, Ultraschallsensor-Halterung: Länge 50mm, Breite 20mm | |||
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 Servomotoren 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) | |||
[[Datei:Abbildung fertiges Smart-Car.jpg| 400 px|mini|zentriert|Abb. 19:Fertiger Aufbau des Smart Cars]] | |||
[[Datei:154 Smart-Car.zip|mini|Zip-Datei mit allen Projektunterlagen]] | |||
== YouTube Video == | == YouTube Video == | ||
Hier ein Video des Smart-Cars: | |||
{{#ev:youtube|https://youtu.be/CZuL0OB9sV8 600 | |}} | |||
== Weblinks == | == Weblinks == | ||
https://www.mikrocontroller-elektronik.de/ultraschallsensor-hc-sr04/<br> | |||
https://wiki.hshl.de/wiki/index.php/Ultraschall_Abstandssensor_HC-SR04 | |||
<!-- Fügen Sie diesen Footer hinzu. --> | <!-- Fügen Sie diesen Footer hinzu. --> | ||
---- | ---- | ||
→ zurück zur Übersicht: [[:Kategorie:ProjekteET_MTR_BSE_WS2021|WS 22/23: Angewandte Elektrotechnik (BSE)]] | → zurück zur Übersicht: [[:Kategorie:ProjekteET_MTR_BSE_WS2021|WS 22/23: Angewandte Elektrotechnik (BSE)]] |
Aktuelle Version vom 10. Januar 2023, 10:20 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 Studiums, 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 Servomotoren 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 1 soll die Herausforderung verdeutlichen.
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 SolidWorks zum Einsatz. Sobald der Aufbau des Projekts fertiggestellt ist, kann die Programmierung über die Software Matlab/Simulink erfolgen. Hierbei gilt es ein Modell zu erstellen, in dem Servomotoren 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 Servomotoren statt, die diagonal gegenüber voneinander platziert werden. Im Falle einer Richtungsänderung soll sich ein Servomotor rückwärts drehen, damit sich das Fahrzeug auf der Stelle dreht. Diese Motoren werden in der Konstruktion des Fahrgestells berücksichtigt und mit eingebettet. Als Versorgung kommt eine 9-Volt Blockbatterie zum Einsatz. Ein Arduino Uno und ein Motor Shield runden das ganze Projekt ab und sollen das eigentliche Leben in das Smart-Car bringen.
-
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 Servomotoren
- Aussparung für festen Sitz des Arduino Uno
Felgen
- Passung für Servomotoren
- kreatives Felgendesign
Halterungen
- Fester Sitz für den Ultraschallsensor
- Passende Aussparungen
Elektrische Komponenten
Ultraschallsensor: 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 jetzt durch zwei geteilt werden, da wir sonst den Hin- und Rückweg ausrechnen würden.
Schaltplan
Mikrocontroller: Arduino Uno
Der Arduino Uno bietet sich als Mikrocontroller 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
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
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. Zudem ist der N20 DC 6V Getriebemotor sehr günstig im Vergleich zu ähnlichen Produkten.
Batterie: 9V Blockbatterie
Für die Stromversorgung wird 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
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
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 Servomotoren sowie die 9V-Batterie im Innenraum Platz finden. Die Servomotoren können so in dem Chassis platziert werden, dass diese diagonal voneinander 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ährleistet einen festen Sitz des Controllers, anschließend findet das Motor Shield auf 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 Servomotor platziert werden kann, dazu wurde mit den Maßen der vorhandenen Servomotoren 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 12 zu sehen.
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.
Software
Für das Erstellen der Software wurde zuerst ein Projektablaufplan (siehe Abb. 14) erstellt. Anhand dieses Projektablaufplanes konnte das Programm mit Matlab / Simulink realisiert werden. Zuerst müssen die Bremsen gelöst. Dafür wurden die Pins 8 und 9, welche auch mit "Brake_A" und "Brake_B" gekennzeichnet wurden, auf LOW gesetzt. Als nächsten muss die Geschwindigkeit der Motoren gesetzt werden. Es wurde die Maximalgeschwindigkeit von 255 als PWM-Signal gewählt, welches auf die Pins 3 und 11 für "PWM_A" und "PWM_B" geschrieben wird.
Das linke Rad mit dem Pin 12, welches als "Dir_A" gekennzeichnet wurde, bekommt das Signal HIGH, damit es sich immer vorwärts dreht.
Das rechte Rad mit dem Pin 13, welches mit "Dir_B" gekennzeichnet wurde, bestimmt, wie sich das Fahrzeug am Ende verhält. Wenn der gemessene Abstand des Ultraschallsensors kleiner als 10 cm sein sollte, bekommt das Rad ein HIGH-Signal und dreht sich rückwärts. Das führt dazu, dass sich das Smart-Car auf der Stelle dreht. Falls der Abstand zum nächsten Objekt größer als 10 cm ist, bekommt das rechte Rad ein LOW-Signal und dreht sich ebenfalls geradeaus. Das Auto fährt also vorwärts.
-
Abb.14: Abbildung des Projektablaufplans
-
Abb. 15: Abbildung der Software aus Matlab / Simulink
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 Servomotoren und die Batterie im Chassis platz finden. Die Servomotoren 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 Skate-Sport verwendet und sorgt auf der Oberfläche des Skateboards 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.
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.
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 Servomotoren. | 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
Projektdurchführung
Wie in der Abbildung 17 zu erkennen, wurde der Aufbau des Smart-Cars mittels 3D Druck realisiert. Dazu kam ein handelsüblicher Filament Drucker zum Einsatz. Räder, Chassis sowie Ultraschallsensor-Halterungen vor zu bbginn des Projektes in der Software SolidWorks konstruiert. Basis des ganzen bildet die Skizze, welche in Abbildung 3 zu sehen ist. In folgenden Abmaßen sind die Bauteile aus dem das Smart- Car besteht angefertigt worden. Felgen: 48mm Durchmesser, Chassis: Länge 65mm Breite 55mm Höhe 32mm, Ultraschallsensor-Halterung: Länge 50mm, Breite 20mm
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 Servomotoren 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
Hier ein Video des Smart-Cars:
Weblinks
https://www.mikrocontroller-elektronik.de/ultraschallsensor-hc-sr04/
https://wiki.hshl.de/wiki/index.php/Ultraschall_Abstandssensor_HC-SR04
→ zurück zur Übersicht: WS 22/23: Angewandte Elektrotechnik (BSE)