Inhoudsopgave:
- Stap 1: Vereisten
- Stap 2: Implementatieschema
- Stap 3: Implementatie met behulp van GreenPAK
- Stap 4: Resultaten
Video: Verkeerslichtcontroller: 4 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Er zijn vaak scenario's waarin flexibele verkeerssignaalsequenties nodig zijn voor de coördinatie van het verkeer door de kruising van een drukke straat en een licht gebruikte zijstraat. In dergelijke situaties kunnen de sequenties worden bestuurd met behulp van verschillende timers en een verkeersdetectiesignaal uit de zijstraat. Aan deze vereisten kan worden voldaan door middel van conventionele methoden, b.v. met behulp van bouwstenen van discrete elektronische componenten of microcontrollers. Het concept van configureerbare mixed-signal-geïntegreerde schakelingen (CMIC) biedt echter een aantrekkelijk alternatief gezien de ontwerpflexibiliteit, lage kosten, ontwikkelingstijd en gemak. Veel regio's en landen evolueren naar meer gecompliceerde rasters die een groter aantal variabelen kunnen bevatten om verkeerslichten te regelen. Veel verkeerslichten maken echter nog gebruik van vaste tijdsturing, zoals elektromechanische signaalregelaars. Het doel van deze toepassingsnota is om te laten zien hoe men de Asynchronous State Machine (ASM) van een GreenPAK kan gebruiken om een vereenvoudigde verkeerslichtregelaar te ontwikkelen ter vervanging van een vaste tijdregelaar. Dit verkeerslicht regelt het verkeer op de kruising van een drukke hoofdstraat en een licht gebruikte zijstraat. De verkeersleider zou de volgorde van twee verkeerslichten regelen, die aan de hoofd- en zijstraat worden geïnstalleerd. Een sensorsignaal, dat de aanwezigheid van zijstraatverkeer detecteert, wordt naar de verkeersleider gestuurd die, in combinatie met twee timers, de volgorde van de verkeerslichten zou regelen. Er is een eindige-toestandsmachine (FSM)-schema ontwikkeld dat ervoor zorgt dat aan de vereisten van de verkeerssignalenreeks wordt voldaan. De controllerlogica wordt geïmplementeerd met behulp van een dialoog GreenPAK™ SLG46537 configureerbaar gemengd signaal-IC.
Hieronder hebben we de stappen beschreven die nodig zijn om te begrijpen hoe de GreenPAK-chip is geprogrammeerd om de verkeerssignaalcontroller te maken. Als u echter alleen het resultaat van het programmeren wilt hebben, download dan GreenPAK-software om het reeds voltooide GreenPAK-ontwerpbestand te bekijken. Sluit de GreenPAK Development Kit aan op uw computer en druk op programma om de aangepaste IC voor de verkeerssignaalcontroller te maken.
Stap 1: Vereisten
Overweeg een verkeersscenario met de timingvereisten van verkeerslichten van de hoofd- en zijstraat, zoals weergegeven in figuur 1. Het systeem heeft zes toestanden en zal van de ene toestand naar de andere gaan, afhankelijk van bepaalde vooraf gedefinieerde omstandigheden. Deze voorwaarden zijn gebaseerd op drie timers; een lange timer TL =25 s, een korte timer TS = 4 s en een tijdelijke timer Tt = 1 s. Daarnaast is de digitale ingang van de zijverkeersdetectiesensor vereist. Hieronder volgt een grondige beschrijving van elk van de zes systeemtoestanden en de toestandsovergangsbesturingssignalen: In de eerste toestand is het hoofdsein groen en het zijsein rood. Het systeem blijft in deze toestand totdat de lange timer (TL = 25 s) afloopt of zolang er geen voertuig in de zijstraat staat. Als er een voertuig in de zijstraat aanwezig is na het verstrijken van de lange timer, ondergaat het systeem een statusverandering en gaat naar de tweede status. In de tweede toestand wordt het hoofdsein geel terwijl het zijsein rood blijft voor de duur van de korte timer (TS = 4 s). Na 4 seconden gaat het systeem naar de derde toestand. In de derde toestand verandert het hoofdsein in rood en het zijsein blijft rood voor de duur van de tijdelijke timer (Tt = 1 s). Na 1 seconde gaat het systeem naar de vierde toestand. Tijdens de vierde toestand is het hoofdsein rood terwijl het zijsein groen wordt. Het systeem blijft in deze toestand tot het verstrijken van de lange timer (TL = 25 s) en er zijn enkele voertuigen aanwezig in de zijstraat. Zodra de lange timer afloopt of er geen voertuig in de zijstraat staat, schakelt het systeem over naar de vijfde toestand. Tijdens de vijfde toestand is het hoofdsein rood terwijl het zijsein geel is voor de duur van de korte timer (TS = 4 s). Na 4 seconden gaat het systeem naar de zesde toestand. In de zesde en de laatste toestand van het systeem zijn zowel het hoofd- als het zijsein rood voor de periode van de tijdelijke timer (Tt = 1 s). Daarna gaat het systeem terug naar de eerste toestand en begint opnieuw. De derde en zesde toestand zorgen voor een buffertoestand waarbij zowel (hoofd- als zij)seinen tijdens de omschakeling korte tijd rood blijven. Status 3 en 6 zijn vergelijkbaar en lijken misschien overbodig, maar hierdoor is de implementatie van het voorgestelde schema eenvoudig.
Stap 2: Implementatieschema
Een volledig blokschema van het systeem wordt getoond in figuur 2. Deze figuur illustreert de algemene structuur, functie van het systeem en geeft een overzicht van alle vereiste inputs en outputs. De voorgestelde verkeerssignaalcontroller is gebouwd rond het concept van de eindige-toestandsmachine (FSM). De hierboven beschreven timingvereisten worden vertaald in een FSM met zes toestanden, zoals weergegeven in figuur 3.
De hierboven getoonde toestandsveranderingsvariabelen zijn: Vs - Er is een voertuig aanwezig in de zijstraat
TL – De 25 s timer (lange timer) staat aan
TS – De timer van 4 s (korte timer) is ingeschakeld
Tt – De timer van 1 s (tijdelijke timer) is ingeschakeld
Voor de implementatie van de FSM is gekozen voor de Dialog GreenPAK CMIC SLG46537. Met dit zeer veelzijdige apparaat kan een breed scala aan mixed-signal-functies worden ontworpen binnen een zeer klein, enkelvoudig geïntegreerd circuit met laag vermogen. Verder bevat de IC een ASM-macrocel die is ontworpen om de gebruiker in staat te stellen toestandsmachines te creëren met maximaal 8 toestanden. De gebruiker heeft de flexibiliteit om het aantal toestanden, de toestandsovergangen en de ingangssignalen te definiëren die overgangen van de ene toestand naar een andere toestand zullen veroorzaken.
Stap 3: Implementatie met behulp van GreenPAK
De FSM die is ontwikkeld voor de bediening van de verkeersleider is geïmplementeerd met behulp van SLG46537 GreenPAK. In de GreenPak Designer is het schema geïmplementeerd zoals weergegeven in figuur 4.
PIN3 en PIN4 zijn geconfigureerd als digitale ingangspinnen; PIN3 wordt aangesloten op de voertuigsensoringang van de zijstraat en PIN4 wordt gebruikt voor systeemreset. Pincodes 5, 6, 7, 14, 15 en 16 zijn geconfigureerd als uitgangspinnen. PIN 5, 6 en 7 worden respectievelijk doorgegeven aan de rode, gele en groene lichtdrivers van het zijsein. PIN 14, 15 en 16 worden respectievelijk doorgegeven aan de groene, gele en rode lichtdrivers van het hoofdsein. Hiermee is de I/O-configuratie van het schema voltooid. In het hart van het schema ligt het ASM-blok. De ingangen van het ASM-blok, die toestandsveranderingen regelen, worden verkregen uit combinatorische logica met behulp van drie teller/vertragingsblokken (TS, TL en TT) en de ingang van de zijvoertuigsensor. De combinatorische logica wordt verder gekwalificeerd met behulp van de statusinformatie die wordt teruggekoppeld naar LUT's. Statusinformatie van de eerste, tweede, vierde en vijfde toestand wordt verkregen door gebruik te maken van combinaties van BO- en B1-uitgangen van het ASM-blok. De combinaties van B0 en B1 die overeenkomen met de eerste, tweede, vierde en vijfde toestand zijn (B0 = 0, B1 = 0), (B0 = 1, B1 = 0), (B0 = 1, B1 = 1) en (B0 = 0, B1 = 1) respectievelijk. De toestandsinformatie van de 3e en 6e toestand wordt verkregen door de AND-operator rechtstreeks toe te passen op de rode hoofd- en zijseinen. Door deze statusinformatie aan de combinatorische logica toe te voeren, wordt ervoor gezorgd dat alleen de relevante timers worden geactiveerd. Andere uitgangen van het ASM-blok zijn toegewezen aan de hoofdverkeerslichten (hoofdrood, hoofdgeel en hoofdgroen) en zijverkeerslichten (zijkant rood, kant geel en kant groen).
De configuratie van het ASM-blok wordt getoond in Afbeelding 5 en Afbeelding 6. De toestanden weergegeven in Afbeelding 5 komen overeen met de gedefinieerde eerste, tweede, derde, vierde, vijfde en zesde toestanden weergegeven in Afbeelding 3. De RAM-uitgangsconfiguratie van de ASM blok wordt getoond in figuur 6.
De timers TL, TS en TT worden uitgevoerd met respectievelijk de teller/vertragingsblokken CNT1/DLY1, CNT2/DLY2 en CNT3/DLY3. Al deze drie blokken zijn geconfigureerd in vertragingsmodus met stijgende flankdetectie. Zoals getoond in figuur 3, triggeren de eerste en vierde toestanden TL, de tweede en vijfde toestanden triggeren TS, en de derde en zesde toestanden triggeren TT met behulp van combinatorische logica. Als de vertragingstimers worden geactiveerd, blijven hun uitgangen 0 totdat de geconfigureerde vertraging zijn duur voltooit. Zo kunnen de TL’, TS’ en TT’
signalen worden rechtstreeks verkregen van de uitgangen van de blokken CNT1/DLY1, CNT2/DLY2 en CNT3/DLY3. TS 'wordt rechtstreeks toegevoerd aan de overgangsingangen van de tweede en vijfde toestand, terwijl TT' wordt doorgegeven aan de overgangsingangen van de derde en zesde toestand. TL daarentegen wordt doorgegeven aan combinatorische logische blokken (LUT's) die de signalen TL 'Vs en TL'+ VS' geven die respectievelijk naar de overgangsingangen van de eerste en 4e toestand worden gevoerd. Dit voltooit de implementatie van de FSM met behulp van de GreenPAK-ontwerper.
Stap 4: Resultaten
Voor testdoeleinden wordt het ontwerp nagebootst op het GreenPAK Universal Development Board met behulp van de SLG46537. De verkeerslichtsignalen (vergelijkbaar met digitale uitgangspinnen 5, 6, 7, 14, 15 en 16) worden gebruikt om de LED's te activeren die al beschikbaar zijn op het GreenPAK Development Board om het gedrag van de FSM visueel te observeren. Om het dynamische gedrag van het ontwikkelde schema volledig te onderzoeken, hebben we een Arduino UNO-bord gebruikt om te communiceren met de SLG46537. Het Arduino-bord levert de invoer van de voertuigdetectiesensor en systeemresetsignalen aan het schema terwijl het de verkeerslichtsignalen van het systeem ontvangt. Het Arduino-bord wordt gebruikt als een meerkanaals logische analysator om de tijdelijke werking van het systeem vast te leggen en grafisch weer te geven. Er worden twee scenario's ontwikkeld en getest die het algemene gedrag van het systeem vastleggen. Figuur 7 toont het eerste scenario van de regeling wanneer er altijd enkele voertuigen in de zijstraat aanwezig zijn. Wanneer het resetsignaal wordt gegeven, start het systeem in de eerste toestand met alleen de hoofdgroene en rode zijseinen aan en alle andere seinen uitgeschakeld. Aangezien zijvoertuigen altijd aanwezig zijn, volgt de volgende overgang naar de tweede toestand 25 seconden later het inschakelen van de gele en zijwaartse rode seinen. Vier seconden later komt de ASM in de derde staat waar de rode hoofdseinen en de rode zijseinen gedurende 1 seconde aan blijven. Het systeem gaat dan naar de vierde toestand met de hoofdsignalen rood en groen aan de zijkant ingeschakeld. Omdat de zijvoertuigen altijd aanwezig zijn, vindt de volgende overgang 25 seconden later plaats, waarbij de ASM naar de vijfde toestand wordt verplaatst. De overgang van de vijfde naar de zesde toestand vindt 4 seconden later plaats als TS verloopt. Het systeem blijft gedurende 1 seconde in de zesde toestand voordat de ASM weer in de eerste toestand komt.
Figuur 8 toont het gedrag van de regeling in het tweede scenario, wanneer er enkele zijvoertuigen bij het verkeerslicht staan. Het gedrag van het systeem blijkt te functioneren zoals ontworpen. Het systeem start in de eerste toestand met alleen de hoofdseinen groen en rood aan de zijkant en alle andere seinen zijn uit 25 seconden later volgt de volgende overgang omdat er een zijvoertuig aanwezig is. De belangrijkste gele en rode zijseinen zijn ingeschakeld in de tweede toestand. Na 4 seconden gaat de ASM de derde status in met rode hoofdsignalen en rode zijseinen ingeschakeld. Het systeem blijft 1 seconde in de derde status en gaat dan naar de vierde status waarbij hoofdrood en zijgroen aan blijven. Zodra de ingang van de voertuigsensor laag wordt (wanneer alle zijvoertuigen zijn gepasseerd), gaat het systeem naar de vijfde status waar hoofdrood en zijgeel aan zijn. Na vier seconden in de vijfde toestand te zijn gebleven, gaat het systeem naar de zesde toestand en worden zowel hoofd- als zijseinen rood. Deze signalen blijven 1 seconde rood voordat de ASM weer in de eerste toestand komt. Werkelijke scenario's zouden gebaseerd zijn op een combinatie van deze twee beschreven scenario's die correct blijken te werken.
ConclusieIn deze app is een verkeersregelaar geïmplementeerd die het verkeer door de kruising van een drukke hoofdstraat en een licht gebruikte zijstraat kan beheren met behulp van een Dialog GreenPAK SLG46537. Het schema is gebaseerd op een ASM die ervoor zorgt dat aan de vereisten voor de volgorde van verkeerslichten wordt voldaan. Het gedrag van het ontwerp werd geverifieerd door verschillende LED's en een Arduino UNO-microcontroller. De resultaten bevestigden dat aan de ontwerpdoelstellingen werd voldaan. Het belangrijkste voordeel van het gebruik van het Dialog-product is dat er geen afzonderlijke elektronische componenten en microcontrollers nodig zijn om hetzelfde systeem te bouwen. Het bestaande ontwerp kan worden uitgebreid door een ingangssignaal van een drukknop toe te voegen voor doorgang van voetgangers die de drukke straat willen oversteken. Het signaal kan worden doorgegeven aan een OR-poort samen met het signaal van de ingangssensor van het zijvoertuig om de eerste toestandsverandering te activeren. Om de veiligheid van de voetganger nu te garanderen, is er echter een extra vereiste van een minimale tijd die in de vierde staat moet worden doorgebracht. Dit kan eenvoudig met een ander tijdblok. De groene en rode seinen op het zijstraatverkeerslicht kunnen nu ook naar de zijwaartse voetgangerssignalen in de zijstraat worden geleid.
Aanbevolen:
Arduino verkeerslichtcontroller met RBG Led - 4-weg: 3 stappen
Arduino verkeerslichtcontroller met RBG Led | 4-Way: In dit bericht leer je hoe je een Arduino-verkeerslichtcontroller maakt. Deze verkeerslichtregelaar wordt gebruikt om de verkeersstroom te regelen. Deze kunnen worden toegepast in gebieden met veel verkeer om verkeersblokkades of ongevallen te vermijden.De
Arduino Verkeerslichtcontroller - 4-weg: 3 stappen
Arduino Verkeerslichtcontroller | 4-Way: In dit bericht leer je hoe je een Arduino-verkeerslichtcontroller maakt. Deze verkeerslichtregelaar wordt gebruikt om de verkeersstroom te regelen. Deze kunnen worden toegepast op gebieden met veel verkeer om verkeersblokkades of ongevallen te vermijden.De
Verkeerslichtcontroller met Arduino - Ajarnpa
Verkeerslichtcontroller met Arduino: dit is een op breadboard gebaseerd project dat Atmel Atmega 2560 (Arduino Mega) gebruikt om een verkeerslichtcontroller te maken. De duur van de RODE en BLAUWE LED is ingesteld op 15 seconden. De duur van de gele LED is ingesteld op 1 seconde. We kunnen uw eigen duur per mo
Verkeerslichtcontroller met ARM Cortex-M4 - Ajarnpa
Verkeerslichtcontroller met ARM Cortex-M4: dit is een op breadboard gebaseerd project dat ARM Cortex-M4 (Texas Instruments EK-TM4C123GXL) gebruikt om een verkeerslichtcontroller te maken. De duur van de RODE en BLAUWE LED is ingesteld op 15 seconden. De duur van de gele LED is ingesteld op 1 seconde. Een "plot"
Arduino verkeerslichtcontroller met afstandsbediening - Ajarnpa
Arduino Traffic Light Controller met afstandsbediening: ik had een verkeerslicht dat ik aan het overspuiten was. Het enige dat nog moest gebeuren, was de controller bouwen voor de signaalpatronen van het licht. Om er een twist aan te geven heb ik er een afstandsbediening in verwerkt. Dit was ook de perfecte gelegenheid voor mij om