www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED Matrix mit ULN2803


Autor: Mr K. (mrk)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mr K. (mrk)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mr K. (mrk)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>m jüngsten Schaltplan vermisse ich Vorwiderstände an der Basis

Du weeeest nüscht.

=> Kollektorschaltung!

Autor: Mr K. (mrk)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: char0n (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Simon Roith (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: char0n (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: charon (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.