Forum: Analoge Elektronik und Schaltungstechnik FET mit AVR schalten - Wie schnell?


von Andre Wippich (Gast)


Lesenswert?

Hi.

Ich möchte einige FETs (IRF630 und IRF9610) mit einem Atmel
Mikrocontroller (ATMega16) schalten. Der ATMega bekommt einen 4MHz
Quarz spendiert. Eine Taktperiode dauert somit 250ns.

In den Datenblättern steht, dass die Transitoren eine Durchschaltzeit
(td_on + tr) von maximal 34ns haben.

Da die Taktdauer die Durchschaltzeit weit überwiegt, dürfte es mit dem
Durchschalten doch keine Probleme geben, oder? Wenn zwischen Ein- und
Ausschalten mindestens eine Taktperiode liegt, hat der FET ja mind.
250ns Zeit zum Schalten.

---

Noch ne andere Frage zum gleichen Thema:
Der ATMega kann pro Pin 20mA ausgeben, insgesamt aber maximal nur
200mA. Wenn ich dann 12 FETs gleichzeitig ansteuere, fließen dann nicht
kurzzeitig 240mA? Die Gate-Source Strecke ist ja wie ein Kondensator und
ein entladener Kondensator im Einschaltmoment wie ein Kurzschluss, der
den maximalen Strom ziehen dürfte. Oder ist das ganze (wenn überhaupt)
so kurzzeitig, dass es den Mikrocontroller nicht juckt?

Habe noch nie über FETs geschaltet - daher die vielleicht etwas
stupiden Fragen...

Gruß, André

____________________
http://www.dark-sun.de

von SiO2 (Gast)


Lesenswert?

kurzzeitig kannst du den avr ganz gut belasten. fet zieht im gegensatz
zu nem bipolaren transistor keinen stron, deswegen kanst du eigentlich
auch 10 fet an einem pin haben, und 10 pins beschaltet, ohne problme
zuhaben ;)

von Condor (Gast)


Lesenswert?

Ich denke Du solltest einen Emitterfolger verwenden. Dann gibt es auch
keine Probleme mit der Crss "Reverse Transfer Capacitance". Dort
treten schon mal beachtliche Ströme auf, die deinen ATMega ins Reich
der Ewigen Ruhe schicken. Aber das hängt von deiner Last ab.

Schau mal bei:

http://www.mikrocontroller.net/forum/read-1-281122.html#new
Beitrag von AxelR. Datum: 03.01.2006 08:42

Dann geht bestimmt nicht schief. Noch besser wäre an der Stelle ein
Optokoppler, aber das würde ich nur bei zu Spannungsspitzen machen.

Gruß Condor

von Manos (Gast)


Lesenswert?

Die AVR's können pro Pin sogar 40mA, aber mit folgender Einschränkung:

PortA max 100mA
PortB, PortC und PortD zusammen auch nur max 100 mA

von Kai (Gast)


Lesenswert?

ich würde auf jeden fall einen Fet Treiber verwenden.
Du musst erst den Gatekondensator (paar nF) aufladen.
Deshalb kann beim einschalten ein relativ hoher Gatestrom fließen.

von Marco S (Gast)


Lesenswert?

Für 34ns musst du reichlich Strom in das Gate fliessen lassen. Dafür
gibt es Treiberstufen, die durchaus schon mal 3A Spitzenstrom liefern.
Ich habe mal für eine 12V/6A-Last PWM-Schaltung zwei IRF7455 verwendet.
Die Gates habe ich über einen 270Ohm Widerstand direkt an den tiny26
gelegt. Die PWM läuft mit ca. 2kHz und es funktioniert problemlos (die
Flanken sind steil genug).

Gruß Marco

von Mario (Gast)


Lesenswert?

Ich habe auch schonmal die 10 Gates von Fets direkt an die µC Ausgänge
gehängt ATMEGA128 und das ganze schaltet auch heute noch. Auch
gleichzeitig.

Es ist so, dass der µC den Ausgangspegel nicht unendlich-schnell z.B.
0V auf 5V wechseln kann. Auch innerhalb des µCers treten Kapazitäten,
auf, die erst überwunden werden müssen.
Schaltet nun der Ausgang von 0 auf 1, so steigt der Ausgangspegel von
z.B. 0V auf 5V an und es laden sich nun die Kapazitäten von Source-Gate
auf, ohne, dass hier ein riesen Strom fließt.

Gruß, Mario

von Pet (Gast)


Lesenswert?

Aber nicht wenn du einen Fet mit sagen wir mal 500 kHz schalten willst.
Da fließen schon sehr große Gate Ströme.
Und dein schönes Rechteck wirst du nicht mehr erkennen.
Wieso benutzen dann so gut wie alle Schaltregler einen Fet treiber,
wenn es genau so gut auch ohne geht?
Mal abgesehen dass Power MosFets eine höhere GS-Spannung brauchen.

von Mario (Gast)


Lesenswert?

OK!
Ich muss zugeben, dass die Schaltfrequenzen bei mir sehr gering sind.

Bei höheren Frequenzen kommt schon einiges zusammen.
Im Datenblatt für einen ATMEGA128 steht folgende Formel.
I=CL*Betriebsspannung*Schaltfrequenz.

Gruß, Mario

von Andre Wippich (Gast)


Lesenswert?

Oje oje, jetzt bin ich mehr verunsichert als vorher :-)

Nochmal ein paar Zusatzinfos zur Schaltung:
1) Es soll eine 11x11 LED Matrix werden, wobei jeweils eine Zeile
gleichzeitig (daher das Schalten von jeweils 12 FETs) angesteuert wird
2) Die beiden FETs sind beides HEXFETs (N-Kanal und P-Kanal), d.h. sie
können mit 0V/5V am Gate angesteuert werden (können mit 10V noch weiter
durchgestuert werden, aber 5V genügt bei mir)
3) Ich wollte das Ganze mit so wenig Bauteilen wie möglich aufbauen

Ich habe noch nie eine LED-Matrix gebaut, aber ich denke dass ich nicht
so die riesen Frequenzen an den Ausgängen brauchen werde, um ein Bild
aufzubauen. Dürfte doch so im kHz Bereich oder darunter bewegen, oder?

Nen Extra Treiber für die FETs wollte ich nicht nehmen. Die FETs müssen
ja auch nicht in 30ns durchschalten, sie haben ja im Mindestfall 250ns
Zeit dafür. Es fließen auch nicht die Höllenströme, durch die FETs
(20mA bis 220mA - Betriebsspannung 5V). Also selbst im schlimmsten Fall
hätte ich während des Schaltvorgangs 1W Verlustleistung an den FETs
(TO220, können einiges mehr ab).

Muss ich jetzt dennoch Widerstände zwischen Gate und µC-Pin packen oder
andere Vorkehrungen treffen? Die Meinungen sind ja ein wenig
auseinandergegangen (von das funzt so bis das kann den AVR zerschießen
g)...

____________________
http://www.dark-sun.de

von Pet (Gast)


Lesenswert?

Das wird schon ohne extra Treiber funktionieren :)
Ich würde aber zwischen Gate und µC noch einen Widerstand von ca. 100
ohm
einbauen.
Dann wird der Gatestrom begrenzt und den µC passiert nichts.

von Winfried (Gast)


Lesenswert?

Schnelles Schalten von Fets direkt vom Portpin aus? Das kann nicht
funktionieren, schon bei 10KHz wird es bei den meisten Fets
problematisch, die mit vielleicht 30mA schnell genug zu schalten.
Probiert es im Zweifelsfall aus oder rechnet es mal durch.

Das Thema wurde hier schon sehr oft diskutiert, sucht einfach mal.

von Andre Wippich (Gast)


Lesenswert?

Aber wird der "Ladevorgang" der GS-Strecke dann durch die 100 Ohm
nicht zu langsam?

von Robert (Gast)


Lesenswert?

@Andre

schau dir mal den BS170 an. Der hat sehr niedrige Kapazitäten. Ich habe
2 von denen an einem Tiny15 mit 500kHz parallel und direkt am Pin. Die
Schaltung läuft gut zwischen 3,3V und 5,2V. Und für deine Stöme taugt
er alle mal.

Robert

von pet (Gast)


Lesenswert?

@andre

unter umständen schon.
Kannst du ja ganz leicht Simulieren z.b. mit der pspice demo.
Da kannst du einen realen fet nehmen, oder einfach einen RC Tiefpass.
R = Vorwiderstand
C = Gate-Kapazität
Mit welcher Frequenz willst du den Fet schalten?

von Andre Wippich (Gast)


Lesenswert?

@Robert
Danke für den Tipp, aber die Bauteile hab ich schon alle hier... Die
Kapazitäten des BS170 sind aber wirklich sehr gut (max 40pf). Bei
meinen geht es vergleichsweise bis 700pF :-(

@pet
Die Frequenz ist das Problem - ich weiß es nicht :-) Das wird ne 11x11
LED-Matrix (Zeilenweise Ansteuerung) und da ich noch nie so was gemacht
habe, kann ich auch nichts über die Frequenz sagen...

Frei nach Schnauze würde ich sagen 100Hz mit einem Puls Pausen
Verhältnis von grob 1 zu 10. Wollte mit der Matrix rumspielen, bis ich
die richtigen Frequenzen und Verhältnisse raus habe. Wichtig war mir
dabei nur, dass ich beim Testen/Probieren nicht die Hardware
zerschieße.

Versuche das alles gerade mal rechnerisch auf die Reihe zu bekommen und
würde mich freuen, wenn das mal jemand durchgehen könnte:

Angenommen der FET hat eine max. Kapazität der GS-Strecke von 700pF. Im
Einschaltmoment stellt die Strecke einen Kurzschluss dar. Da ich den
Mikrocontroller nicht überlasten will, schalte ich einen 250 Ohm
Widerstand dazwischen. Auf den Wert komme ich, weil ich ja 12 FETs
gleichzeitig einschalte, d.h. es dürften eigentlich nur 200mA/12
(=17mA) pro Pin fließen (200mA aus max. Ratings des µC). Ok, 17mA, 20mA
ist in der kurzen Zeit wurscht und ich würde den Strom auf 20mA
begrenzen: 5V/250Ohm = 20mA (im Kurzschlussfall). Die Strecke dürfte
nach 5 Tau geladen sein, was dann 875ns der Fall wäre. Sagen wir salopp
einfach 1µs.

Sollte das nicht für eine LED-Matrix genügen? Das Ganze beruht ja auf
der Trägheit von Auge und LED und damit mehr auf der Leuchtdauer und
nicht wie schnell ich die LEDs anbekomme - sofern es oft genug pro
Sekunde passiert.

Ich danke Euch auf jeden Fall schonmal für Eure bisherigen Antworten.
Die haben mir echt sehr geholfen!

____________________
http://www.dark-sun.de

von Robert (Gast)


Lesenswert?

Andre,

funktionieren wird das schon so wie du es machen willst. Aber die
Ansteuerung muss in der SW sehr sorgfältig geplant sein, sonst wirst du
quasi 'Geisterbilder' sehen. Denn in die Zeiten der Umschaltung der
digits fliessen die Segmentströme u.U. unkontrolliert. Das muss man
dann durch künstliche Totzeiten in der Umschaltung vermeiden. Deshalb
nimm ich immer lieber schnelle HW, das spart Aufwand in der SW.

Robert

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.