Hilfe Ampelsteuerung

Gast #3146741
Lesenswert?

Hallo

Ich möchte gerne eine Ampelschaltung realisieren mit folgenden Vorgaben:

30 Sekunden vor Startzeit 1 rotes Licht
10 Sekunden vor Startzeit 2 rotes Licht
5 Sekunden vor Startzeit bis Start gelbes Blinklicht (jede Sekunde)
Start: grünes Licht
Nach dem „GO“ Signal: 20 Sekunden freier Start(grünes Licht)
Danach 30 Sekunden bis Neustart

Spannung zwischen 1,5V-24V DC
Lichter SMD-LED's

Hat jemand eine Iddee?

Danke schon mal im Voraus!
Gast #3146758
Lesenswert?

Wenn ich den Schaltplan hätte oder zumindest nen groben Plan dan würde 
ich das schon hinbekommen Problem ist nur das ich im Moment 0 Plan habe 
wie das hinhauen soll;)
Handwerklich besteht kein problem.
#3146766
Lesenswert?

AndyT schrieb:
> Wenn ich den Schaltplan hätte oder zumindest nen groben Plan

Oh. Das wird schlecht.
Denn sowas diskret aufzubauen - ok, machbar ist das schon - aber 
eigentlich verdammt aufwändig.
Mit einem µC wärs um einiges einfacher im Aufbau. Allerdings muss man 
das ganze dann auch programmieren. Das ist auf der einen Seite zwar gut 
für den einfachen Aufbau. Auf der anderen Seite aber schlecht, weil noch 
eine Komponente mehr dazu kommt.

> dan würde
> ich das schon hinbekommen Problem ist nur das ich im Moment 0 Plan habe
> wie das hinhauen soll;)

Eine Uhr - und deine Ampel ist ja im weitesten Sinne eine Uhr - hat 
IMMER irgendeine Form eines Schwinggliedes, der einen Takt erzeugt. D.h. 
ohne wirds schon mal nicht gehen.
Und der Rest - nun das sind Takte zählen und je nach Zählerstand 
leuchten andere Leds.
#3146770
Lesenswert?

Sieh dir zb das hier mal an
Beitrag "Lauflichtsteuerung"
und stell dir einfach mal vor, dass da einige LED nicht bestückt wären.

Der ganze linke Teil erzeugt den Takt. die beiden 4017 sind Zähler, die 
Taktpulse zählen und je nach Zählerstand geht ein Ausgangspin nach dem 
anderen auf 1. An den Ausgangspins hängen LED. Zb eine rote LED an den 
Pins ....

(Die Sache mit den 2 4017 brauchst du ja so nicht, wohl aber das Prinzip 
um Sekundenpulse zu erzeugen bzw. die Pulse zu zählen ....
Gast #3146781
Lesenswert?

Unter Start(zeit) verstehe ich immer irgendeine Aktion. Z.B. Knopfdruck.
Wie aber lässt sich: "30 Sekunden vor Start" erfassen?
Oder soll das System automatisch, zyklisch (30/10/5)s + 20s + 30s 
laufen.
Was soll eigentlich in den 20 Sekunden passieren? Nur Grünlicht?
#3146789
Lesenswert?

amateur schrieb:
> Unter Start(zeit) verstehe ich immer irgendeine Aktion. Z.B. Knopfdruck.
> Wie aber lässt sich: "30 Sekunden vor Start" erfassen?

Ich denke die ganze Beschreibung sollte auf
"der Ablauf beginnt mit einem Knopfdruck"
umgemodelt werden.

Knopfdruck -> Zeit beginnt zu laufen  1 LED leuchtet
20 Sekunden später: eine 2.te LED leuchtet
wieder 5 Sekunden später: rote LED aus, dafür gelbe LED ein
1 Sekunde später: gelbe LED aus
1 Sekunde später: gelbe LED ein
....

Es sei denn, die Startzeit muss eine ganz bestimmte Realzeit sein. Dann 
wirds allerdings wirklich aufwändig und ohne µC würde ich da nichts mehr 
tun.
Gast #3146790
Lesenswert?

Man sollte einen Knopf drücken um das ganze zu starten und danach sollte 
der Vorgang wie in einer Endlosschleife immer wieder durchlaufen werden 
bis man einen anderen Knopf für Reset drückt
und ja in den 20 Sekunden sollte das grüne Licht weiter leuchten
#3146800
Lesenswert?

Karl Heinz Buchegger schrieb:
> AndyT schrieb:
>> Man sollte einen Knopf drücken um das ganze zu starten und danach sollte
>> der Vorgang wie in einer Endlosschleife immer wieder durchlaufen werden
>> bis man einen anderen Knopf für Reset drückt
>
> Ah. Ok
>
> Na ja. Das ist ja dann im Prinzip nur ein etwas seltsameres 'Lauflicht'.

Allerdings eines mit 95 'Stufen', wobei natürlich viele Stufen dieselbe 
LED leuchten lassen. Aber Wired-Or mit Dioden ist ja schon erfunden. Mit 
den beiden 4017 aus dem Link wärst du zb dabei (wenn die 30 Sekunden 
Pause auch 35 Sekunden sein dürfen um in Summe auf 100 Sekunden zu 
kommen)

Ob der 555 jetzt allerdings einen 1-Sekunden Takt erzeugt .... müsste 
man nahrechnen.

Beitrag "Lauflichtsteuerung"
Gast #3146815
Lesenswert?

Du benötigt eine Sekundenauflösung und 95 Gesamtsekunden und 5 Ausgänge 
(4 LEDs und 1 Reset für den Zähler). Da die Decodierung, welcher Ausgang 
wann aktiv sein soll aufwändig ist, schlage ich keinen Mikrocontroller 
vor den man programmieren müsste, sondern einen NE555 als Taktgeber 
einen 74HC393 als rücksetzbaren 8 bit Zähler, und ein EPROM  als 
Zuordnung welcher Ausgang bei welcher Zählsekunde aktiv sein soll. Das 
EPROM muss man zwar auch programmieren,aber braucht dazu keine 
Programmiersprache zu erlernen. Wahlweise lässt sich Zähler und 
Decodierung auch in einem GAL22V10 realisieren (allerdings werden die 
wieder in einer Formelsprache programmirrt, sind also nicht so viel 
einfacher als ein uC der dann auch noch den Taktgeber ersetzen würde.
1
void main(void)
2
{
3
   uint8_t i,j;
4
   DDRB=0x0f;
5
   while(1) for(i=0;i<190;i++)
6
   {
7
     PORTB=(i<60;2;0)
8
       |(i<80;1;0)
9
       |(80<i&&i<90&&(i&1)==0;4;0)
10
       |(90<i&&i<130;8;0);
11
    for(j=0;j<50;j++) _delay_ms(10);
12
    }
13
}
Das wäre übrigens das Programm für einen Atmega8 in C.
#3146831
Lesenswert?

amateur schrieb:
> Dann böte sich ein modifiziertes Lauflicht im Sekundentakt an.
> Led1  0 bis  29 und 50 bis 79 Sekunden.
> Led2 20 bis  29 Sekunden.
> Led3 25, 27, 29 Sekunde.
> Led4 31 bis  49 Sekunden.
> Oder so.

Die erste roe soll von beginn an leuchten dan die zweite rote dazu und 
sobald die gelbe zu blinken begind solten die beiden aufhören zu 
leuchten
wenn die grüne an geht sollte die gelbe nicht mer leuchtn und danach die 
grüne auch(nach gewisser zeit) und das genze beginnt von vorne
also nicht ganz richtig
#3146837
Lesenswert?

Andreas Tippelt schrieb:
> amateur schrieb:
>> Dann böte sich ein modifiziertes Lauflicht im Sekundentakt an.
>> Led1  0 bis  29 und 50 bis 79 Sekunden.
>> Led2 20 bis  29 Sekunden.
>> Led3 25, 27, 29 Sekunde.
>> Led4 31 bis  49 Sekunden.
>> Oder so.
>
> Die erste roe soll von beginn an leuchten dan die zweite rote dazu und
> sobald die gelbe zu blinken begind solten die beiden aufhören zu
> leuchten
> wenn die grüne an geht sollte die gelbe nicht mer leuchtn und danach die
> grüne auch(nach gewisser zeit) und das genze beginnt von vorne
> also nicht ganz richtig

Na ja.
Ein bischen Arbeit soll ja für dich auch noch bleiben, so du denn 
wirklilch diskret aufbaust.
Gast #3146992
Lesenswert?

Warum nicht ein <rotesTuch> Arduino </rotesTuch> ?
Der hat genug IOs für LEDs, einfach mit Vorwiderstand ran. Tastereingang 
ebenso.
Das Programm ist in einer Stunde geschrieben.
Aufwand: 30 Euro Material, 1 Stunde Löten, 1 Stunde Programmieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren