Mosfet Transistor schaltung arduino

Guten Tag Leute,

Ich habe vor mit 5 digitalen Ausgängen vom arduino (5V / max 20-40mA) mit einem MOSFET BUZ11, 5 einzelne pumpen (peristaltische Pumpe) zu schalten.
Diese besitzen einen max. Strom von 0,5 - 1,4 A.
Die Pumpe wird mit 12V betrieben, wobei man sie auch mit 5V oder 8 V, egal, betreiben kann, womit dann natürlich nicht mehr 1,4 A fließen sondern von 0,5 bis 1,4 irgendwas.

Die 5 pumpen sollen also über 5 digitale Ausgänge am arduino geschalten werden, mein Netzteil hat 12V mit Max. 30A sollte also vollkommen ausreichen auch beim einschalten der pumpen da, es dort vielleicht einen höheren Strom kurzfristig geben kann.

Kann ich den BUZ11 für mein Vorhaben benutzen?
Dieser schaltet ja sofern ichs richtig gelesen hab, bei 4V erst sauber durch, da ich 5V habe, sollte das sauber funktionieren.

Dann noch einen Vorwiderstand von 100 Ohm sodass die umschalt Strom Impulse nicht zu hoch sind und mir deshalb irgendwann der Ausgang vom arduino futsch geht.

Ps: der mosfet BUZ11 hat zum Glück schon freilaufdioden verbaut, um die Kapazität der Pumpe auszugleichen bzw. Langsam abbauen zu können.

Lege ich mit meiner Aufstellung und Auswahl richtig?

Dieser schaltet ja sofern ichs richtig gelesen hab, bei 4V erst sauber durch,

1mA wird bei 4V garaniert.

Lege ich mit meiner Aufstellung und Auswahl richtig?

Nein, der prähistorische BUZ11 ist für diese Zwecke nicht geeignet.
Auch hat er keine Freilaufdioden drin.
Eine für dieses Zweck völlig ungeeignete Bodydiode ist das.
Eine Bauart bedingte parasitäre Diode.

Ein IRL3705N wäre für 5Vgs geeignet, oder einer seiner vielen LowLevel Brüder.
Plus zusätzlicher Freilaufdiode.

Dann noch einen Vorwiderstand von 100 Ohm sodass die umschalt Strom Impulse nicht zu hoch sind und mir deshalb irgendwann der Ausgang vom arduino futsch geht.

Nicht unbedingt nötig.
Der AVR Pin selber hat ja schon ca 50 Ohm.
Aber 100 ist auch voll OK, wenn es nicht allzu schnell sein muss..
Mit 1A Gate Treiber reichen 10 Ohm meist schon um eine Schwingneigung zu unterdrücken.
Allerdings empfehle ich dir dringenst einen Pulldown, zwischen 10k und 1M Ohm

Der BUZ11 ist kein Logic Level MOSFET. Das heißt bei 5V Gatespannung schaltet er nicht voll durch; er erreicht den niedrigen, angegebenen Drain Source Widerstand nicht.

Nimm einen Logic Level MOSFET.

Damit der MOSFET ohne Ansteuerung durch den Arduino (wenn zb die 5V für den Arduino Fehlen) braucht es einen zweiten Widerstand. Du kannst einen 10k bis 100kOhm Widerstand nehmen und zwischen Arduino -Pin und Masse legen.


Grüße Uwe

Ok danke für die Antworten.

Ich bestelle mir also den vorgeschlagenen IRL3705N
In Kombination der freilaufdioden (1N5408).

Pulldown war klar den schalte ich dazwischen.

Dann sollte das alles klappen :slight_smile:

Ich habe nun die Teile bestellt & die Schaltung auf dem Steckbrett aufgebaut.

Wenn ich wie in der Skizze beschrieben alles so zusammenstecke, geht mir mein IRL3705N kaputt (einer hab ich schon geschrottet).

Ich habe aber als R1 mit 100Ohm, weis nun nicht ob das was ausmacht 100 Ohm anstatt die in der skizze 150 Ohm? Wenn ich 1kOhm verwende schaltet meine Pumpe nicht durch aber IRL3705N ging nicht kaputt.

Als Freilaufdiode zur Pumpe habe ich den 1N5408 verwendet.

Kann mir jemand sagen wieso mein IRL3705N kaputt geht :frowning:
Was mache ich falsch?

Ebenso noch unklar ist, Ich habe ja 12V von meinem Netzteil, mein Arduino wird momentan mit der USB Buchse mit 5V versorgt. Muss/Darf ich den GND vom Netzteil und GND vom Arduino zusammen führen?
Weil das habe ich nämlich gemacht, evtl. liegt es daran?

möchte jetzt nicht noch einen tot schießen :stuck_out_tongue:

hm von der Schaltung kann es eigentlich nicht kommen.
MOS-FETs sind aber empfindlich gegenüber elektrostatischer Entladung.
Einmal mit Gummisohlen über den Teppich geschlurft dann die Anschlüsse vom MOS-FET anfassen und zack kaputt.
Weil man sich elektrostatisch aufgeladen hat.

Das lässt sich vermeiden wenn man sich direkt vor dem Anfassen der MOS-FET-Anschlüsse erdet.
Das heißt ein blankes Wasserrohr das geerdet ist anfassen oder den Schutzkontakt einer Steckdose anfassen.

Wohnst du in einem Altbau ?(Baujahr 1970 oder noch älter) da wurde das mit dem Schutzleiter nicht so ernst genommen.
Da kann der auch einfach mit dem Nullleiter verbunden sein.
Also einfach mit den Händen nicht ausgiebig alle Drähtchen zurecht fummeln sondern die blanken Anschlüsse
möglichst wenig berühren und sich alle paar Minuten erden.

Es gibt auch sogenannte Erdungsbänder die man sich ums Handgelenk schnallt zu kaufen. Im Profibereich
wird einfach alles geerdet. "leitende" Schuh, leitender Fußboden usw. Um jegliche elektrostatische Aufladung zu verhindern.

viele Grüße Stefan

oh ok :o :o

ich habe weil ich aus testzwecken kein Schuko Stecker mit PE hatte, einen Kaltstecker verwendet der eben ohne PE ausgeführt ist. Habe aber die Schaltung nochmal neu aufgebaut und siehe da es hat funktioniert :wink:

Nur habe ich nun das Problem, dass er nicht die volle 12V durchschaltet, da ich vermute dass der Ausgang vom Arduino weniger als 5V schaltet, habe zudem noch ein Touchscreen am Arduino und 8000 Zeilen Code, bei dem ich gemerkt habe (habe das ganze mit LEDs getestet), dass die LEDs von zeit zu zeit schwächer wurden umso größer und komplexer mein Code wurde.

Gibt es da irgendwelche Möglichkeiten dass ich meine volle 12V durchschalten kann? evtl. den Widerstand R1 auf 50 Ohm verkleinern? eher nicht?

Der 150 Ohm Widerstand am Gate ist nur für die Strombegrenzung im Einschaltmoment des MOSFETs da. Der genaue Wert ist für die Funktion des MOSFETs nicht wichtig. Daran kann es nicht liegen daß der Verbraucher nicht ganz 12 V bekommt. 50 Ohm bringen da nichts.

Deine Bemerkung, daß die LED schwächer werden.
Ich habe den Verdacht daß Du im Sketch die LED und vieleicht auch den MOSFET dauernd ausschaltest und wenn die Bedingung stimmt wieder einschaltest. Durch den komplexeren (längeren) Sketch wird die Ausschaltdauer immer größer.

Grüße Uwe

hmm ok ja das würde glaube ich stimmen so wie du es beschreibst, wie kann man so etwas umgehen? bzw. ändern?

Teste doch einfach mal deine Schaltung mit dem Mosfet.
Den Widerstand vom Pin am Arduino trennen und gegen +5V schalten.
Leuchten die Leds dann hell, bzw. lüft die Pumpe ?
Danach den Widerstand auf GND schalten.
Gehen die Leds bzw. Pumpe aus ?

Und poste einfach mal deinen Sketch.
Den aber in Code-Tags setzen.

Hab meinen mosfet schon getestet, dieser geht und schaltet die 12v sauber durch, habe direkt 5v am Gate angelegt. Sobald ich das mit meinem skatch mache läuft die Pumpe langsamer wie Uwes Vermutung war habe ich im loop Bedingungen gesetzt die die Pumpe bzw mosfet immer wieder aus schaltet solange die Bedingung nicht erfüllt ist. Da ich das aber über millis steuere weiß ich nicht wie ich es machen soll dass?

Dann solltest du uns unbedingt deinen Sketch zeigen.
Poste den in Code-Tags direkt im Forum.

Also wenn die Pumpe eingeschaltet sein soll dann wird der entsprechende IO-Pin HIGH gesetzt.
Und wenn du die Pumpe ausschalten lässt wird der IO-PIN low gesetzt.
Das Grundprinzip dürfte doch klar sein.
Hast du denn jetzt so irre viele if-bedingungen ineinander verschachtelt das der IO-Pin andauernd ein/aus-geschaltet wird?

Dann wäre es doch Zeit mal die Logik deines Programmes neu zu durchdenken damit daraus etwas entstehen kann
das den IO-pin wegen hier trifft mal dieses zu da mal jenes EIn/Ausgeschaltet wird.

Tja und dabei könnten die anderen helfen wenn du denn deinen Sketch postest.
Passt das nicht mehr in das 9000 Zeichenlimit der Forum-Software. Dann muss es halt doch als Attachment gemacht werden.
Ich bin ja mal gespannt wie der code aussieht.
Hast du ein Digitalmultimeter mit Frequenzmessung oder mit %Duty-Cycle-Messung?
Damit könnte man ganz schnell nachmessen ob der IO-pin jetzt pulswellen-malträtiert äh pardon pulsweitenmoduliert wird oder ob er konstant an / konstant aus ist.

Oder natürlich mit einem Froschzilloskop äh Pardon einem Oszilloskop

viele Grüße Stefan