www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik mit LED Treiber und Transistor größere Spannung schalten


Autor: Georg G. (electronicnewbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Liebe Leute bitte um Nachhilfe!

Ich arbeite mit einem LED-Treiber (MAX6954) und möchte damit LEDs 
ansteuern, die ich jedoch aufgrund eines nicht beeinflussbaren hohen 
Vorwiderstandes (~ 100 Ohm) mit einer weitaus höheren Spannung versorgen 
muss, als mir der LED Treiber liefern kann.

Aufgrund dieser Situation möchte ich die LEDs über einen zweiten 
Stromkreis und mit Hilfe von Transistoren versorgen. Der LED Treiber 
steuert 64 LEDs in Form einer LED Matrix an, wobei die Spalten der 
Matrix als Anode dienen, und die jeweils aktive Zeilen als Kathode 
geschalten wird.
Um eine separate Stromversorgung verwenden zu können habe ich nun an die 
Ausgänge des Treibers für die Spalten 8 NPN Transistoren geschalten.
So weit so gut!

Da nun der LED-Treiber mit Multiplexing arbeitet, werden die Zeilen 
dadurch ausgeschalten, dass an den Ausgängen für die Zeilen, die gerade 
NICHT leuchten sollen, Spannung angelegt wird. Aus diesem Grund kann ich 
hier keine NPN Transistoren verwenden. Ich möchte daher gerne PNP 
Transistoren einsetzen, jedoch stellt sich hier das Problem, dass die 
Spannung des LED-Treibers nicht ausreicht um den PNP zu sperren.

Zum Testen verwende ich vorerst eine nicht stabilisierte Stromversorgung 
in Form eines LiPo Akkus.

Der LED-Treiber liefert uns etwa 3.3 V, der zweite Stromkreis soll mit 
7,4 V betrieben werden.

Wie kann ich einen PNP-Transistor schalten, wenn ich als Spannung zum 
Schalten der Basis nur 3.3 V statt der nötigen 7.4 V zur Verfügung habe?

Könnte man z.B. mit Hilfe eines NPN-Transistors den Steuerstrom so 
verstärken, dass er zum Schalten des PNP ausreicht? Wie müsste die 
Schaltung dann aussehen? (Ich habe bereits verschiedenste Schaltungen 
getestet jedoch bisher ohne Erfolg) Ich habe bisher mit BC337 und BC327 
herumgespielt.

Bin für jede Hilfe dankbar!!

Liebe Grüße!

Autor: Hubert G. (hubertg)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Bin mir nicht sicher ob ich dich richtig verstanden habe.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Georg G. (electronicnewbie)

>NICHT leuchten sollen, Spannung angelegt wird. Aus diesem Grund kann ich
>hier keine NPN Transistoren verwenden.

Doch, mit einem zusätzlichen Inverter. Aber du brauchst so oder so einen 
gescheiten Pegelwandler.

>Zum Testen verwende ich vorerst eine nicht stabilisierte Stromversorgung
>in Form eines LiPo Akkus.

Sehr sinnvoll . . .

>getestet jedoch bisher ohne Erfolg) Ich habe bisher mit BC337 und BC327
>herumgespielt.

Nicht rumspielen, nachdenken!

MFG
Falk

Autor: Georg G. (electronicnewbie)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Antworten!

@hubert: ich denke du hast es richtig verstanden! Jedoch habe ich es mit 
deiner Schaltung nicht hinbekommen! Ich schaffe es nicht ein LED zum 
leuchten zu bringen.

@Falk: Danke für den Tipp mit dem Pegelwandler. Ich habe es mit dem 
Schaltplan in folgendem link 
(http://www.elektronik-kompendium.de/sites/praxis/s...) 
versucht.

Wobei ich statt der 5V -> 3,3V und der 12V -> 7,4V verwendet habe. Und 
für die Widerstände folgende Werte anhand von 
http://www.mikrocontroller.net/articles/Basiswiderstand errechnet habe:

R1 = 1,5k Ohm
R2 = 70 Ohm
R3 = 150 Ohm

Die LED habe ich einmal zwischen V2 Emitter und GND gehängt und ein 
anderes mal an A bzw. 7,4V mit Vorwiderstand.

Damit lässt sich die LED zwar zur richtigen Zeit ein/aus schalten, 
jedoch verhält sie sich kurz nach dem Einschalten etwas eigenartig indem 
sie zunächst hell leuchtet und sofort danach viel dunkler wird.

Hat irgendwer hierzu vielleicht eine Erklärung?

Vielen Dank!

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Georg G. (electronicnewbie)

>@Falk: Danke für den Tipp mit dem Pegelwandler. Ich habe es mit dem
>Schaltplan in folgendem link
>(http://www.elektronik-kompendium.de/sites/praxis/s...)
>versucht.

Pegelwandler ist nicht gleich Pegelwandler.
Das Ding oben ist ein sehr schwacher, sprich der liefert nciht mal 1mA 
am Ausgang bei HIGH. Ergo unbrauchbar.

Für die Segemente brauchst du sowas hier

http://www.mikrocontroller.net/attachment/34752/P_FET.png

Denk dran, der IC funktioniert nur mit Anzeigen mit gemeinsamer Kathode!

MFg
Falk

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mich würde interessieren wie die Leds jetzt angeschalten sind. Welche 
Leds verwendest du? Kannst du die jetzige Schaltung posten.

Autor: Georg G. (electronicnewbie)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin von dem Pegelwandler wieder abgekommen, da ich keine brauchbare 
Schaltung zusammengebracht habe und das Ganze auch recht klein bleiben 
soll.

Nach einigen Stunden intensiven Nachdenkens :-) habe ich eine Variante 
zusammengebracht bei der das Ausgangssignal invertiert wird und ich mit 
jeweils 2 NPNs auskomme.

Zum Verständnis schicke ich noch den Schaltplan mit.

Ich möchte die IR LEDs HSDL 4400 
(http://www.datasheetcatalog.org/datasheet/hp/HSDL-5420.pdf) verwenden, 
wobei ich zunächst aus praktischen Gründen mit grünen 08/15 LEDs teste.

zur Erläuterung:

- mit T1 soll das Signal des ICs (eine Zeile) invertiert werden
- falls an IC Zeile HIGH anliegt schaltet T1 durch und die 3,3V werden 
über den GND abgeleitet, falls LOW anliegt schließt T1 und T2 wird somit 
geöffnet

- da unser IC zu wenig Leistung liefert muss das Signal der Spalte mit 
Hilfe von T4 bzw. T3 verstärkt werden.

- wenn jetzt auf IC Zeile LOW und an IC Spalte HIGH anliegt leuchtet die 
LED

Ich habe folgende Widerstände verwendet:

RB1: 150 Ohm
RC1: 150 Ohm
RB2: 4.7 kOhm
RC2: 150 Ohm
RB4: 5 Ohm
RC4: 10 Ohm

Diese Schaltung funktioniert aber leider nur dann wenn ich das 
Multiplexing des LED Treibers abschalte (sprich es leuchtet nur eine 
Zeile). Sobald ich mehr als eine multiplexe dürfte meine Schaltung zu 
langsam sein, denn ich schaffe es nicht das gleiche Segment in 
unterschiedlichen Zeilen (Digits) individuell anzusteuern.

d.h.: falls ich folgendes Ergebnis haben möchte:

- + - - - - - -
- - - - - - - -

leuchtet auch die zweite LED in der zweiten Zeile.

Gibt es eine Möglichkeit die Schaltung zu beschleunigen?

Ich habe in einigen Foren bereits gelesen, dass dies mit richtig 
platzierten bzw. dimensionierten Widerständen möglich ist, jedoch konnte 
ich das nicht auf meine Schaltung übertragen.


LG georg

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr hell kann die Led nicht leuchten. Du bekommst an die Basis von T3 
max. 3,3V, am Emitter sind es etwas weniger.
T3 muss ein pnp sein.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Georg G. (electronicnewbie)

>Dateianhang: SCHALTUNG.gif (18,2 KB, 6 Downloads)

Ziemlicher Murks. Mach es besser so hier.

http://www.mikrocontroller.net/attachment/37230/24...

Für deine Zwecke musst du R2=0 machen, und R3 = 470 Ohm.

>Ich bin von dem Pegelwandler wieder abgekommen,

Das kannst du vergessen. Du braucht einen. Punkt.

>Ich möchte die IR LEDs HSDL 4400
(http://www.datasheetcatalog.org/datasheet/hp/HSDL-5420.pdf) verwenden,

Du willst eine LED-Matrix aud Infrarotdioden bauen?

>wobei ich zunächst aus praktischen Gründen mit grünen 08/15 LEDs teste.

Nimm lieber rote, die haben eine niedrigere Flußspannung uns emulieren 
deine IR-LEDs damit besser.

MFG
Falk

Autor: Georg G. (electronicnewbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hubert: wie sollte in diesem Fall der PNP geschalten sein? Den NPN 
verstehe ich einigermaßen, aber mit dem PNP habe ich noch meine 
Probleme. - ich habe die Basis in Richtung Vorwiderstand der LED gehängt 
(RC2)
- den Emitter an 7,4V
- den Kollektor an den Widerstand zum IC
Das dürfte aber falsch gewesen sein da die LED keine Reaktion gezeigt 
hat.

Noch eine kurze Frage zum Verständnis: Warum sind es am Emitter des T3 
weniger als 3,3V obwohl ich am Kollektor 7,4V anlege?


@Falk: Der murks hat immerhin richtig geschalten :-) ist ja schon ein 
Fortschritt.

Falls es in meinem ersten Post nicht richtig rübergekommen ist, ja ich 
möchte die LEDs als Matrix ansteuern.
Der von dir vorgeschlagene Pegelwandler schaltet die Last am Kollektor 
des PNPs, nur muss meine Anode von einem zweiten Ausgang des ICs (IC 
Spalte/Segment) beschalten werden. Ich habe versucht die LED irgendwie 
zwischen Emitter des PNPs und den 7,4V zu schalten aber dies 
funktioniert nicht.

Was ist eigentlich der Vorteil eines Pegelwandlers gegenüber meiner 
Schaltung im Bereich T1 und T2?

Die Transistoren die an der Zeile des ICs hängen (bei mir T1&T2) müssen 
eigentlich nur die Verbindung der LED-Kathode zu GND bei LOW herstellen 
und bei HIGH unterbrechen.

LG

Autor: Hubert G. (hubertg)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Emitter auf +7,4V
Kollektor an RC2
Basis über RC4 an Kollektor von T4
Kollektor T4 über RC5(10k) an +7,4V
Emitter T4 an GND

Du hast am Emitter den Spannungsabfall von LED und RC2, an der Basis 
3,3V, da der Emitter aber immer etwas negativer sein muss als die Basis, 
kann dort nur weniger als 3,3V sein.

RB1 und RB2 sind im Wert in deiner Aufstellung vertauscht.
RC1 sollte 1k sein und an +7,4V gehen.

Autor: Georg G. (electronicnewbie)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die detaillierte Beschreibung!

Mit den von dir vorgeschlagenen Widerständen RB1=4,7k, RB2=150, RC1=1k, 
RBpnp=4,7k, RC3=10k schaffe ich aber leider nur 3,6 mA an der LED.

Ich habe bei der Schaltung (Anhang) diese Widerstände noch etwas 
angepasst, um damit den Strom an der LED noch zu erhöhen. Solange ich 
nur eine Zeile ansteuere, funktioniert diese Schaltung wunderbar, und 
ich erhalte bis zu 30-35 mA an der LED. Ich habe die Widerstände jetzt 
folgendermaßen gewählt:

RB3 = 51k Ohm
RC3 = 150 Ohm
RC2 = 150 Ohm
RB2 = 1k Ohm
RC1 = 10k Ohm
RB1 = 51k Ohm
RBpnp = 4.7k Ohm

Das bereits beschriebene Problem besteht aber noch immer. Wenn ich das 
Multiplexing aktiviere und mehr als eine Zeile ansteuern möchte, 
verhalten sich die Segmente (Spalte) abhängig voneinander. Folgendes ist 
noch immer nicht möglich:

 - - - - - - - -
 + - - - - - - -

Die erste LED in der ersten Zeile leuchtet ebenfalls mit (Zur Zeit habe 
ich nur die erste LED der ersten Zeile verbunden).

Ein weiteres eigenartiges Verhalten ist mir aufgefallen: Sind am 
LED-Treiber alle Segmente der ersten Spalte aktiv und deaktiviere ich 
nacheinander die Segmente, so nimmt die Helligkeit der beobachteten LED 
schrittweise etwas ab.

Hinzu kommt, dass ich die LED nicht komplett abschalten kann, denn 
selbst wenn alle Segmente der Spalte deaktiviert sind, leuchtet die LED 
mit 0,6 mA.

Woran kann das liegen? Kann es sein, dass die Schaltung zu langsam ist, 
oder kann man dies vielleicht mit Widerständen einstellen?

Wie genau muss ich die Widerstände dimensionieren? Bzw. kennt ihr eine 
gute Anleitung zur Berechnung der Auswirkung der Widerstände?

Lg

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst dir alle Widerstände nach der Verstärkung der jeweiligen 
Transistoren ausrechnen und dem benötigen Strom ausrechnen.
Du hast nirgends geschrieben welche Transistoren du verwendest.
Angenommen T1 hat die Verstärkung 100.
(3,3V - 0,7V(Basis-Emitterstrecke))/51000=0,05mA Basisstrom, mal der 
Verstärkung ergibt max. 5mA Kollektorstrom.
So kannst du dir für jeden Transistor die Widerstände ausrechnen.
RB1 und RB3 sind meiner Ansicht nach viel zu groß.
Bei T1 hast du das Problem das der Transistor einen Kollektorstrom von 
max. 5mA kann, über RC1 und Basis T2 aber 6,6mA fließen. Es kann daher 
sein das T2 nicht gänzlich sperrt.
Die Basisvorwiderstände sollte man im Schaltbetrieb mindest für den 
doppelten notwendigen Kollektorstrom berechnen.
RC1 ist der Basisvorwiderstand für T2.

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mir noch einmal das Datenblatt angesehen, es können nicht alle 
Ausgänge sinken. Was für Ausgänge des MAX6954 schaltest du wohin.

Autor: Georg G. (electronicnewbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Sorry dass ich nichts über meine Transistoren geschrieben habe. Ich 
verwende
BC337(NPN) 
http://www2.produktinfo.conrad.com/datenblaetter/1...
und BC327(PNP) 
http://www2.produktinfo.conrad.com/datenblaetter/1...
von Motorola.

Dass nur die Ausgänge O0 bis O7 sinken können ist mir klar. Bisher habe 
ich nur O0 oder O1 (IC Zeile/Digit) mit O11(IC Spalte/Segment) zum 
Testen verwendet.

Mit Hilfe deiner Formel habe ich versucht mir die Widerstände richtig 
auszurechnen. Ich habe diesmal folgende Widerstände verwendet:

RB3 = 51k Ohm
RC3 = 7,7k Ohm
RC2 = 150 Ohm
RB2 = 40 Ohm
RC1 = 500 Ohm
RB1 = 1k Ohm
RBpnp = 4.7k Ohm

Entgegen meiner Berechnungen messe ich leider statt der geplanten 30mA 
nur 5mA an der LED.

Welche Widerstände sind deiner Meinung nach für den Strom an der LED die 
Ausschlaggebenden?

Meiner Meinung nach müssten die Widerstände RC3, RBpnp oder RB3 Schuld 
daran sein, denn wenn ich die Schaltung mit an der Seite ICSpalte 
überbrücke und direkt an 7,4V hänge erhalte ich die geplanten 30mA.

Das Problem mit Multiplexing besteht leider noch immer.

LG

P.S: Danke für die viele Zeit die du dir nimmst, du bist mir eine grosse 
Hilfe

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die Werte die ich erfahrungsweise nehmen würde sind:
RB1, RB3  1k
RC1, RBpnp 1k
RB2 kann entfallen
RC2 150
RC3 10k

Das Problem mit den Multiplexen wird daher kommen das der MAX für etwas 
anderes ausgelegt ist als du ihn jetzt verwendest. Der Zeilentreiber 
gibt wenn aktiv GND aus, wenn nicht aktiv aber kein High sondern HighZ, 
das ist hochohmig.
Mit den Spaltentreiber ist es ähnlich, sie geben wenn aktiv High aus, 
wenn nicht aktiv HighZ.
Du musst also an die Basis von T1 noch einen PullUp mit 10k an 3,3V 
legen und an die Basis von T3 einen PullDown mit 10k nach GND.
Schau dir einmal das Datenblatt genau an, dann wird dir das klar sein.

Hubert

Autor: Georg G. (electronicnewbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für deinen Vorschlag! Das Problem mit dem Multiplexing ist 
dadurch so gut wie gelöst. Wenn die LED nicht aktiviert ist leuchtet sie 
jetzt nur noch mit 0,08mA. Nachdem ich den PullDown Widerstand an der 
Basis von T3 auf 1K reduziert habe bewegt sich der Strom an der LED nur 
noch im uA Bereich.

In beiden Fällen leuchtet die aktive LED leider nur mit 3,6mA. Ein 
Problem könnte sein, dass am T1 durch den PullUp auch dann Strom in die 
Basis fließt wenn der T1 sperren sollte und dadurch T2 an der Basis nur 
1,4 mA bekommt. Wenn ich den PullUp entferne erhalte ich an der Basis 
von T2 aber 12,3 mA und an der LED 23 mA.

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest den Basiswiderstand RB1 noch kleiner machen, 100 Ohm, oder 
eigentlich auch ganz weglassen.
Dann kannst du den PullUp an T1 auch noch etwas reduzieren.

Autor: Georg G. (electronicnewbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab das wichtigste im letzen post vergessen:

Wenn ich den PullUp entferne tritt das Problem mit dem Multiplexing 
wieder auf!

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.