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
>Wenn du den Pin auf low legst, leuchtet die LED Und wenn dann bei ersten Tests alle LED leuchten, leuchtet der uC. Gast
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?
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
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.
> einfach nur eine Drahtmatrix dafür verwendet wurde
oder einen alten Drehschalter aus der Waschmaschine FG
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.