Ich habe ein Problem mit einer Anwendung, in der ein Motor (mit
Freilauf-Shottky gesichert) von einem AVR (Arduino-Board) über ein FET
an- und ausgeschaltet wird bzw. über ein Relais umgepolt.
Weiterhin werden die Zustände von zwei Reed-Kontakten eingelesen.
Jeweils ein Kontakt davon mit Masse verbunden, der jeweils andere mit
dem AVR. Konfiguriert als Eingang und Pullup angeschaltet.
Das funktioniert alles wunderbar, bis ich den FET nicht mehr einfach nur
an oder ausschalte, sondern ihn mit einem PWM-Signal (Arduino Pin 3)
versorge.
Jetzt springen die Zustände der Reedkontakte "willkürlich" um.
Meine erste Erklärung war, dass durch das PWM-Signal eine elektromagn.
Feld entstehen könnte... Aber ist das bei 500 Hz wahrscheinlich/möglich?
Oder könnte das Problem der FET sein, dessen Gate direkt am AVR-Pin
hängt?
Bin ratlos...
Wenn der Motor mit PWM betrieben wird, scheint er mehr Störungen zu
verursachen als im geschalteten Betrieb. Sind Entstörkondensatoren dran?
Du könntest mal versuchen, externe Pullups (wenige Kiloohm) an die Reeds
anzuschließen. Die internen sind recht hochohmig, das macht die Pins
empfindlicher für eingekoppelte Störungen.
>Meine erste Erklärung war, dass durch das PWM-Signal eine elektromagn.>Feld entstehen könnte... Aber ist das bei 500 Hz wahrscheinlich/möglich?
Klar, relevant sind hier die Frequenzanteile die entstehen. Und wenn du
steile Flanken hast, dann hast du auch sehr hohe Frequenzen im Spektrum,
welche die allerlei EMV-Sauerei verursachen können.
Ich tipp allerdings weniger auf magnetische Effekte sondern eher auf
gestrahlte HF, die das Problem sein könnten.
Hilfreich ist auf jeden Fall der oben schon erwähnte Pullup (ca 4k7)
>Oder könnte das Problem der FET sein, dessen Gate direkt am AVR-Pin>hängt?
Durchaus auch denkbar, da ein FET zwar im Statischen Zustand am Gate so
gut wie keinen Strom zieht, aber im Umschaltmoment die Gatekapazität
umgeladen werden muss. Dieser Umschaltstrom muss von deinem µC
bereitgestellt werden, was ihn kurzzeitig in die Knie zwingen könnte.
Daher könntest du, den Strom in das Gate durch einen Längs-Widerstand
begrenzen. Dies reduziert zum einen die Stromspitzen, die dien µC brigen
muss und zum anderen flachst du die Flanken des Gate-Signals ab, was
sich wiederum die hohen Frequenzanteile aus den Schaltvorgängen nimmt.
Vielen Dank,
der Längs-Widerstand am FET-Gate brachte den gewünschten Effekt. Auch
über den ext. Pullup-Tipp bin ich dankbar.
Hätte da noch eine kleine Verständnisfrage, die wahrscheinlich eher in
die Grundlagen-Schublade gehört. Wäre trotzdem froh, wenn mir das jemand
schnell erläutern könnte.
Wie bemesse ich den Längswiderstand denn korrekt? Mein Gedankengang war
folgender:
Der AVR-Pin liefert max. 20mA, und ich arbeite mit 5V, also
R=5V/0.02A=250 Ohm minimal.
Habe ich richtig gedacht, wenn ich sozusagen davon ausgehe, dass der FET
keinen Eigenwiderstand hat und somit am Längswiderstand kein
Spannungsabfall entsteht?
Hi
>Habe ich richtig gedacht, wenn ich sozusagen davon ausgehe, dass der FET>keinen Eigenwiderstand hat und somit am Längswiderstand kein>Spannungsabfall entsteht?
Nur bedingt richtig. Der FET hat zwar einen unendlichen
Eingangswiderstand, aber bei Schalten muss die Gatekapazität umgeladen
werden. und da fliessen schon Ströme. Umsonst sind nicht FET-Treiber
üblich, die Ströme im Ampere-Bereich liefern.
MfG Spess
Das wuerde mich auch mal interessieren, wie man den Widerstand bestimmen
kann.
Was muss man genau beachten?
Frequenz mit der man Schaltet wegen Hitze am FET.
Strom, um den uC Port nicht zu ueberlasten.
Spannungsabfall am Widerstand (?). Nach dem Umladen fliesst ja an sich
kein Strom mehr.
Eigentlich muesste man doch ne langsame (vielleicht bis n paar kHz) PWM
auch ohne Treiber hinkriegen, oder etwa nicht?
Falls nicht, was sind denn die gaengigen FET Treiber? (5V fuer
Logiclevel und vielleicht noch ein paar fuer 12V (oder so) fuer
Motoren).
Das sind sicherlich Fragen, die hier einigen weiterhelfen wuerden.
Danke an den, der sie beantwortet! :)
>Eigentlich muesste man doch ne langsame (vielleicht bis n paar kHz) PWM>auch ohne Treiber hinkriegen, oder etwa nicht?
Die Schaltfrequenz ist nicht so relevant. Beim Schalten fließt ein sehr
großer Strom in´s Gate, der den maximal zulässigen Ausgangsstrom des
Ports um ein vielfaches überschreitet. Auch wenn dieser Strom nur
kurzzeitig fliesst, ist er zu behandeln, wie ein kurzzeitiger
Kurzschluss am Port-Pin. Dieser wird den Porzessor zwar nicht zerstören,
aber der Starke Strom verursacht eben EMV-Schweinerein oder kann zu
Ground-Bounce-Effekten auch im Chip führen, was die Funktion kurzzeitig
beeinträchtigen kann
Ich würde so vorgehen:
Widersatand so bemessen, dass maximaler Strom aus dem Prozessorpin nicht
überschritten wird:
5V/20mA = 250 Ohm.
Durch den dabei entstehenden Tiefpass (Gatekapazität + 250 Ohm) wird
natürlich die Flanke flacher. Das hat zum einen die Auswirkung, dass die
maximale Schaltfrequenz sinkt und zum anderen durch den verlangsamten
Umschaltvorgang am FET mehr Leistung verbraten wird. Bei häufigen
Schaltvorgängen macht sich das dann durchaus bemerkbar, und der FET wird
warm.
Es ist also ein Dilemma, das nicht pauschal gelöst werden kann, sondern
in abhängigkeit der ganzen Rahmenbedingungen betrachtet werden muss. im
Schlimmsten fall eine kleine Gegentaktstufe zwischen Port-Pin und Gate
basteln. Diese sollte allerdings aus kleineren FETs bestehen, da bei
denen die Gatekapazität geringer ist.
Ein bisschen googlen hat mich gerade zu folgendem Artikel geführt, in
dem es sehr schön beschrieben wird, wir ein FET-Treiber korrekt
ausgelegt wird.
Nicht gerade eine einfache Faustregel, aber wenn man es genau machen
will, bestimmt ganz hilfreich:
http://www.elektronikpraxis.vogel.de/analogtechnik/articles/187317/
bei dem Gatewiderstand würde ich den Kurzschlußfall voraussetzen.
Mach ihn so hoch wie Strom vom Atmel maximal kommen kann. wenn Du nen
fet mit kleiner Sperrspannung hast (S-D) ,dann ist die Kapa beim Fet
auch kleiner. so tun tät ich's machen
Zumindest für einen Anfangswert ist das praktikabel, jep.
Also:
Falls EMV Probleme auftreten, muss der Widerstand weiter erhöht werden.
Man sollte auf der anderen Seite aber aufpassen, dass die
Verlustleistung nicht zu groß wird (sowohl am Widerstand als auch am
FET, der dadurch ja langsamer angesteuert wird).