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.
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
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?
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
> 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)
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
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
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.
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.
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
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...)
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.