MOSFET PWM Regulierung funktioniert mit 6V, aber nicht mit 12V

Hallo Leute,

Ich bin heute nach einer Woche rumprobieren mit verschiedenen stärkeren und schwächeren Motoren auf ein, hoffentlich finales, Problem gestoßen. (Schaltplan ist anbei). Ich steuere einen Motor (0,1 - 30 V, der bei 20V 1 Ampere zieht) mit meinem Arduino Nano und einem Mosfet an.

Ich will einfach nur den “Fade” Sketch laufen lassen. Ich habe ein verstellbares Netzteil und bei bis zu 6 V funktioniert der Sketch einwandfrei, ab dann dreht sich der Motor ständig nur noch konstant, und ich hab keine Ahnung warum.

Am Mosfet sollte es eigentlich nicht liegen, ich benutze einen FQP27P06 (P-Channel MOSFET 60V 27A - FQP27P06), der bis zu 60V und 27 Ampere aushält.

Hat jemand von euch eine Idee, an was es liegen könnte? Ich bin mit meinem nicht sehr fortgeschrittenen Latein echt am Ende.

Liebe Grüße und schönen Abend,
Paul

Wenn ich Deine Schaltung richtig verstehe, versuchst Du eine High-Side-Ansteuerung mit 5V, was bei höheren Spannungen nicht funktioniert.

Suche mal nach "p-channel high side switch circuit", wie man es mit einem zusätzlichen Transistor richtig macht. Oder Du wechselst auf Low-Side, also +12V - Motor - FET - GND

Bei PWM sollte zwischen Arduino und Gate ein Widerstand von ca. 220 Ohm, damit die Ladespannung des parasitären Kondensators nicht den Ausgang killt. 10 kOhm gegen GND halten den Motor ruhig, solange der Arduino-Ausgang beim Starten hochohmig ist.

EDIT: Und die Freilaufdiode nicht vergessen, siehe #4!

Hat jemand von euch eine Idee, an was es liegen könnte? Ich bin mit meinem nicht sehr fortgeschrittenen Latein echt am Ende.

Du verwendest die falsche Schaltung.

Ich rate dir den Motor au 12V zu schalten und einen Logic Level N-Mosfet zwischen Motor und Masse zu schalten. Du brauchst auch eine Schutzdiode.

Grüße Uwe

Hi

Wie agmue schon schrieb - bei einem FET bezieht sich das Gate auf Source. Bei einem N-FET liegt Source auf GND (mit dem Arduino identisch) und am Gate liegen 5V im durchgeschaltetem Zustand an - der FET leitet und 'schaltet GND durch'. Beim P-FET liegt Source auf +Vdd. Der sperrt, wie der N-FET, wenn Gate zu Source 0V hat - hier musst Du also das Gate auf +Vdd 'ziehen', damit der FET sperrt. Bzw. auf 'unter Vdd', damit dieser FET leitet - da der Arduino nur 5V kann, die GND eh identisch sind, siehst Du ab ca. 12V am Gate '-7V', was zum voll Durch schalten reichen sollte. Im Gegenteil - wenn Du den FET mit mehr als 20V versorgst, hast Du (von Source aus gesehen) bei LOW eine Gate-Spannung von -20V - eine größere Differenz wird der FET einfach mit Sterben beantworten.

Entweder Du verbaust einen N-FET - dadurch geht DIr aber der GND-Bezug der Last verloren (da der FET ja den GND trennt), oder Du suchst nach Highside-Treibern - gibt's auch für N-FETs (Die haben im Allgemeinen einen besseren RDSon).

MfG

Deine Probleme wurden dir ja schon genannt.
Mit der hier gezeigten Schaltung sollte das dann funktionieren.
Die Widerstandswerte kannst du gemäß agmues Beschreibung anpassen.

N_Mosfet_GND.png

Was die Schutzdiode betrifft, die brauchst du unbedingt und nennt sich “Freilaufdiode”.
Die muss minimal den max. Strom abkönnen, den der Motor braucht.