Forum: Mikrocontroller und Digitale Elektronik Led Matrix 16x48


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alexander W. (alexw)


Angehängte Dateien:

Lesenswert?

Hallo,

ich brauche wieder eure Hilfe...

Mein nächstes Projekt soll eine 16x48 LED Matrix (einfarbig) werden, die 
dann verschiedene Animationen zeigt.

Als Anhang habe ich mal einen Schaltplan angefertigt (meinen ersten mit 
EAGLE :) ).

Meine Idee war es, mit dem 74HC138 und 8 IRF7104 immer zwei Reihen 
zeitgleich zu "aktivieren".
Die Zeilen werden über ULN2003's gesteuert, die wiederum von 74HC595's 
gesteuert werden.

So kann ich die Matrix mit der, wie ich finde, sehr schnellen Bildrate 
1:8 steuern.
Nun soll die Matrix 24/7 laufen und im Schlafzimmer hängen. 
Logischerweise soll diese dann nachts etwas gedimmt werden. Dafür ist 
der PWM an den OE's der Shift Registern.

So, jetzt meine Fragen:
- Sind große Fehler im Schaltplan?
- Ist die Idee sinnvoll?
- Müssen noch Kondensatoren eingebaut werden, für das Dimmen?

Freue mich über Anmerkungen und Ideen ;)

Gruß Alex

: Verschoben durch Moderator
von Bernd (Gast)


Lesenswert?

Vielleicht sind die WS2812 eine Alternative:

https://www.mikrocontroller.net/articles/WS2812_Ansteuerung

Gerade weil du Animationen darstellen willst.

von Draco (Gast)


Lesenswert?

Alexander W. schrieb:
> Nun soll die Matrix 24/7 laufen und im Schlafzimmer hängen.

Alexander W. schrieb:
> - Ist die Idee sinnvoll?

Junge, meine Frau würde mich zu Hause rauswerfen :D


Ich würde eher auf einen Max7219 setzen, der Multiplext dir alles schön. 
und kann in 16 Stufen gedimmt werden - läßt sich absolut easy 
kaskadieren und arbeitet mit SPI Interface. 8x8 bekommste da an einen 
dran.

von Alexander W. (alexw)


Lesenswert?

Draco schrieb:
> Junge, meine Frau würde mich zu Hause rauswerfen :D

Darum muss die Matrix ja auch dimmbar sein ;)
Eigentlich reichen mir deswegen schon zwei Dimm-Stufen (100% und 10%). 
Nachts darf die halt nicht heller als so ein ganz normaler Wecker sein.

Bernd schrieb:
> WS2812
Finde ich nur mit RGB Leds, was ich nicht brauche, da viel zu teuer.

Draco schrieb:
> Max7219

Sind halt auch recht teuer, wenn man mind. 12 Stück davon braucht 
(5,80€).

Mit meiner Idee würde 8x8 dann nur ~60ct kosten (insgesamt unter 10€ 
(ohne die Matrizen)).

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Alexander W. schrieb:
> - Ist die Idee sinnvoll?

Vielleicht. Warum nimmst Du keine fertigen? Diese hier z.B. sind zwar 
bunt, aber es gibt sie auch einfarbig:

https://learn.adafruit.com/32x16-32x32-rgb-led-matrix?view=all

… und dann ist da noch der Colorduino, der theoretisch auch einfarbig 
kann.

von Alexander W. (alexw)


Lesenswert?

Torsten C. schrieb:
> Warum nimmst Du keine fertigen?

Zu einfach :) Nee, Spaß beiseite, ist einfach zu teuer.
16x48 (einfarbig) kosten dann ~50$ mit Versand ist das zu viel, gerade 
weil es günstiger geht.

Bei meiner Idee komme ich auf Gesamtkosten von etwa 15€ für die Matrix 
(ARduino oder Atmega kommt bei beiden ja noch dazu).

von Michael B. (laberkopp)


Lesenswert?

Alexander W. schrieb:
> - Sind große Fehler im Schaltplan?

Vorwiderstände für die LEDs.
Du brauchst halt 12 74HC595/ULN2803.
Die IRF7401 schalten nicht die benötigten 7.68A (bei 20mA für die LEDs).

> - Ist die Idee sinnvoll?

16 MOSFETs um 8 Reihen zu steuern ? Nein. Es reichen 8 MOSFETs, wenn die 
15.36A schalten können. Wobei 20mA für die LEDs im Durchschnitt 
vielleicht etwas viel sind, 10mA tuns sicher auch. Nimm lieber FDS4465 
(oder ähnlich) als MOSFET.

> - Müssen noch Kondensatoren eingebaut werden, für das Dimmen?

Nein.

Es müssen die üblichen 100nF Stützkondensatoren an jeden 74HC595, und 
ein dicker Elko an die Versorgungsspannung wo die MOSFETs hängen.
Man würde sich Arbeit sparen, wenn man statt 74HC595+ULN2803 lieber 
CAT4016 (Darisus) oder TLC5921 (Darisus) oder STP16CP05 (Segor) nimmt.

Der ULN2803 kostet dich auch 1.5V, an 5V kannst du also keine 
blauen/weissen LEDs betreiben.

: Bearbeitet durch User
von Alexander W. (alexw)


Lesenswert?

Michael B. schrieb:
> Vorwiderstände für die LEDs

Ja stimmt, werde ich dran denken.

Michael B. schrieb:
> Die IRF7401 schalten nicht die benötigten 7.68A

Müssen sie auch gar nicht. Da jeder IRF7104 eine Reihe ansteuert, muss 
jeder maximal 20 mA × 48 = 0,96 A schalten und das sollten sie schaffen.

Michael B. schrieb:
> 16 MOSFETs um 8 Reihen zu steuern ? Nein. Es reichen 8 MOSFETs, wenn die
> 15.36A schalten können.

Nein, dann habe ich mich falsch ausgedrückt: Jeder MOSFET schaltet genau 
eine Reihe der 16x48 Matrix und muss deshalb auch nur etwa 1 Ampere bei 
20 mA pro LED schalten.

Michael B. schrieb:
> Der ULN2803 kostet dich auch 1.5V, an 5V kannst du also keine
> blauen/weissen LEDs betreiben.

Stimmt, hatte ich gar nicht dran gedacht. Hatte aber sowieso an rote 
LEDs gedacht.

von MaWin (Gast)


Lesenswert?

Alexander W. schrieb:
> Müssen sie auch gar nicht. Da jeder IRF7104 eine Reihe ansteuert, muss
> jeder maximal 20 mA × 48 = 0,96 A schalten

Du dolltest wenigstens vorher mal die Grundlagen der 
Multiplexanszeuerung lernen.

Ein perpetuum mobile wurde noch nicht erfunden.

http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.8.1

von Georg (Gast)


Lesenswert?

Alexander W. schrieb:
> Nein, dann habe ich mich falsch ausgedrückt: Jeder MOSFET schaltet genau
> eine Reihe der 16x48 Matrix und muss deshalb auch nur etwa 1 Ampere bei
> 20 mA pro LED schalten.

Mehr Fehler kann ein einziger Satz kaum enthalten. Wie sollen 8 Ausgänge 
des HC138 nacheinander 16 Transistoren ansteuern?

Ausserdem heisst Multiplex, dass jede LED nur z.B. 1/16 der Zeit 
eingeschaltet ist, dafür aber mit dem 16fachen Strom (oder soll die ihre 
Energie aus dem Quantenuntergrund beziehen). Also muss der Transistor 20 
mA x 48 x 16 schalten. Hier fehlt es wohl schon an den Grundrechenarten 
- wenn nur 1 A fliesst, dann verteilen sich dieser Strom ja im 
Durchschnitt auf die 768 Dioden, macht nur etwas mehr als 1 mA pro LED. 
! Bei einer Matrix fliesst der Gesamtstrom immer durch den einzigen 
eingeschalteten Spaltentreiber !

Dass LEDs ohne Vorwiderstände betrieben werden, ist hier im Forum 
inzwischen Mehrheitsmeinung, aber trotzdem Murks.

Bei 5V funktioniert die Schaltung wahrscheinlich nur mit roten LEDs, 
andere haben zu hohe Durchlassspannung.

ULN2003 ist natürlich Unsinn, da nur 7 Treiber enthalten sind - da hilft 
es auch nicht, wenn du Qh an den GND-Pin anschliesst und dafür den 
+Anschluss an GND. Da fehlen doch die elementarsten Grundlagen.

Georg

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Georg schrieb:
>Wie sollen 8 Ausgänge
>des HC138 nacheinander 16 Transistoren ansteuern?

Anscheinend kann der TE nicht mal ein TTL IC Datenhandbuch lesen.
Mach ich das mal für ihn: der 74HC154 wäre dann der passende IC mit 16 
Ausgängen.

Ansonsten hier noch Grundlagen zum Multiplexen:
http://www.fritzler-avr.de/HP/tipps/multi.php

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Georg schrieb:
> Ausserdem heisst Multiplex, dass jede LED nur z.B. 1/16 der Zeit
> eingeschaltet ist, dafür aber mit dem 16fachen Strom (oder soll die ihre
> Energie aus dem Quantenuntergrund beziehen).

Und dann müsste der TO erstmal klären, ob seine LEDs überhaupt den 
gepulsten 16-fachen Strom aushalten. In der Regel packen die nämlich nur 
den 10-fachen, wenn die Schaltung im Miltiplex arbeitet.

Oder er lässt es bei 20mA für die 16 LEDs .... gibt schönes 
Glimmerlicht. Deshalb hängts ja auch im Schlafzimmer :-)

von Alexander W. (alexw)


Angehängte Dateien:

Lesenswert?

Um die entstandenen Missverständnisse (an denen ich sicher nicht 
unschuldig bin) aufzuklären und die von euch genannten Fehler zu 
berichtigen, habe ich nochmal einen zweiten Schaltplan angefertigt.

Erklärungen zum Schaltplan:
- Es werden immer ZWEI REIHEN ZEITGLEICH betrieben. Ist beispielsweise 
Reihe 4 aktiv, so leuchtet auch Reihe 12. Danach werden dann die Reihen 
5 und 13 aktiviert. Der Vorteil: Die Bildfrequenz liegt nur bei 1:8, 
also liegt der Spitzenstrom auch "nur" achtmal so hoch, wie normal.

-Der 74HC138 steuert die IRF7416, die wiederum die Reihen aktivieren.

-Über 74HC595 und einfache Transistoren werden die Zeilen gesteuert.

-Die LEDs haben einen Vorwiderstand von 16 Ohm.

Bitte korrigiert meine Fehler weiterhin und stellt Fragen, wenn etwas 
unklar ist. :)

von Georg (Gast)


Lesenswert?

Alexander W. schrieb:
> also liegt der Spitzenstrom auch "nur" achtmal so hoch, wie normal.

Pro Transistor - insgesamt bleibt der Strom natürlich wie zuvor, denn du 
betreibst jetzt 2 Matrizen 8 x 48. Der Nachteil: jetzt brauchst du 
doppelt so viele HC595 wie zuvor. Da hat dich dein völliges 
Unverständnis des Multiplexens wohl in die Irre geführt.

Georg

von Michael B. (laberkopp)


Lesenswert?

Alexander W. schrieb:
> Bitte korrigiert meine Fehler weiterhin

Jetzt ist doch ALLES falsch.

Beim HC138 ist EIN Ausgang low, aber du steuerst jetzt PMOSFETs an GND, 
nicht mehr an +5V, soll das ein Sourcefolger werden ? man sieht doch 
schon an der Diode daß die immer leiten werden.
Deine 595 haben nun 2N3904, und schalten plus, aber ebenfalls mit 1V 
Spannungsabfall wie ein UNL2803 weil Emitterfolger.
16 Ohm wären bei 2.2V LEDS (5-2.2-0.7)/16 = 131mA die sind 1/8 der zeit 
an, also knapp 20mA, ok, macht in Summe für 48 Stück 6.3A die kann ein 
IRF7416 mit 5V angesteuert nicht schalten, der ist zwar für 4.5V 
spezifiziert, aber schon deutlich schlechter als mit 10V wo er 7.1A 
schaffen würde.

von Falk B. (falk)


Lesenswert?

@Alexander Weers (alexw)


>next.png

Schaltplan richtig zeichnen

>- Es werden immer ZWEI REIHEN ZEITGLEICH betrieben. Ist beispielsweise
>Reihe 4 aktiv, so leuchtet auch Reihe 12. Danach werden dann die Reihen
>5 und 13 aktiviert. Der Vorteil: Die Bildfrequenz liegt nur bei 1:8,
>also liegt der Spitzenstrom auch "nur" achtmal so hoch, wie normal.

Stimmt. Aber . . .

Deine P-Kanal MOSFETs müssen mit Source auf VCC!!!
Deine Spaltentreiber müssen damit logischerweise nach GND schalten.

Siehe LED-Matrix.

von Alexander W. (alexw)


Lesenswert?

Ok, wahrscheinlich ist das

Draco schrieb:
> Ich würde eher auf einen Max7219 setzen

die beste (einfachste) Lösung.
Mit der Verkabelung sollte das kein Problem sein, und mit der 
Ansteuerung mit SPI wird das auch wohl klappen (findet man ja genug im 
Internet).

Habe jetzt Module für ~2,80€ gefunden liege damit etwa bei 34€, doch 
deutlich höher als geplant, dafür aber auch deutlich einfacher.

Trotzdem danke an euch alle, das ihr mich vor vielen Fehlversuchen und 
stundenlangen Fehlersuchen bewahrt habt. ;)

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]
  • [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.