Auftrag – Vollständige Handlung
BASIS-ANFORDERUNGEN
Jedes Projekt-Team muss die folgenden Basis-Anforderungen erfüllen.
- Es soll ein Messsystem für eine Hinderniserfassung in ein E-Fahrzeug integriert werden, um zu verhindern, dass das Fahrzeug mit Gegenständen kollidiert.
- Um die Hinderniserfassung flexibel anpassen zu können, soll die Funktion über den Mikrocontroller ESP32 programmiert werden.
- Für die Distanzmessung soll der Ultraschallsensor HC-SR04 und zusätzliche Hardware verwendet werden.
- Die Distanz zum Hindernis bzw. Objekt soll möglichst genau ermittelt werden.
- Da die Temperatur einen Einfluss auf die Schallgeschwindigkeit hat, ist mit einem zusätzlichen Sensor die Umgebungstemperatur möglichst genau zu messen und daraus – vor der Berechnung der Distanz – die aktuelle Schallgeschwindigkeit zu ermitteln.
- Die Entfernung zu einem Objekt soll auf einer 4-stelligen 7-Segmentanzeige angezeigt werden. Alternativ kann aber auch ein LCD-Display verwendet werden.
TEAMBEZOGENE ZUSATZANFORDERUNGEN
Um eine Differenzierung hinsichtlich der Vorkenntnisse in den Fachbereichen Elektro- und Informationstechnik sowie eine gruppenspezifische Bewertung nach dem Schwierigkeitsgrad der Aufgabe zu ermöglichen, muss jedes Team eine Zusatzanforderung wählen, die im Rahmen des Projektes realisiert werden muss.
TEAM 1:
Die Anzeige soll umschaltbar sein und wahlweise die Temperatur, Entfernung, Geschwindigkeit und die Zahl der erfassten Objekte anzeigen. Zudem sollen zwei verschiedene Einheiten für die Messgrößen wählbar sein (z. B. Temperatur in °C und °F, Distanz in m und cm, Geschwindigkeit in m/s und cm/s).
TEAM 2:
Das
Messsystem soll geeignete optische und akustische Signale ausgeben bzw. zur
Anzeige bringen (7‑Segment-/LCD-Display), wenn die Distanz zu einem Objekt zu
gering wird. Aus
den Signalen soll auch die Änderung der Gefahrenlage, z. B. in Form einer Frequenzänderung des Ton- oder optischen
Signals bzw. Änderung der Signalfarbe der LEDs (z. B. von grün nach rot) ersichtlich sein.
TEAM 3:
Der Grenzwert der minimal
zulässigen Distanz bei der die optischen oder akustischen Signale generiert
werden, soll im Programm beliebig einstellbar sein. Die Eingabe der Sollwerte
muss einfach und schnell vorgenommen werden können.
TEAM 4:
Mit Hilfe des
Abstandssensors soll die Möglichkeit geschaffen werden, dass das E-Fahrzeug
unter Einhaltung eines vorgebbaren Abstandes hinter einem vorausfahrenden Fahrzeug
fahren kann und dabei seine Geschwindigkeit so anpasst, dass die eingestellte
Distanz möglichst genau eingehalten wird (Tempomat).
TEAM 5:
Das
zu entwickelnde Messsystem soll eine Zählung von Objekten ermöglichen, die sich
am Ultraschallsensor vorbei bewegen. Für diese Aufgabe wird davon ausgegangen,
dass sich nur einzelne Objekte mit einer fest definierten und gleichbleibenden
Geschwindigkeit am Sensor vorbeibewegen.
TEAM 6:
Es
soll die Geschwindigkeit von einzelnen sich bewegenden Objekten erfasst und auf
dem Display in wählbaren Einheiten ausgegeben werden. Es soll dabei zunächst
nur die Geschwindigkeit von Objekten ermittelt werden, die sich gleichförmig in
Richtung der Schall-Achse bewegen und dabei ihre Lage rechtwinklig zum Sensor
nicht ändern.
In
einer zweiten Entwicklungsphase soll nach einer Möglichkeit gesucht
werden, wie mit dem Ultraschallsensor durch eine Dauermessung die gleichförmigen
Geschwindigkeiten von Objekten erfasst werden können, die sich im rechten
Winkel zur Schallausbreitung des Sensors bewegen. Als Anregung für die
praktische Realisierung soll die nachfolgende Grafik dienen (Abb.: 1).
Abb.: 1 Anregung für die Geschwindigkeitsmessung mit dem Ultraschallsensor HC-SR04 und der sich dabei ergebene Distanzverlauf s(t)
Bei der ersten Erfassung des Objektes (s1) muss eine Dauerdistanzmessung eingeleitet und zu diesem Zeitpunkt (t1) ein Timer für die Zeitmessung gestartet werden. Dieser wird gestoppt, wenn eine zweite Distanz gemessen wird, die gleich oder größer als die Anfangsdistanz s1 ist. Dies ist bei der Distanz s7 zum Zeitpunkt t2 der Fall. Da die Bewegung gleichförmig erfolgen soll, wird während jeder Distanzmessung die gleiche Strecke zurückgelegt.
TEAM 7:
Entwicklung
einer ESP32-Funktion bzw. einer C-Bibliothek für die Ansteuerung eines vierstelligen 7-Segment-Displays
mit Dezimalpunkten. Dazu
ist eine Datenübergabe in Form von Variablen an die Funktion erforderlich, mit
deren Hilfe der einerseits der Betriebsmodus (Entfernungs-, Geschwindigkeits-
und Temperaturmessung sowie Objektzählung) und andererseits die Einheiten festgelegt
werden können. Für
die Ansteuerung der vielen Segmente können ein oder vier 8-Bit-Schieberegister
SN74HC595 eingesetzt werden.
Tipp: Um eine flackerfreie Darstellung der 7-Segment-Anzeige zu gewährleisten, müssen die einzelnen Ziffern (und die dazugehörigen Segmente) permanent mit hoher Geschwindigkeit aktualisiert werden. Durch diesen Zeitbedarf wird aber die genaue Entfernungsmessung des Ultraschalsensors beeinträchtigt. Hier empfiehlt es sich, die Multitasking-Funktion des ESP32 zu nutzen und die Software für die Aktualisierung der Anzeige in einem eigenen (parallelen) Prozess ablaufen zu lassen.
DAS MODELL DER VOLLSTÄNDIGEN HANDLUNG
Abb.: 2: Das Modell der vollständigen Handlung
Sie analysieren den Arbeitsauftrag und informieren sich, welche technischen Komponenten erforderlich sind und welche interne ESP32-Hardware Sie für den Datenaustausch und die Ansteuerung der erforderlichen Komponenten benötigen. Daneben müssen Sie sich Kenntnisse über die notwendigen Software-Funktionen aneignen, die für die Steuerung der ESP32-Hardware erforderlich sind und ggf. die Befehle zusätzlicher Programm-Bibliotheken erlernen.
Danach planen Sie den
Ablauf des Projekts, indem Sie die Hauptaufgabe in Teilaufgaben (Arbeitsmodule) zerlegen und abwägen, welche Zeit Sie für diese benötigen.
Gibt es mehrere Möglichkeiten der technischen Realisierung, müssen Sie sich für eine bestimmte Umsetzungsstrategie entscheiden. Dabei können z. B. technische, ökonomische und wirtschaftliche Faktoren Ihre Entscheidung beeinflussen.
In der Ausführungsphase bearbeiten Sie die zuvor in Ihrer Planung definierten Arbeitsmodule (z. B. Schaltplanerstellung, Verdrahtung der Komponenten, Softwareentwicklung). Bei der Programmentwicklung ist es z. B. sinnvoll, die für ein Modul benötigte Software
als Funktion zu programmieren, der Parameter übergeben werden können bzw. die Arbeits-Ergebnisse zurückliefern kann. Auf diese Weise wird auch Ihr
Gesamtprogramm in modulare Einheiten zerlegt.
Nachdem Sie die technische Realisierung abgeschlossen haben, kontrollieren Sie die einwandfreie Funktion der Schaltung und der Software (Inbetriebnahme).
Abschließend bewerten Sie rückblickend das Ergebnis Ihres Projektes: Was ist gut gelaufen? Welche Probleme traten auf und wie haben Sie diese behoben? Was hätte man (wie?) anders machen können, um solche Probleme/Fehler im Vorfeld zu vermeiden und das Ziel effizienter zu erreichen?