Forum: Mikrocontroller und Digitale Elektronik LED Matrix mit ULN2803


von Mr K. (mrk)


Angehängte Dateien:

Lesenswert?

Hallo
Ich habe vor eine 5x8 LED Matrix zu basteln. Im Anhang sieht ihr wie ich 
mir das vorstelle. Als uC kommt eine mega8 zum einsatz. Die LEDs sollen 
mit ULN2803 getrieben werden.

Etwas noch vorweg:
ja ich habe fast alle beiträge sowie wiki artikel dazu gelesen aber es 
wird fast immer schiebern benutz. da ich keins da hab und mir der uln 
zur verfügung steht muss ich halt damit probieren.

So jetzt zur fragen.
1. muss ich für die spalten auch eine uln benutzen?
2. müssen an den zeilen auch widerstände hin? wenn ja, vor oder hinter 
dem uln?
3. Abgesehen von mega8 beschaltung, fehlt noch was?

Noch was zum Schluss:
Wenn ich etwas vergessen hab einfach fragen.
Bitte den thread nicht ausarten lassen bzgl. Rechschreibfehler und 
andere krim kram.

danke schon mal im voraus.

von Entwickler (Gast)


Lesenswert?

> 1. muss ich für die spalten auch eine uln benutzen?
Nein. Es sei denn, die LEDs leuchten Dir nicht hell genug. So wie Du es 
designt hast, könnte das Ganze etwas müde aussehen, da der mittlere 
Strom pro LED nicht viel mehr als 20mA / 8 = 2.5mA betragen wird. Es 
wären also Low-Current-LEDs von Vorteil.

> 2. müssen an den zeilen auch widerstände hin?
Nein :-)

> 3. Abgesehen von mega8 beschaltung, fehlt noch was?
Passt! Achte aber beim Löten konzentriert auf die Polung der LEDs. Ich 
habe mal 148 LEDs verpolt eingebaut und danach mit einem lustigen Lied 
auf den Lippen wieder umgedreht.

von Falk B. (falk)


Lesenswert?

@ Mr K. (mrk)

>1. muss ich für die spalten auch eine uln benutzen?

Geht nicht, der ULN ist ein LOW Side Switch, sprich der kann nur nach 
Masse Schalten. Nach Vcc brauchst du einen UDN2981. Oder vier 
Transistoren in Kollektorschaltung. Basis direkt an den AVR, Kollektor 
an VCC und der Emitter an die LED-Spalten. Keine Basiswiderstände.

Transistor

>2. müssen an den zeilen auch widerstände hin? wenn ja, vor oder hinter
>dem uln?

Kommt drauf an ob die Spalten oder Zeilen Multiplexen willst. Ich würde 
die Spalten Multiplexen, dann ist es nur ein 5:1 MUX, da werden die 
Pulsströme nicht so hoch. Dann kommen die Widerständen zwischen den ULN 
und die LEDs.
Ausserdem ist dann die Logik zu Ansteuerung etwas einfacher (5x1Byte, 
statt 8x5Bit)

>3. Abgesehen von mega8 beschaltung, fehlt noch was?

Nein.

>Bitte den thread nicht ausarten lassen bzgl. Rechschreibfehler und
>andere krim kram.

Versuchs mal mit Rechtschreibprüfung ;-)

http://www.duden.de

@ Entwickler (Gast)

>habe mal 148 LEDs verpolt eingebaut und danach mit einem lustigen Lied
>auf den Lippen wieder umgedreht.

"Don't worry, be happy, pfeif . . . ;-)

MFG
Falk

von Entwickler (Gast)


Lesenswert?

Leider muss ich einhaken:

Die Schaltung tut so wie sie ist. Sie ist aber NUR für das Multiplexen 
von Zeilen ausgelegt, da nur die Zeilentreiber einen genügend hohen 
Strom für fünf LEDs liefern können.

Falls das System umgedreht werden soll auf Multiplexen der Spalten, 
müßte der ULN umgesetzt werden auf die fünf Spalten (3 Treiber bleiben 
ungenutzt), dafür die LEDs umgepolt und 8 Vorwiderstände eingesetzt 
werden.

Insgesamt bringt das einen Vorteil, weil, wie Falk schon sagte nur noch 
ein 1:5 Multiplexing stattfindet, womit die LEDs heller werden: 20mA / 5 
= 4mA mittlerer Strom.

von Falk B. (falk)


Lesenswert?

@ Entwickler (Gast)

>Die Schaltung tut so wie sie ist.

Ja, wenn man sich mit kleinen Strömen zufrieden geben kann (Low current 
LEDs, Ultrahelle LEDs).

> Sie ist aber NUR für das Multiplexen
>von Zeilen ausgelegt, da nur die Zeilentreiber einen genügend hohen
>Strom für fünf LEDs liefern können.

Jain. Damit hat man aber eine 8:1 MUX. UNd wenn man die IOs des AVR 
nicht über Gebühr belasten will hat man eben nur 20mA/8= 2,5mA 
effektiven Strom. Selbst bei 40mA, was schon arg granzwertig ist, sind 
es nur 5mA.

>Falls das System umgedreht werden soll auf Multiplexen der Spalten,
>müßte der ULN umgesetzt werden auf die fünf Spalten (3 Treiber bleiben
>ungenutzt), dafür die LEDs umgepolt und 8 Vorwiderstände eingesetzt
>werden.

Gar nicht. Fünf einfache Tranistoren reichen. Ausserdem ist der ULN2803 
ein LOW Side Treiber! Der kann die Spalten nicht treiben. Da bräuchte 
man eine andere LED-Matrix. Wenn es Einzel-LEDs sind geht das. Wenn es 
ein fetiger IC ist geht es nicht.

MFG
Falk

von Mr K. (mrk)


Lesenswert?

Danke erstmal für die Antworten.

Ich hätte noch hinzufügen sollen das die LEDs leider schon verlötet 
worden sind. Hatte das früher, bevor ich mit uC's in Berührung kam, 
gelötet.

Also wie ich verstanden habe schaltet der ULN nur nach gnd also kann 
der nur die Zeilen treiben. Wofür ist der common bzw. cd+ Anschlusch 
gut? Bleibt er unbeschaltet? aus dem Datenblatt konnte ich das nicht 
erkennen.

Die Helligkeit ist mir nicht so wichtig aber 2,5 mA finde ich noch zu 
wenig.
Also müsste ich die spalten mit einem Transistor nach 5V schalten. Was 
für ein Transistor sollte man da nehmen? Hab BC328-25, BC338-24 und 
BC547C rumliegen. Welche würde sich für die Spalten eignen?

von Falk B. (falk)


Lesenswert?

@  Mr K. (mrk)

>der nur die Zeilen treiben. Wofür ist der common bzw. cd+ Anschlusch
>gut?

Dor sind alle Freilaufdioden zusammengeführt.

> Bleibt er unbeschaltet?

Ja, den braucht man nur für Relais und Motoren.

>für ein Transistor sollte man da nehmen? Hab BC328-25, BC338-24 und
>BC547C rumliegen. Welche würde sich für die Spalten eignen?

BC338 odder BC547C.

MFG
Falk

von Entwickler (Gast)


Lesenswert?

>>Die Schaltung tut so wie sie ist.

>Ja, wenn man sich mit kleinen Strömen zufrieden geben kann (Low current
LEDs, Ultrahelle LEDs).

Hatte ich das nicht schon im ersten Post erwähnt?

>>Sie ist aber NUR für das Multiplexen
>>von Zeilen ausgelegt, da nur die Zeilentreiber einen genügend hohen
>>Strom für fünf LEDs liefern können.

>Jain. Damit hat man aber eine 8:1 MUX. UNd wenn man die IOs des AVR
>nicht über Gebühr belasten will hat man eben nur 20mA/8= 2,5mA
>effektiven Strom. Selbst bei 40mA, was schon arg granzwertig ist, sind
>es nur 5mA.

Hatte ich das nicht schon im ersten Post erwähnt?

>>Falls das System umgedreht werden soll auf Multiplexen der Spalten,
>>müßte der ULN umgesetzt werden auf die fünf Spalten (3 Treiber bleiben
>>ungenutzt), dafür die LEDs umgepolt und 8 Vorwiderstände eingesetzt
>>werden.

>Gar nicht. Fünf einfache Tranistoren reichen. Ausserdem ist der ULN2803
>ein LOW Side Treiber! Der kann die Spalten nicht treiben. Da bräuchte
>man eine andere LED-Matrix. Wenn es Einzel-LEDs sind geht das. Wenn es
>ein fetiger IC ist geht es nicht.

Ich weiss ja, dass Du schlau bist, aber warum sagst Du es ihm nicht 
gleich selber? Soweit ich sehen kann benutzt der OP LEDs, jetzt rätst Du 
im selber zu NPNs, warum dann der Widerspruch? Sowas ist einfach nur 
wichtigtuerisch.

von gerhard (Gast)


Lesenswert?

@mr. k:
schau die mal den u.a. link an:
http://www.maxim-ic.com/appnotes.cfm/appnote_number/1880

damit ersparst du dir den uln und noch dazu eine menge pin's.

gruss
gerhard

von Mr K. (mrk)


Angehängte Dateien:

Lesenswert?

gerhard wrote:
> @mr. k:
> schau die mal den u.a. link an:
> http://www.maxim-ic.com/appnotes.cfm/appnote_number/1880
>
> damit ersparst du dir den uln und noch dazu eine menge pin's.
>
> gruss
> gerhard

die maxim IC sind mir bekannt aber ich wollte es mit "Hausmitteln" 
umsetzen. Das Ziel ist bei mir nicht das fertige Projekt sondern der 
Lerneffekt. Aber trozdem danke. Werd mir irgendwann mal so ne IC 
besorgen aber jetzt noch nicht.

Im Anhang die veränderte Version mit Spalten Transistoren.
Ist er soweit ok?

von gerhard (Gast)


Lesenswert?

@mr. k:
für das charlieplexing benötigst du keine speziellen ic's sondern nur 
pin die sowohl als push-pull-ausgang als auch als high impedance eingang 
schaltbar sind.
in der wikipedia findest du ein paar links:
http://en.wikipedia.org/wiki/Charlieplexing

gruss
gerhard

von Marcus (Gast)


Lesenswert?

Hallo,

im jüngsten Schaltplan vermisse ich Vorwiderstände an der Basis der 
Transistoren, außerdem würd ich Pull-Downs mit 100k vorsehen.

Marcus

von Matthias L. (Gast)


Lesenswert?

>m jüngsten Schaltplan vermisse ich Vorwiderstände an der Basis

Du weeeest nüscht.

=> Kollektorschaltung!

von Mr K. (mrk)


Lesenswert?

Marcus wrote:
> Hallo,
>
> im jüngsten Schaltplan vermisse ich Vorwiderstände an der Basis der
> Transistoren,


Hier wurde gesagt das man da keine Basis Widerstände braucht.

Naja hab jetzt alles auf Steckbrett aufgebaut und getestet. funktioniert 
soweit gut. Zum testen habe ich erst mal 1k Widerstände für die Spalten 
genommen. Wenn alle LED leuchten dann ist die Helligkeit nicht so gut 
deswegen werde die 1k Widerstände durch andere ersetzen.

>außerdem würd ich Pull-Downs mit 100k vorsehen.
 Meinst du zwischen uln und LEDs?

von char0n (Gast)


Lesenswert?

Hallo,

ich plane ein ähnliches Porjekt und wollte auch erst denn ULN2803A zum 
Schalten nutzen. Dank der Infos hier, erspare ich mir einen Fehlkauf.
Ich möchte Luxeon Hochleistungs-LEDs (5* LXHL-MD 1c; 5* LXHL-MM 1c; 5* 
LXHL-MB 1c) in einer 3*5 Matrix per Multiplex Steuern. Jetzt weiß ich 
das H-LEDs wesentlich höhere Ströme fließen, die sich bei Impulsbetrieb 
erhöhen wenn man die selbe Helligkeit erreichen möchte (Helligkeit ist 
für mich jedoch zweitrangig).

Welche Transistoren könnt ihr mir raten?
Reichen bestimmte BC Transistoren oder muss ich zu einem bestimmten BD 
Transistor greifen?

Die Verschaltung werde ich wie hier beschrieben vornehmen. Wobei ich 
einen ATMega 32 zum ansteuern nutze.
http://www.mikrocontroller.net/articles/LED-Matrix

Danke für eure Hilfe.

Grüße
char0n

von Falk B. (falk)


Lesenswert?

@  char0n (Gast)

>Ich möchte Luxeon Hochleistungs-LEDs (5* LXHL-MD 1c; 5* LXHL-MM 1c; 5*
>LXHL-MB 1c) in einer 3*5 Matrix per Multiplex Steuern.

Das ist keine gute Idee. Denn diese LEDs vertragen keine nennenswerten 
Pulsströme. Damit wird das wohl nix mit dem Multiplexing. Mach es 
klassisch per Direkansteurung. Für deine 15 LEDs brauchst dui gerade mal 
15 Pins, kann man auch leicht per Schieberegister machen.

AVR-Tutorial: Schieberegister

>Welche Transistoren könnt ihr mir raten?

MOSFETs. IRF7301. Siehe MOSFET-Übersicht.

MFg
Falk

von Simon Roith (Gast)


Lesenswert?

Ich hab mal nen LED würfel gebaut das ist ungefähr das gleiche was du da 
machst nur ned in würfel vorm.

Also Bei mir wars ne LED matrix mit 64 LEDs (4 x 4 x 4)
Die Ebenen des Würfels (4) werdn mit 4 Transistoren geschalten für jede 
Ebene 1 Transistor.

Jede Spalte (ebenfalls 4 LEDs) kamen an einen Ausgang vom µC hin. Mit 
Vorwiderstand natürlich damit der AVR ned überlastet wird bzw. die LEDs 
ned durchbrennen.

Haut immer noch super hin.. würd ich mal ausprobieren

von Falk B. (falk)


Lesenswert?

@  Simon Roith (Gast)

>Jede Spalte (ebenfalls 4 LEDs) kamen an einen Ausgang vom µC hin. Mit
>Vorwiderstand natürlich damit der AVR ned überlastet wird bzw. die LEDs
>ned durchbrennen.

>Haut immer noch super hin.. würd ich mal ausprobieren

An deiner Stelle würde ich es mal mit lesen versuchen. Und nachdenken.
Der OP hat HochleistungsLEDs, die ziehen 350mA++.

MFG
Falk

von char0n (Gast)


Lesenswert?

Falk Brunner schrieb:
> Denn diese LEDs vertragen keine nennenswerten
> Pulsströme.

Gibts denn überhaupt irgendwelche Hochleistungs-LEDs die das vertragen?
Oder kann ich auf Kosten der Helligkeit dem Impulsbetrieb mit der 
normalen Stromstärke versuchen?
Und gehen auch BD oder BC Transistoren dafür, MOSFET habe ich jetzt nur 
SMD teile gesehen (wobei ich da auch gar nicht so genau nachgeschaut 
habe).

von Falk B. (falk)


Lesenswert?

@  char0n (Gast)

>Gibts denn überhaupt irgendwelche Hochleistungs-LEDs die das vertragen?

Keine Ahnung. Wahrscheinlich ehr nicht. Bestenfalls PulsLEDs für 
Spezialanwendungen, dei dann aber wirklich kurze Pulse im 
Mikrosekundenbereich erzeugen.

>Oder kann ich auf Kosten der Helligkeit dem Impulsbetrieb mit der
>normalen Stromstärke versuchen?

Sicher.

>Und gehen auch BD oder BC Transistoren dafür, MOSFET habe ich jetzt nur
>SMD teile gesehen (wobei ich da auch gar nicht so genau nachgeschaut
>habe).

Dann schau nochmal nach. MOSFETs gibt es auch tonnenweise als bedrahtete 
Bauteile. Und die sind bei den Strömen einfach das Mittel der Wahl 
heutzutage.

MFG
Falk

von MaWin (Gast)


Lesenswert?

> Hochleistungs-LEDs (5* LXHL-MD 1c; 5* LXHL-MM 1c; 5* LXHL-MB 1c)
> Helligkeit ist für mich jedoch zweitrangig.


Versteh' ich nicht.
Warum kaufst du dann 1W LEDs ?

Ok ok, manche Leute kaufen auch Geländewagen mit denen sie nie ins 
Gelände fahren...

Aber diese alten 350mA Luxeons bringen 25 lm (rot), eine 50mA Superflux 
schafft schon 9 lm, wäre also wesentlich effektiver.

Na ja, du hast schon gelernt, daß man diese high-power LEDs nicht gut 
multiplexen kann, also nimmst du einzelne Treiber, ist bei nur 15 LEDs 
ja nun auch kein Drama.

von charon (Gast)


Lesenswert?

MaWin schrieb:
> Versteh' ich nicht.
> Warum kaufst du dann 1W LEDs ?
>
> Ok ok, manche Leute kaufen auch Geländewagen mit denen sie nie ins
> Gelände fahren...

Richtig, warum fragst du dann? ;)
Ich kaufe diese LEDs nicht, deswegen ist mir das egal. Das geschieht 
alles im Rahmen einer Projektwoche. Privat würde ich da auch anders 
rangehen, habe aber nicht die Zeit und noch genug andere Projekte zu 
erledigen.
Leider fehlt mir auch die praktische Kenntnis von Bauteilen, um direkt 
zu sagen "wir kaufen XY".

Außerdem ist es dann auch ganz nett mal mit H-LEDs gearbeitet zu haben, 
schadet mir nicht.

Wir werden den Spaß mal trotzdem mit BC141 Transistoren versuchen, diese 
haben wir auf Lager und gehen dann auf die Kosten von der Helligkeit. 
(Fragt nicht nach dem Sinn; es geht um Erfahrung sammeln)

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.