Forum: Mikrocontroller und Digitale Elektronik Ampelsteuerung


von Julian (Gast)


Lesenswert?

Hallo

ich habe den Auftrag bekommen eine Ampelsteuerung zu
entwickeln mit einem Mikrocontroller.
die Aufgabenstellung ist egal von einfach (Eine Kreuzung mit 4 Ampeln) 
bis schwierig (4 Ampeln,8Fugängerüberwege,Mit Abbiegefunktion)
ist mir überlassen,ich kann Programmieren ,nur das Problem ich muss mir 
noch Bauteile überlegen und ein Schaltplan entwickeln und dass kann ich 
einfach nicht ich hab schon versucht und gemacht aber ich komm damit 
einfach nicht klar.Programmieren werde ich es in C oder Assembler.
Ich bitte um Hilfe beim Schaltplan wenn jemand schon ein fertigen hat
kann ihn mir gerne schicken unter lafeefan7@web.de
oder hier ins Forum.
Ich danke schon mal im vor raus.

von Heinz (Gast)


Lesenswert?

Hallo,

An welchen Controller hast du gedacht?

Wieviele Ampeln?

Willst du auch Sensoren simulieren?

Zum Schaltplan:

Ampeln: LED´s?

Wenn du LED´s nimmst, kannst du diese über Vorwiderstände direkt vom 
Controller schalten.

3V3 - LED - Widerstand - PIN

Wenn du den Pin auf low legst, leuchtet die LED.

Hast du schon ein Demoboard?

lg

von sgfxcb (Gast)


Lesenswert?

>Wenn du den Pin auf low legst, leuchtet die LED

Und wenn dann bei ersten Tests alle LED leuchten, leuchtet der uC.

Gast

von Wilhelm F. (Gast)


Lesenswert?

Julian schrieb:

>ich habe den Auftrag bekommen eine Ampelsteuerung zu
>entwickeln mit einem Mikrocontroller.

Welchen der 10000 am Markt befindlichen Controller sollte es denn sein?

Studienarbeit fürs Labor?

Im Grunde macht man mal einen Programmablaufplan (Flußdiagramm oder 
Struktogramm), bevor man die Hard- und Software erstellt. Das gehört zum 
guten Programmierstil. Danach ist es leichter, die Software zu erstellen 
(aus eigener Erfahrung).

Unter Umständen ist die Ampelsteuerung gar nicht sooo kompliziert, 
sondern einfach eine Geradeaussteuerung.

State-Machine nennt sich sowas, ist bei der Programmierung von 
Prozessoren aber auch elementar wichtig.

Im Grunde besteht das Ding nur aus I/O-Ports mit z.B. LEDs und Tastern. 
Sollte so schwierig nicht sein.

>Ich bitte um Hilfe beim Schaltplan wenn jemand schon ein fertigen
>hat kann ihn mir gerne schicken unter lafeefan7@web.de

Und wo bleibt dann deine Herausforderung, die Aufgabe weitgehend selbst 
zu lösen?

von Sven (Gast)


Lesenswert?

Such mal bei www.elv.de, die haben da ne Bauanleitung mit guter 
Beschreibung.

von 2fast4you (Gast)


Lesenswert?


von Karl (Gast)


Lesenswert?

das geht sogar mit logik gattern und nem zähler (musten wir mal für 2 
ampeln) inner uni basteln ... ich sags dir ... is scho ein bischen 
unlustig

von Martin V. (oldmax)


Lesenswert?

Hi
Eigentlich ist es gar nicht schwer. Du sagst, du kannst programmieren? 
Na ja, das ist ja schon was. Dann weißt du ja auch, wie man eine Ampel 
aufbaut...
Es gibt rote, gelbe und grüne Lampen. Manche leuchten gemeinsam, andere 
nicht... Also, um die Anzahl der aktiven Ausgänge festzulegen, rechnet 
man erst mal die Anzahl der unabhängig geschalteten Lampen, also die, 
die sich eine eigene Zuschaltung wünschen.. Dann gibt's die, denen es 
egal ist, sie leuchten einfach bei anderen mit. Das kannst du natürlich 
auch lassen und gibst jeder Lampe einen eigenen Ausgang. Also, Lampen 
zählen und Ausgänge festlegen. Die Anzahl der Ausgänge plus Anzahl von 
Eingängen sagen dir, welcher µC in Frage kommt.
Nun kommen wir zu den LED Treiber.... es geht mit Transistoren oder 
einem Treiber IC. ULN 2008  oder so..., einen direkten Anschluß kann man 
machen, würd ich aber nicht empfehlen.
Na ja, eine Ampelsteuerung erfordert nicht so wahnsinnig schnelle 
Aktionen und Reaktionen, daher denk ich, kannst du einen externen Quarz 
oder Taktgeber weglassen und mit internem Taktgeber arbeiten.
Somit ist klar:
Controler, Treiberstufe für Lampen /LED, Taster (Fußgänger?), Batterie, 
Platinchen, etwas Draht, Lötzinn, ein paar Klemmen und IC Fassungen 
und.... viiieel Geduld.
Vorgehensweise:
Aufzeichnen auf ein Blatt Papier, wie die Kreuzung aussieht. Ampeln 
einzeichnen. Eine Tabelle erstellen, in welcher die Ein-und Auszustände 
der einzelnen Ampellampen / LED eingetragen werden.
Damit erkennt man, wieviel Schritte der Ampelzyklus dieser Kreuzung 
benötigt:
1. Gradeaus = Rot,  Quer = grün
2. Gradeaus = Rot, Quer gelb
3. Gradeaus = Rot, Quer Rot
4. Gradeaus = rot+gelb, Quer = rot
5. Gradeaus = grün, Quer = rot
6. Gradeaus= gelb, Quer = rot
7. Gradeaus = rot, Quer = rot
8. Gradeaus = rot, Quer = rot + gelb
9. = 1.
Wenn fußgänger, Abbieger oder andere Phasen einfließen sollen, dann mußt 
du entsprechend dafür Schritte erfinen. Da du programmieren kannst, 
dürfte die Umsetzung nun kein Problem mehr sein.
Gruß oldmax

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

> nur das Problem ich muss mir noch Bauteile überlegen

Ampeln gibts im Eisenbahn-Modellbau-Laden (z.B. hat auch Conrad passende 
Abteilung für Modellbau)

von Volker S. (volkerschulz)


Lesenswert?

Fuer den Anfang wuerde ich erstmal die gelbe LED an jeder der Ampeln mit 
ca. 1Hz blinken lassen und behaupten, die Ampel-Anlage sei gerade 
ausgefallen! ;) Danach koennen wir ja weitersehen...


Volker

von Andreas F. (aferber)


Lesenswert?

Aus meiner Kindheit(tm) kann ich mich noch an eine Schaltung erinnern, 
bei der einfach nur eine Drahtmatrix dafür verwendet wurde. Jede Lampe 
bzw. LED gehört jeweils zu einer Spalte, und zu jedem Schaltzustand gibt 
es eine Zeile. In jeder Zeile sind jeweils nur die Kreuzungspunkte zu 
den Spalten verbunden, wo Lampen leuchten sollen.

Sowas wie neulich in Münster ist damit zuverlässig ausgeschlossen ;-)

Andreas

von Julian (Gast)


Angehängte Dateien:

Lesenswert?

danke Matrin war sehr hilfreich.
Ich hab mich jetzt entschieden ich
mach eine Ampelsteuerung mit 4 Ampeln für den Hauptverkehr,
und 8 fußgängerampeln für den Nebenverkehr.
Den Nebenverkehr will ich mit Taster steuern bei Druck
des Tasters springt die Entsprechende Ampel auf Grün.
Aber ich komme einfach mit dem Schaltplan nicht weiter.
oder zurecht wie ich was anschließen soll und welche bauteile ich noch 
brauche und wie ich die wiedderum anschliße.Ich habe mir gedacht ich 
nehm einen MEGA32-P aber ich muss den nicht mehmen ich habe freie 
auswahl auf die Mikrocontroller.Ich nehme keine LEd´s sondern Lampen
Für einen richtigen aufbau auf einem Brett.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

> einfach nur eine Drahtmatrix dafür verwendet wurde

oder einen alten Drehschalter aus der Waschmaschine FG

von Volker Z. (vza)


Lesenswert?

Fußgängerampeln haben kein Gelp.

Sind hier nur CO2-Produzenten unterwegs?

von Volker S. (volkerschulz)


Lesenswert?

Wegstaben Verbuchsler schrieb:
>> einfach nur eine Drahtmatrix dafür verwendet wurde
>
> oder einen alten Drehschalter aus der Waschmaschine *FG*

Die gibt's natuerlich auch als neue Drehschalter! ;)

http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=C23;GROUPID=3283;ARTICLE=7186;START=0;SORT=artnr;OFFSET=16;SID=28@3o5CqwQARwAAHI7s8I1b6fc0522b6c0d55eebab6328560469f

Die Achse kommt dann an den Minuten-Zeiger eines Quarz-Uhrwerks.. und 
fertig ist die zeitgesteuerte Ampelschaltung!


Volker

von us73 (Gast)


Lesenswert?

a) denke ich, dass Fußgängerampeln nur 2 Leuchten, rot und grün haben
b) alle notwendigen Outputs zählen, erstmal pro Leuchte 1, bei den 
Fußgängern werden die beiden Leuchten parallel versorgt
c) alle notwendigen Inputs zählen
d) In- und Outputs addieren.
e) gibts einen verfügbaren Controller, der für alle aufaddierten In- und 
Outputs je einen I/O-PIN z.V stellt ? Dann gut und einfach. Den nehmen, 
Schaltung planen. Max. Output-Strom pro PIN und auch gesamt beachten.
f) gibt keinen, der ausreichend PINs z.V. stellt ? Überlegen. Input / 
Output durch Tricks / Kniffe verfielfachen.

Los gehts.

von Peter D. (peda)


Lesenswert?

Julian schrieb:
> Aber ich komme einfach mit dem Schaltplan nicht weiter.

Da Du keine Richtungsampeln hast, kannst Du gegenüberliegende Ampeln 
parallel schalten, d.h. es sind nur 2 Fahrbahn und 2 Fußgängerampeln = 
10 Ausgänge. Und je 2 Tasten auch = 2 Eingänge.
Du brauchst also nur 12 Portpins.


> .Ich habe mir gedacht ich
> nehm einen MEGA32-P

Gute Wahl, der hat 32 IO-Pins.

> Ich nehme keine LEd´s sondern Lampen

Dann brauchst Du Treiberstufen, z.B. Logik-FETs (Reichelt: IRLU 120N).
Die FETs brauchen Pulldownwiderstände (10k) am Gate, damit sie beim 
CPU-Reset aus bleiben.


Peter

von Martin V. (oldmax)


Lesenswert?

Hi
Volker schrieb:
>Für den Anfang wuerde ich erstmal die gelbe LED an jeder der Ampeln mit
>ca. 1Hz blinken lassen und behaupten, die Ampel-Anlage sei gerade
>ausgefallen! ;)
Dann reicht ein Relais, 1 Transistior und eine Blinkschaltung mit einem 
NE555
Ok, du solltest mal deine Tabelle erstellen und deine Ampelphasen 
auflisten. Dann dürfte dir klar sein, wieviele Ausgänge du brauchst. 
Dann schaust du wiederum, ob du mit 2 Eingängen für die Fußgängerampel 
auskommst. Gegenüberliegende Taster parallel schalten.
Jetzt hast du die Anzahl der benötigten Portpins. Für jeden Ausgang 
brauchst du einen Transistor. Schau nach, ob der Transistor den Strom 
für die Lampen liefern kann, ansonsten setzt du halt noch ein Relais 
ein. Dann kannst du auch bei geeigneter Stromversorgung Autoscheinwerfer 
aufleuchten lassen. ;)
Nun, einen Schaltplan wirst du nicht bekommen, das solltest du dir mal 
zusammenlesen. Hinweis: es gibt Datenblätter, Lineal und Bleistift.....
Geh einfach mal folgendermaßen vor:
alle Lampen haben einen gemeinsamen Anschlußpunkt, also Kreise, Kreuze 
in die Kreise, eine Linie nach oben, eine nach unten. Die obere 
verbindest du mal und schreibst an die Verbindung Vccb. Nach unten 
zeichnest du an jeden Anschluß einen Transistor, wenn ich's richtig im 
Kopf habe NPN, mit Emitterpfeil nach unten. Diese Emitter verbindest du 
wieder und an dieseLinie schrebst du Gnd. Nun kommt an jede Basis ein 
Widerstant ca.10kOhm und den anderen Draht vom Widerstand legst du auf 
einen Ausgang des µC. Dann noch die Taster an den Controller, auch hier
eine Seite des Tasters an den Controler, die andere an Gnd. Was fehlt 
noch ? ach ja, der Controller braucht auch sowas wie eine 
Spannungsversorgung. Jetzt kannst du dich entscheiden: der µC will 5 V. 
Hast du auch Lampen mit 5 V? Wenn nicht, dann brauchst du 5 V für den 
Controller Vcca und 12 oder was auch immer ( bloß keine Netzspannung!) 
an Vccb der Lampen. Ansonsten sind Vcca und Vccb gleiche Spannungen(+).
Mehr kann ich nun wirklich nicht tun.... ach ja, doch, lies mal ein 
bischen in den Tutorials.
Gruß oldmax ( und nicht Matrin...)

von Karl H. (kbuchegg)


Lesenswert?

Zum Thema Schaltplan.
Es wurde ja schon angesprochen, dass es sowas fertig nicht geben wird. 
Also musst du ihn dir aus Einzelteilen 'zusammensetzen'.

Hier findest du die µC-Grundschaltung
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Selbstbau

Lies dir auch das drumherum durch.
Die Grundschaltung ist für einen Mega8, funktioniert aber für einen 
Mega32 1:1 genau gleich. Gleiche Namen der Pins entsprechen sich.

Damit hast du erstmal einen µC der läuft und sein Programm abarbeitet.

So werden die Taster angeschlossen
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen#Pullup-Widerstand

(Auch hier wieder: die ganze Seite durchlesen)

Bei deiner Menge an Lampen wird ein direkter Anschluss nicht gehen. Also 
musst du eine Treiberstufe für jede Lampe/Lampenpaar einplanen. Das kann 
man mit Einzeltransistoren machen, so wie hier
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen#Ausg.C3.A4nge_benutzen.2C_wenn_mehr_Strom_ben.C3.B6tigt_wird

aber es ist dann doch einfacher, dafür einen ULN2803 zu benutzen. Das 
sind im Grunde einfach nur 8 Stück dieser Treibertransistoren in einem 
IC-Gehäuse.

Dazu noch Stromversorgung. Da braucht du erst mal eine Abschätzung, 
wieviel Strom deine Lampen ziehen werden, wenn die maximale Anzahl 
Lampen eingeschaltet ist. Ehe du das nicht weißt, kann man da wenig 
planen, das hängt auch nicht unwesentlich von dem Lampen selber ab. Wenn 
du wählen musst, wähle so, dass du in Summe unter 1A bleiben kannst. 
Dann kann man einen 7805 noch nehmen. Zur Not gibts den auch als 2A 
Ausführung. Kühlkörper wird wahrscheinlich sowieso fällig werden.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

frag den mal,ob er sein zeugs noch braucht

Beitrag "Mikrocontrollerplatine programmieren?"

der hat doch laut Text eine Ampelsteuerung damit gemacht

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.