Hallo ! Ich hab nach einigem hin und her jetzt meine LED-Matrix Anzeigen am AVR angekorkt. Zum Testen hab ich erstmal 2 5x7 Matrizen genommen, wobei ich die Columns mit nem 4-zu-16 Dec. anspreche und die Rows mit nem 3-zu-8 (wegen der Anzahl der Ports und Kabel :-)) Nun ist es ja so, wenn ich die LEDs im Multiplexbetrieb ansteure, sie nur für eine Bruchteil einer Sekunde leuchten (genau 5ms), daher brauche ich ja auch den vielfachen Strom. Habe mir da ne Formel für rausgesucht und komm auf ca. 50mA pro LED. Habe versucht, den Strom mit Transistoren zu erhöhen, aber zuckt alles nicht wirklich. Auch mit Darlington-Arrays, sprich nem uln2803 zur Strombegrenzung steig ich da nicht durch. Kann mir da einer n Rat geben, wie ich das schalten muß, damit auch bei Ansteuerung aller LEDs die Helligkeit wie bei 0Hz ist. Danke und Gruß Jan
Nein, die sind direkt an die decoder angekorkt. wenn nur eine LED angesteuert wird, ist die Helligkeit genau richtig, daher habe ich die Widerstände letztendlich weggelassen.
du kannst nicht beidseitig mit 1 aus n-Dekoder arbeiten, in dem Fall kannst du immer nur eine einzige LED zur gleichen Zeit einschalten, was bei 2x5x7-Matrix ein Tastverhältnis von 1:70 bedeuten würde. Wenn du auf den rows mit Dekoder arbeitest, mußt du die columns parallel anlegen, ist zwar immer noch ein Tastverhältnis von 1:14, das geht aber. Ich versuche meist, mit max. 1:8 auszukommen. Die Stromstärke lässt sich nicht beliebig steigern, auch ist der Zusammenhang zwischen integraler Stromstärke und Leuchtkraft nicht linear. Ansonsten wirst du auch ein Problem mit der Spannung haben, der Spannungsabfall an den LEDS steigt mit der Stromstärke und an den Treibern fällt auch einiges ab, so dass der Strom auch ohne Widerstände einfach nicht höher werden kann. Dazu kommt, dass viele Matrix-Anzeigen lausige LEDs drin haben, besonders mit Kingbright habe ich da schlechte Erfahrungen gemacht.
@crazy horse: Hmm, ich dachte, ich könnte jetzt zwischen den Ausgängen der Dekoder und den LEDs die Schaltung, sprich "Stromverstärkung" bauen. Wenn ich die Columns parallel ankorke, gehen mir ja ne Menge Ports flöten. Das ist mit dem Testboard und nem 8515 noch egal, aber das ganze soll nachher nen 2313 oder kleiner machen. Aber selbst wenn ich sie parallel anstöpsel, muß ich sie ja dennoch im "Multiplex-Betrieb" ansprechen, sprich ich komme wieder auf meine 5 ms Leuchtdauer pro LED. Und dafür benötige ich eben den Strom :) Ich hab zur Zeit 2 Kingbrights drinne :) Kannst Du mir noch nen Tip geben? Wie gesagt, je schneller ich sie ansteuer, desto dunkler werden sie, hehe. is ja logisch... Danke Jan
Hallo Jan, pack einen dicken Elko parallel an den Stromausgang. Der sollte die plötzlich auftretenden Stromspitzen versorgen können. Grüße Oliver
Hallo Jan, kenne deine Schaltung natürlich nicht genau. Habe daher mal eine kleine Zeichnung angehängt wie man es vielleicht machen kann. Die wesentlichen Problempunkte sind in den obigen Antworten ja schon aufgeführt. Ich denke dein Problem ist im wesentlichen das, dass du den erforderlichen Strom gar nicht zustande bringst. Vielleicht hilft dir da die Zeichnung. Man muss sich im klaren sein, dass man in der Spaltenleitung bis zu 350 mA schalten muss (wenn durch eine LED 50 mA fließen sollen). Dafür braucht man schon einen etwas stärkeren Transistor oder besser eine Darlingtonstufe. Dann muss man auch noch zurückrechnen ob der treibende Port oder Dekoderpin den Basistrom liefern kann (Kollektorstrom/Stromverstärkung). Für die Zeilenansteuerung würde ich ein Latch oder Schieberegister (spart Pins) verwenden. Sowohl für die Spalten wie für die Zeilen einen 1 aus n Dekoder zu verwenden macht echt keinen Sinn. (steht aber ja schon oben sehr ausführlich). Für die Zeilentransistoren werden normale Transistoren reichen, da diese ja nur 50 mA schalten müssen. Hier aber mal noch ne Frage: 50 mA verteilt auf 14 Spalten gibt einen mittleren Strom von (50mA/14) 3,5 mA. Das müssen dann schon recht gute LEDs sein. Wenn es mehr Strom sein soll wird halt alles noch etwas härter, aber da solltest du dir auch aus diesem Grund überlegen, ob du ein Multiplex mit 1:8 überschreiten möchtest. Je höher die Multiplexrate um so höher die notwendigen Stromimpulse und die machen dann irgend wann echt Ärger. Gruß Meinrad
Hi, ich hatte die gleichen Probleme und habe es nachher nicht weiter verfolgt weil fuer mich der Aufwand zugross war. Ich habe mir dann lieber ein 16x1 Lcd gekauft. Somit brauchte ich nur 6 I/o Ports. In einem Beitrag war mal hier ein schoener Link zu einer Bastlerseite fuer 7 Segment Anzeigen ... Ich hoffe jemand weiss welche ich meine. Ich muss mal zu Hause schaun ob ich sie noch habe .... Aber vom Kostenaufwand (Demultiplexer usw) kommt man eigentlich auf den gleichen Preis wie fuer ein 16x1 Lcd. Mfg Dirk
@Meinrad Hallo Meinrad, vielen Dank für Deine ausführliche Hilfe und Deine Zeichnung. Ich wollte für die Zeilen auch nen Schieberegister wie den 74HC595 nehmen, allerdings kenn ich mit mit der Programmierung so gut wie nicht aus, da ich das STK500-Board seit ner Woche hab und bis jetzt nur weiß, wie man Ports schaltet, hehe. Dementsprechend besteht mein Code auch nur aus "An" und "Aus" der einzelnen Pins; und das in zeitlicher schneller Reihenfolge. Solange nur eine Funzel leuchtet ist ja auch alles gut :-) Wenn Du mir sagen kannst, wie ich so'n Schieberegister ansteuere, würde mir das sehr weiterhelfen. Ich hab das ganze Zeugs in Bascom geschrieben. Nochmal zur Schaltung: Ich habe jetzt nen 4514 4-16 Dekoder für die Columns und nen 74HC138 3-8 Dekoder für die Rows genommen (der invertiert). Am Ende hab ich dann also 7 Leitungen, wobei ich die Columns, also den 4514 an portc und die rows an porta angeknotet habe. Ziel ist eigentlich, auf einer Matrix beliebiger Größe verschiedene Muster, Figuren, was auch immer darstellen zu können. Und um evtl. Fragen vorzubeugen: Ich möchte das nicht mit nem LCD machen :-) Danke Jan
Wenn ich das richtig verstehe, hast Du 2 Dekoder, d.h. Du mußt mit einem Tastverhältnis 1/70 multiplexen. Das dürfte kaum gehen. Üblich ist es, die Spalten z.B. über ein Schieberegister parallel anzusteuern und nur die Reihen zu multiplexen. Damit ist das Tastverhältnis dann nur 1/7, d.h. beherrschbar und die Helligkeit ausreichend. Peter
Hallo Peter! Danke für Deinen Beitrag. Wenn einer von Euch mir jetzt noch sagen kann, wie ich son Schieberegister ansteuere?! Ich hab mir mal die Truth Table von so nem Teil angeschaut, weiß aber nicht, wie ich es genau programmieren bzw. anschließen soll. Hatte mir auch noch überlegt, einfach ne Handvoll Flip-Flops zu nehmen, z.B. 74 493er, die ich mit nem Clock schalte. Ist das so was ähnliches? Sorry für die dämlichen Fragen, bin halt nicht so fit in Digitaltechnik, hehe . . . Jan
Ein Schieberegister sind mehrere D-FFs hintereinander mit gemeinsamen Takt. Man kann einfache Schieberegister (z.B. 74HC164) nehmen, muß dann aber beim Schieben dunkeltasten. Oder man nimmt Schieberegister mit Latch (z.B. 74HC595), da kann man die neuen Daten schon reinschieben, während die alten noch angezeigt werden und dann alles mit einem einzigen Takt ins Latch übernehmen. In meinem Beispiel findest Du die Ansteuerung eines 74HC164: http://www.mikrocontroller.net/forum/read-4-32158.html Wenn Dein MC aber ne Hardware-SPI hat, gehts darüber einfacher. Peter
Hallo Jan, Wenn ich dein Projekt richtig einschätze gibt das ja so eine mächtig große Stadionsanzeige. Da wird dir wohl nichts anderes übrig bleiben, als diese in mehrere elektrisch eigenständige Module aufzubauen und diese über einen BUS (serielle oder paralle) anzusteuern. Eine einfache Matrix mit 1000 Spalten x 1000 Zeilen geht ganz sicher nicht (auch nicht wenns nur 100 sind), denn erstens taugt die Multiplexrate nichts mehr und zweitens sind die Impulsströme theoretisch viel zu hoch (praktisch werden sie die Dioden nicht verkraften). Die Ansteuerung eines Schieberegisters ist eigentlich nicht so die Welt. Aber da steht oben ja schon wie es geht. Solltest du dich mit einer Modulbauweise, sagen wir mal pro Modul eine Matrix mit 8 * 8 (sind ja dann schon 80 LEDs) anfreunden, dann übernimmt die Steuerung solch eines Moduls am besten wieder ein kleiner Controller über zwei 8 bit Ports, ohne viel weitere digitaler Hardware. Die Module kommunizieren dann am besten über einen Bus mit einem Host der die Daten für die einzelnen Module bereit hält. Gruß Meinrad
Hab mir nochmal n paar Datenblätter angesehen und werde das jetzt mal mit nem 4093 Schieberegister probieren. @Meinrad Soooo groß sollte das auch nicht werden :-) Hatte so an max. 18 Module, sprich 6x3 = 630 LEDs gedacht. Das Ganze ist auch nur so just for Fun, da ich mal Lust hatte, sowas zu machen. Später hatte ich dann vor, per Taster o.ä. Texte bzw. Figuren darzustellen. Dann kann ich ja auch Deine Schaltung mit den Transen von oben nehmen?! Mein Netzteil liefert bis 12A bei 5V, also Strom is da, hehehe...
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.