Inhaltsverzeichnis:
- Schritt 1: Anforderungen
- Schritt 2: Implementierungsschema
- Schritt 3: Implementierung mit GreenPAK
- Schritt 4: Ergebnisse
Video: Ampelsteuerung - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Es gibt häufig Szenarien, in denen flexible Ampelsequenzen zur Koordination des Verkehrs durch die Kreuzung einer stark befahrenen Straße und einer wenig befahrenen Nebenstraße erforderlich sind. In solchen Situationen können die Abläufe über verschiedene Timer und ein Verkehrserkennungssignal aus der Nebenstraße gesteuert werden. Diese Anforderungen können durch konventionelle Verfahren erfüllt werden, z. B. unter Verwendung von Bausteinen aus diskreten elektronischen Komponenten oder Mikrocontrollern. Das Konzept der konfigurierbaren integrierten Mischsignalschaltungen (CMIC) bietet jedoch eine attraktive Alternative in Anbetracht seiner Designflexibilität, geringen Kosten, Entwicklungszeit und Bequemlichkeit. Viele Regionen und Länder entwickeln sich zu komplizierteren Rastern, die eine größere Anzahl von Variablen zur Steuerung von Ampeln aufnehmen können. Viele Ampeln verwenden jedoch immer noch eine feste Zeitsteuerung, wie beispielsweise elektromechanische Signalsteuerungen. Der Zweck dieser Application Note besteht darin, zu zeigen, wie man eine Asynchronous State Machine (ASM) von GreenPAK verwenden kann, um eine vereinfachte Ampelsteuerung zu entwickeln, die eine Festzeitsteuerung ersetzt. Diese Ampel regelt den Verkehr an der Kreuzung einer stark befahrenen Hauptstraße und einer wenig befahrenen Nebenstraße. Der Controller würde den Ablauf von zwei Ampeln steuern, die an der Haupt- und Nebenstraße installiert sind. Ein Sensorsignal, das das Vorhandensein von Seitenstraßenverkehr erkennt, wird der Steuerung zugeführt, die in Verbindung mit zwei Zeitgebern die Reihenfolge der Verkehrssignale steuert. Es wird ein Finite-State-Machine-(FSM-)Schema entwickelt, das sicherstellt, dass die Anforderungen der Verkehrssignalsequenz erfüllt werden. Die Controller-Logik wird unter Verwendung eines im Dialog GreenPAK™ SLG46537 konfigurierbaren Mixed-Signal-IC implementiert.
Im Folgenden haben wir die erforderlichen Schritte beschrieben, um zu verstehen, wie der GreenPAK-Chip programmiert wurde, um den Traffic Signal Controller zu erstellen. Wenn Sie jedoch nur das Ergebnis der Programmierung erhalten möchten, laden Sie die GreenPAK-Software herunter, um die bereits fertige GreenPAK-Designdatei anzuzeigen. Schließen Sie das GreenPAK Development Kit an Ihren Computer an und klicken Sie auf Programm, um den benutzerdefinierten IC für den Traffic Signal Controller zu erstellen.
Schritt 1: Anforderungen
Betrachten Sie ein Verkehrsszenario mit den Timing-Anforderungen von Verkehrssignalen von der Haupt- und Nebenstraße, wie in Abbildung 1 gezeigt. Das System hat sechs Zustände und wechselt abhängig von bestimmten vordefinierten Bedingungen von einem Zustand in den anderen. Diese Bedingungen basieren auf drei Timern; ein langer Timer TL = 25 s, ein kurzer Timer TS = 4 s und ein vorübergehender Timer Tt = 1 s. Zusätzlich wird der digitale Eingang vom Seitenverkehrserkennungssensor benötigt. Eine ausführliche Beschreibung jedes der sechs Systemzustände und der Zustandsübergangssteuersignale wird unten gegeben: Im ersten Zustand ist das Hauptsignal grün, während das Nebensignal rot ist. Das System bleibt in diesem Zustand, bis der lange Timer (TL = 25 s) abgelaufen ist oder sich kein Fahrzeug auf der Nebenstraße befindet. Wenn sich nach Ablauf des langen Timers ein Fahrzeug auf der Nebenstraße befindet, wird das System einen Zustandswechsel durchlaufen, der in den zweiten Zustand übergeht. Im zweiten Zustand wird das Hauptsignal gelb, während das Nebensignal für die Dauer des kurzen Timers (TS = 4 s) rot bleibt. Nach 4 Sekunden geht das System in den dritten Zustand über. Im dritten Zustand wechselt das Hauptsignal auf Rot und das Nebensignal bleibt für die Dauer des Übergangstimers (Tt =1 s) rot. Nach 1 Sekunde geht das System in den vierten Zustand über. Im vierten Zustand ist das Hauptsignal rot, während das Nebensignal grün wird. Das System bleibt in diesem Zustand bis zum Ablauf des langen Timers (TL = 25 s) und es befinden sich einige Fahrzeuge auf der Nebenstraße. Sobald der Longtimer abläuft oder sich kein Fahrzeug auf der Nebenstraße befindet, geht das System in den fünften Zustand über. Im fünften Zustand ist das Hauptsignal rot, während das Nebensignal für die Dauer des kurzen Timers (TS = 4 s) gelb ist. Nach 4 Sekunden geht das System in den sechsten Zustand über. Im sechsten und letzten Zustand des Systems sind sowohl das Haupt- als auch das Nebensignal für die Dauer des Übergangszeitgebers (Tt = 1 s) rot. Danach geht das System in den ersten Zustand zurück und beginnt von vorne. Der dritte und sechste Zustand stellen einen Pufferzustand bereit, in dem beide (Haupt- und Neben-)Signale während des Umschaltens für eine kurze Zeit rot bleiben. Die Zustände 3 und 6 sind ähnlich und mögen überflüssig erscheinen, aber dies ermöglicht eine einfache Umsetzung des vorgeschlagenen Schemas.
Schritt 2: Implementierungsschema
Ein vollständiges Blockschaltbild des Systems ist in Abbildung 2 dargestellt. Diese Abbildung veranschaulicht den Gesamtaufbau, die Funktion des Systems und listet alle erforderlichen Ein- und Ausgänge auf. Die vorgeschlagene Verkehrssignalsteuerung wurde um das Konzept der endlichen Zustandsmaschine (FSM) herum aufgebaut. Die oben beschriebenen Timing-Anforderungen werden in eine FSM mit sechs Zuständen übersetzt, wie in Abbildung 3 dargestellt.
Die oben gezeigten Zustandsänderungsvariablen sind: Vs – Ein Fahrzeug befindet sich auf der Nebenstraße
TL – Der 25-s-Timer (Long-Timer) ist eingeschaltet
TS – Der 4 s Timer (kurzer Timer) ist eingeschaltet
Tt – Der 1-s-Timer (vorübergehender Timer) ist eingeschaltet
Für die Implementierung des FSM wurde das Dialog GreenPAK CMIC SLG46537 ausgewählt. Dieses äußerst vielseitige Gerät ermöglicht die Entwicklung einer großen Vielfalt von Mixed-Signal-Funktionen innerhalb einer sehr kleinen, einzelnen integrierten Schaltung mit geringem Stromverbrauch. Darüber hinaus enthält der IC eine ASM-Makrozelle, die es dem Benutzer ermöglicht, Zustandsmaschinen mit bis zu 8 Zuständen zu erstellen. Der Benutzer hat die Flexibilität, die Anzahl der Zustände, die Zustandsübergänge und die Eingangssignale zu definieren, die Übergänge von einem Zustand in einen anderen bewirken.
Schritt 3: Implementierung mit GreenPAK
Das für den Betrieb der Verkehrssteuerung entwickelte FSM wird mit SLG46537 GreenPAK realisiert. Im GreenPak Designer ist das Schema wie in Abbildung 4 dargestellt implementiert.
PIN3 und PIN4 sind als digitale Eingangspins konfiguriert; PIN3 ist mit dem Eingang des Fahrzeugsensors der Seitenstraße verbunden und PIN4 wird für das Zurücksetzen des Systems verwendet. Die PINs 5, 6, 7, 14, 15 und 16 sind als Ausgangspins konfiguriert. Die PINs 5, 6 und 7 werden jeweils an die Rot-, Gelb- und Grünlichttreiber des Seitensignals weitergegeben. Die PINs 14, 15 und 16 werden jeweils an die Grün-, Gelb- und Rotlichttreiber des Hauptsignals weitergegeben. Damit ist die E/A-Konfiguration des Schemas abgeschlossen. Das Herzstück des Schaltplans ist der ASM-Block. Die Eingänge des ASM-Blocks, die Zustandsänderungen regeln, werden aus kombinatorischer Logik unter Verwendung von drei Zähler-/Verzögerungsblöcken (TS, TL und TT) und dem Eingang vom seitlichen Fahrzeugsensor erhalten. Die kombinatorische Logik wird unter Verwendung der an LUTs rückgekoppelten Zustandsinformationen weiter qualifiziert. Zustandsinformationen des ersten, zweiten, vierten und fünften Zustands werden unter Verwendung von Kombinationen von B0- und B1-Ausgängen des ASM-Blocks erhalten. Die Kombinationen von B0 und B1, die dem ersten, zweiten, vierten und fünften Zustand entsprechen, sind (B0 = 0, B1 = 0), (B0 = 1, B1 = 0), (B0 = 1, B1 = 1) und (B0 = 0, B1 = 1) bzw. Die Zustandsinformationen des 3. und 6. Zustands werden direkt durch Anwendung des UND-Operators auf die roten Haupt- und seitlichen roten Signale erhalten. Das Einspeisen dieser Zustandsinformationen in die kombinatorische Logik stellt sicher, dass nur die relevanten Timer getriggert werden. Weitere Ausgänge des ASM-Blocks sind den Hauptampeln (Hauptrot, Hauptgelb und Hauptgrün) und Nebenampeln (Red, Nebengelb und Nebengrün) zugeordnet.
Die Konfiguration des ASM-Blocks ist in Abbildung 5 und Abbildung 6 dargestellt. Die in Abbildung 5 dargestellten Zustände entsprechen den in Abbildung 3 gezeigten definierten ersten, zweiten, dritten, vierten, fünften und sechsten Zuständen. Die Ausgangs-RAM-Konfiguration des ASM Block ist in Abbildung 6 dargestellt.
Die Timer TL, TS und TT werden unter Verwendung der Zähler-/Verzögerungsblöcke CNT1/DLY1, CNT2/DLY2 bzw. CNT3/DLY3 implementiert. Alle diese drei Blöcke sind im Verzögerungsmodus mit Erkennung steigender Flanken konfiguriert. Wie in Fig. 3 gezeigt, triggern der erste und der vierte Zustand TL, der zweite und der fünfte Zustand lösen TS aus und der dritte und sechste Zustand triggern TT unter Verwendung einer kombinatorischen Logik. Wenn die Verzögerungstimer ausgelöst werden, bleiben ihre Ausgänge 0, bis die konfigurierte Verzögerung ihre Dauer abgelaufen ist. Auf diese Weise werden die TL’, TS’ und TT’
Signale werden direkt von den Ausgängen der Blöcke CNT1/DLY1, CNT2/DLY2 und CNT3/DLY3 erhalten. TS’ wird direkt an den Übergangseingang des zweiten und fünften Zustands gespeist, während TT’ an die Übergangseingänge des dritten und sechsten Zustands weitergegeben wird. TL wird andererseits an kombinatorische Logikblöcke (LUTs) weitergegeben, die die Signale TL’ Vs und TL’ + VS’ liefern, die den Übergangseingängen des ersten bzw. vierten Zustands zugeführt werden. Damit ist die Implementierung des FSM mit dem GreenPAK-Designer abgeschlossen.
Schritt 4: Ergebnisse
Zu Testzwecken wird das Design mit dem SLG46537 auf dem GreenPAK Universal Development Board emuliert. Die Ampelsignale (entspricht den digitalen Ausgangspins 5, 6, 7, 14, 15 und 16) werden verwendet, um die bereits auf dem GreenPAK Development Board vorhandenen LEDs zu aktivieren, um das Verhalten des FSM visuell zu beobachten. Um das dynamische Verhalten des entwickelten Schemas vollständig zu untersuchen, haben wir ein Arduino UNO-Board als Schnittstelle zum SLG46537 verwendet. Die Arduino-Platine stellt dem Schema den Fahrzeugerkennungssensoreingang und System-Reset-Signale zur Verfügung, während sie die Ampelsignale vom System erhält. Das Arduino-Board wird als mehrkanaliger Logikanalysator verwendet, um die zeitliche Funktionsweise des Systems aufzuzeichnen und grafisch darzustellen. Es werden zwei Szenarien entwickelt und getestet, die das allgemeine Verhalten des Systems erfassen. Abbildung 7 zeigt das erste Szenario des Schemas, bei dem immer einige Fahrzeuge auf der Nebenstraße präsent sind. Wenn das Rücksetzsignal geltend gemacht wird, startet das System im ersten Zustand, wobei nur das grüne Hauptsignal und das rote Seitensignal eingeschaltet sind und alle anderen Signale ausgeschaltet sind. Da seitliche Fahrzeuge immer vorhanden sind, folgt der nächste Übergang in den zweiten Zustand 25 Sekunden später das Einschalten der gelben und roten Hauptsignale. Vier Sekunden später geht das ASM in den dritten Zustand über, in dem die roten Haupt- und seitlichen roten Signale für 1 Sekunde eingeschaltet bleiben. Das System tritt dann in den vierten Zustand ein, wobei rote Haupt- und grüne Seitensignale eingeschaltet sind. Da die seitlichen Fahrzeuge immer vorhanden sind, erfolgt der nächste Übergang 25 Sekunden später, wodurch das ASM in den fünften Zustand versetzt wird. Der Übergang vom fünften in den sechsten Zustand erfolgt 4 Sekunden später, wenn TS abläuft. Das System bleibt für die Dauer von 1 Sekunde im sechsten Zustand, bevor das ASM wieder in den ersten Zustand eintritt.
Abbildung 8 zeigt das Verhalten des Schemas im zweiten Szenario, wenn einige Seitenfahrzeuge an der Ampel stehen. Es wird festgestellt, dass das Verhalten des Systems wie geplant funktioniert. Das System startet im ersten Zustand mit nur den Hauptsignalen grün und seitlich rot an und alle anderen Signale sind aus 25 Sekunden später folgt der nächste Übergang, da ein seitliches Fahrzeug vorhanden ist. Im zweiten Zustand werden die gelben und seitlichen roten Hauptsignale eingeschaltet. Nach 4 Sekunden geht das ASM in den dritten Zustand mit eingeschalteten roten Haupt- und seitlichen roten Signalen über. Das System bleibt 1 Sekunde im dritten Zustand und geht dann in den vierten Zustand über, wobei Hauptrot und Seitengrün eingeschaltet bleiben. Sobald der Eingang des Fahrzeugsensors niedrig wird (wenn alle seitlichen Fahrzeuge vorbeigefahren sind), geht das System in den fünften Zustand über, in dem Hauptrot und Seitengelb leuchten. Nachdem das System vier Sekunden lang im fünften Zustand verweilt hat, geht das System in den sechsten Zustand über, wobei sowohl das Haupt- als auch das Nebensignal rot werden. Diese Signale bleiben 1 Sekunde lang rot, bevor das ASM wieder in den ersten Zustand wechselt. Tatsächliche Szenarien würden auf einer Kombination dieser beiden beschriebenen Szenarien basieren, die sich als richtig herausstellen.
FazitIn diesem App-Hinweis wurde mit einem Dialog GreenPAK SLG46537 ein Verkehrscontroller implementiert, der den Verkehr an der Kreuzung einer stark befahrenen Hauptstraße und einer wenig befahrenen Nebenstraße steuern kann. Das Schema basiert auf einem ASM, das sicherstellt, dass die Anforderungen an die Ampelsequenz erfüllt werden. Das Verhalten des Designs wurde durch mehrere LEDs und einen Arduino UNO-Mikrocontroller überprüft. Die Ergebnisse bestätigten, dass die Designziele erreicht wurden. Der Hauptvorteil der Verwendung des Dialog-Produkts besteht darin, dass keine diskreten elektronischen Komponenten und Mikrocontroller benötigt werden, um dasselbe System aufzubauen. Das bestehende Design kann durch Hinzufügen eines Eingangssignals von einem Taster für den Durchgang von Fußgängern, die die belebte Straße überqueren möchten, erweitert werden. Das Signal kann zusammen mit dem Signal vom seitlichen Fahrzeugeingangssensor an ein ODER-Gatter geleitet werden, um die erste Zustandsänderung auszulösen. Um jedoch die Sicherheit des Fußgängers zu gewährleisten, ist jetzt zusätzlich eine gewisse Mindestzeit erforderlich, die im vierten Zustand verbracht werden muss. Dies kann leicht mit einem anderen Timer-Block erreicht werden. Die grünen und roten Signale der Nebenstraßenampel können nun auch an die seitlichen Fußgängerampeln der Nebenstraße gespeist werden.
Empfohlen:
Arduino Ampelsteuerung - 4-Wege: 3 Schritte
Arduino Ampelsteuerung | 4-Wege: In diesem Beitrag erfahren Sie, wie Sie einen Arduino-Ampelcontroller herstellen. Mit diesem Ampelsteuergerät wird der Verkehrsfluss gesteuert. Diese können in stark frequentierten Bereichen angewendet werden, um Verkehrsblockaden oder Unfälle zu vermeiden