www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED Matrix


Autor: Samuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich möchte gerne eine LED Matrix aufbauen (11x11) und dann diese
mit PLD ansteuern ich möchte aber nicht 121 Widerstände benutzen wen
das geht. nun meine Frage wie muss ich diese LED Matrix aufbauen? und
wie kann ich die dann ansteuern (ohne uC)?

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wirf mal ein Auge hier drauf:
http://home.wanadoo.nl/electro1/avr/dotmatrix.htm
Ist zwar auch Mikrocontroller, aber es bringt das Ansteuerprinzip nahe,
denn Zeitmultiplex ist die Lösung.
Ansteuern lässt sich das dann auch mit Zähler und EPROM als
Charakterfontspeicher.
Aber Achtung: In den Reihenleitungen zur LED-Matrix sind Widerstände
notwendig, wenn etwas anderes als ein AT90S2313 zur Ansteuerung
verwendet wird.

Gruss
Jadeclaw.

Autor: Samuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Hilfe, das Prinzip des Matrixaufbaus habe ich wohl
verstanden nicht aber ganz die ansteuerung jeder sagt was anderes und
ein gutes schema habe ich auch nicht wirklich gefunden.

welchen multiplexer sollte ich denn nehmen und was macht dieser
74HC595?
Als erstes möchte ich mal hinkriegen das alle LED's leuchten und dann
vieleicht mit einem Knopfdruck oder einem Timer irgendwelche effekte
geschehen welche ich dann mit dem PLD bzw. CPLD programmieren möchte.

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Darf ich mal ganz dumm fragen, warum ein PLD, aber kein µC eingesetzt
werden soll? Das Letztere ist doch wesentlich unkomplizierter
(zumindest aus meiner Sicht).

Autor: Samuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja ich mache dieses Projekt in der Firma und da haben wir noch keine uC
aber wir sind jetzt gerade am PLD dran und da wäre es eine gute übung
ich würde es auch lieber mit uC machen. ^^

aber das ist doch nicht zu schwierig oder sonst lasse ich das mit den
efekten weg wenn ich das nicht hinkriege

Autor: 3 Newton (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, wenn Du das mit den Effekten weglässt ist auch eine Ansteuerung
sinnlos. Dann legt halt alle über FETs an ein entsprechendes PWM
Signal.

3N

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Samuel: Der 74HC595 ist ein Schieberegister,
Er nutzt es hier, um die einzelnen Spalten durchzuschalten, indem eine
0 durchgeschoben wird und parallel auf die Reihenleitungen das dazu
passende Datenbyte draufgelegt wird.

Nur - Da du einen PLD nutzt, kannst du dir den Decoder/Schieberegister
programmieren, ebenso den Zähler für die Spaltenauswahl etc.
Ist der PLD gross genug, passt alles in das Teil hinein, inklusive
Charakterfont (falls Zahlen/Buchstaben dargestellt werden sollen).

Gruss
Jadeclaw.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ehm ich muss ma kurz unterbrechen, was ist ein PLD?

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein IC, welches eine grosse Anzahl einzelner Gatter und Logikblöcke
enthält, die dann nahezu beliebig untereinander 'verdrahtet' werden
können.
So kann man sich aus diesen einzelnen Teilen die benötigten Funktionen
zusammenbauen. Ein PLD kann je nach Grösse bis zu 200-300 TTL-ICs
ersetzen.
Günstiges Einstiegsteil ist die XC9536-Serie von Xilinx.
Einsteigerkits dafür findet man öfters auf eBay für wenig Geld.

Gruss
Jadeclaw.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und warum nimmt man dafür keinen µC her?
Ist man damitnicht einfacher, schneller, und vorallem flexibler
unterwegs?

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jein. Ein PLD ist genauso flexibel, verlangt allerdings mehr
Gehirnschmalz beim Programmieren. Wo ein Controller oder Mikroprozessor
allerdings nicht mithalten kann, ist die Geschwindigkeit. Bei modernen
PLDs sind feste Durchlaufzeiten für die eingehenden Signale bis diese
an den Ausgängen erscheinen die Normalität. Der Controller, der innert
5 ns auf einen Signalwechsel reagiert, dieses Signal mit einem anderen
verknüpft und das Ergebnis an einem anderen Ausgang bereitstellt muss
erst noch erfunden werden. Und das unabhängig davon, was sonst noch auf
anderen Teilen desselben Chips passiert.

Gruss
Jadeclaw.

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jadeclaw,

"Ein PLD ist genauso flexibel, verlangt allerdings mehr Gehirnschmalz
beim Programmieren."


Falsch !

Ein µC ist ungleich flexiber. Schon um nur die µC-CPU nachzubilden,
brauchts riesige FPGAs mit Gatteranzahl jehnseits von 100.000.

Für jede einfache Sache verbraucht ein CPLD Macrozellen, Rechnen ist
besonders aufwendig.

Für einen µC ist es dagegen ein Klacks, viele verschiedene Sachen quasi
gleichzeitig zu machen.


Der einzige Vorteil eines CPLD liegt in der Geschwindigkeit, da er ja
alles echt parallel macht (mit verschiedenen Macrozellen).

Diese wird hier aber überhaupt nicht benötigt, LED-Multiplex macht
jeder µC spielend so nebenbei im Timerinterrupt.

Im Gegenteil, LEDs im MHz-Bereich zu multiplexen erfordert schweinische
Schaltleistungen (hohe Umladeströme) und stört wie Sau.


Peter

Autor: Jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...womit ihr hier mal wieder, wie so oft, voll von der eigentlichen
frage abgewichen seit, und leute die den thread lesen, einen haufen
sachen lesen, die garnicht die eigentliche Frage beantworten.

samuel fragt schon lang nicht mehr, und ich denke geholfen ist ihm
immer noch nicht wirklich...

wenn jemand wissen will worin der Unterschied zwischen einem uc und
einem pld liegt, warum macht er dann nicht einen neuen thread mit genau
dieser fragestellung als überschrift auf!? so findet man doch auch die
lösungen zu seinen problemem viel schneller!

stattdessen sind hier threads mit 100derten von einträgen über gott und
die welt, alles ein durcheinander... ok, zumindest manchmal....

sorry aber das musste mal sein.

Jonny

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jonny

"samuel fragt schon lang nicht mehr, und ich denke geholfen ist ihm
immer noch nicht wirklich..."


Im Prinzip ist die Antwort ja schon gegeben:

Ein CPLD ist der erheblich umständlichere Weg, ein µC ist wesentlich
besser geeignet.


Peter

Autor: Sebastian Heyn (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
siehe anhang.
du brauchst nur 11R's, wenn du multiplex ansteuerst ist ja immer nur 1
zeile aktiv...
bei fragen fragen!

Autor: Samuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja hallo danke für die Hilfe habe jetzt eine konkrete idee das ich die
Matrix mit einem PWL ansteuere ich habe da drin rote und weisse LED's
dann kann ich irgendwie die roten und die weissen verknüpfen das die
die roten und die weissen immer dimmen also zuerst die roten ein und in
der zeit die weissen aus usw. und dann zwischendurch leuchten alle (wenn
das geht). Ich bin jetzt noch auf der suche wie ich das realisieren kann
mit meinen (C)PLD's ;-)

Autor: Samuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ach ja noch was das mit den strömen und den Widerständen ist dann da
auch wieder so ne sache ich dachte ich verdrahte die roten alle
parallel und dann an einen Transistor um sie anzusteuern

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grundsätzlich gilt, dass pro Reihenleitung eine LED an ist.
Bei 20mA und 2 Volt Spannungsabfall an der LED sind 150 Ohm richtig.
(Uges - Uled)/Iled = R; R in Ohm, U in Volt, I in Ampere.
High Efficiency-LEDs brauchen weniger Strom,
680 Ohm bis 1kOhm sind da Ok.
Die Widerstände kommen immer in die Leitungen, auf die das Bitmuster
ausgegeben wird.

Gruss
Jadeclaw.

Autor: Schmolli (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe eine 5x7 DOT Matrix TC07 von Kingbright verwendet, nutze den 
PIC18F452, habe die 5 Spalten über Vorwiderstände an den Ausgängen des 
74HC595 angeschlossen, die 7 Zeilen sind direkt an Port D angeschlossen, 
siehe include.

Die drei Steuerleitungen SHCP, STCP und DS habe ich an dem Port C 
angeschlossen.

Soweit so gut, das angehängte Programm müßte normalerweise einen DOT in 
Zeile 1 von rechts nach links wandern lassen, jedoch ist die Zeile 1 
dauerhaft an. Habe vermutet, es handelt sich hierbei um ein Zeitproblem, 
habe jedoch schon den Datentyp der Zählvariable auf double umgeändert 
und es ändert sich rein garnichts.

Zum Programmablauf

1) Ich lege die Zeile 1 mit dem zugehörigen Portpin auf 5v+ Potential
2) Ich lasse eine for Schleife von 7 an rückwärts zählen
3) Ich hole mir das letzte Element aus dem Feld per zählvariable 7
4) rufe die Fkt Schiebregister auf, Übergabe letztes Feldelement

5) Schiebe den Wert seriell in den HC595
6) Schalte den Wert auf die Ausgänge des HC595
7) Warteroutine
8) Schritt 1 usw usw

Die seriell to parallel Wandlung sollte richtig sein, ich habe keine 
idee, woran es liegen könnte, dass die Zeile 1 dauerhaft leuchtet


Ich hoffe, das jemand meinen bzw meine Fehler im Quellcode oder evtl in 
der Hardwarebeschreibung findet. Ich habe mich an dem Beispiel

Autor: Schmolli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
am Beispiel http://home.wanadoo.nl/electro1/avr/dotmatrix.htm   sollte 
das heißen, hatte den Link vergessen

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.