Forum: Mikrocontroller und Digitale Elektronik LED-Matrix ansteuern


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 Simon S. (sschuez)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich weiß, dass das ein schon häufig diskutiertes Thema ist, jedoch kann 
ich keine Lösung zu meinem Problem finden (mangels 
Elektronik-Verständnis):
Ich würde gerne eine 10x11-LED-Matrix für eine Wortuhr per Multiplexing 
ansteuern.
Ich weiß, dass es dafür fertig Lösungen gibt, würde es aber gerne selber 
bauen und verstehen.

Mein µP ist ein RPi zero (3.3V Logik Levels).
Die LEDs haben eine Nennspannung von 3.3V und einen Nennstrom von 20mA.

Die Idee wäre, über Schieberegister die Anoden-Zeilen / Kathoden-Spalten 
anzusteuern. Da der RPi diese Leistung natürlich nicht hergibt, brauch 
ich einen Treiber, wie z.B. hier:
https://www.mikrocontroller.net/wikifiles/7/7e/LED-Matrix-ULN-UDN.png

Nun zu den Fragen:
- Welchen Source-Treiber würdet ihr für meinen Fall empfehlen? Der 
UDN2981 scheint nicht passend zu sein (VS-range)
- In dem verlinkten Bild, was ist IC1? Einfach ein weiteres 
Schieberegister? Brauche ich keine weiteres Bauteil um meinen RPi vor zu 
hohen Strömen zu schützen?

Danke für eure Hilfe!

von Bernhard S. (b_spitzer)


Bewertung
0 lesenswert
nicht lesenswert
Das IC1 wird ein Open-Collector Treiber sein. Bei 8 Kanälen der ULN2803.
Wieso soll der UDN nicht geeignet sein? Der kann maximal 50V schalten, 
aber auch weniger. Die Steuerspannung passt auch für 3.3V.

von MaWin (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Simon S. schrieb:
> Nun zu den Fragen:

1. Ein, 5 x 22 Matrix damit die Spitzenströme nicht zu hoch werden.

2. TLC5916,  CAT4016, DM13C, STP16CP05 + 5 x 2.3A  LogicLevel P-MOSFETs 
wie IRLML5203

3. ersetze den unsäglichen rPi SetTopBoxSchrott gegen einen 
timinggenauen Arduino, der hat 100 x mehr Rechenleistung als nötig, man 
braucht nicht 10000 x mehr als nötig und ein Betrübssystem das einem 
überall reinpfuscht. Kannste jsonst a gleich einen PC benutzen.

4. https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.8.1

von Axel S. (a-za-z0-9)


Bewertung
0 lesenswert
nicht lesenswert
Bernhard S. schrieb:
> Das IC1 wird ein Open-Collector Treiber sein. Bei 8 Kanälen der
> ULN2803.
> Wieso soll der UDN nicht geeignet sein? Der kann maximal 50V schalten,
> aber auch weniger. Die Steuerspannung passt auch für 3.3V.

Der OP schreibt nichts zu der Spannung, aus der er die LED versorgen 
will. Aber wenn wir 5V annehmen, dann sind zwei Darlington-Treiber 
a'la ULNxxx oder UDNxxx ungeeignet. Die brauchen zu viel von der 
Spannung. Ein bischen Spannung soll ja auch noch für die Vorwiderstände 
bleiben.

Außerdem baut man LED Matrizen nicht 10×11. Wenn schon, dann 8×16. Aber 
auch das ist wegen des 8:1 Multiplex schon grenzwertig. Ich würde zwei 
MAX7221 kaskadieren. Jeder kann eine 8×8 LED Matrix treiben.

: Bearbeitet durch User
von Der Unwissende (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Axel S. schrieb:
> Außerdem baut man LED Matrizen nicht 10×11. Wenn schon, dann 8×16. Aber
auch das ist wegen des 8:1 Multiplex schon grenzwertig. Ich würde zwei
MAX7221 kaskadieren.

Ich werkel derzeit auch an einer Wortuhr mit 10x11 und bin entsetzt über 
solch eine Aussage.
Wie bitte soll das Hardware-Layout der Matrix aussehen, wer will so eine 
Matrix verkabeln?
Mein Ansatz ist ESP8266 zu 2xSR '595. Q0-Q3 des ersten SR gehen an 
BCD->Dez.-Dekoder und steuern über P-Mosfet die Zeilen. Bis auf Q7 des 
2. SR schalten die SR-Ausgänge die Spalten. Durch geschicktes verteilen 
der Buchstaben werden max. 4 aktive Zeilen benötigt, somit ergibt sich 
eine Scan-Rate von 1/4. Der Rest ergibt sich dann in der Software.
Der Aussage bzgl. UDN/ULN stimme ich zu, eine Scan-Rate von 1/8 ist imho 
noch nicht als grenzwertig zu bezeichnen sondern eher State-of-Art 
(machen die MAXe doch auch).
Der ESP langweilt sich und die LED-Ansteuerung auf MAX72xx abwälzen, 
damit neue Baustelle wegen Verkabelung der Matrix etc. - jetzt verstehe 
ich immer mehr das man sich vom DOS-Prompt verabschiedet hat und nur 
noch mit der Maus rumgeklickt wird...

von Joachim B. (jar)


Bewertung
1 lesenswert
nicht lesenswert
Simon S. schrieb:
> 10x11-LED-Matrix für eine Wortuhr

Armbanduhr oder Wanduhr?

> per Multiplexing ansteuern.

warum?

Der Unwissende schrieb:
> Wie bitte soll das Hardware-Layout der Matrix aussehen, wer will so eine
> Matrix verkabeln?

es gibt Platinenservice, Layout Software und Stripes für Handarbeit, so 
habe ich meine wordclock12h für die Wand gebaut!

Es gibt sogar winzige SMD WS2812c RGB LEDs und Bestückservice!

: Bearbeitet durch User
von MaWin (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der Unwissende schrieb:
> Durch geschicktes verteilen der Buchstaben werden max. 4 aktive Zeilen
> benötigt, somit ergibt sich eine Scan-Rate von 1/4.

DASi st gut, da kann man auch mit 10 x 11 scannen.
Bloss passt das nicht zur Originalanordnung.

von Frank M. (ukw) (Moderator) Benutzerseite


Bewertung
2 lesenswert
nicht lesenswert
Der Unwissende schrieb:
> Axel S. schrieb:
>
>> Außerdem baut man LED Matrizen nicht 10×11. Wenn schon, dann 8×16. Aber
>> auch das ist wegen des 8:1 Multiplex schon grenzwertig. Ich würde zwei
>> MAX7221 kaskadieren.

> Ich werkel derzeit auch an einer Wortuhr mit 10x11 und bin entsetzt über
> solch eine Aussage.

Wenn man sich das Schaltbild mit den UDNs/ULNs mal genauer ansieht, 
erkennt man leicht, dass das überhaupt keine 10x11-Matrix ist. Da hier 
LEDs (je nach Wortlänge) in Reihe geschaltet werden, braucht man auch 
keinen Gedanken an 5V zu verschwenden.

Ich kenne das Schaltbild, denn die Schaltung hatte ich damals 
"verbrochen". Es handelt sich hier um die damalige WordClock mit 
ATmega168.

Artikel:

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

In Wirklichkeit handelt es sich um eine 28x3 Matrix. Dafür wurden 3 
PWM-Kanäle verwendet, nämlich für die RGB-Farben. Die 28 Reihen wurden 
über Schiebregister gesteuert. Hier wird das erklärt: 
https://www.mikrocontroller.net/articles/Word_Clock_Variante_1#Display

Die LED-Reihen wurden mit 15V betrieben, um sicher mehrere LEDs in Reihe 
anzusteuern.

Und ja: ein ATmega ist hier wesentlich besser geeignet als ein RPI.

P.S.
Die damalige Schaltung wurde zu einer Zeit entwickelt, als die WS2812 
gerade erst rauskamen und noch schweineteuer waren. Die WordClock 
Variante 1 wurde schon vor vielen Jahren duch die 
WordClock mit WS2812 abgelöst, der ATmega durch einen STM32 ersetzt. 
Ich würde mir heute auch nicht mehr die Arbeit machen, 110 LEDs mit je 6 
Pins einzeln zu löten - von der Menge an verwendeten Vorwiderständen mal 
ganz abgesehen. Das war damals eine Schweinearbeit.

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


Bewertung
1 lesenswert
nicht lesenswert
Simon S. schrieb:
> Die Idee wäre, über Schieberegister die Anoden-Zeilen / Kathoden-Spalten
> anzusteuern.

Die Schaltung, mit den UDNs/ULNs, die Du da rausgesucht hast, verwendet 
nur Schieberegister auf der Anodenseite. Auf der Kathodenseite werden 
auch besser 3 MosFETs (damals: IRLU2905) statt ein ULN verwendet.

Auf der Kathoden-Seite werden die MosFETs direkt durch PWM angesteuert. 
Es wäre Unsinn, diese 3 Kanäle auch noch über ein Schieberegister zu 
schicken - wegen der PWM zur getrennten Helligkeitssteuerung für die 3 
Farben R+G+B. Da kommt dann "Salat" raus.

: Bearbeitet durch Moderator

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.

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