Forum: Mikrocontroller und Digitale Elektronik PCA9685 + Leistungs-MOSFET


von Tim (Gast)


Lesenswert?

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

von Tim (Gast)


Lesenswert?

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 ?

von Tim (Gast)


Lesenswert?

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" ?

von Vile (Gast)


Lesenswert?

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

von Kolja L. (kolja82)


Lesenswert?

Auch nach zwei Jahren gibt es jemanden, der die Antwort gerne wüsste :-)

von Kolja L. (kolja82)


Lesenswert?

Kann hier keiner weiterhelfen?

von Einer K. (Gast)


Lesenswert?

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.

von Vile (Gast)


Lesenswert?

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.

von Schwarzseher (Gast)


Lesenswert?

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.

von Schwarzseher (Gast)


Lesenswert?

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.

von Einer K. (Gast)


Lesenswert?

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

von Kolja L. (kolja82)


Lesenswert?

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.

von Veit D. (devil-elec)


Lesenswert?

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.

von Conny G. (conny_g)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

@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.

von Einer K. (Gast)


Lesenswert?

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

von Falk B. (falk)


Lesenswert?

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.

von Conny G. (conny_g)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

@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.

von Conny G. (conny_g)


Lesenswert?

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.

von Conny G. (conny_g)


Lesenswert?

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?

von Falk B. (falk)


Lesenswert?

@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.

von Conny G. (conny_g)


Lesenswert?

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... :-)

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.