Hallo Elektronik-Spezialisten, ich möchte einen kleinen Gleichstrom-Motor in der Drehzahl regeln. Konkret geht es um einen Lüfter, so wie er auch in PC-Netzteilen verwendet wird. Das ist eines meiner ersten Projekte, und ich würde mich über Unterstützung bei meinen Überlegungen echt freuen!! Was gibt es da überhaupt für Möglichkeiten? Ich dachte gleich mal an einen Mikrocontroller, deswegen bin ich auch hier in diesem Forum gelandet. Bin nämlich günstig an einen ATmega-168 gekommen. Der ist vielleicht etwas übertrieben für so ein kleine Aufgabe, aber ich würde ohnehin gerne mal lernen wie so etwas funktioniert. Meine erste Idee: mit dem µC eine PWM ausgeben, die im Mittel ja wieder eine Gleichspannung unterschiedlicher Höhe ergibt. Dementsprechend müsste sich der Lüfter je nach Spannung unterschiedlich schnell drehen? Oder kann ich auch ganz einfach einen MOSFET in Reihe zu dem Lüfter schalten und damit den Stromfluss steuern? Ihr seht schon, ich bin noch ganz am Anfang mit diesem Vorhaben, aber für euch sind das sicher einfache Fragen. Für Hilfe also im voraus schonmal vielen Dank! Mfg, GFunk
Warum willst du denn den Lüfter in der Drehzahl regeln? Um ihn leiser zu machen? Das geht oft schief, weil das PWM-Getakte dann oft nerviger ist. Temperaturgeregelte sind oft leiser. Große PA-Endstufen verfolgen oft ein mehrstufiges Konzept. Sie haben zwei Lüfter und schalten entweder keinen, einen oder alle beide an. Kai Klaas
Wow, echt klasse wie schnell hier eine Antwort kommt ;-) Vielen Dank! Also der Lüfter muss nicht leise sein. Ich betreibe ihn ja nicht im PC, sondern so auf dem Tisch. Später will ich ihn dann mal in eine Kiste einbauen, um darin die Temperatur konstant zu halten. Das Geräusch ist da erstmal zweitrangig. Mir geht es auch momentan eher um Unterstützung bei meinen Ideen was es überhaupt für Möglichkeiten gibt die Drehzahl zu regeln. Also irgendwie muss ich doch die Spannung an den Klemmen des Lüfters einstellen? Was mir dazu einfällt ist ein Vorwiderstand, aber das ist unpraktisch, weil ich will es ja elektronisch regeln (mit einem µC), oder eben die PWM-Steuerung. Oder wie schon erwähnt: ich lege konstant 12V an den Lüfter und versuche irgendwie den Stromfluss mit einem Transistor zu steuern falls das funktioniert. Was sind das für temperaturgeregelte Teile von denen du sprichst?
ich hab mal auch so was benötigt, allerdings hab ich das mit einem NE555 gelöst. http://www.atx-netzteil.de/pwm_mit_ne555.htm#Schaltung%202 Wenn du mit nem µC was machen willst, musst du dich mit dem Programmieren beschäftigen und einiges beachten. Ich weiß auch nicht wie fit du mit den µC´s bist. Evtl. ist die Schaltung mit einem NE555 für dich besser. Du hast bei der Schaltung ein Poti dran, mit dem du die Drehzahl steuern kannst ich hab ma da mehrere Platinen gebaut Geht auch zum Steuern der Helligkeit von LED´s mfG
ah, ok, der sieht nicht schlecht aus. Nur, wie kann ICH diesen Lüfter regeln? Ich möchte nicht dass er sich selbst regelt, sondern schon etwas flexibler sein, daher will ich es auch selbst bauen (abgesehen von dem Lerneffekt bei meinem neuen Hobby hier ;-) Also stelle ich meinen bisherigen Plan mal etwas präziser vor, wennglich ich mich noch ganz am Anfang befinde und möglichweise nachher alles ganz anders mache. Momentan ist da der ATmega168, von dem ich noch nicht weiß wie er zu programmieren ist, aber das bringe ich mir gerade parallel bei. An einem Analogeingang lege ich eine Spannung an, von 3V bis 3,5V einstellbar über einfachen Spannungsteiler mit Poti. Hierüber will ich eine Temperatur vorgeben (später soll statt dem Poti eine Temperatursensor hin). Jedenfalls soll der Atmel dann eine PWM ausgeben und den Lüfter entsprechend ansteuern. Bei unter 3V am Analogeingang soll der Lüfter aus sein. Und bei 3,5V volle PWM. Habe gerade noch gegoogelt und bei ebm-pabst Lüfter gefunden die direkt ein PWM-Signal verarbeiten können. Hab aber nicht gefunden wie genau das funktioniert. Ansonsten muss ich mir noch was überlegen wie die PWM auf den Lüfter zu geben ist. Der Strom kann ja nicht vom Atmel kommen. Also muss ich da noch einen Transistor vorsehen? Mfg, GFunk
@meima: oh, der Beitrag hat sich gerade mit meinem überschnitten. Das mit dem NE555 ist auch ne gute Idee. Werde es mir gleich näher ansehen.
Ich habe gerade die Schaltung von meima genauer studiert. Wenn das so funktioniert wäre es für mich echt die bevorzugte Lösung, zumal ich tatsächlich noch keine Ahnung habe wie der Atmel zu programmieren wäre. Aber irgendwie will ich das schon noch lernen, zumindest da ich ja jetzt schonmal einen habe. Nun werde ich versuchen die Schaltung von meima an meine Bedürfnisse anzupassen und statt dem Poti einen temperaturabhängigen Widerstand einbauen (pt100). Werde dann später mal den Plan hier reinstellen. Bestimmt ergibt sich auch noch die eine oder andere Frage. Aber zunächst vielen Dank an meima!! Super Plan! btw: womit hast du den Schaltplan gezeichnet? sieht echt schön aus.
Das mit dem PT100 ist schonmal der richtige ansatz, wiso du den allerdings als ersatz fürs poti siehst, verstehe ich nicht ganz... sinnvoll wär docvh ein pt100 um die temperatur zu messen, und ein poti (ich würd nen drehencoder bevorzugen) um die gewünschte temperatur einzustellen... ob es sinnvoll ist die drehzahl zu regeln wäre eine andere frage, da der zusammenhang zwischen spannung und drehzahl nicht linear ist (drehzahl ist von der spannung abhängig nicht vom strom...) ich würde nen 2-punkte regler empfehlen, hätte den vorteil, dass du auch kein pwm benötigen würdest, sondern den lüfter einfach über einen mosfet an und ausschalten kannst...
@GFunk: also der Plan ist leider nicht von mir. Schau mal auf den besagten Link. Da steht unten eine kontaktangabe! ;-) Freut mich, wenn ich dir helfen konnte ;-) Mich würde dein Ideen auch sehr interessieren! Schau dir mal die anderen Projekte auf der besagten Seite an, ist interessantes dabei!
Also das ist doch alles nicht so einfach. Wie immer halt ... Die Schaltung von meima (s.o.) eignet sich für mich doch nicht so recht. Da kann ich zwar die Drehzahl einstellen, dann aber bleibt sie konstant so wie eingestellt. Ich will aber die Temperatur bestimmen, und in Abhängigkeit davon den Lüfter regeln, d.h. die Drehzahl ändert sich ständig. Das ist doch ein klassischer Anwendungsfall für den µC. Außerdem bin ich damit flexibel und kann in der Software auch eine andere Temperatur einstellen. Nun habe ich den festen Entschluss gefasst mit dem µC weiter zu machen. Also im Anhang mal mein Plan: Der PT100 ändert seinen Widerstand mit der Temperatur. Die sich einstellende Spannung über dem Spannungsteiler gebe ich an einen Analogeingang, und kann damit im Programm die exakte Temperatur bestimmen. Nun will ich in meiner Kiste konstant 30°C haben! Also bei 31° gebe ich volle PWM aus, d.h. der Lüfter dreht mit maximaler Drehzahl. Wenn die Temperatur sinkt, kann ich die Drehzahl verringern. Bei 29° mache ich den Lüfter aus. Den MOSFET übernehme ich aus der Schaltung von meima, finde ich ganz gut so. Damit kann ich einen Standard-Lüfter verwenden, und brauche nicht so einen mit PWM-Eingang von ebmpabst besorgen. Sodele, wäre super wenn ihr meinen Plan noch kommentiert, damit ich morgen mit der Programmierung beginnen kann (schätze das wird die größte Herausforderung ...). @David: Das mit der 2-punkt-regelung meinst du so wie ich es jetzt auch geplant habe, oder? Das mit der Einstellung über Drehencoder habe ich nicht ganz verstanden. Kannst du es vlt. nochmal erläutern? Ich wünsche einen schönen Abend! Mfg, GFunk
Hallo GFunk, das was du oben beschrieben hast (Bei 31°C ein, bei 29°C aus) ist eine Zweipunktregelung. Für einfache Zwecke (Ohne übermässige Genaugikeitsanforderungen) reicht das aus und funktioniert auch ganz gut. Wenn es genauer sein soll, müsste schon ein "richtiger" Regler her. Bei den "gewöhnlichen" Lüftern aus PCs wirst du aber mit PWM höchstwahrscheinlich ein Problem bekommen. Nicht unbedingt wegen dem Pfeifen, sondern weil du die Lüfterinterne Steuerung damit durcheinanderbringst. Das sind ja nicht einfache DC-Kollektormotoren, sondern elektronisch kommutierte Synchronmaschinen (Oder sowas in der Art). Jedenfalls ist eine gescheite Drehzahlsteuerung meistens nur per Analogspannung möglich. Oder halt mit einem dafür ausgelegten Lüfter.
@GFunk Ich lese aus deinem Beitrag das du mit µC noch keine Erfahrung hast. Daher mein Tipp erst mal das Tutorial des Forums Schritt für Schritt durchzuarbeiten und nicht gleich mit PWM zu beginnen. Die Tools muss man ja auch erst mal in den Griff bekommen.
Mein Tipp: Verwende einen PC-Lüfter mit 4 Pin Anschluss: dann brauchst du keinen Mosfet und hast weniger Probleme mit der Ansteuerung. Prinzipiell kannst du auch noch die Drehzahl bestimmen.
Sodele, das mit der Programmierung wird schon klappen. Ich brauch immer ein konkretes Ziel um sowas zu lernen. Und in diesem Forum bin ich ja genau richtig ;-) Habe eben meinen Schaltplan nochmal angepasst. Eine 2-punkt-regelung über +/-1° finde ich schon ziemlich genau. Der PT100 ändert seinen Widerstand dabei um weniger als 1 Ohm. Nach meiner Berechnung kann das der µC mit 10bit garnicht auflösen. Deshalb habe ich nun noch einen Differenzverstärker davor gebaut. Der PT100 hat bei Raumtemperatur ca. 110 Ohm. Darauf stelle ich auch das Poti ein, und verstärke dann die Differenz um den Faktor 82. Für meinen Fall ergibt das dann einen Hub der analogen Spannung um ca. 0,6V bei einer Temperaturerhöhung von 1°. Das sollte der µC erkennen. Bezüglich Lüfter nehme ich dann halt doch so ein Modell von ebm-pabst mit direktem PWM-Eingang. Habe nur keine Ahnung wie der anzuschließen ist. Wozu ist denn der vierte Anschluss? Hier habe ich mal so Lüfter gefunden: http://www.pcsilent.de/de-pd-Papst-Luefter-4412-F_2GP-120mm-PWM-Luefter-Pabst-Luefter-PWM-Steuerung-633.html Nur finde ich halt kein Datenblatt dazu... Würde mich echt freuen wenn mir da noch jemand weiterhelfen kann! Und Kommentare zu meinem bisherigen Schaltplan? Mfg, GFunk
Hallo der 4. PIN ist ein Tachosignal. Mit einem Pullup (Widerstand ca. 1k nach +5V) bekommst du hier jede Umdehung einen digitalen Impuls. Das ist für eine Drehzahlregelung optimal. Temperaturmessung würde ich mit NTC und R in Reihe nach 5V machen. Ist einfacher und normalerweise genau genug. Mfg Michael
Man bekommt evtl auch mehrere Impulse (2m teilweise 4) pro Umdrehung Zum Anschließen der Pins: http://www.ebmpapst.com/media/content/products_1/downloads_9/compact_fans/Kompaktluefter_Specials_2008_DE.pdf Evtl. hier nachschauen, was dein Lüfter "hat" http://www.ebmpapst.com/media/content/products_1/downloads_9/compact_fans/Kompaktluefter_DC_2008_DE.pdf
Super, das waren genau die Dokumente die ich gebraucht habe. Ich nehme dann so einen Lüfter mit 4 Pins, wobei ich das Tachosignal vorerst mal nicht auswerten muss. Bei 100% PWM sollte er halt mit Maximaldrehzahl laufen, aber das werde ich dann schon sehen. Anbei noch mein Detail-Plan, wie ich den Lüfter anzuschließen gedenke. Hardware steht dann soweit :-) Nun geht's ans Programmieren ... Vielen Dank an alle guten Ratgeber! Mfg, GFunk
Nun habe ich mich eine gute Weile mit dem Tutorial zur Programmierung des ATmega befasst. Wie ich das so sehe gibt es im wesentlichen zwei Möglichkeiten: 1. Assembler (AVR Studio), 2. C-Code (WinAVR GCC). Da ihr ja nun schon mein Vorhaben kennt, was würdet ihr mir denn empfehlen? Welche Art der Programmierung eignet sich besser für so eine PWM-Steuerung? Mfg, GFunk
Da scheiden sich die Geister... Hast du schonmal was mit C gemacht? Magst du den Buchstaben C? Kennst du andere Hochsprachen? Dann nimm C ;) Grüsse
puuh, also da bin ich wieder habe mich für C entschieden, und zwischenzeitlich das GCC-Tutorial durch. Ist klar soweit, und echt ganz cool. Also der Aufwand hat sich gelohnt ;-) Habe inwzischen auch ein Programm das läuft, aber ein paar Fragen dazu. Wäre das ok, wenn ich den Code hier mal reinstelle? Und so allgemein: Wie erzeugt man denn kontinuierlich eine PWM in Abhängigkeit vom eingelesenen Analogwert? Aktuell lese ich den Wert aus dem ADC-Register und werte diesen dann in einer if-verzweigung stufenweise aus. Aber das ist etwas umständlich und bei vielen Stufen auch nervig. Der ADC läuft übrigens ständig (free-running). Da muss ich nicht warten bis der eine Umwandlung fertig hat, oder? Dann noch was zu dem Lüfter mit 4 Pins: Bei 0% PWM dreht der sich trotzdem. Ist das normal? Viele Grüße und einen schönen Abend, GFunk
achso, ich hab jetzt doch nen anderen µC, und zwar AT90CAN128, aber egal. prinzipiell funktioniert alles so wie im tutorial.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.