Hallo,
Ich möchte mir MOSFET-Treiber ersparen und habe berechnet dass ich bei
maximaler PWM Frequenz des PCA9685 in Kombination mit meinem gewählten
MOSFET einen Gatestrom von max. 30mA benötige, um diesen innerhalb des
kleinsten Dutycycle ein- und auszuschalten, sowie eine kurze Zeit lang
an zu lassen.
Meine Frage lautet nun: Kann ich in Push-Pull Konfiguration mindestens 3
PWM Outputs des PCA9685 zusammenschalten um den entsprechenden
Gate-Strom zu erzielen, da jeder PWM Output nur max. 10mA sourcen kann?
Es ist mir klar dass ich dann softwaretechnisch dafür sorgen muss, dass
diese Outputs zu jeder Zeit die selben PWM Werte, sowie
Ein/Ausschaltdelays haben müssen. In diesem Fall würde ich in einer
einzigen I²C Übertragung alle betroffenen PWM Outputs mit gleichen Daten
beschreiben.
Rein vom Blockschaltbild her besteht die Output Stage aus einer
einfachen Totem-Pole Konfiguration, somit sollte eigentlich nichts gegen
mein Vorhaben sprechen?
Wenn ja, sollte man jeden PWM Output des PCA9685 mit jeweils einem
Vorwiderstand ausstatten bevor man sie zusammen schaltet, damit es
eventuell nicht zu Oszillationen kommt? Wie groß müsste er mindestens
sein?
Vielen Dank im Voraus,
Alex
Alex schrieb:> habe berechnet dass ich bei> maximaler PWM Frequenz des PCA9685 in Kombination mit meinem gewählten> MOSFET einen Gatestrom von max. 30mA benötige
Zeig die Rechnung mal. Sicher dass das nicht Nano-Ampere waren? Oder
Gigahertz?
I=Q×f
Alex schrieb:> Ich ... habe berechnet dass ich ... in Kombination mit meinem gewählten> MOSFET einen Gatestrom von max. 30mA benötige, ...>> Meine Frage lautet nun: Kann ich in Push-Pull Konfiguration mindestens 3> PWM Outputs des PCA9685 zusammenschalten um den entsprechenden> Gate-Strom zu erzielen, da jeder PWM Output nur max. 10mA sourcen kann?
Du vergleichst Äpfel mit Birnen.
Die 10mA des PCA9685 sind der (statische) max. Source I_OH in totem pole
Konfiguration.
Deine berechneten 30mA sind ein dynamischer Strom zum Umladen der
Gate-Kapazität.
Wolfgang schrieb:> Deine berechneten 30mA sind ein dynamischer Strom zum Umladen der> Gate-Kapazität.
Heißt es dann nicht, um die Gate-Umladezeit einzuhalen, der PCA die 30mA
bereitstellen muss, eben jeweils für 1µs? Wo liegt mein Denkfehler?
Wolfgang schrieb:> Meine Frage lautet nun: Kann ich in Push-Pull Konfiguration mindestens 3> PWM Outputs des PCA9685 zusammenschalten um den entsprechenden> Gate-Strom zu erzielen, da jeder PWM Output nur max. 10mA sourcen kann?
Ersetze "kann" durch "sollte". Er kann wesentlich mehr, die
10mA-Angabe spezifiziert eigentlich einen maximalen Innenwiderstand von
50 Ohm bei VCC=4.5V. Wie viel er maximal darf, ist nicht sicher,
Optimisten nehmen die 25mA aus den Limiting values, Pessimisten glauben,
dass die nur für IOL gelten. Im Kurzschlussfall würde auf jeden Fall
viel zu viel Strom fließen und das FET-Gate stellt im ersten Moment
einen Kurschluss dar.
Ein Widerstand ist also zwingend nötig.
Es gibt LED-Treiber, die die Ausgänge minimal versetzt ansteuern um die
Stromspitzen zu verteilen. Solche Ausgänge kann man nicht parallel
schalten. Ansonsten hätte ich keine Bedenken.
Zum gleichzeitigen Schalten vieler Ausgänge gibt es einen Hinweis im
Datenblatt (wobei 400mA schon für einen satten Einbruch der 5V sorgen
können, vom Ground Bounce garnicht zu reden):
1
[2] Each bit must be limited to a maximum of 25 mA and the
2
total package limited to 400 mA due to internal busing limits.
Alex schrieb:> Wie groß sollte er etwa> sein?
Versuch irgendwas zwischen 0 Ohm und 12 Ohm.
Eine Strombegrenzung ist nicht nötig, nur evtl. eine
Schwingungsdämpfung.
Wurde hier schon oft bis zum letzten Silizium-Atom durchdiskutiert, hier
die Kurzfassung, hoffentlich diesmal ohne eine 1000-Post-Diskussion:
CMOS-Ausgänge begrenzen den Strom im Umschaltmoment selber, ohne externe
Widerstände, auf einen für sie ungefährlichen Wert (FET-Bahnwiderstand).
Die Stromangaben im Datenblatt beziehen sich auf Dauer-Strom, um eine
thermische Überlastung der Ausgangsstufe zu verhindern.
Silizium ist thermisch träge. Bei hinreichend großer PWM-Frequenz und
"normalen" FETs reicht es deshalb, den Durchschnitts-Strom zu
betrachten.
Dieser berechnet sich ganz einfach über PWM-Frequenz * total Gate
Charge.
(Frequenz in 1/Sekunde, Gate charge in Coulomb = Ampere*Sekunde)
Und: Wenn deine Schaltflanken steil genug sind, brauchst du auch nicht
parallelschalten.
Schwarzseher schrieb:> Eine Strombegrenzung ist nicht nötig, nur evtl. eine> Schwingungsdämpfung.>> Wurde hier schon oft bis zum letzten Silizium-Atom durchdiskutiert, hier> die Kurzfassung, hoffentlich diesmal ohne eine 1000-Post-Diskussion:
Was man nicht versteht, wird über die Geschäftsordnung geregelt? Schade
:(
Bauform B schrieb:> Was man nicht versteht, wird über die Geschäftsordnung geregelt?
Ich kann die Geschäftsordnung nicht beeinflussen, genausowenig wie sich
die Halbleiter-Physik nach kreativen Missverständnissen beim
Datenblatt-Studium richtet.
Wenn dir gewisse E-Technik-Grundlagen fehlen, kannst du ja gerne hier
oder in einem neuen Thread weiterfragen, vielleicht findet sich jemand,
der sie dir in einfachen Worten erklärt.
Nur ich muss diese Diskussion nicht mehr haben, deshalb die Hoffnung
dass es diesmal ohne Troll-Überfall der Arduino-Maker,
LED-an-Konstantspannung & Gate-Angstwiderständler-Fraktion weitergeht.
Schwarzseher schrieb:> I=Q×f
Also in diesem Fall wären das dann I = 30n x 1600 = 48µA
Das scheint mir doch zu wenig Strom zu sein um die 1µs einzuhalten.
Kommt mir eher sinnvoller die Formel entsprechend zu erweitern und zwar
so:
I = Qtotal x fPWM x nPWMSTEPS x 3
Q ... Total Gate Charge
f ... PWM Frequenz
n ... PWM Auflösung (Anzahl Stufen)
3 ... Faktor bestehend aus folgenden Dauern: 1/3 Gate-Umladung zu
leitend, 1/3 MOSFET leitend, 1/3 Gate-Umladung zu nichtleitend
In meine Fall wären das 36mA.
Werde das später simulieren.
Alex schrieb:> Werde das später simulieren.
Hab jetzt die Schaltung mit genau meinem MOSFET simuliert. Sollte der
PCA wirklich nur 10mA pro Output liefern, so schaltet der MOSFET nicht
mal richtig durch, bevor er wieder abschalten muss. Mit 40mA klappt das
mehr als wunderbar, so wie ich das sehe.
Alex schrieb:> Also in diesem Fall wären das dann I = 30n x 1600 = 48µA> Das scheint mir doch zu wenig Strom zu sein um die 1µs einzuhalten.
Das stimmt. Bei der Formel geht es darum, einen Durchschnitts-Strom zu
berechnen, um damit die Verlustleistung im CMOS-Ausgang abzuschätzen.
(ist dabei nur eine Näherung, z.B. unter Annahme dass die Gate-Charge
beim Auf- und Entladen gleich ist und die Gate-Spannung linear steigt
und fällt. Dann fallen die Integrale schön zusammen, und man kriegt
trotzdem einen guten Schätzwert)
48µA sind soooo viel weniger als die erlaubten 10mA/30mA, dass man sich
um die PCA-Ausgangstreiber keine Sorgen machen muss.
Alex schrieb:> Sollte der> PCA wirklich nur 10mA pro Output liefern,
Im Umschalt-Moment mehr.
CMOS ist seit Anfang an darauf ausgelegt, CMOS-Ausgänge mit
CMOS-Eingängen (== FET Gates), auch mit vielen Eingängen parallel, zu
verbinden.
Das geht nur über hohe Peak-Ströme.
beim PCA9685 hast du den Sonderfall, dass die Ausgangsstufen auch als
"Open Drain" konfiguriert werden können. Solltest du natürlich mit FET
am Pin nicht machen, also OUTDRV=1 lassen.
Und das Datenblatt erwähnt eine "Edge rate control on outputs" ohne groß
in die Details zu gehen. Das macht das Simulieren etwas schwierig.
Aus der FAQ 1 im DB abgeschätzt: ein einzelner Pin entläd 50pF@3.6V in
1.5ns. Das wären 120mA, die der Pin schluckt, als Ø über den ganzen
Entladevorgang. Im Peak also wohl wieder mehr.
Für die umgekehrte Richtung im Totem-pole betrieb finde ich leider keine
Werte im DB. (die 14ns turn-on beziehen sich auf Open-Drain, 50pF über
500 Ohm Pull-Up aufladen?)
Vorschlag: Bau in deiner Simulation "Fig 34. Test circuitry for
switching times" auf Seite 43 des DB nach (also nur den 50pF-Kondensator
mit Pullup:) )
Und dreh an deinen Signalquellen-Werten solange, bis du den auch in 1.5
ns leer bekommst. Dann stimmt die Quelle einigermaßen, und du kannst den
Kondensator durch deinen Wunsch-FET ersetzen.