Pages: 1 [2] 3   Go Down
Author Topic: standalone arduino - MOSFET PWM für Lüfterregelung  (Read 4222 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 30
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke für eure Antworten!

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?

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.

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.

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.

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...

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
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 30
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So, nun habe ich noch ein paar Sachen probiert.

Zum einen habe ich mal anstatt des Lüfters nur eine LED als Last betrieben. Damit läuft es einwandfrei, auch bei 25kHz.

Als Gate Widerstand habe ich mal noch anstelle der 390 Ohm 470 Ohm eingelötet.

Mittlerweile kann ich jetzt die Schaltung auch mit 20-25 kHz und angeschlossenem Lüfter betreiben, allerdings noch nicht wirklich zuverlässig. Aber immerhin gibt es nicht mehr jedes mal Probleme, wenn ein hoher PWM Wert erreicht wird. Das zeigt ja, dass es in die Richtige Richtung geht smiley

Ich habe mal noch ein Bild von der Unterseite meiner Platine gemacht. Schön ist sicherlich was anderes smiley-red
Die rot markierten Leiter sind die Masse Bahnen. Auf der Oberseite habe ich auch noch eine Masse-Käbelchen verlegt, allerdings bekommt man da von einem Foto wohl keinen Überblick, da dort auch noch einige andere Kabel laufen...
Die gelbe Bahn ist eine 5V Leitung (Versorgungsspannung der Schieberegister). Ich hoffe, dass die beiden Leitungen nebeneinander keine Probleme machen. Allerdings liegt da ja keine dynamische Spannung drauf.
Außerdem habe ich mal noch die Pins des MOSFETs und des Bipolartransistors mit Grün markiert.
Hoffentlich ist das Bild kein Musterbeispiel wie man es nicht machen sollte... smiley-roll

Wenn es also mit kleineren Maßnahmen noch möglich ist die Masseführung zu verbessern, dann würde ich das mal noch probieren.

Wie gesagt, eigentlich könnte ich jetzt auch mit ~15kHz leben, damit scheint der Aufbau nun einigermaßen stabil zu funktionieren. Da ich aber gerne aus meinen Fehlern lerne und 25kHz eigentlich auch nicht gerade Hochfrequenztechnik sein sollte, würde ich auch noch Verbesserungsmaßnahmen durchführen (wenn ich nicht die Platine komplett neu aufbauen muss).

EDIT: Sorry, das Bild zu verkleinern habe ich im Eifer des Gefechts vergessen smiley-red. Ich bin sonst auch kein Fan von solchen "Postern".
Habe einen neuen Anhang beigefügt.


* 20130322_100907_edit2.jpeg (482.75 KB, 1306x979 - viewed 52 times.)
« Last Edit: March 22, 2013, 10:30:16 am by dominikdh » Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Kann mir mal einer erklären warum hier immer Bilder mit 3000x2000 Pixeln Auflösung hochgeladen werden? Das viele Scrollen macht es schwieriger den Überblick über eine Schaltung zu bekommen, als wenn man ein Bild mit 1280x1024 oder so ähnlich hat. Mehr Details bekommt man mit der hohen Auflösung eh nicht, die meisten Bilder wirken dann eh schon verschwommen.
Logged

Germany
Offline Offline
Faraday Member
**
Karma: 59
Posts: 3071
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ist eigentlich ein Problem der Forum-Webseite, die sollte die Bilder nicht nur als Daumennagel und volle Pixelgröße, sondern auch/besser mit "width=100%" oder so bereitstellen können. Das würde normalen Browsern viel helfen.

Meine Freunde gucken immer blöd, wenn ich mich über gemailte Bilder von xMB Größe mit dem Hinweis beschwere, ich wolle sie mir nur auf dem Bildschirm anschauen. (Schaff dir doch schnelleres Internet an)
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ist eigentlich ein Problem der Forum-Webseite, die sollte die Bilder nicht nur als Daumennagel und volle Pixelgröße, sondern auch/besser mit "width=100%" oder so bereitstellen können. Das würde normalen Browsern viel helfen.
Nicht ganz. Denn die width=100% ändern leider nix an der Größe der Bildatei. Wer z.B. mobil, weil unterwegs oder auf Arbeit im Forum mitliest, der hat dann ein Problem.
Ich betreue ehrenamtlich die IT eines größeren Tierschutzvereins. Dort kommen teilweise mehrere Mails pro Tag zu vermissten Tieren an. Viele der Leute scheinen da auch zu glauben das die Größe des Bildes direkt proportional zur Chance ist, das Tier wieder zu finden. Daher kenne ich die Mailproblematik auch recht gut :-)
Logged

Offline Offline
Edison Member
*
Karma: 39
Posts: 1177
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mittlerweile kann ich jetzt die Schaltung auch mit 20-25 kHz und angeschlossenem Lüfter betreiben ....
Glückwunsch!

Wenn es also mit kleineren Maßnahmen noch möglich ist die Masseführung zu verbessern, dann würde ich das mal noch probieren.
Das ist nicht so einfach zu beantworten, weil eine wichtige Info fehlt: Wo ist die Spannungsversorgung angeschlossen, wo sitzt der Spannungsregler?

Was mir auf alle Fälle sehr ungünstig erscheint, dass die Masse des MosFet von der Source über den Prozessor führt.
Hier würde ich versuchen einen direkte Masseverbindung der Source nach rechts auf den Massering zu ziehen.

Generell gilt: Vom Leistungsteil (MOSFET, Spannungsregler möglichst kurz und dick zur Masseklemme der Versorgung (bzw. des Elkos dort), vom Prozessor möglichst kurz zum Massefußpunkt des 5V Reglers.

Gunther
Logged

Grüße
Gunther

Offline Offline
Newbie
*
Karma: 0
Posts: 30
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So, sieht gut aus smiley
Ich habe mal die Masse von der Source direkt nach rechts weg verlegt, nun läuft es absolut fehlerfrei smiley
Gerade lasse ich das Programm mal zu Testzwecken mit 50kHz laufen, bisher ohne Fehler!

Ich habe trotzdem mal noch in das Bild die Anschlussklemme der Spannungsversorgung (GND/+12v) und die Positionen der Spannungsregler (7808/7805) eingetragen. Da ich kein neues Bild gemacht habe, ist die Masseleitung vom MOSFET natürlich noch die Alte.
Wenn du also noch einen kurzen Kommentar zu der Masseführung hast, würde mich das schon interessieren. Wie gesagt, ich lerne gerne dazu smiley-wink


* 20130322_100907_neu2.jpeg (484.22 KB, 1306x979 - viewed 48 times.)
Logged

Offline Offline
Edison Member
*
Karma: 39
Posts: 1177
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die Anbindung der Spannungsregler an die Masse ist perfekt.

Idealerweise wäre der Mosfet auch links unter den Spannungsreglern.

Also alle Leistungsführenden Bauteile zusammen in eine Ecke, alle signalführenden Bauteile in die andere.
Damit vermeidet auch, dass hohe Ströme, oder schnelle, Störungen verursachende PWM, quer über die Platte laufen.

Etwas verbessern kannst du die Sache, wenn du den Masserahmen aus dickem Draht ausführst, z.B. 1.5mm² massiv, was aber beim Löten eher Probleme verursacht.

Am besten ist es immer die großen Ströme an einer Stelle zu konzentrieren, damit sie garnicht erst in den Aufbau reinkommen.

Grüße

Gunther
Logged

Grüße
Gunther

Offline Offline
Newbie
*
Karma: 0
Posts: 30
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, das macht Sinn.

Wenn ich das nächste mal etwas mit Frequezen > 60Hz mache, werde ich mir wohl erstmal noch etwas Theorie aneignen müssen. Habe doch gemerkt, dass mir da noch einiges an Wissen fehlte. Bin halt Maschinenbauer und kein E-Techniker smiley-wink.
Da wäre ich ohne deine Hilfe doch aufgeschmissen gewesen.
Also nochmals vielen herzlichen Dank!
Logged

Offline Offline
Edison Member
*
Karma: 39
Posts: 1177
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Immer gerne.

vom programmieren verstehe ich leider nicht soviel wie von Hardware... smiley-red

Und da mir hier auch schon oft geholfen wurde, gebe ich gerne was  zurück.

Gunther
Logged

Grüße
Gunther

Online Online
God Member
*****
Karma: 14
Posts: 995
ATmega 2560
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Da Lüfter allerdings bei der relativ niedrigen PWM-Frequenz des Arduinos hörbare Pips-Geräusche von sich geben, will ich die Frequenz mit der PWM frequency library auf 25kHz hochsetzten. Damit klappt das feaden jedoch noch nicht, ab einem bestimmten PWM Wert bricht die Spannung wohl wieder zu weit ein, sodass der Atmega irgendwie hängen bleibt (jedoch nicht neu startet)...

Hier liegt vielleicht auch ein Problem begründet. 500Hz PWM Frequenz ist nicht zu wenig. Sondern schon zu viel für eine Lüftersteuerung. Du müßtest runter statt hoch. So um die 150Hz, dann sollte kein Lüfter mehr fieben. Zur größten Not kann man noch einen kleinen RC an den PWM Ausgang setzen um die Kanten zu glätten. Spätestens dann fiebt nichts mehr. Die feine Steuerung per PWM bleibt voll erhalten.


Logged

Tschau
Doc Arduino

Offline Offline
Newbie
*
Karma: 0
Posts: 30
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hmm, ok.

Auf die 25kHz bin ich auf diversen Seiten gestoßen, u.a. auf der englischen Wikipedia.

Wenn ich mit der PWM Frequenz runter gehe und ein RC-Glied dahinter schalte, wäre es ja im Prinzip eine Drehzahlanpassung des Gleichstrommotors durch die Variation der Betriebsspannung, oder?
Dann wäre es ja ein anderer "physikalischer Ansatz", wenn ich das richtig verstehe...

Spricht denn etwas dagegen den Lüfter direkt mit einer höheren PWM Frequenz zu regeln? Leidet darunter auf Dauer der Lüftermotor?
Logged

Offline Offline
Edison Member
*
Karma: 39
Posts: 1177
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Spricht denn etwas dagegen den Lüfter direkt mit einer höheren PWM Frequenz zu regeln? Leidet darunter auf Dauer der Lüftermotor?
Nein, definitiv nicht.
Durch die PWM im nicht hörbaren Bereich (>20khz) hörst du das fiepen nicht mehr.  Durch die PWM wird der Strom durch den Lüftermotor reduziert.
bei PWM 150Hz + RC Glied erzeugst du eine reduzierte gleichspannung (wobei der C dann schon sehr gross sein muß) nur das verschleifen der Flanken reduziert die zwar die Lautstärke, löst das Problem aber nicht grundsätzlich. PWM >20kHz ist der professionellere Weg, hat allerdings, wie du ja selbst gemerkt hast, auch manch tückische Auswirkung....  smiley-wink

Gunther
Logged

Grüße
Gunther

Offline Offline
Newbie
*
Karma: 0
Posts: 30
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja, so habe ich es auch verstanden.

Trotzdem danke für die Anregung  smiley
Logged

Online Online
God Member
*****
Karma: 14
Posts: 995
ATmega 2560
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

das wundert mich jetzt wirklich. Meine gekaufte Lüftersteuerrung "T-Balancer" arbeitet mit ca. 140Hz PWM einwandfrei.
Habe mal bei Intel nachgeschaut was die für Ihre 4Pin Lüftersteuerung vorschreiben ... Tatsache ebenfalls 25kHz.
http://www.formfactors.org/developer%5Cspecs%5CREV1_2_Public.pdf
Naja, je höher die Frequenz um so mehr sieht es für den angeschlossenen Verbraucher nach Gleichspannung aus.  smiley-wink

Mich würde jetzt interessieren, ob man bei höherer Frequenz dann noch genauso gut gegen 0 regeln kann? Laut dem Dokument soll man nicht unter 15% gehen. Die Periodendauer ist bei 500Hz 2ms lang und bei 25kHz nur noch 40µs. Ich meine bei einer 8Bit Auflösung entpricht PWM 1 bei 500Hz noch 8µs und bei 25kHz nur noch 157ns. Recht kurzer Impuls.

Ihr werdet das schon richtig machen.  smiley-wink

Logged

Tschau
Doc Arduino

Pages: 1 [2] 3   Go Up
Jump to: