Smart-Car

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

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

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

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.


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

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 jetzt durch zwei geteilt werden, da wir sonst den Hin- und Rückweg ausrechnen würden.

Schaltplan

Abb. 5: Abbildung des Schaltplans vom Ultraschallsensor

Mikrocontroller: Arduino Uno

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.







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

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

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

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.

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.

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.

Abb. 17: 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 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

Abb. 18: Abbildung des Projektplans

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)

Abb. 19:Fertiger Aufbau des Smart Cars

Datei:154 Smart-Car.zip

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)