Hallo Forum,
ich brauche Hilfe bei der Ansteuerung eines MOSFETs: Wie im Bild gezeigt, möchte ich eine LED-Kette mit einem Arduino über PWM in der Helligkeit regeln. Dafür habe ich einem MOSFET einen BC547B-Transistor vorgeschaltet, weil aus dem Arduino-Output aus irgendeinem Grund nur 3,8V rauskommen. So soll der MOSFET mit 5V am Gate die 12V von Drain nach Source schalten.
Leider macht der MOSFET überhaupt nicht was er soll:
Am Gate messe ich V_max=6,3V und an Source V_max=4,6V, wenn ich den Widerstand zwischen Emitter und Gate entferne.
Zuvor hatte ich höhere Widerstände drin. Bei 700 KOhm, hatte ich am Gate 12V! Je niedriger der Widerstand, desto stärker nähert sich die Messung den 5V, die da eigentlich sein sollten, an. Hier findet also offenbar eine Subtraktion statt. Die Ausgabe-Spannung an Source ergibt noch weniger Sinn und scheint eher zufällig: Manchmal kommt da auch was viel höheres raus und die Kette leuchtet.
Wie kann das sein? Ich weiß, hier gibt's haufenweise Material zum Thema MOSFETs und MOSFET-Treiber. Aber da steht "alles mit allem". Das hilft mir überhaupt nicht.
Der Mosfet will nicht 5V bezogen auf GND am Gate, sondern 5V bezogen auf seinen Source-Anschluss. Er kann den Schaltplan nämlich nicht lesen, und sieht nur die Spannungen, die an seinen Pins anliegen.
Der Mosfet will nicht 5V bezogen auf GND am Gate, sondern 5V bezogen auf
seinen Source-Anschluss. Er kann den Schaltplan nämlich nicht lesen, und
sieht nur die Spannungen, die an seinen Pins anliegen.
Wenn die Kette aus ist, sollten doch 0V an Source sein. Die Kette hat doch Minus an GND.
Schalte mit deinem N-FET die Masse statt die 12V und Steuer es direkt ohne Transistor mit dem Arduino an. Pulldown (10k aufwärts reichen) am Gate nach Masse nicht vergessen.
Schalte mit deinem N-FET die Masse statt die 12V und Steuer es direkt
ohne Transistor mit dem Arduino an. Pulldown (10k aufwärts reichen) am
Gate nach Masse nicht vergessen.
Wenn die Kette aus ist, sollten doch 0V an Source sein. Die Kette hat
doch Minus an GND.
Aber sobald der FET auch nur ein kleines bischen "An" ist, sind eben keine 0V mehr an Source, weil Spannung an der Lichterkette abfällt. Dadurch stellt sich dann ein Gleichgewicht mit Spannung an Source ≅ Spannung am Gate - Ugs(th) vom FET ein.
FET mit Source an GND, Last zwischen Drain und +12V, Gate direkt zum Arduino ist schon die richtige Lösung, wie von Kevin vorgeschlagen.
Spannungsregler betreibt man nie ohne die im Datenblatt empfohlenen Kondensatoren.
Dein Mikrocontroller ist mit nur einem einzigen Draht mit dem Rest der Schaltung verbunden. Das ist kein Stromkreis, ergo fließt kein Strom. Falls doch, dann über Wege, die du weder bedacht noch haben willst.
Bei einem NPN Transistor ist die Spannung am Emitter immer 0,6 Volt kleiner als an der Basis. Also in deinem Fall stets unter 3,9 Volt. Keine AHnung, was du damit bezwecken wolltest.
Beim MOSFET gehört der Source Anschluss an die Spannungsquelle (daher der Name), nicht an die Last. Drain ist der Ablauf bzw Ausgang.
Dein Arduino Nano wird offenbar vom USB Kabel aus versorgt, also mit ungefähr 4,5 bis 5,2 Volt. Auf dem Board befindet sich eine Diode, an der weitere Spannung abfällt. Ich habe ein paar Boards, da sind es satte 0,8 Volt. Außerdem fällt im IC Spannung ab, sobald der Ausgang belastet wird.
Ein NPN mit 3,8V an der Basis hat 3,1V am Emitter. Blanke LEDs brauchen eine Strombegrenzung.
Vorschlag: Direkt an D11 angeschlossenen Logic Level n-Fet mit Source an Masse schalten. Von +12V über einen Strombegrenzungswiderstand die LEDs an das Drain anschließen.
Wie viel Strom kann D11 liefern, wie viel Strom durch die 5 LEDs? Da reicht wahrscheinlich ein einzelner NPN nach Masse.
Dass abgesehen vom fehlenden Vorwiderstand auch die Parallelschaltung der LED eine blöde Idee ist, kannst du dort nachlesen:
http://stefanfrings.de/LED/index.html
Was du hier eigentlich brauchst, ist ein Schaltwandler (via PWM) einstellbarer Stromstärke. Kann man fertig kaufen.
Ja, genau, Fritzing ist so toll nicht, geht aber schnell. Ich benutze eine Step-Down-Modul. Fritzing hat das aber nicht im Sortimient, deshalb der Linearregler im Bild.
Und dann noch einen LL-MOSFET nehmen, dem IRFZ24N reichen 5V nicht.
Also doch lieber mit Transistor?!
Laut Datenblatt schaltet der MOSFET bei 2-4V. Die 3,8V vom Arduino liegen da leider genau drin. Wenn ich den Transistor also drin lasse würde, wäre ich auf der sicheren Seite.
Im Anhang ein neues Bild, ohne Transistor. Ich denke so war es von Kevin gemeint.
Steuer es direkt ohne Transistor mit dem Arduino an
Dazu sollte er aber wenigstens einen LogicLevel NMOSFET nehmen mit im Datenblatt bei 4.5V spezifiziertem RDS(on) sonst kommt der nächste Beitrag warum es denn nicht funktioniert, obwohl er alles so gemacht hat wie ihm geraten wurde.
Vorsicht, das ist die Ugs(th) Angabe. Pi-Mal-Daumen sagt die an, unterhalb welcher Spannung der FET AUS ist, nicht überhalb welcher Spannung er sinnvoll Strom durchlässt.
Nochmal: Ohne Stromkreis kein Stromfluss. Du hast wieder nur einen einzigen Draht zwischen dem Arduino Modul und dem Rest der Schaltung. Achte auf GND!
Laut Datenblatt schaltet der MOSFET bei 2-4V.
Keine Ahnung welchen du verwendest, aber ich schätze, du hast auf die Gate-Threshold Spannung geschaut, die nicht das bedeutet, was du denkst. Lies meinen Artikel über Transistoren.
Nochmal: Ohne Stromkreis kein Stromfluss. Du hast wieder nur einen
einzigen Draht zwischen dem Arduino Modul und dem Rest der Schaltung.
Achte auf GND!
Das sind diese tollen T-Stück-Steckdrähte, die Fritzing mit dem leicht sichtbaren grün überlagertem Kreis anzeigt...
Sollte man sich abgewöhnen, wenn man diese Software schon verwendet. Solche Drähte sind im eBay-Bastlerkit nämlich auch nicht enthalten.
Interessant, kannte ich noch nicht. Warum bietet das Tool an, Zeichnungen zu erstellen, die so in echt nicht realisierbar sind? Das geht doch total am Sinn von Fritzing vorbei.
Danke Ernst, wichtige Info!
Im Anhang: Neues Bild, jetzt mit Transistor, der mir ja nun doch (entgegen einiger Meinungen hier) notwendig erscheint.
@Stefan: Jaja, 5V-Pins sind geändert...ist doch scheißegal, Du kannst doch sehen was gemeint ist. Hat doch nicht's mit dem MOSFET-Problem zu tun.
@Stefan: Du raffst es nicht oder? Im Fritzing gibt's keinen Step-Down, deshalb ist da ein Linearregler eingezeichnet. Da kommt auch nix anderes mehr hin! Nein, auch kein Kondensator. Du denkst Dir da bitte einen Step-Down statt eines Linearreglers. Und Bilder kriegst du auch nicht. Sei froh, dass überhaupt was skizziert ist!
5V-0,7V=4,3V...sollte (hoffenltich) genug sein für den MOSFET.
@Wolf17: Vorwiderstand ist auch nur skizziert. Ich glaube aber der LED-Strom spielt hier keine große Rolle, sondern vielmer der nötige GS-Strom, um den MOSFET zu schalten. Der Basis-Widerstand müsste also ziemlich hoch sein. I_GSS ist 100 nA!
Du raffst es nicht oder? Im Fritzing gibt's keinen Step-Down,
deshalb ist da ein Linearregler eingezeichnet
Das hat nichts mit Raffen zu tun, sondern damit, dass du zu wenig Infos geliefert hast. Wenn man zu viel dazu phantasiert, endet die Diskussion selten erfreulich. Aber jetzt ist es eh egal.
Und Bilder kriegst du auch nicht.
Schade, denn mit richtigen Fotos wäre das klar gewesen.
Sei froh, dass überhaupt was skizziert ist!
Was denkst du, wer du bist, dass du dich hier so äußern kannst? Du bist hier der Bittsteller, also verhalte dich dementsprechend.
Vorwiderstand ist auch nur skizziert. Ich glaube aber der
LED-Strom spielt hier keine große Rolle, sondern vielmer der nötige
GS-Strom, um den MOSFET zu schalten. Der Basis-Widerstand müsste also
ziemlich hoch sein. I_GSS ist 100 nA!
Ein FET wird Spannungsgesteuert, mit einem Gatewiderstand kann man den Drainstrom nicht steuern! Die 100nA sind ein Leckstrom.
Ich empfehle dringend einen NPN nach Masse und einen LED Vorwiderstand!
Sonst leben die LEDs je nach 12V Quelle nur Sekunden.
Leider macht der MOSFET überhaupt nicht was er soll
Doch, das macht er schon. Er macht das, was er laut Datenblat machen soll. Er mach nur das nicht, was du willst.
Du musst dich in dieser Hinsicht also noch ein wenig schlau machen. Sieh dir mal an, wie alle anderen das machen und denk ein paar Tage drüber nach. Irgendwann fällt der Cent.
Du kannst die Schaltung noch weiter vereinfachen, in dem du einfach den Mosfet weglässt. Ich gehe stark davon aus, dass in den LEDs bereits Vorwiderstände enthalten sind.
Wieviel Strom fließt eigentlich durch die LEDs? Wenn das geklärt ist, können wir über den Transistortyp weiterreden.
Ja, genau, Fritzing ist so toll nicht, geht aber schnell. Ich benutze
eine Step-Down-Modul. Fritzing hat das aber nicht im Sortimient, deshalb
der Linearregler im Bild.
Nur blöd, dass du mit diesem Klicki-Bunti-Kram wahrscheinlich den größeren Teil der Leute abschreckst, und zwar genau die, die sich ein bisschen ernster mit Elektronik beschäftigen und vernünftige Schaltpläne gewohnt sind.
Die Lust, sich durch so ein Fritzing-Stecken-nach-Farben-Bild durchzuwühlen, ist da oft limitiert.
Wieso ziehst du von deinen 5V denn noch 0,7V ab? Was soll das?
Weil der Transistor als Emitterfolger bzw. in Kollektorschaltung arbeitet, dann fallen an der B-E-Strecke nun mal zwangsläufig 0,7V ab. Du könntest auch einen PNP-Transistor in Emitterschaltung einsetzen, dann ist das Problem mit den 0,7V weg.
Aber dann musst du die Logik im Programm umkehren, damit wieder alles passt.
Nur blöd, dass du mit diesem Klicki-Bunti-Kram wahrscheinlich den
größeren Teil der Leute abschreckst, und zwar genau die, die sich ein
bisschen ernster mit Elektronik beschäftigen und vernünftige Schaltpläne
gewohnt sind.
Die Lust, sich durch so ein Fritzing-Stecken-nach-Farben-Bild
durchzuwühlen, ist da oft limitiert.
Diese Steckbrettbildchen schaue ich nicht an.
Aber er hat auch einen Schaltplan gemalt, zwar unglücklich, aber verständlich.
"Teil der Leute abschreckst" beruht eher darauf, dass hier grober Unfug zusammengesteckt wurde, obwohl es im Internet beliebig viele Erklärungen gibt, wie man das korrekt löst.
Der erste GROBE UNFUG ist, mit einem 5V-Regler auf Vin des Nano zu gehen. Entweder mit 7..9V auf Vin oder die 5V direkt an seinen 5V-Anschluß, sein AZ1117 hat damit kein Problem.
Das wird auch im µC-net alle paar Wochen neu durchgekaut, ebenso wie die Auswahl maximal ungeeigneter FETs.
Die LED-Streifen, so es denn welche sind, kommen mit Plus direkt an den Eingang vor dem Regler. Gegen GND einen geeigneten FET, IRLZ34 / IRLZ44 dran. Der wird direkt vom Nano D_irgendwas bespaßt und fertig.
Bei einem NPN Transistor ist die Spannung am Emitter immer 0,6 Volt
kleiner als an der Basis. Also in deinem Fall stets unter 3,9 Volt.
Keine AHnung, was du damit bezwecken wolltest.
Das ist doch der häufigste, typische Anfängerfehler: bei Schaltanwendung Last im Emitterzweig.
Ja, aber was soll das? Warum dann nicht gleich mit dem Signal an den
FET? Warum erst noch 0,7V abziehen? Das macht es am FET doch nur
schlechter!
Boah, voll schlimm, wenn Leute nicht lesen können. Also zum dritten mal: Aus dem Arduino kommen nur 3,8V, deshalb soll der Transistor 5V an das Gate liefern. Klappt aber leider nicht: Da gehen nicht nur 0,7V ab, sondern über ein Volt. Am Gate sind also wieder nur 3,9V. Da kann ich den MOSFET tatsächlich direkt an den Arduino anschließen.
Das Problem ist nunmal, dass der MOSFET unter 4V nicht sicher schaltet. Eine sinnvolle Maßnahme dagegen hat hier bislang niemand geäußert. Ist wohl mal wieder Klugscheißertag.
Hab außerdem noch ein zweites Problem: Der MOSFET schaltet nicht sicher ab. Wenn also der Arduino seinen Ausgangspin auf 0V schaltet, messe ich -0.2V an dem PIN und die LEDs sind nicht völlig aus. Da gibt's also irgendwie einen Leckstrom in Gegenrichtung.
Kevin's Vorschlag, Source direkt an GND und LED-Strip-Minus an Drain hat aber Wunder gewirkt: Ich kann jetzt die LEDs schalten und dimmen. Leider gibt's besagte Fehler: MOSFET schaltet nicht völlig ab, manchmal flackern die LEDs unkontrolliert auf. Ja, 10K-Pull-Down zwischen Gate und Source ist dran.
Boah, voll schlimm, wenn Leute nicht lesen können. Also zum dritten mal:
Aus dem Arduino kommen nur 3,8V, deshalb soll der Transistor 5V an das
Gate liefern. Klappt aber leider nicht: Da gehen nicht nur 0,7V ab,
sondern über ein Volt.
Um es mal mit deinen Worten auszudrücken, Peter: Boah, du raffst es ja immer noch nicht!
Du scheinst zu glauben, dass an einem normalen Transistor 0,7V zwischen Kollektor und Emitter herrschen. Da verwechselst du aber den Kollektor mit der Basis! Zwischen Basis und Emitter herrschen max 0,7V! Also zieht die dein Transistor in dieser Schaltung von der Basisspannung 0,7V ab. Was alles nur schlechter macht. Das schreiben dir die Leute hier die ganze Zeit. Kannst du es jetzt lesen?
Die Basis ist doch scheißegal! Ich will 5V am Gate vom MOSFET. Das ist für den Transistor die Kollektor-Emitter-Strecke. Die Basis schaltet ab 800mV (oder so) sicher durch. Völlig egal, ob da nun 3,8V oder 2,8V anliegen.
Ich schaue gerade den letzten Post von Rainer an. Der hat schlaue Sachen gesagt: 5V an den 5V-Arduino-Pin ist tatsächlich besser, als an Vin, weil das den internen Linearregler übergeht.
Beim MOSFET: Der IRLZ44 hat die gleiche Gate-Source-Threshold-Voltage, wie der MOSFET IRFZ24N, den ich verwende. IRLZ44 ist also keine Alternative.
Der andere (IRLZ34N) ist allerdings eine gute Empfehlung: V_GS liegt da bei 1-2V. Vielen Dank für den Hinweis. Ich habe den Eindruck, solch einen MOSFET zu finden ist nicht ganz einfach. Wenn die D-S-Spannung hoch ist, haben die MOSFETS sonst auch immer hohe V_GS-Spannungen.
Ich schaue gerade den letzten Post von Rainer an. Der hat schlaue Sachen
gesagt: 5V an den 5V-Arduino-Pin ist tatsächlich besser, als an Vin,
weil das den internen Linearregler übergeht.
So hast du es doch angeblich schon von Anfang an gemacht.
Ich will 5V am Gate vom MOSFET. Das ist für den Transistor die
Kollektor-Emitter-Strecke. Die Basis schaltet ab 800mV (oder so) sicher
durch. Völlig egal, ob da nun 3,8V oder 2,8V anliegen.
Die Basis ist doch scheißegal! Ich will 5V am Gate vom MOSFET. Das ist
für den Transistor die Kollektor-Emitter-Strecke. Die Basis schaltet ab
800mV (oder so) sicher durch. Völlig egal, ob da nun 3,8V oder 2,8V
anliegen.
Du hast da was entscheidendes nicht verstanden.
Macht nichts, kann man lernen.
Geht bei dir aber nicht, merkbefreit und lernresistent.
Ich will 5V am Gate vom MOSFET. Das ist für den Transistor die
Kollektor-Emitter-Strecke. Die Basis schaltet ab 800mV (oder so) sicher
durch. Völlig egal, ob da nun 3,8V oder 2,8V anliegen.
Das ist doch der häufigste, typische Anfängerfehler: bei Schaltanwendung
Last im Emitterzweig.
Joa, da haben Sebastian und ich hier wohl einen Fehler gemacht. Problem ist nur, dass Last am Kollektor hier nicht geht. Es gibt ja nur einen Gate-Pin. Da bräuchts wohl einen anderen Transistor (den ich nicht habe), bzw eine andere Transistorschaltung.
Ich schmeiß wohl erstmal den Transistor ganz raus und hau die 5V direkt an den 5V-Pin vom Arduino, wie von Rainer vorgeschlagen. Mal gucken was passiert...
Edit:
@H.H: Stimm doch, der IRLZ44 hat auch 1-2V V_GS. Sorry, hab mich wirklich verguckt. Genau wie der "verschissene" Michael: IRLZ44 ist nicht IRFZ44.
IRFZ44 hat aber die gleiche V_GS wie mein IRFZ24N und ist daher keine Alternative.
Eine sinnvolle Maßnahme dagegen
hat hier bislang niemand geäußert.
Doch, und zwar mehrere Leute mehrfach. Anstatt deine Energie fürs Schimpfen zu vergeuden, lies das und stelle ggf. Rückfragen.
Ich haben Aufsatz über Transistoren für Leute geschrieben, die Hilfe dankbar annehmen. Also nicht für dich. Aber ich kann nicht verhindern, dass du die Seite trotzdem aufrufst, wenn du lernen willst.
Joa, da haben Sebastian und ich hier wohl einen Fehler gemacht.
Peter, schön dass du deinen Fehler erkannt hast. Was du ursprünglich versuchst hast nennt sich high-side switching. Das kann man machen, und ist u.U. auch sinnvoll weil dann die Last auf der low-side an GND liegt. Aber so, wie du das versucht hast, kann das nicht funktionieren. Man benutzt in solchen Fällen entweder einen P-FET, oder erzeugt für den N-FET eine Hilfsspannung höher als die Versorgungsspannung der Last. Oder man benutzt gleich einen integrierten high-side switch mit Logikansteuerung. Stefan hat das auf der von ihm genannten Webseite schön aufgedröselt, und es war nicht nett wie du ihn oben angegangen bist.
Was denkst du, wer du bist, dass du dich hier so äußern kannst? Du
bist hier der Bittsteller, also verhalte dich dementsprechend.
Blödes a....
Ich mach da schon extra eine Skizze, frag wegen dem MOSFET und der fängt an da Fehler drin zu suchen und Forderungen zu stellen. Das ist schon sehr selbstbewusst...
Kevin's Vorschlag, Source direkt an GND und LED-Strip-Minus an Drain hat
aber Wunder gewirkt: Ich kann jetzt die LEDs schalten und dimmen. Leider
gibt's besagte Fehler: MOSFET schaltet nicht völlig ab, manchmal
flackern die LEDs unkontrolliert auf. Ja, 10K-Pull-Down zwischen Gate
und Source ist dran.
Das wird aber eher an deiner Software liegen.
Bau dir mal ein Programm das einfach nur die LEDs im Sekundentakt blinken lässt.. Wenn dann nichts flackert liegts an der Software.
Bei dieser Schaltung braucht man sich keine Gedanken mehr über LL-Mosfets und ihre Ugs(th) mehr machen. Jetzt kann jeder X-beliebige N-Mosfet eingesetzt werden. Das studieren von Datenblättern entfällt. R7 kann evtl. auch entfallen.
Peter, ich hatte dir längst Beispielschaltungen gegeben, samt Angabe wie man sie an (fast) beliebige Spannungen anpasst. Inzwischen haben dich nach mir sogar andere nochmal daran erinnert. Warum orientierst du dich nicht an der Webseite?
Ich komme mir langsam blöd vor, wie ich dich darum an bettele*. Brauchst du einen Schlag in den Nacken, um auf zu wachen, oder was ist hier los?
*) Ja ich weiß, das ist eine Steilvorlage für meine ganz speziellen Hater-Follower. Nur zu, ich betrachte das sportlich. Was mich nicht fertig macht, härtet mich ab.
Ich kann die Schaltung trotzdem nicht verwenden, denn sie ist mit
12V-only nicht Arduino-kompatibel.
Natürlich ist sie das, denn 12V kann man an Vin vom Arduino ganz einfach anschließen, und der digitale Ausgang mit seinen maximal ~5V schaltet den ersten Transistor völlig problemlos.
Du meinst 5V am unteren Pin (in der Zeichnung)? Mmmh...interessant....
@Stefan: Ja, du hast mir mehrfach deine tolle Webseite verlinkt. Die hab ich mir in der Tat noch nicht genauer angeguckt, sieht aber gut aus. Mach doch mal 'nen Thread dafür auf!
Für Deine Ansteuerung der LED reichen einfache vom µC-Ausgang angesteuerte Transistoren aus. Du hast da 5 LED à 30mA, also 150mA. Da reicht ein simpler BC 5xx aus.
Nunja Stefan, Du vergisst anscheinend je nach Browser/Browsereinstellungen wird eine http Seite nicht mehr geladen.
Was spricht gegen eine Anpassung auf https ?
Würde zumindest den Usern helfen, deren Browsewr https erwarten. Einige wissen sich evtl nicht zu helfen, was zu tun wäre, eine http Seite dennoch aufrufen zu können.
Wollte mich nur kurz zurückmelden: Habe den Transistor rausgeschmissenund den MOSFET auch. Dafür den empfohlenen IRLZ34N rein. Funktioniert alles perfekt. Vielen Dank für alle guten Tipps.