Forum: Mikrocontroller und Digitale Elektronik Helle LED's bei Puls/Pause grösser 1 zu 50


von Stefan (Gast)


Lesenswert?

Hallo Leute,

Ich möchte mir eine LED Matrix aus 23*144 LED's aufbauen.
(ja ich weiß das sind viele LED's aber das Löten war noch nie das
Problem)

Vom Funktionsprinzip habe ich mir das so vorgestellt:

3 Ports eines Atmels verwende ich für die Zeilensteuerung und den Rest
(Mittel etwas Hilfe einiger anderer Bauteile) für die
Spaltensteuerung.
D.h. es wird seperat jede einzelne Spalte durchgeschaltet und die
benötigten Punkte angezeigt.

Hierdurch habe ich ein An/Ausverhältnis für jede einzelne LED von 143
zu 1.
Ich habe das ganze mal für eine LED simmuliert und diese leuchtet dabei
nur noch ganz schwach. (Auch wenn ich en Strom durch die LED auf ein
vielfaches des erlaubten Wertes erhöhe)

Hinzu kommt noch das ich das ganze mit rot/grün LED's aufbauen möchte
damit ich mehrere Farben darstellen kann. Hierdurch kann ich die
handelsüblichen Treiberbausteine nicht benutzen da diese alle nur für
einfarbige LED's vorgesehen sind (Jedenfalls die die ich gefunden
habe)

Hat von euch einer eine Idee wie ich es schaffenkönnte das die LED's
noch anständig hell leuchten?

Grüsse,
Stefan

von Florian Menne (Gast)


Lesenswert?

Also das problem liegt in der Helligkeit sprich du kriegst nicht genug
strom geschaltet dann kannste das doch über einen transistor laufen
lassen oder versteh ich das alles falsch

von Benedikt (Gast)


Lesenswert?

Zeilen und Spalten vertauschen, so dass jede 1/23 leuchtet.
Anonsten vergiss es !

Schau vor dem Kauf ins Datenblatt, ob die LED eine lineare
Strom/Helligkeitskurve hat. Bright RED LEDs leuchten bei 20mA genauso
hell wie bei 2A, daher sollte man diese nicht verwenden.

von Stefan (Gast)


Lesenswert?

WOW das sind ja schnelle Antworten!
Danke schon mal Leute

Also zo Florian:
Natürlich schalte ich die dinger mittels Transistor da der Atmel bei
weitem nicht genug Strom liefern kann
Reicht aber immer noch nicht aus

Zu Benedikt:
Die Idee ist gar nicht so schlecht!
Allerdings wollte ich als Spaltenzähler so etwas einfaches wie ein
Scheiberegister verwenden (natürlcih kaskardiert) Damit würde das
natürlich nicht funktionieren.

Wie ich deinen Beitrag gelesenhabe ist mir aber ein Geistesblitz
gekommen.
ich könnte 7 AVR's zusammenschalten dann hätte ich wirklich genügend
Ausgänge.
Die AVR's zu synchronisieren sollte dann das kleinste Problem sein
(z.b. Mittels integrierter RS2323 Schnitstelle)
Das ganze hätte noch nen Vorteil. Ich könnte den Speicherinhalt auf
mherere AVR's verteilen und bräuchte hierdurch keinen externen SRAM
mehr.

Über diese Idee lohnt es sich noch einmal nachzudenken!

Wenn noch jemand weitere so gute Ideen hat bitte her damit!

von Benedikt (Gast)


Lesenswert?

Wo ist das Problem mit den Schieberegistern ?
Du nimmst 3x 8bit Schieberegister (=24bit) für die 23 Zeilen.
Zu Beginn des Scanvorgangs lädst du da eine 1 rein, die dann nach unten
durchwandlert und immer nur 1 Zeile aktiviert (z.B. über Logik Level
MOSFET).
Dasselbe machst du für die Spalten: Hier brauchst du 18
Schieberegister, die 144 Konstantstromquellen ansteuern, die je etwa
200mA liefern. Dafür würde ich das SPI Interface verwenden. Mit 8MHz
Schiebetakt benötigst du 18us pro Zeile. Der uC hat noch genügned
Rechenleistung für andere Sachen frei.

Hast du dir aber mal über die Spannungsversorgung Gedanken gemacht ?
0,2A*144=28,8A !!!
Bei 0,2A sollten es mindestens 6V Betriebsspannung sein, da eine LED
alleine schon 4-5V braucht. Also 180W sollte das Netzteil schon liefern
können.

von Simon Küppers (Gast)


Lesenswert?

7 AVRs? bist du des Wahnsinns..

ich würds so machen wie Benedikt sagt. Die 23 Zeilen multiplexen, indem
du die 144 Spalten immer durchratterst.

Man könnte große Multiplexer Bausteine nehmen mit 8Bit Eingang und 256
Ausgängen (gibts sowas überhaupt? ;)) Dann brauchst du im AVR nur ein
Register hochzählen und immer an einem Port ausgeben...

Eventuell könnte man auch einen Zä^hler verwenden (in entsprechender
Größe)

von Simon Küppers (Gast)


Lesenswert?

Quatsch, Ich meine die 23 Zeilen durchrattern und an die 144 Spalten
immer die Daten anlegen.

Dann sinds pro LED "nur" noch 1/23

von Stefan (Gast)


Lesenswert?

Hi Leute

Das mit den Sieberegistern würde ich prinzipiell schon machen da bleibt
allerdings nur ein Problem:

Wie ich ganz oben geschrieben habe möchte ich 2-farbige LED's
verwenden.
Die Dinger muß man umpolen damit sie die Farbe wechseln
Das macht die Sache jetzt etwas schwieriger, zumal das ja kein
Transistor Grab werden soll.

Die einzige Lösung mit der es mit relativ wenig "Treiber" Bausteinen
geht die mir eingefallen ist sind Triac's.
Bei dieser Lösung würde ich quasi die Spannungsversorgung der LED's
nach jedem Durchlauf umpolen. Quasi immer rot und grün im Wechsel.
(Mit Transistoren bräuchte ich bro Spalte/Zeile immer mindestens 2)

Dem Triac ist das egal der Zündet ja sowohl bei positiven als auch
negativen Gate Strom.
Damit das aber funktioniert bin ich auf Tri-State Ausgänge angewiesen
da ich sonst nicht steuern könnte wann ein Zriac zünden soll oder
nicht.

Preislich ist es onehin fast unerheblich ob nam einen Atmel mehr oder
weniger braucht weil du die Teile heute um die 5€ bekommst.

Die Konstantstromquellen werde ich mir schenken. Auch auf die Gefahr
hin das ich geringfügige Unterschiede in der Leuchtstärke der LED's
habe. Da kommen Wiederstände rein und fertig. Außerdem sind die auch
Polungsunabhängig

von Benedikt (Gast)


Lesenswert?

Du hast echt langeweile oder ?
Üblicherweise verwendet man Duo LEDs mit 3 Pins. Alles andere wird zu
aufwendig. Die benötigen dann 36x 8bit Schieberegister und ein 360W
Netzteil !

von Rooney (Gast)


Lesenswert?

Hmm...

Also ich kenn das gut, da ich selbst mal vor diesem Problem gestanden
bin, als ich mir eine Laufschrift zusammengebastelt habe. Nehmen wir
an, du hast einen Duty Cycle von 1/144 (jeweils nur eine der 144
Spalten freigeschalten). Bei konstanter Ansteuerung von einer LED mit
5V verwendet man einen 220R Widerstand (oder je nach Helligkeit
weniger). Durch den Duty Cycle würde sich der nötige Wert auf 220/144
verringern, theoretisch müßte es dann gleich hell leuchten, als wenn
konstant angesteuert wird - praktisch ist es aber ohnehin nicht so.
Was kannst du nun tun?
Sofern ich verstanden habe, hast du 23 Zeilen und 144 Spalten. Du
benötigst also drei 8 Bit Schieberegister um die Zeilen zu laden und
achtzehn Schieberegister um die Spalten durchzuschalten. Schon mal
daran gedacht, mehrere Spalten gleichzeitig leuchten zu lassen? Nehmen
wir an, du läßt immer zwei Spalten gleichzeitig leuchten, dann
verringert sich der Durty Cycle von 1/144 bereits auf 1/72. Je mehr
Spalten gleichzeitg durchgeschalten werden, desto geringer wird also
das Verhältnis. ABER: desto mehr Schieberegister wirst du für das
Ansteuern der Zeilen benötigen. In unserem Fall verdoppelt sich also
die Anzahl für die Schieberegister.

Das ganze mag jetzt vielleicht unklar sein, solltest du eine Zeichnung
benötigen, dann gib mir bescheid.

mfg Tom




http://engineering.poms.at

von Stefan (Gast)


Lesenswert?

OK noch ein Wort zur Leistung
Wenn ich mit 50 mA pro LED rechne was völlig ausreicht (ich habs gerade
getestet) dann komme ich auf eine theoretische Maximalleistung von 86
Watt.
Allerdings ist das ein Display was hauptsächlich schrift anzeigen soll.
Und da sind bei weitem nicht immer alle Pixelin Betrieb was eine emense
Reduzierung der Leistung bedeutet.

von Benedikt (Gast)


Lesenswert?

Ich habe bei meinem 32x16 Display mit Standard grünen LEDs 150mA
verwendet. Das ist bei Tageslicht auch nötig.

Bei Low Current LEDs kann der Wert auch niedriger sein.

von Stefan (Gast)


Lesenswert?

Also bei der Uhr die ich letztens gebaut habe habe ich 30 mA verwendet
das reciht auch bei Tageslicht mehr als genug aus.

Je nach Umgebungshelligkeit reduziere ich das dann aber auch noch.

aber prinzipiell gebe ich dir recht das müsste man mal mit den LED's
die man letztendlich verwenden will ausprobieren

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
Noch kein Account? Hier anmelden.