Lichtsteuerung: Unterschied zwischen den Versionen
K (→Schaltplan) |
(→Fazit) |
||
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
[[Benutzer:Hauke_Ludwig| Hauke Ludwig]] | [[Benutzer:Hauke_Ludwig| Hauke Ludwig]] | ||
== Allgemeines == | == Allgemeines == | ||
Die Systematik hinter der Lichtsteuerung sieht vor, dass es sowohl eine manuelle Steuerung der Lichter am Fahrzeug, als auch eine automatische Lichtsteuerung geben wird. Da dieser Prozess am Ende jedes Zyklus steht wird er nur durch die manuellen Bits zur Lichtsteuerung, sowie über die Werte für Geschwindigkeit und Lenkeinschlag gesteuert. Nachfolgend soll zuerst auf den allgemeinen Aufbau der verbauten Lichter eingegangen werden, bevor es zur Implementierung in Hard- und Software kommt. | |||
Die Fahrzeugbeleuchtung besteht aus folgenden LED's: | Die Fahrzeugbeleuchtung besteht aus folgenden LED's: | ||
Zeile 66: | Zeile 69: | ||
=== Platinenlayout === | === Platinenlayout === | ||
[[Datei:Platinenlayout_Lichtmodul_AMR2012.png]] | [[Datei:Platinenlayout_Lichtmodul_AMR2012.png]]<br /> | ||
Platinenlayout für Ultiboard vom 29.06.2014: [[Datei:Adapterplatine_2014_06_29.zip]] | |||
== Logik == | == Logik == | ||
Die Logik wurde im Simulinkmodell implementiert. Sie befindet sich im Modell unter "AKT - Aktoren" und ihre Signale liegen für das offline Modell auf dem Bus unter dem Bereich "Akt_LED*_f64" mit dem jeweiligen Namen anstelle des *. | Die Logik wurde im Simulinkmodell implementiert. Sie befindet sich im Modell unter "AKT - Aktoren" und ihre Signale liegen für das offline Modell auf dem Bus unter dem Bereich "Akt_LED*_f64" mit dem jeweiligen Namen anstelle des *. | ||
Zeile 114: | Zeile 119: | ||
| BlinkerAutomatik_ManualDisable_f64 == 1 | | BlinkerAutomatik_ManualDisable_f64 == 1 | ||
|} | |} | ||
== Fazit == | |||
Die Lichtsteuerung wurde gemäß der Spezifikation implementiert und konnte verifiziert werden. Über die Parameter für den Linkeinschlag, sowie die Wahl der Filterparameter lässt sich die automatische Blinkersteuerung einstellen. Hierbei ist jedoch auf Hystereeffekte zu achten, welche bei der Bremserkennung zum Tragen kommen können. In den meisten Fällen wird jedoch dazu geraten, die Werte beim aktuellen Stand zu belassen, da diese so implementiert wurden, dass sie sich der Umgebung entsprechend anpassen. | |||
<br> | |||
Notiz: Die ordnungsgemäße Funktionsweise konnte von der Gruppe des Sommersemesters 2018 erfolgreich überprüft werden. Ein Testprotokoll ist im SVN abgelegt. | |||
== Einzelnachweis == | == Einzelnachweis == |
Aktuelle Version vom 4. Juli 2018, 16:35 Uhr
Ziel dieses Spezialthemas ist die Steuerung der Lichtanlage gemäß §54 StVO [1]. Als Inputs werden hierfür die Fahrsignale für das Gas und den Lenkwinkel benötigt.
Projektteam
Allgemeines
Die Systematik hinter der Lichtsteuerung sieht vor, dass es sowohl eine manuelle Steuerung der Lichter am Fahrzeug, als auch eine automatische Lichtsteuerung geben wird. Da dieser Prozess am Ende jedes Zyklus steht wird er nur durch die manuellen Bits zur Lichtsteuerung, sowie über die Werte für Geschwindigkeit und Lenkeinschlag gesteuert. Nachfolgend soll zuerst auf den allgemeinen Aufbau der verbauten Lichter eingegangen werden, bevor es zur Implementierung in Hard- und Software kommt.
Die Fahrzeugbeleuchtung besteht aus folgenden LED's:
Verbauposition | Front | Heck | |||
---|---|---|---|---|---|
Blinker: | Links | Rechts | Links | Rechts | |
Fahrlicht: | Links | Rechts | |||
Rückfahrlicht: | Links | Rechts | |||
Bremslicht: | Links | Rechts | Mitte |
Diese einzelnen LED's werden zur Steuerung zu Gruppen zusammengefasst, welche folgende Funktionen haben:
Gruppe: | Blinker Links | Blinker Rechts | Bremslicht | Fahrlicht | Rückfahrlicht | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
LEDs: | Front Links |
Heck Links |
Front Rechts |
Heck Rechts |
Heck Rechts |
Heck Links |
Heck Mitte |
Front Links |
Front Rechts |
Heck Links |
Heck Rechts |
|
Funktion: | Richtungsänderung nach Links | Richtungsänderung nach Links | An bei aktiven Bremseingriffen | Immer an | An bei v < 0 m/s | |||||||
Warnblinken (Einparken beendet) |
Die aktuelle Pinbelegung der DS1104 ist dem Pinbelegungsplan im SVN ( Dokumentation\Systemarchitektur\DS1104 - Adapterkabel - Pinbelegungsplan.xlsx ) zu entnehmen.
Schaltung
Berechnung
Ein IO-Pin der DS1104 darf maximal mit 5mA belastet werden, pro LED sind aber 20-25mA nötig. Deshalb wird eine Transistorstufe dazwischengeschaltet. Es wurden Transistoren vom Typ BC337-400 ausgewählt, da diese bereits im Inventar des Mechatroniklabors vorhanden sind. Der Basiswiderstand berechnet sich wie folgt:
Gerundet auf Widerstandswerte der E12-Reihe ergibt das einen Basiswiderstand von 3.9kOhm.
Für die LED's sind keine zusätzlichen Vorwiderstande notwendig, da es sich um LED-Module mit integrierten Vorwiderständen für 5V handelt.
Schaltplan
Der Schaltplan des Lichtmoduls ist Teil des Schaltplans der Adapterplatine.
Schaltplan für Multisim von 29.06.2014: Datei:Adapterplatine 2014 06 29.zip
Platinenlayout
Platinenlayout für Ultiboard vom 29.06.2014: Datei:Adapterplatine 2014 06 29.zip
Logik
Die Logik wurde im Simulinkmodell implementiert. Sie befindet sich im Modell unter "AKT - Aktoren" und ihre Signale liegen für das offline Modell auf dem Bus unter dem Bereich "Akt_LED*_f64" mit dem jeweiligen Namen anstelle des *.
Blinken
-
Simulinkmodell "Automatische Blinkersetzung"
-
Simulinkmodell "Manuelle Blinkersetzung"
-
Simulinkmodell "Frequenzbildung"
Die Blinklogik orientiert sich am Eingang "FAMO_LwSoll_f64" welcher im ersten Schritt einen downsample auf eine Simulationsfrequenz von f= 2Hz. Anschließend wird der Lenkwinkel mit einem Schwellwert verglichen, wodurch boolscher Wert ermittelt wird, welcher bestimmt, ob die jeweilige Richtung blinken soll oder nicht. Dieser Teil wird "automatische Blinkermittlung" genannt.
Sollten einzelne Teams Blinkerwünsche haben, so besteht die Möglichkeit diese manuell zu setzen. Durch eine OR-Verknüpfung mit dem gesetzten Bit wird garantiert, dass entweder die manuelle oder automatische Blinkersetzung durchgeführt wird. Gleichfalls besteht über eine AND-Verknüpfung die Möglichkeit die automatische Blinkersetzung zu unterdrücken. Dieser Teil wird "manuelle Blinkersetzung" genannt.
Durch eine AND-Verknüpfung mit einem kontinuierlichen Signal, welches in einer Frequenz von f = 2Hz zwischen den Zuständen 0 und 1 wechselt, kann ein Blinksignal für die Linke und Rechte Seite erzeugt werden. Dieser Zusammenhang ist im folgenden Bild abgebildet.
Fahranzeiger
Die Entscheidung für die Signale der Fahranzeige basiert auf dem Signal "FAMO_VxSoll_f64". Zuerst wird bestimmt, ob das Fahrzeug sich in einer Vorwärts- oder Rückwärtsfahrt befindet. Dies passiert durch Vergleichen der Geschwindigkeit mit 0. Ist die Geschwindigkeit kleiner 0, so wird das Rückfahrlicht aktiviert. Das gleiche Signal wird auch für die Entscheidung über das Bremssignal verwendet. In jedem Zyklus wird die aktuelle Geschwindigkeit mit der letzten Geschwindigkeit verglichen, ist die letzte Geschwindigkeit größer, wenn das Fahrzeug geradeausfährt, oder kleiner, wenn das Fahrzeug rückwärts fährt, so wird das Bremssignal aktiviert. Die Entscheidung welcher Fall gerade beachtet wird, wird über einen nachgelagerten Schalter ausgewählt, welcher als Umschalter das Signal des Rückfahrlichts benutzt. Der Zusammenhang ist im folgenden Bild abgebildet.
Blinkmodus
Der Blinker kann in den Modi: Automatik, Manuell und Hybrid betrieben werden. Im Automatik-Modus wird der Blinker komplett von der Logik, basierend auf dem Lenkeinschlag, betrieben. Im Manuell-Modus kann der Blinker ausschließlich über die Signale für Links-, Rechts- oder Warnblinker betrieben werden. Sämtliche Signale der Blinkautomatik werden aktiv unterdrückt. Im Hybrid-Modus ist es möglich sowohl die Blinksignale der manuellen als auch der automatischen Logik zu nutzen.
Modus | Linksblinker | Rechtsblinker | Warnblinker | Hinweis |
---|---|---|---|---|
Automatik | abhängig von Lw_Pwm_f64 | abhängig von Lw_Pwm_f64 | nicht möglich | BlinkerAutomatik_ManualDisable_f64 == 0 |
Hybrid | abhängig von Lw_Pwm_f64 oder BlinkerLinks_ManualEnable_f64 == 1 | abhängig von Lw_Pwm_f64 oder BlinkerRechts_ManualEnable_f64 == 1 | Warnblinker_ManualDisable_f64 == 1 | BlinkerAutomatik_ManualDisable_f64 == 0 |
Manuell | BlinkerLinks_ManualEnable_f64 == 1 | BlinkerRechts_ManualEnable_f64 == 1 | Warnblinker_ManualDisable_f64 == 1 | BlinkerAutomatik_ManualDisable_f64 == 1 |
Fazit
Die Lichtsteuerung wurde gemäß der Spezifikation implementiert und konnte verifiziert werden. Über die Parameter für den Linkeinschlag, sowie die Wahl der Filterparameter lässt sich die automatische Blinkersteuerung einstellen. Hierbei ist jedoch auf Hystereeffekte zu achten, welche bei der Bremserkennung zum Tragen kommen können. In den meisten Fällen wird jedoch dazu geraten, die Werte beim aktuellen Stand zu belassen, da diese so implementiert wurden, dass sie sich der Umgebung entsprechend anpassen.
Notiz: Die ordnungsgemäße Funktionsweise konnte von der Gruppe des Sommersemesters 2018 erfolgreich überprüft werden. Ein Testprotokoll ist im SVN abgelegt.
Einzelnachweis
→ zurück zum Hauptartikel: Praktikum SDE