Ich möchte mit dem PWM-IC PCA9685 über mehrere Leistungs-MOSFETs
(N-Channel) einen RGB-LED-Strip schalten, bin mir aber nicht sicher, wie
ich das am besten anstelle (und möchte dabei auch etwas lernen) :
1) Wird ein Gate-Vorwiderstand benötigt ? Bei z.B. den AVRs mit 40mA/Pin
ist die mehrheitliche Meinung, dass man das Gate direkt anschließen
kann. Der PCA9685 kann laut Datenblatt aber nur max. 25mA, was ohne
Vorwiderstand vielleicht etwas gering ist ? Wenn ich es richtig
verstehe, kommt das auf die PWM-Frequenz d.h. auf die Anzahl der
Umladungen an, ob da letztlich was durchbrennen könnte oder nicht ? Ab
wann wird es da kritisch, wie kann ich das genau berechnen ?
2) Sollte noch ein zusätzlicher Pulldown-Widerstand von Gate nach Source
(GND) verwendet werden, damit immer ein definierter Pegel anliegt ? Im
Datenblatt steht zwar "No output glitches on power-up", was vermuten
lässt, dass am Ausgangs-Pin (und somit am Gate) immer ein (LOW-)Pegel
anliegt, aber nach einem kurzen Test kann ich das nicht bestätigen (der
LED-Strip "blitzt" mal mehr mal weniger stark beim Einschalten).
3) Wenn ich sowohl Gate-Vorwiderstand als auch einen Pulldown verwenden
würde entsteht ja ein Spannungsteiler d.h. die am Gate anliegende
Spannung ist geringer als die 5V aus dem Ausgangs-Pin des PCA9685. Je
niedriger die Vgs(th), desto problematischer wird es ja mit dem
Durchschalten des MOSFETs. Welche Werte für die Widerstände wären am
besten geeignet, um bestmöglichen Schutz und sauberes Schalten zu
garantieren ?
Als MOSFET würde ich gern den IRL3705 verwenden, der eigentlich für
meinen Anwendungszweck (24V und maximal 10A) völlig ausreichen sollte.
Datenblatt PCA9685 :
http://www.nxp.com/documents/data_sheet/PCA9685.pdf
Nachtrag: Ich habe diese Platine gefunden, wo sich Widerstände (220 Ohm)
an den PWM-Ausgängen des PCA9685 befinden :
http://www.adafruit.com/product/815
Allerdings ist das wohl eher, um direkt eine einfache LED (20mA o.ä.)
anschließen zu können und somit wohl nicht als Gate-Vorwiderstand
gedacht.
Zudem frage ich mich, ob diese winzigen SMD-Widerstände für sowas
geeignet sind ... können die denn überhaupt auch etwas Leistung ab oder
nimmt man besser THT-Widerstände mit z.B. 1/4 Watt ?
Hat niemand einen Tipp für mich ?
Ich habe zwischenzeitlich versucht, selbst herauszufinden, ob man einen
Gate-Vorwiderstand benötigt und wenn ja wie der dimensioniert sein muss.
1) Im Datenblatt des IRL3705 ist die "Total Gate Charge" mit 98nC
angegeben. Ich weiss aber nicht, wie ich von dem Wert ausgehend bei 5V
Gate-Spannung auf den passenden Vorwiderstandswert komme.
2) Dann scheint die Schaltgeschwindigkeit auch nicht ganz unwichtig zu
sein. Eine PWM von 1000Hz klingt ja eigentlich nicht sehr hoch, aber man
muss ja noch den Duty Cycle bedenken. Da der PCA9685 eine 12Bit-PWM hat,
ergibt das beim niedrigsten "An-Wert" (1 von 4095) ja 1ms / 4095 =
244ns.
Da der IRL3705 eine Rise Time von 140ns hat und nochmal 12ns Turn-On
Delay, sollte das aber kein Problem sein ? Ist das richtig, wenn ich das
so rechne und sage "140ns + 12ns = 152ns ist kleiner als 244ns also
alles im grünen Bereich" ?
Ich schließe mich mal den Fragen an, ich möchte mit dem PCA9685 mehrere
IRF7478 ansteuern.
Laut Datenblatt des PCA9685 können N-Kanal Mosfets direkt angeschlossen
werden wenn INVRT = 0 und OUTDRV = 1 gesetzt werden.
In der Schaltung in Fig. 13 auf Seite 28 ist kein Gate-Widerstand
eingezeichnet, auch wird im Text keiner erwähnt.
Da der PCA9685 als Quelle und nicht als Senke genutzt wird kann er nur
10mA ausgeben (Datenblatt Seite 1). Bei 3,3V müsste nach R=U/I der
Gatewiderstand >330 Ohm sein, das verlängert natürlich die Ein- und
Ausschalttzeiten von ca. 200ns auf ca. 25us (Gatespannung mal kurz mit
dem Oszilloskop gemessen). Vorausgesetzt die 10mA gelten auch für 3,3V.
Also was nun? Auf Nummer sicher gehen und langsam schalten oder schnell
dafür aber evtl. belastend für den PCA9685?
Was sagen die Experten?
Vile
Ich verstehe euer Problem nicht!
Das Datenblatt ist da eindeutig.
Einfach dran mit dem FET!
Die Einstellungen sind auch eindeutig.
Habe ein 1/2 Dutzend von diesen China Fertigboards mit Vorwiderstand im
Einsatz.
Jeweils eine Handvoll FETs dran.
12V LED Strips, jeweils 4A bis 8A
Keine nennenswerte Erwärmung, nicht mehr als Handwarm.
Flanken, durch die Rs etwas rund, was aber der Störminderung eher gut
tut.
Also:
Baut euch einen Prototypen, testet.
Die Kosten werden euch nicht umbringen.
Und wie genau hast du die Vorwiderstände dimensioniert? Das ist ja genau
meine Frage. Ungern großes Rs, denn dann wirds langsam und für "hohe"
Frequenzen (wenn ich mich recht erinnere kann der PCA9685 ca. 1,5 kHz)
sind 25us kritisch (Verluste bei kleinen PWM Aussteuerungen).
Kleinere Rs kann ich bezüglich der Lebensdauer des PCA9685 nicht
abschätzen, denn diese würden bei jeder Schalthandlung zu mehr als 10mA
zum Umladen des Gates führen.
Arduino F. schrieb:> Einfach dran mit dem FET!
+1.
wenn du dem Bauchgefühl nicht traust:
die 10mA pro Pin stehen für Dauerlast im DB, das Mosfet-Gate belastet
nur beim Umschalten kurzfristig.
Wieviel? Einfach Ausrechnen.
Faustformel: Total-Gate-Charge aus dem FET-Datenblatt mal PWM-Frequenz.
Wenn das Ergebnis auch nur ansatzweise in die Nähe der 10mA / 25mA
kommt: nochmal genau nachrechnen, Asymmetrie beim Laden/Entladen
berücksichtigen.
Vile schrieb:> Und wie genau hast du die Vorwiderstände dimensioniert? Das ist ja genau> meine Frage.
Ok, da liegt das Missverständnis:
Vorwiderstände vor'm Gate macht man nicht zum Schutz von CMOS-Ausgängen.
Dafür sind sie unnötig, die Push/Pull-FETs im Ausgang begrenzen ihren
Bahnstrom schon selber.
Die Widerstände sind dafür da, um HF Schwingungen zu dämpfen, und/oder
die Flanken EMV-Verträglicher zu machen.
Vile schrieb:> Und wie genau hast du die Vorwiderstände dimensioniert?
Verwende die Boards wie sie sind.
220R sind da drauf (habe ich allerdings nur bei einem der Boards
überprüft)
Prescaler 0x09, also ca 600Hz
Arduino F. schrieb:> 220R sind da drauf (habe ich allerdings nur bei einem der Boards> überprüft)
Bei meinem ChonaClone auch.
16 einzelne SMDs mit 221 bedruckt.
Hallo,
die AVR Pins verkraften dauerhaft nur 20mA.
Wenn der Gate Vorwiderstand als Kurzschlussschutz dienen soll, dann muss
man diesen Fall auch betrachten. 5V / 20mA = Rg
Vertauscht man Pulldown und Rg hat man keinen Spannungsverlust. Wobei
man den vernachlässigen kann wenn nachrechnet.
http://irf.custhelp.com/app/answers/detail/a_id/157
The gate resistor in series with the output impedance of the circuit
used to drive the gate in a given application, controls the switching on
and off times.
MOSFET gate charge in Coulombs = I t. So if a gate driver having say
0.2A output current capability switches a particular MOSFET in 100ns and
by increasing the series gate resistance it reduces the current into the
gate to 0.1A, then the MOSFET will switch in 200ns.
The optimum value for Rg is very application dependant. You want the
MOSFET to switch as quickly as possible to minimise switching losses,
but not so fast that parasitic inductances and capacitances associated
with the pcb layout and any wiring to a load, will cause high di/dt
voltage spiking or ringing.If you find that an optimised value of Rg
controls switch on OK but slows the turn off too much, then a fix is to
place a diode across Rg with its cathode towards the gate drive circuit.
This will bypass Rg during turn off thereby speeding up the turn off.
Placing a resistor in series with the diode will enable you to control
turn off time independantly of turn on.
——-
Leider findet man unter der dort genannten AN nichts passendes.
Aber im Prinzip müsste man das Klingeln messen um es herauszufinden. Und
die Last auf den IC zu begrenzen ist bestimmt keine schlechte Idee.
Also 100 Ohm und gut isses für den Amateur, mehr Strom gibt der IC eh
nicht und klingeln tut dann nix mehr.
Der IRL3705 hat 98nC Gate-Kapazität, also 0,1 x 10^-6 Ampere x Sekunde.
Bei 20mA dauert es also 0,1 x 10^-6 C / 0,02 A = 1 x 10^-7 / 2 x 10^-2
Sekunden = 0,5 x 10^-5 Sekunden, also 5 Mikrosekunden, bis er
durchgeschaltet ist.
Das wäre ein Schaltvorgang. Ein und aus sind zwei, also 10us.
Macht man das für 1kHz PWM 1000x die Sekunde, befindet sich der FET 10 x
1000 us im Schaltzustand, das sind 10 Millisekunden oder 1% der Zeit.
Mal angenommen, der Schaltvorgang würde die komplette Leistung in Wärme
umsetzen (was nicht stimmt), dann wäre das 24V x 10A x 0,01 = 2,4 Watt.
Plus die Verluste im leitenden Zustand bei Nahe 100% Duty Cycle I^2 x R
= 10 x 10 x 0,02 = 2 Watt.
Das ergäbe Insgesamt 4,4 W und ist kein Pappenstiel mehr. Geht nicht
mehr einfach so ohne Kühlkörper.
Ohne Kühlkörper hat der IRL3705 einen Wärmewiderstand lt Datenblatt von
62 K/W, er würde sich bei dieser Verlustleistung um 4,4 x 62 = 273 Grad
erwärmen (plus Umgebungstemperatur). Er darf bis zu einer
Junction-Temperatur von 175 Grad betrieben werden.
Es ist also unbedingt ein Kühlkörper erforderlich.
Die Junction-Temperatur darf höchstens 175 Grad betragen, es sei als
Umgebungstemperatur im Gehäuse 50 Grad angenommen, dann dürfte die
Junction sich um maximal 125 Grad erwärmen.
Also dürfte der Wärmewiderstand Junction-Ambient mit Kühlkörper maximal
125 K / 4.4 W = 28.4 K/W sein.
Hier müsste man jetzt eigentlich noch die ca. 1,5 K/W
Junction-Case-Kühlkörper abziehen, lasse ich mal weg.
Zur Sicherheit einen KK mit 15 K/W genommen wäre das einer wie dieser
hier:
https://de.rs-online.com/web/p/kuhlkorper/1899277/?origin=PSF_438335%7Calt
Fischer Elektronik Kühlkörper 15K/W, 30 x 25.4 x 13mm, für TO-220,
Schraubmontage
€ 1.04
Also 30x25x13mm, das geht ja noch.
Hier ist doppelt Toleranz drin: der Kühlkörper ist doppelt so
leistungsfähig und die Verlustleistung während des Schaltvorgangs ist
geringer als oben gerechnet.
Hoffe ich hab mich nicht verrechnet so spät in der Nacht.
@Conny G. (conny_g)
>Aber im Prinzip müsste man das Klingeln messen um es herauszufinden. Und>die Last auf den IC zu begrenzen ist bestimmt keine schlechte Idee.
Das ist nicht wirklich nötig, das machen die CMOS-Ausgangsstufen selber.
>Das ergäbe Insgesamt 4,4 W und ist kein Pappenstiel mehr. Geht nicht>mehr einfach so ohne Kühlkörper.
Deine Rechnung ist viel zu pessimistisch.
https://www.mikrocontroller.net/articles/FET#Schalt-Verluste
Macht bei 1kHz PWM und 5us Schaltzeit ca. 0,6W. Das kann ein TO220
Gehäuse noch ohne Kühlkörper abführen.
>Hier ist doppelt Toleranz drin: der Kühlkörper ist doppelt so>leistungsfähig und die Verlustleistung während des Schaltvorgangs ist>geringer als oben gerechnet.
Und damit ist deine Lösung 10x so groß und schwer 8-0
>Hoffe ich hab mich nicht verrechnet so spät in der Nacht.
Doch.
Und die Moral von der Geschicht. Rechne so spät in der Nacht gar nicht.
Veit D. schrieb:> die AVR Pins verkraften dauerhaft nur 20mA
Auch, wenn es dich jetzt überrascht.. wir reden hier nicht über AVRs.
Und damit nicht über eine 20mA Quelle, sondern eher über eine 10mA
Quelle
Nachtrag. Real sind die kurzzeitigen Ladeströme, welche die IOs liefern
deutlich höher, so eher 2-4mal so hoch wie die Dauernennströme. Damit
ist auch die Schaltzeit entsprechend kürzer.
Beitrag "Re: Transistor, 1A, 4MHz Schaltfrequenz"
Hier sind es ~200ns Anstiegszeit bei ca. 14nC@5V Macht ~70mA Ladestrom.
Falk B. schrieb:> Deine Rechnung ist viel zu pessimistisch.>> https://www.mikrocontroller.net/articles/FET#Schalt-Verluste
Der Knackpunkt ist dort der Faktor 1/4. Gibt es für den eine Begründung?
Ich rechne sonst immer mit 1/2 - weil man den Schaltbereich als
"Dreieck" unter der Leistung sehen könnte. Warum 1/4?
> Macht bei 1kHz PWM und 5us Schaltzeit ca. 0,6W. Das kann ein TO220> Gehäuse noch ohne Kühlkörper abführen.
Jetzt brauchen wir aber noch die Leitverluste und die sind 2W, also
2,6W.
2,6W x 62 K/W = 161 Grad Temperaturerhöhung der Junction, das ist noch
zuviel (plus 50 Grad Ambient = 210 Grad -> über 175 Grad max Junction).
Aber der Kühlkörper kann jetzt kleiner werden:
125 Grad Erwärmung / 2,6W Leistung = 48 K/W, mit Luft dann 30 K/W.
Da reicht jetzt so ein windiges Ding zum Aufstecken:
https://www.reichelt.de/Finger-Aufsteckkuehlkoerper/V-5801B/3/index.html?ACTION=3&LA=2&ARTICLE=22265&GROUPID=7767&artnr=V+5801B&SEARCH=%252A
Oder vielleicht auch ein Festschrauben auf der Platine mit einer
größeren Kupferfläche unter dem Pad.
>>Hier ist doppelt Toleranz drin: der Kühlkörper ist doppelt so>>leistungsfähig und die Verlustleistung während des Schaltvorgangs ist>>geringer als oben gerechnet.>> Und damit ist deine Lösung 10x so groß und schwer 8-0
Aber soviel war's gar nicht drüber - wg. der Leitverluste. :-)
>>Hoffe ich hab mich nicht verrechnet so spät in der Nacht.>> Doch.>> Und die Moral von der Geschicht. Rechne so spät in der Nacht gar nicht.
Lol, herrlich.
@Conny G. (conny_g)
>> https://www.mikrocontroller.net/articles/FET#Schalt-Verluste>Der Knackpunkt ist dort der Faktor 1/4. Gibt es für den eine Begründung?
Das ist die Leistungsanpassung zwischen Last und Schalttransistor. Mehr
als 1/4 der Nennleistung der Last ist nicht möglich.
>Jetzt brauchen wir aber noch die Leitverluste und die sind 2W, also>2,6W.
Naja, der OP will nicht wirklich 10A mit einem MOSFET schalten.
Falk B. schrieb:>>Jetzt brauchen wir aber noch die Leitverluste und die sind 2W, also>>2,6W.>> Naja, der OP will nicht wirklich 10A mit einem MOSFET schalten.
Doch siehe Eingangspost:
Tim schrieb:> Als MOSFET würde ich gern den IRL3705 verwenden, der eigentlich für> meinen Anwendungszweck (24V und maximal 10A) völlig ausreichen sollte.
Falk B. schrieb:>>Der Knackpunkt ist dort der Faktor 1/4. Gibt es für den eine Begründung?>> Das ist die Leistungsanpassung zwischen Last und Schalttransistor. Mehr> als 1/4 der Nennleistung der Last ist nicht möglich.
Mmmh. Versteh ich nicht. Was ist "Leistungsanpassung"?
Ok:
https://de.wikipedia.org/wiki/Leistungsanpassung
Das muss ich jetzt erstmal verdauen.
Aber wenn die Stromquelle 10A hergibt inkludiert das doch schon die
Anpassung, warum rechne ich dann für den FET 1/4?
@Conny G. (conny_g)
>https://de.wikipedia.org/wiki/Leistungsanpassung>Das muss ich jetzt erstmal verdauen.
Tu das. Aber obige Rechung ist nur VEREINFACHT und gilt nur für ohmsche
Lasten.
>Aber wenn die Stromquelle 10A hergibt inkludiert das doch schon die>Anpassung,
Nein.
> warum rechne ich dann für den FET 1/4?
Siehe Leistungsanpassung. Der FET wird beim Umschalten als
veränderlicher Widerstand betrachtet, der im Extremfall gleich dem
Lastwiderstand ist. D.h. Lastwiderstand + FET = 2 * Lastwiderstand. Dann
fällt jeweils die halbe Versorgungsspannung an beiden ab. Halbe Spannung
= 1/4 der Leistung.
Falk B. schrieb:>> warum rechne ich dann für den FET 1/4?>> Siehe Leistungsanpassung. Der FET wird beim Umschalten als> veränderlicher Widerstand betrachtet, der im Extremfall gleich dem> Lastwiderstand ist. D.h. Lastwiderstand + FET = 2 * Lastwiderstand. Dann> fällt jeweils die halbe Versorgungsspannung an beiden ab. Halbe Spannung> = 1/4 der Leistung.
Ich glaube jetzt hab ich es konzeptionell verstanden.
Das hat mit Leistungsanpassung nur soviel zu tun, dass die mathematische
Herleitung dieselbe ist.
Bzw. dass hier der FET als die Spannungsquelle betrachtet / definiert
wird, mit einem "Innenwiderstand", der hier der Umschaltzustand nach
Zeit ist.
Während man bei der Leistungsanpassung nach einen maximum in einem
statischen System sucht, errechnet man hier das Maximum in einem
dynamischen System.
Es gibt ein System aus einer maximalen Leistung U_N und V_N (Spannung /
Strom bei voll durchgeschaltetem FET), die im System vorkommen kann.
Und beim Schaltvorgang des FET gibt es zwei Glieder mit einem
Widerstand, wobei die Last konstant bleibt und der FET seinen Widerstand
(linear) ändert.
Dabei wird analog Leistungsanpassung die maximale Leistung auf dem FET
als die maximale abgegebene Leistung der Spannungsquelle in der
originalen Betrachtung definiert, als wäre der FET die Spannungsquelle.
Errechnet man nun in diesem System die maximale Leistung auf der
"Spannungsquelle" (dem FET) dann kommt man auf diese Herleitung:
http://elektroniktutor.de/analogtechnik/anpass.html
Mann nimmt dann dieses Maximum und nimmt an, das wäre die vorliegende
Leistung im Durchschnitt über die Schaltzeit.
Ja, so kann mans auch machen... :-)