Forum: Mikrocontroller und Digitale Elektronik Bitte um Hilfe mit Max7221 und "Digit Drivers" für höhere Ströme


von Christian V. (trancefreak)


Lesenswert?

Hallo,

Ich habe einige Fragen zu den Schaltbeispielen auf der Maxim Seite in 
Verbindung mit dem Max7221.
Zu meinem Setup:
Ich möchte mit dem Max7221 Superfluxx LED's in einer LED Matrix steuern.

Der Max7221 steuert die LED's ja mittels PWM an. Den Vorwiderstand Rset 
habe ich auf 10k dimensioniert. Die LED's haben eine
Durchlaßspannung von 3.3V. Laut Tabelle im Datenblatt sollte für 30mA 
(gepulst) Segmentstrom ein 10kOhm Rset Widerstand verwendet werden.
Wenn ich das Scanlimit auf 7 setze, werden alle 8 Reihen (Digit 0 - 7) 
angesteuert.

Wenn ich nun den Strom messe, den der Max7221 an den Ausgängen schaltet, 
messe ich ca. 4mA. Das macht glaube ich Sinn,
da ich ja den Mittelwert messe und durch PWM ich nur 1/8 des gepulsten 
Imax sehe. Ich denke, daß das paßt, weil 4mA * 8 = 32mA Segmentstrom.
Durch den 10kOhm Widerstand sollten 30mA rauskommen, das stimmt ziemlich 
überein.

Ich möchte nun, daß ich 20 mA "Mittelwertstrom" habe, d.h. ich müßte mit 
160 mA pulsen, um bei einem Verhältnis von 1:7 auf 20mA komme.
Somit habe ich die Stromverstärkerschaltung von Maxim auf einem 
Breadboard aufgebaut.
http://www.maximintegrated.com/app-notes/index.mvp/id/1196

Ich verwende Figure 1 und Figure 4, da ich ja weiterhin mit 5V auf die 
LED's gehe.
Als Mosfet habe ich mir einen IRF5305 ausgesucht, der Transistor ist bei 
mir ein BC337-40.

Und jetzt kommt das, was ich nicht verstehe:
Ich habe mir jetzt diese Schaltung auf einem Breadboard aufgebaut und 
testweise mal eine LED eingesteckt. Display Scanlimit ist auf 7 gesetzt
(alle Zeilen sollen angesteuert werden). An den Max schicke ich den 
Befehl, alle LED's der 1. Zeile leuchten zu lassen (Auf dem Breadboard 
hab ich
nur eine zum testen).

Als LED Vorwiderstand (R1 in Figure 4) habe ich 12Ohm genommen, die ich 
noch rumliegen hatte.
(5V - 3.3V) / 0,16A = 10,625 Ohm.

Wenn ich nun den Strom durch diese LED Messe, messe ich 7 mA. ??? Warum 
nur 7? Interessanterweise messe ich 11 mA, wenn ich
den Vorwiderstand ganz weg lasse. D.h. R1 in Figure 4 gibts nicht. Wenn 
ich 11 mA messe, müßten nach meiner Logik 11 *8 = 88 mA Ipeak durch
die LED fließen. Aber warum nicht mehr?

Der BC337-40 wird mit den 30mA IPeak des Max7221 gepulst. Der Transistor 
hat eine typische Stromverstärkung von 400. D.h. es müssten
ja maximal 0.03 * 400 = 12 A fließen können, gut der BC337 hält nur 500 
- 800 mA aus, aber das ist ja eine andere Sache.

Warum läßt der BC337 nur 88 mA Ipeak durch?

Hat jemand eine Erklärung dafür? Liegt es daran, daß mit den 1,7 V, die 
noch übrig bleiben bei der LED einfach nicht mehr Strom fließen kann?
Die Schaltung auf dem Breadboard habe ich mehrfach überprüft und mich 
nicht versteckt. Sie geht ja im Prinzip, aber es fließt einfach nicht
der Strom, der fließen müßte.

Kann mir bitte jemand weiterhelfen?


Grüße,
Christian

von MaWin (Gast)


Lesenswert?

Der IRF5305 schaltet bei 5V noch gar nicht richtig durch, er ist erst 
für 10V spezifiziert, du brauchst einen LogicLevel PMOSFET wie IRF7304.
Das halte ich für die Ursache.

Der BC337 hat natürlich im sättigenden Schaltbetrieb nicht seine 400, 
sondern eher 10 bis 20 als Stromverstärkung, reicht für 160mA aber aus.
R1 darfst du natürlich nie weglassen.

von Christian V. (trancefreak)


Lesenswert?

Hi,

Daß der IRF5305 der Grund sein könnte habe ich gestern auch vermutet.
Ich habe absichtlich einen im DIP Gehäuse genommen, da ich den zum 
Testen auf einem Breadboard besser verwenden kann wie einen
SMD. Ich habe viele MOSFET's verglichen und deren RDSon und Vgs - Id 
Kennlinien angesehen. Der IRF5305 war am besten für
die 5 Volt. Laut Kennlinie sollte er bei Vds von 5V und Vgs -5V (also 
GND Potential gegenüber Vds) einen Strom Id von
7 - 8 Ampere erlauben.

Ich habe jetzt einen Versuchsaufbau gemacht und das Gate direkt auf GND 
gehängt (ohne PWM Ansteuerung).
Vds war 5V. Ich habe einen Source - Drain Widerstand von 0.2 Ohm 
gemossen. Zusätzlich habe ich einen 12 Ohm Widerstand
an Drain gehangen und bin von diesem auf GND gegangen. Ich habe einen 
Strom von 400 mA gemossen.
Gerechnet sollten bei 5V und 12 Ohm rund 416 mA fliessen, d.h. der 
MOSFET macht nicht voll auf, aber doch genug, um
160 mA zu erlauben.

Beim BC337-40 habe ich folgendes versucht:
Ich habe durch die Basis auf den Emitter 35 mA fliessen lassen. An den 
Kollektor habe ich den 12 Ohm Widerstand angeschlossen
und diesen wieder an +5V. Ich habe einen Strom von 360 mA gemossen. D.h. 
die Stromverstärkung beträgt knapp über 10 bei 35 mA
Basistrom.

D.h. Ich habe in allen Fällen mehr wie die 160 mA durch den FET und den 
BC337 fliessen lassen können.
Was könnte das Problem sein, daß im Pulsbetrieb mit LED aber nur die 
rund 88 mA fliessen?

Verändern der FET und der Transistor den maximalen Strom im Pulsbetrieb? 
Die Frequenz ist sehr niedrig. Der Max7221 pulst
nur mit 800 Hz.

Hat jemand eine Idee, was das Problem sein könnte, daß der Strom so 
begrenzt ist?
Und jetzt noch eine blöde Frage: Was bedeutet eigentlich "im sättigenden 
Schaltbetrieb"? Wenn der Basisstrom zu groß wird?

Gruß,
Christian

von MaWin (Gast)


Lesenswert?

Christian Valentin schrieb:
> Laut Kennlinie sollte er bei Vds von 5V und Vgs -5V (also GND Potential
> gegenüber Vds) einen Strom Id von
> 7 - 8 Ampere erlauben.

Diese Kennlinien sind "typische", die reale Spannumg am Gate um das zu 
erreichen kann 1.4 x so gross oder 0.7 x so gross sein.

Daher ist der MOSFET nicht für 4.5V spezifiziert.

Da aus dem MAX nicht genau 0V und 5V kommen, werden deine schon knapp 
abgewürgten Bauteile real noch schlechter dran sein.

von Christian V. (trancefreak)


Lesenswert?

Naja, knapp bemessen mag der IRF schon sein, aber ich habe ihn nun als 
Ursache ausgeschlossen. Nach den Max Schaltplänen in
meinem ersten Posting fungiert der IRF, wenn Gate auf GND geht, als 
Schalter, der den Strom von Vdd zur LED läßt und von dort
fließt er dann über den BC337 auf GND.

Ich habe nun den FET herausgenommen und die Anode der LED direkt an +5V 
gehängt. Der BC337 wird weiterhin vom Max7221
getaktet und schaltet die LED dann auf GND durch.

Keine Veränderung des Stroms durch die LED. Ebenfalls nur die rund 11 
mA.
Somit denke ich, daß irgendwas mit dem BC337 nicht paßt. Ich habe ihn 
zwar ausgetauscht durch einen Anderen, aber gleiches
Verhalten.

D.h. die Stromverstärkung ist zu gering und immer nur so um 10 - 15, 
anstatt > 200.
Die Schaltung des Transistors ist exakt ident wie in der Max7221 Skizze 
in meinem 1. Posting. Warum wird der Transistor so
begrenzt? Gibt es da irgendeine Vernünftige Erklärung? Verkehrt herum 
ist er definitiv nicht, habe ich mehrmals geprüft.

Gruß,
Christian

von ... (Gast)


Lesenswert?

Wie MaWin schon schrieb: du brauchst einen LogicLevel FET. Steht auch so 
in der Appnote:
"...digit drive outputs directly drive logic level PFET Q2."

von Christian V. (trancefreak)


Lesenswert?

... schrieb:
> Wie MaWin schon schrieb: du brauchst einen LogicLevel FET. Steht auch so
> in der Appnote:
> "...digit drive outputs directly drive logic level PFET Q2."

Naja, den FET von mir habe ich ja bereits als Ursache eliminiert, indem 
ich nur den BC337 verwende und statt des FETS die LED direkt an +5V 
angeschlossen habe.

Ich weiss, ist auch schwer zu erklären mit den langen Texten. Ich 
versuche heute Abend, wenn ich zu Hause bin eine Skizze zu zeichnen, wie 
der Aufbau genau ist und nur kurz und präzise das Problem zu schildern. 
Ich glaube, das hilft auch besser dann zu verstehen, was ich meine :-)


Gruss,
Christian

von Christian V. (trancefreak)


Angehängte Dateien:

Lesenswert?

Ich habe jetzt eine Schaltung angehängt, wie ich den Versuchsaufbau habe 
und versucht habe mittels Worten zu beschreiben.
Ich habe sogar den Strombegrenzungswiderstand für die LED weggelassen, 
um einen höheren Strom durch die LED zu "erzwingen", nützt aber
leider nichts.

Folgende Daten:
Ich gehe über eine Stromquelle mittels PWM in die Basis von Q1. Ipeak = 
30mA. Duty Cycle = 1/8, d.h. 1/8 der Zeit 30mA, 7/8 0mA.
Frequenz ist 800 Hz.

Ich hätte jetzt erwartet, daß in der Zeit, in der Q1 leitet, also die 
30mA in die Basis fließen, ein sehr hoher Strom durch die
LED fließt. Ich messe aber nur ca 88 mA, mehr geht nicht. Die 30mA 
sollten doch auf jeden Fall reichen, um mehr als 88mA Kollektorstrom
zu erwirken. Die 88mA sind Ipeak, also zu dem Zeitpunkt, an dem Q1 
leitet. Wenn ich mit dem Multimeter messe, messe ich den Mittelwert
von 11mA.

Die Durchlaßspannung der LED beträgt 3.3V.

Was könnte mir hier den Strom so begrenzen, daß ich nicht mehr wie die 
88mA IPeak herausbekomme?
Kann es sein, daß bei höheren Strömen die Durchlaßspannung so ansteigt, 
daß die LED sich selber begrenzt?

Würde mich über Ideen und Hilfe freuen.


Gruß,
Christian

von Horst (Gast)


Lesenswert?

Christian Valentin schrieb:
> einen höheren Strom durch die LED zu "erzwingen"
Strom läßt sich nur mit "Spannung" erzwingen. Er stellt sich bei 
vorgegeben Widerstand von allein ein.

Wie wäre es, wenn Du Deine Schaltung mal simulierst? LTSpice würde sich 
da anbieten?

Horst

von ... (Gast)


Lesenswert?

Wie hoch ist denn Uce-Rest des Transistors?

von Christian V. (trancefreak)


Lesenswert?

... schrieb:
> Wie hoch ist denn Uce-Rest des Transistors?

Das werde ich heute Abend mal ausmessen, das weiß ich gar nicht.

von ... (Gast)


Lesenswert?

Also laut Datenblatt hat der bei Ib=50mA und Ic=500mA eine Ucesat von 
0,7V.
Bei Ib=30mA wird das wohl eher mehr sein.

von Christian V. (trancefreak)


Lesenswert?

Also ich habe jetzt mein altes Oszi herausgeholt und folgende Werte 
gemossen (Wenn der Transistor leitend ist, also vom PWM Signal in 1/8 
der Zeit ein Strom in die Basis fließt) bei genau der Schaltung, die ich 
weiter oben angehängt habe:

Ube 0.8 V
UCE 0.2 V
LED Spannungsabfall 4.8 V

Der hohe Spannungsabfall an der LED ist ja die Durchlaßspannung, ist das 
richtig?
Bedeutet das, daß bei den 88 mA, die in der Zeit durch die LED fließen, 
die Durchlaßspannung so erhöht wird?
Angegeben ist ein Wert von 3.3 V, jedoch habe ich gelesen, daß umso 
höher der Strom durch die LED, umso höher wird die
Durchlaßspannung.

Ist das richtig, was ich da deute oder Blödsinn?
Wenn das stimmt und ich einen höheren Strom durch die LED haben will, 
muß ich Vdd von +5 V erhöhen auf z.b. +7 V oder noch
höher und dann werde ich wahrscheinlich einen Vorwiderstand bei der LED 
brauchen?

Könnte das der Grund sein, warum nicht mehr als die 88 mA durch die LED 
fließen, obwohl der Transistor anscheinend voll offen
ist?


Gruß,
Christian

von ... (Gast)


Lesenswert?

Datenblatt der LED?

von ... (Gast)


Lesenswert?

Ohne Vorwiderstand fällt an der LED natürlich die gesamte Restspanung 
ab. Du solltest schon einen Vorwiderstand einbauen und dann nochmal 
messen.

von Christian (Gast)


Lesenswert?

Ich hatte einen Vorwiderstand drinnen von 10 ohm, da flossen nur 48 mA, 
deshalb habe ich den rausgenommen, um zu schauen, ob dann ein grösserer 
strom fließt. Sind aber nur wie gesagt die 88 mA. Drum die frage, was 
das Problem sein könnte...

Datenblatt habe ich leider keines von der led. In dem onlineshop ist 
weder hersteller noch datenblatt genannt.

Christian

von Christian V. (trancefreak)


Angehängte Dateien:

Lesenswert?

Es hat sich nun folgendes herausgestellt:
Es ist die LED, welche den Strom indirekt begrenzt hat. Umso höher der 
Strom durch die LED, umso höher wird die Durchflußspannung der
LED. Die 5V Versorgungsspannung war zu niedrig. Nachdem ich auf 12V rauf 
bin mit passenden Vorwiderständen, konnte ich den Strom
passend einstellen.

Da ich jetzt aber nicht mehr die 5V nehmen kann, die auch den Max7221 
versorgen, brauche ich eine leicht andere Schaltung,
welche mir den Strom durch die LED fließen läßt.

Auf der Max7221 Seite ist die angehängte Schaltung als Beispiel 
vorhanden.
Vcascode ist 5V, Vdriver ist 12V. Dig0 - 7 geht auf GND, wenn die Reihe 
in der Matrix angesteuert werden soll.
Dig0 - 7 ist auf +5V, wenn die Reihe der LED Matrix nicht angesteuert 
wird.

Kann ich für den Transistor einen normalen BC337 nehmen, da habe ich 
noch einige rumliegen...
Zu dem pMosfet:
Ich finde keinen LogicLevel pFet, der nicht SMD ist. Ich habe aber 
einige IRF5305 herumliegen, die ich nehmen möchte.
Kann man durch Erhöhung des Widerstandes R3 den Spannungsabfall 
vergrößern, daß ich z.b. 8 V Spannungsabfall habe am R3?
Dann schaltet mir der normale pFet so gut wie voll durch.

Beeinträchtigt die Erhöhung von R3 die Funktionsweise der Schaltung?

Gruß,
Christian

: Bearbeitet durch User
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.