standalone arduino - MOSFET PWM für Lüfterregelung

Danke für eure Antworten!

pylon:
Wieso steuerst Du den MOSFET nicht direkt an? Die IRF540 schalten spätestens bei 4V voll durch. Wenn Du den Transistor davor drin lassen willst, solltest Du versuchen, den Basis-Widerstand etwas zu verkleinern, damit er schneller durchschaltet. Obwohl 5kHz etwas gar wenig ist, ich hatte erst bei einigen MHz Problem in dieser Hinsicht.

Ich wollte damit ein "selbstleitendes" Verhalten erzeugen, damit im Fehlerfall der Lüfter auf maximaler Drehzahl läuft.
Ob das so sinnvoll ist, lässt sich vielleicht drüber streiten. Aber es sollte doch so generell möglich sein, oder?

pylon:
Was heisst "bleibt das Programm hängen" genau? Wie weit kommt es? Wird überhaupt noch etwas ausgegeben? Falls nein, mache mal etwas mehr Debug-Output rein.

Ja, das ist was schwammig, allerdings weiß ich nicht wirklich, wo ich mehr Debug-Output unterbringen soll.
In der Setup-Funktion lasse ich ja den Summer piepsen. Damit bekomme ich mit, wenn der Prozessor neustartet.
In jedem Programmdurchlauf gebe ich den PWM-Wert aus. Ich sehe dann, dass der Wert stetig zunimmt, bis etwa 200 (sprich 100 Programmdurchläufen), mal ist es etwas mehr, mal etwas weniger. Dann kommt per Serial-Output nichts mehr und der Lüfter dreht mit konstanter Drehzahl.
Wenn ich das Programm mit höheren PWM-Frequenzen laufen lasse, ist die Tendenz größer, dass der Prozessor neustartet. Außerdem findet das dann schon früher statt (<200).
Ich hoffe, dass das einigermaßen verständlich ist.

guntherb:
a) die 12V scheint garnicht gepuffert? hier könnte ein Elko nicht schade.
Ein Elko an der Prozessorversorgung hingegen ist überflüssig, da würde ich wenn dann eher auf 1n parallel zum 220nF gehen, aber das sollte bei den Frequenzen nicht nötig sein.

Die 12V kommen von einem Steckernetzteil. Ich dachte mir, dass dieses entsprechende Pufferkondensatoren verbaut hat.
Gerade habe ich mal noch mit einem 100µF Kondensator die 12V gepuffert, das hat das Problem nicht behoben.

guntherb:
b) Du solltest unbedingt einen Gate-Vorwiderstand verbauen (ca. 220R bis 470R) das reduziert die Stromspitzen beim Abschalten des FETS. Zum Verständnis: du entlädst die Gate-Kapazität des Fet direkt über Transistor. Das verursacht im Abschaltfall extrem schnelle (ns) Spikes (kann auch 1A sein), die auf der Induktivität der Zuleitungen (in dem Frequnezbereich ist ein Draht kein Draht mehr, sondern Spule, Kondensator, Widerstand, Antenne....) Spannungsspitzen von mehreren Volt erzeugen können.

Das war ein guten Tipp. Danke vor allem auch für die Erklärung!
Ich habe nun einen 390R zwischen Gate und den Collector gelötet. Damit komme ich nun auf etwa 15kHz. Das sind zwar noch nicht die 25kHz, die ich eigentlich angepeilt hatte, aber damit könnte ich leben, die Ansteuerung ist nicht mehr zu hören.

guntherb:
Ausserdem: ich kenne deinen Aufbau nicht, aber es könnte auch ein Problem der Masseführung sein. Versuche mal deine Masseleitungen dick, kurz, und am besten sternförmig zu halten. (eine Massefläche wäre noch besser).

Hmm, das klingt für mich plausibel, warum der Aufbau auf dem Steckbrett funktioniert und in meiner zusammengelöteten Schaltung auf der Lochrasterplatine nicht.
Ehrlich gesagt, habe ich mir bei dem Zusammenbau keine Gedanken über die Massenführung gemacht. Das ist meine erste Schaltung die mit "höheren Frequenzen" (>500Hz) arbeitet. Deswegen habe ich da leider keinerlei Erfahrung.
So wie ich das sehe, könnten meine Masseleitungen durchaus ungünstig gelegt sein. Ich kann morgen mal noch ein Bild machen, ich vermute allerdings, dass es schwierig wird da einen Überblick zu gewinnen.
Bevor ich allerdings die Schaltung komplett neu aufbaue, lebe ich dann doch lieber mit den 15kHz, das Löten war einiges an Arbeit...

guntherb:
Ansonsten das Problem langsam einkreisen:

  • ohne Lüfter betreiben. Wenns noch geht, eine andere Last (weniger Strom) probieren, wenns nicht geht, dann ohne FET betreiben etc.
    so lange weiter machen, bis man weiss welche Komponente die Störungen verursacht.

Ohne Lüfter läuft es auf jeden Fall. Ich werde morgen mal eine LED anstelle des Lüfters hängen. Mal schauen, ob ich dann über 15kHz komme.

Nochmals vielen Dank für die klasse Hilfe,
Dominik