Hinderniswarnsystem für Fahrzeug
Autoren: Matthias Rassenhövel, Lars Vienenkötter
Betreuer: Prof. Schneider
→ zurück zur Übersicht: WS 20/21: Angewandte Elektrotechnik (BSE)
Einleitung
Im Rahmen des Praktikums WS 20/21: Angewandte Elektrotechnik (BSE) wollen wir ein ferngesteuertes Fahrzeug mit zusätzlichen Funktionen zur Hinderniserkennung ausstatten. Es sollen visuelle wie auch akustische Warnsignale in drei verschiedenen Stufen entsprechend der Distanz zum Hindernis ausgegeben werden. Detaillierte Angaben hierzu sind im nachfolgenden Kapitel (s. Anforderungen) zu finden.
Falls es der zeitliche Rahmen des Projektes zulässt wollen wir zusätzlich eine automatische Beleuchtung der Fahrbahn bei Dunkelheit (vom Fahrzeug aus) ergänzen. Weiterhin könnten wir die optische Warnleuchte als Rundumleuchte umsetzen.
Anforderungen
Ausstattung eines ferngesteuerten Fahrzeugs mit folgenden zusätzlichen Funktionen:
1) Warnung bei Annäherung des Fahrzeugs an Hindernisse in Form von:
- Akustischem Signal (mit Buzzer)
- niedrige Frequenz (bei großer Distanz)
- mittlere Frequenz (bei mittler Distanz)
- hohe Frequenz (bei kurzer Distanz)
- Optischem Signal (mit RGB-LED)
- grün (bei großer Distanz)
- gelb (bei mittler Distanz)
- rot (bei kurzer Distanz)
2) Anzeige der Distanz des Fahrzeugs zum Hindernis auf einem Display
3) Die Hindernisbewegung wird mit einem Konstante-Beschleunigung-Modell modelliert und die Zustände Position, Geschwindigkeit Beschleunigung werden mittels Zustandsschätzer (Kalman-Filter) geschätzt.
Zusätzliche Anforderungen:
- Alle benötigten Komponenten sollen im/am Fahrzeug verbaut werden.
Ausblick - Mögliche Ergänzungen:
- Optisches Signal als Rundumleuchte (mit Servomotor)
- Automatische Beleuchtung der Fahrbahn bei Dunkelheit (mit Fotowiderstand und LED's)
Funktionaler Systementwurf/Technischer Systementwurf
Komponentenspezifikation
Hinderniswarnsystem
Lichtautomatik
Zustandsschätzer
Umsetzung (HW/SW)
Hardware
Hinderniswarnsystem
Lichtautomatik
Software
Einbinden der Bibliotheken:
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Servo.h>
Definition der Ein- und Ausgänge:
const int trigPin = 2; //Trigger-Pin des Ultraschallsensors const int echoPin = 3 ; //Echo-Pin des Ultraschallsensors const int sdaPin = A4; //SDA-Pin des I2C-LCD const int sclPin = A5; //SCL-Pin des I2C-LCD const int buzzPin = 9; //Buzzer-Pin (PWM für verschiedene Frequenzen) const int redPin = 10; //Pin für Rot der RGB-LED (PWM für verschiedene Lichtstärken) const int greenPin = 6; //Pin für Grün der RGB-LED (PWM für verschiedene Lichtstärken) const int bluePin = 5; //Pin für Blau der RGB-LED (PWM für verschiedene Lichtstärken) const int ldrPin = A1; //Pin für LDR-Sensor const int ledPin = 8; //Pin LED-Scheinwerfer für rechts und links //const int servoPin = 11; //Servo-Pin
Definition der globalen Variablen:
double Dauer = 0.0; double Distanz = 0.0; double ldrWert = 0.0; //double Servoposition = 0.0;
Weitere Einstellungen:
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 20, 4); //Initialisierung LCD-Display //Servo servo; //Initialisierung Servo-Motor
Hinderniswarnsystem
Lichtautomatik
Zustandsschätzer
Komponententest
Hinderniswarnsystem
Lichtautomatik
Zustandsschätzer
Ergebnis
Zusammenfassung
Lessons Learned
Projektunterlagen
Projektplan
Projektdurchführung
YouTube Video
Weblinks
Literatur
→ zurück zur Übersicht: WS 20/21: Angewandte Elektrotechnik (BSE)