mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Lauflicht spezial


Autor: Martin Beck (klecks)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo alle zusammen.
Ich habe in der Hochschule ein Aufgabe bekommen, bei der ich Hilfe 
brauche.
Ich hoffe ihr könnte mir da ein wenig unter die Arme greifen.
Ich soll ein Lauflicht bauen, welches aus 11 LED's besteht.
Es soll über eine Selbsthalteschaltung gestartet werden.
Dann soll eine LED nach der Anderen angehen (so das man es auch sieht, 
denke so min. 1 Sekunde wäre gut) und sie sollen auch anbleiben.
Ich soll das ANgehen der LED's jederzeit mit einem Taster anhalten 
können, wobei die die bereits AN sind auch AN bleiben. Wenn ich den 
Taster loslasse sollen das ANgehen weiterlaufen.
Wenn alle LED's AN sind sollen ALLE LED'S zusammen 3 mal blinken und der 
Vorgang des einzelnen ANgehens von Neuem starten.
Mein Professor meinte das wäre eine sehr einfache Schaltung und ich soll 
das mit FlipFlops lösen.
Hoffe ihr teilt mir eure Ideen mit.
Ich bin übrigens ein ziemlicher Laie. Also wenn ihr manchmal ein paar 
Skizzen oder Erklärungen habt, wäre es schön, wenn ihr die einfach mal 
per Email schicken würdet.
Vielen Dank schonmal.
Ciao Martin

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es mit einem "State diagram" ?
 Es gibt erst mal 12 Zustände, von "Alle aus"  bis "alle an", und dann 
noch die Blinkphasen, aus-an-aus-an-aus-an und dann geht es wieder in 
den allerersten Ruhezustand "Alle aus".
Insgesamt also 18 Zustände, die man mit 5 Flipflops ( 32 Zustände max.) 
codieren kann. 4 Flipflops ( 16 Zustände) reichen vermutlich nicht, 
obwohl die Blinkzustände etwas Redundanz enthalten. Das ganze kann man 
dann mit einfachen Gattern decodieren.
 Eine typische Aufgabe für ein kleines CPLD, da macht die 
Entwurfssoftware sogar automatisch die Umsetzung des Zustandsdiagramms 
in logische Gleichungen.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ganz einfach wird die Schaltung nicht.
2 Ansätze:
-Zähler mit anschliessender Dekodierung und entsprechender Anzeige 
(Zustandsautomat)
-Schieberegister

Dazu brauchst du einen Taktgeber.
Ich schätze mal, das das Ganze auf einen 4bit-Zähler (also Zählerstand 
0-15) hinauslaufen soll, das könnte dann aber nur 2 mal blinken
Zählerstand:
0: alle LEDs aus
.
.
11: alle an
12: alle aus
13: alle an
14: alle aus
15: alle an, dann wieder von vorn

Theoretisch geht das auch mit einer entsprechenden Anzahl von JK-FF, an 
dessen Ausgänge die LEDs direkt angeschlossen werden. Das wird aber 
recht spassig beim Entwurf (Verknüpfung der J und K-Eingänge mit den 
entsprechenden Q bzw /Q-Ausgängen)- vielleicht ist aber gerade das Sinn 
der Übung? Sollst du es wirklich bauen oder nur theoretisch 
entwickeln/simulieren?

Mit einem einfachen MC wäre es spielend leicht - will er das explizit 
nicht?

Autor: .... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was studieren wir denn - mir machen solche Fragen incl der Einleitung
"Ich habe in der Hochschule ein Aufgabe bekommen, bei der ich Hilfe
brauche." immer wieder Angst


ob mich mein Arzt auch mal fragt - ich höre da so ein Puckern aus dem 
Brestraum?

Sorry - das getrolle musste mal sein

Autor: Schlumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auch ne einfache Lösung über nen Zähler und ein EPROM...
Ist dann auch ne FSM, aber die ganze Decodierung deiner FFs ist 
lsutigerweise schon im Adresszähler des EPROMS (ode FLASH) abgelegt...

Für 11 LEDs brauchst du 11 Datenleitungen. Jede Adresse repräsentiert 
einen Zeitschlitz, den du mit dem Zähler hochzählst. Den Zähler kannst 
dann über den Tatster anahlten.

also Adresse 0...11 beschreibt dann das Lauflicht:
An Adresse x"00" steht : b"00000000000"
           x"01"       : b"10000000000"
           x"02"       : b"11000000000"
           x"03"       : b"11100000000"    usw.

ja und wenn der Zähler jede Sekunde eine Adresse incremetiert, dann bist 
schon fertig!

Ich hab vor vielen Jahren mal in meinem Studium so ne Ablaufsteuerung fü 
ne Eisenbahn gebaut. Hat tadellos funktioniert. Aber das war zu ner 
Zeit, als das CPLD noch nicht erfunden bzw unerschwinglich war gg.

Was ich damit sagen will: Es gibt zig Möglichkeiten, sowas zu lösen udn 
ich muss dem Autor ... recht geben.
Ziel ist es nicht, ne fertige Lösung nachzubasteln, sondern selber auf 
neue Ideen zu kommen, kreativ zu werden, und an neunen Lösungsansätzen 
zu arbeiten. Das hab ich damals gemacht und dabei kam eben diese Lösung 
raus.

Wenn du mal im Berufsleben stehst, dann wird das von dir erwartet und du 
kannst dich nicht drauf verlassen, dass dir das Internet immer eine 
Lösung parat hält.

nix für ungut und viel Erfolg beim Finden einer eleganten Lösung

Schlumpf

Autor: pumpkin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mittlerweile so faul - das muss nicht simuliert werden. 
zustandsfolgediagramm mit entsprechenden übergangsbedingungen (der von 
dir gewählten flipflops) reicht aus; und das kann man per hand machen. 
15min max...

pumpkin

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würd zum Schieberegister (z.B. 3 * 74HC195) raten da spart man sich 
das Dekodieren und die Schaltung wird einfacher.

Aber bloß nicht vergessen, die Tasten zu entprellen (RC-Glied mit 
Schmitt-Trigger) !


Oder man programmiert nen ATtiny2313 dafür, dann braucht man nur einen 
Chip.


Peter

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist eine "popelige" Digital-Technik-Aufgabe.

Man nimmt 11 FlipFlops, die alle an der gleichen Taktquelle hängen,
Der Q-Ausgang des Vorgängers hängt am D-Eingang des Nachfolgers.
Der erste D-Eingang bekommt gleich die 1.
Die restlichen Funktionen muß man halt mit irgendwelchen Gattern 
realisieren. Z.B. Geht der Takt nicht direkt an die Clk-Eingänge der FF, 
sondern wird mit dem Takt-Aus-Taster "vergattert".
Im Prinzp baut man ein Schieberegister mit Ausgang-Enable und etwas 
Periferie-Logik auf.

Professor + Laie => Soll woll Ing. oder so werden...Ings sollen doch 
eigentlich Probleme lösen, von deren Thema sie u.U. auch (noch) keine 
Ahnung haben...

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In TTL-Schaltungstechnik würe ich mit einem 74HC4060 anfangen. Mit zwei 
Widerständen und einem Kondensator ist das schon mal ein Oszillator und 
hat auch vier oder fünf aufeinanderfolgende Zählbits ( ein paar fehlen 
zwischendrin). Anhalten über den Reseteingang kann man auch, das wäre 
dann der Startknopf.
Decodieren kann man mit 74HC154 oder 74HC4514/4515 das sind 4 auf 16 
Decoder, die können low-current LEDs mit Vorwiderstand direkt ansteuern. 
Da gibt es sicher auch einen Enable-Eingang, mit dem man das Blinken 
realisieren könnte.
na ganz so einfach funktioniert das noch nicht, ein Tiny mit Decoder 
oder Schieberegister wäre bequemer, zwei 74HC164 beispielsweise.

Autor: räschtschraipunk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Professor + Laie => Soll woll Ing. oder so werden...Ings sollen doch
eigentlich Probleme lösen, von deren Thema sie u.U. auch (noch) keine
Ahnung haben..."

ich dachte auch immer das wäre eins der hauptziehle des studiums.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
inoffizieller WM-Rahul wrote:
> Das ist eine "popelige" Digital-Technik-Aufgabe.
>
> Man nimmt 11 FlipFlops, die alle an der gleichen Taktquelle hängen,
> Der Q-Ausgang des Vorgängers hängt am D-Eingang des Nachfolgers.
> Der erste D-Eingang bekommt gleich die 1.


Ne, so popelig ist das nun auch nicht.

Ich hab schon mit Absicht den 74HC195 vorgeschlagen, da der schieben 
kann und auch parallel laden (für das 3 * Blinken).

Man kann das natürlich auch mit nem Gatter-Grab nachbilden.



Peter

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter: Die Aufgabe klingt "verdammt" nach einer Grundstudiums-Aufgabe 
in Fach "Digitaltechnik".
Mit sowas wurde ich auch "gequält".
Der Aufbau erfolgt dann durch Stippenziehen in einem 
Digital-Technik-Koffer.
Da stehen Taktgeber, FlipFlops, Schiebregister und ein Haufen Gatter zur 
Verfügung.
Dass man die Bausteine auch alle in einem IC zusammenfassen kann, ist 
dann der nächste Schritt.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Back to basics:

http://ee.old.no/library/6302-Dig-de.pdf

(41 MB !)

Irgendwo müßte das Original noch bei mir herumliegen...

Autor: Martin Beck (klecks)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo und vielen Dank an euch alle.
Ich glaube ein paar Leute haben mich falsch verstanden.
Ich habe keinesfalls erwartet, dass ihr mir die fertige Schaltung mit 
Bauplan und Bestellliste zuschickt.
Ich braucht nur eine paar Stöße in die richtige Richtung, weil ich in 
diesem Gebiet so gut wie keine Ahnung habe.
Also vielen Dank nochmal für die vielen Antworten (auch für die 
Kritischen).
Ciao Martin

Autor: pumpkin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@peter dannegger: das mit dem blinken ist allerdings kniffelig, da hast 
du recht.

aber ich würde erstmal die state-tabelle machen ohne das blinken - wenn 
das steht kann man mit kurzem nachdenken noch dieses delay reinbasteln.

ansonsten: DT drittes semester. viel spass dabei    ; )

pumpkin

Autor: .... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum ist das Blinken schwer - ein Dezimalzähler sein der ab der 11. LED 
entsperrt wird und den Takt bekommt und die Kette verriegelt und einfach 
nebenbei den Lampen drei mal die Betriebsspannung abschaltet usw....

Autor: pumpkin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
och, nich schwer aber kniffelig. ich dachte dabei daran keinen extra 
käfer reinzunehmen - aber so gehts natürlich auch.

pumpkin

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und mit dem parallel Laden des SRG ginge es aber auch.


Peter

Autor: .... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Martin  - bitte - danke oder wurscht piepe...

Autor: Martin Beck (klecks)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ .... (Gast)
Also nimm es mir mal bitte nicht übel, aber nur vollmaulen lasse ich 
mich nicht.
Wenn du mal ein paar Beiträge nach oben schaust (03.11.2006 15:26) da 
findest du eine Dankesrede an ALLE die mir auf meinen Thread geantwortet 
haben und auch die Entschuldigung dafür, dass mein Eingangsbeitrag so 
klang, als ob ich eine vorgefertigte Lösung von euch haben wöllte.
Aber von mir aus:

************************************************************************ 
*
Lieber .... (Gast)
Besonders Dir bin ich zu größtem Dank verpflichtet.
Aufgrund deiner Beiträge hat sich mein Leben, zu einem Besseren 
gewendet.
Also nochmals vielen, vielen Dank.
************************************************************************ 
*

@ alle Anderen. Ich hoffe euch reicht es, wenn ich mich ganz normal bei 
Allen zusammen bedanke.

Schönen Abend noch.

Ciao Martin Beck

Autor: Christoph S. (mcseven)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist ganz einfach.

Jede LED hat 2 Eingänge. Zunächst mal pro LED einen Gatter 
(schieberegisterzelle), also 11 Stück. Schieb immer vorne eine eins 
rein, Ausgang mit Eingang verbinden, und mit jedem Clock geht die 
nächste LED an. soweit klar.

Dann bau noch 6 schieberegisterzellen zusätzlich seriell hinten dran. 
Führe alle diese 6 Ausgänge wieder zusammen, so dass sich ergibt 
(Schaltung sollte klar sein, Stichwort Addierer!):

...LEDS  | G12 G13 G14 G15 G16 G17 [Ausgang d. letzten 6 Stellen]
            1   0   0   0   0   0      1
            1   1   0   0   0   0      0
            1   1   1   0   0   0      1
            1   1   1   1   0   0      0
            .......

Den [Ausgang] XORn mit jedem 2. Eingang jeder LED und alle blinken 
gleichzeitig (Bei erster Zeile: 1 bei der LED xor 1 am [Ausgang] = 0, 
ergo LED aus).

  LEDn
   |
+--+---+
| XORn |
++----++
 |    |
SZn  [Ausgang]

Dass alles auf einmal aus geht, glaube ich nicht. Zum resetten einfach 
immer nuller reinschieben (außer die Gatter haben RESET Eingänge)....

Hoffe, ich hab keinen Denkfehler drin....
Christoph

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.