PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Lüftersteuerung für den PC mit allem drum und dran



jodertan
05.02.2008, 15:26
Hallo,

Ich hatte vor mir einen kleinen Helfer zu bauen, damit mein PC schön leise ist wenn ich nur Surfe o.Ä.

Ich dachte dafür an einen Atmega128, aufgrund der vielen PWM-Ausgänge.
Damit das ganze auch noch schön anzusehen ist soll noch ein Display dazu um die gemessenen Temperaturne oder sonstwelche Spielereien auszugeben. Will ja auch was bei lernen..

Nur bin ich mir nicht ganz sicher ob das so funktioniert wie ich mir das Vorstelle. Die Temperaturen wollte ich über Heiß oder Kaltleiter, je nachdem was die schönere Kurve im Bereich von 20-100°C, direkt zwschen ADC und GND messen, kein Problem oder?

Allerdings weiss ich nicht ob ich die Lüfter so beschalten kann:

Das PWM-Signal geht auf GATE eines MOS-FET welcher auch direkt über SOURCE mit der Masse verbunden ist. An DRAIN kommt dann der negative Pol des Lüfters und seine zweite Stromversorgung ist mit +12V verbunden.
Noch ein paar kleine Kondensatoren und gut.
Damit auch alle Lüfter anlaufen erstmal komplett durchschalten, geht ja alles im Programm. Aber kann ich dann zum Beispiel die Einschaltdauer des PWMs auf 50% reduzieren um etwa 6V zu haben? Und wie sieht es mit der Frequenz aus? Lieber hoch oder einfach 50Hz rum...

Und als letztes, meine Lüfter haben 3 Kabel, auf einem befindet sich die Drehzahl, wie könnte ich die auswerten? Ich hab leider kein Osziloskop um nachzusehen was dort passiert ;)

Das ganze soll dann noch ein Paar Knöpfe bekommen um Dinge einzustellen, zwischen den Gemessenen Werten herumschalten etc... und ein Piepser der irgendwann nervt.

Am liebsten wäre es mir noch wenn ich den Controller mit dem ausschalten des PCs nicht deaktiviere, sondern er in einen der Energiesparmodi verfällt um eventuell eingestellte Werte nicht zu verlieren. Nur woher nehm ich da die Spannung am besten? Wenn das gar zu kompliziert wäre, dann muss das auch nicht sein. Würde wohl auch eine Ladeelektronik nach sich ziehen..

Wenn jemand noch ne nette Idee hat auf die Schnelle, noch ist nix gelötet ^^

mfg
Johannes

oratus sum
05.02.2008, 18:08
An sich ganz gute Idee ist mir auch mal in den Sinn gekommen, ich habs dann aber gelassen und mir ne fertige Lüfterregelung gekauft.

Das mit dem Energiesparmodus wird etwas kompliziert, da beim ausschalten des PCs das Netzteil auch ausgeschalten wird. Soweit ich weiß befindet sich auf jedem Mainboard noch ne Flachbatterie, allerdings glaube ich nicht, dass das ne alternative ist.

Bei den gemessen Temperaturen ist der Berreich nicht wirklich richtig.
Also wenn es in deinem PC über 70°C hat, dann würde ich mir Sorgen machen. Selbst der Professor sollte nicht so heiß werden. Die untere Messlatte stimmt so in etwa, obwohl ich noch nie unter 25°C war.

Mit dem Rest kenne ich mich nicht wirklich aus ;-)

Allerdings noch etwas, was du realisieren könntest:

Du könntest den Controller gleich mit der RS232 Schnittstelle (oder USB) verbinden. Dann kannst dus gleich am PC selbst steuern und bei bedarf Programme reinladen.

Aja nochwas:
Wenn es schön anzusehen ist, dann solltest du die LEDs nicht vergessen ;-) (Ich persönlich bevorzuge blau, diffus)

Viel Spass beim Umsetzen!

Pyro-Mike
05.02.2008, 20:35
Bei den gemessen Temperaturen ist der Berreich nicht wirklich richtig.
Also wenn es in deinem PC über 70°C hat, dann würde ich mir Sorgen machen. Selbst der Professor sollte nicht so heiß werden. Die untere Messlatte stimmt so in etwa, obwohl ich noch nie unter 25°C war.


Das kommt immer auf die Raumtemperatur an! ;)

Mein Gehäuse hat ein eingebautes Display, das die Uhrzeit und die Temperatur anzeigt.
Da ist eine kleine Knopfzelle eingebaut, könntest du auch machen. Du müsstest dann aber entweder die 3V-Version vom Atmega128 verwenden, oder zwei Batterien.
Du könntest natürlich auch nen kleinen Akku einbauen, der immer geladen wird, wenn der PC eingeschaltet ist.

Hubert.G
06.02.2008, 12:30
Bevor du damit beginnst solltest du sicherstellen das die Lüfter die du verwenden willst auch PWM vertragen. Die meisten dieser PC-Lüfter tun das aufgrund der eingebauten Elektronik nämlich nicht.

Robin1508
06.02.2008, 14:06
Also, soweit ich weis, ist das dritte Kabel der Lüfter ein normaler Drehgeber. Er gibt dir einen Impuls Pro umdrehung. (Kannst du ja leicht testen, nimm einen AVR mach ne LED dran und bestimm nen Pin als Eingang, wenn eingang = High, LED = an Dann drehst du den Lüfter im kreis und schaust ob es nur ein Impuls pro Drehung ist, andernfalls musst du später umrechnen.)
Das mit dem Netzteil stimmt soweit, es wird abgeschalten wenn der PC aus ist. Dann bleibt wirklich nur die Alternative eines kleinen Akkus. Braucht ja nicht viel, wirst dein PC ja nicht 3 Monate ohne Strom stehen lassen :P

jodertan
06.02.2008, 15:51
Hallo, danke für die Rückmeldungen soweit.

Das mit dem PWM an den Lüftern geht wirklich nicht so leicht leider, daher brauche ich eine glatte Gleichspannung, am besten mit einem Step-down-regler.

http://www.sprut.de/electronic/switch/schalt.html#down hier z.b.

Aber leider konnte ich nirgends Werte für die Spule und den Kondensator finden. Dazu kommt, das bei einer Regelung via PWM die ON-Zeit ja wahrscheinlich nie gleich lang wie die Off-Zeit. Wenn kürzer, kein Problem, dann kommt die Gap dazu, wenn sie länger wird, oder voll durchschaltet, weiß ich nicht ob das immernoch so funktioniert. Könnte aber gut möglich sein, abgesehen von geringen Verlusten an der Spule. Nur muss diese ja auch relativ hohe Ströme aushalten, ich denke mal so 0,5A wären ok.

Es gibt natürluch auch fertige Step-down-regler-bausteine. Aber erst ab 5€ und mit seltsamen Datenblatt, sieht aus wie eine Variable eingangsspannung zu festem Ausgang. Außerdem sind 5€ zu viel. Da würde ich eher noch irgendwelche Spannungsregler ein und ausschalten...

Ein direkter Anschluss an den PC scheint wirklich nett, da dachte ich auch schon dran, aber es wird ein kleiner HTPC sodass ich den Port des PCs nicht verschenken will. dort werde ich nur usb und einen Parrallelen haben. Einmal flaschen, vielleicht noch 10mal modifizieren das Programm und dann will ich da eh nicht weiter rumpfuschen.

3 Monate den PC aus für den Akku? Hm, Nickelbasierte Akkus verlieren am Tag 3% ihrer Kapazität, da wäre schon nach einem Monat schluss ^^

Aber im Moment fällt mir nichtmal ein wozu ich den COntroller noch anlassen sollte. Jeglichen Wert kann ich auch gleich im Programm modifizieren, Eventuelle Zustände per Knopfdruck herstellen ist dort ja auch kein Problem. Aber mal schauen, auf jedenfall werd eich am ENde eine leichte Erweiterbarkeit lassen.

Das ganze noch für eine optische Steuerung zu benutzen ist wirklich nicht schlecht, so ein Lauflicht am boden um das Case herum ^^
Nur mal schauen wie viele Ports ich nach der Mindestfunktion noch habe.. Display wird eh blau \:D/

Ansonsten werde ich mir wohl doch kleine Temperatursensoren für I²C anschauen, dann hab ich direkt genaue Ergebnisse im Klartext und keine Rechnerei und Plagerei mehr mit Temperatur-kurven. Wird wohl auch genauer im Endeffekt. Allerdings halt auch vier Kabel zu den Messpunkten, mal sehen.

Ich hab dort gesehen das jemand den Port erst als Ausgang schaltet und danach wieder auf EIngang damit sich ein dort aufgeladener Kondensator über den NTC entladen kann, er misst dann die Zeit um den Wiederstandswert zu ermitteln. Ist das wirklich nötig am ADC? Oder kann ich dort den NTC in Serie mit z.b. 1k schalten zwischen VCC und GND und einfach die Spannung messen die am NTC abfällt?

Und zum Temperaturbereich: Ich hab letztens in einem Benchmark gesehen das die 8800GT auf der Platinenrückseite am Chip 80° erreicht.

Das wars erstmal :D

mfg
Jo

python_rocks
06.02.2008, 17:39
Hallo Johannes!

Für dein PWM-Problem habe ich keine Lösung. Aber für das Speichern der Einstellungen. Die Atmega128-Controller haben einen EEPROM an Board. Darin kannst du rein schreiben was du willst. Die Daten bleiben erhalten. Einfach beim Start den EEPROM auslesen und schon hast du die Einstellungen wieder parat.

mfg
Gerold
:-)

avion23
06.02.2008, 18:08
Die Berechnung der SPule findest du hier:
http://schmidt-walter.eit.h-da.de/smps/smps.html
Mehr ist besser! Also z.b. statt 20µH lieber 30µH. Spulen bekommst du von reichelt. Achte auf den maximalen Spulenstrom. Da muss noch etwas Sicherheit bleiben!

Den Ripple mit Kondensator bei gegebener Frequenz kannst du dir selbst errechnen. Mehr Kapazität ist wie immer besser. Die Spannung muss aber nicht aalglatt sein, nur die elektronik soll nicht abstürzen.

Statt spezialisiertem Baustein kannst du den mikrocontroller verwenden. Attiny25, attiny26 gehen bis 250kHz.

Sinnvoll ist eine hohe Frequenz um die Spule klein zu halten. Also brauchst du auch einen Treiber für deinen Mosfet. Treiber gibt es z.b. *7667, irf* bei reichelt. Mosfet ist *relativ* egal, kleine Gatekapazität ist förderlich, schnelle Schaltzeiten, auch R_DS_on ist wichtig.

Aber da können dir andere Leute mehr zu sagen...

jodertan
07.02.2008, 13:31
Ah, danke, ich dachte in den EEPROM kommt letztendlich beim flashen das Programm. Und wenn das wirklich so ist, kann ich dann nicht einfach den EEPROM von hinten beschreiben? sodass ich Vorne das Programm habe und hinten dann meine 3 Zahlen die ich speichern wollte?

Mit Treiber für den Mosfet meinst du einen Transistor der dann mit höhere Spannung als die der Logik ans Gate geht oder? Wenn ich das alles brauche, wäre es dann nicht sinnvoller einen Low-Drop Mosfet zu nehmen?

Und damit der sich auch entladen kann, Parrallel ziwschen Gate und GND einen Wiederstand den der Mikrocontroller noch packt, am Mosfet brauch ich ja praktisch nur Spannung. 20mA hin oder her machen den Pc am Ende auch nicht mehr Fett, also Stromverbrauch wird da kein Thema sein.

Was ist denn mit dem Ripple gemeint?

Wenn ich so 1kHz als Frequens nehme fahre ich denke ich ganz gut, 15µH sagt mir der Rechner bei einem Ausgangsstrom von 0.5A, Spulenstrom maximal 0.6A. Also nehm ich einfach 1A für die Spule, dann kann ich auch mal 2 Lüfter an einen Port schließen. (einer macht in der Regel ja nur ~200mA). Dennoch werde ich wohl eine Siherung einbauen, nicht das mir irgendwas abschmiert bei so eine Konstruktion im PC.

Die Diode muss beim Buck-converter aber dann auch den Strom abkönnen oder? kann ja sonst auch nicht sein..

mfg
Jo

python_rocks
07.02.2008, 13:54
Ah, danke, ich dachte in den EEPROM kommt letztendlich beim flashen das Programm.
Hallo Jo!

Nein. Das Programm kommt in den Flash-Speicher und der EEPROM ist dafür da um Einstellungen zwischenspeichern zu können.

Der EEPROM ist also frei. Du musst ihn nur ansprechen.

mfg
Gerold
:-)

avion23
07.02.2008, 14:37
Urg... volle Breitseite :(



Mit Treiber für den Mosfet meinst du einen Transistor der dann mit höhere Spannung als die der Logik ans Gate geht oder? Wenn ich das alles brauche, wäre es dann nicht sinnvoller einen Low-Drop Mosfet zu nehmen?

Und damit der sich auch entladen kann, Parrallel ziwschen Gate und GND einen Wiederstand den der Mikrocontroller noch packt, am Mosfet brauch ich ja praktisch nur Spannung. 20mA hin oder her machen den Pc am Ende auch nicht mehr Fett, also Stromverbrauch wird da kein Thema sein.


Google mal nach mosfet-treiber. Kurzfassung: Während der Mosfet umschaltet ist er nur halbleitend/halbsperrend. Dieser Zustand ist zwar nur kurz, aber während dieser Zeit ensteht eine enorme Verlustleistung. Wenn du viele 1000x in der Sekunde schaltest, ensteht auch jedes mal ein bisschen Verlustleistung. Das führt zu einem niedrigerem Wirkungsgrad oder abrauchen des Mosfets. Deswegen möchte man möglichst schnell umschalten. Dafür braucht man hohe Ströme, weil das Gate als Kondensator wirkt. Den Nutzen bzw. die Notwendigkeit eines Treibers sieht man aber leider erst ein, wenn man ihn wirklich braucht :(

So wie du es beschrieben hast, sollte man es gerade nicht machen, bzw. nur einmal ;)



Was ist denn mit dem Ripple gemeint?

Wenn ich so 1kHz als Frequens nehme fahre ich denke ich ganz gut, 15µH sagt mir der Rechner bei einem Ausgangsstrom von 0.5A, Spulenstrom maximal 0.6A. Also nehm ich einfach 1A für die Spule, dann kann ich auch mal 2 Lüfter an einen Port schließen. (einer macht in der Regel ja nur ~200mA). Dennoch werde ich wohl eine Siherung einbauen, nicht das mir irgendwas abschmiert bei so eine Konstruktion im PC.

Schade, ich habe mich gerade gefreut. 15µH bei 1kHz würden sehr viele Probleme lösen :) Dir ist schon klar, dass die Frequenz die Einheit [f]= kHz bei dem Tool hat? Bei 1kHz wären es L = 27.03mH.
Sicherung könntest du weglassen. Im Fehlerfall werden die Leiterbahnen als Sicherung benutzt (20A).

Ripple entspricht der Restwelligkeit (ripple - Kräuselung).


Die Diode muss beim Buck-converter aber dann auch den Strom abkönnen oder? kann ja sonst auch nicht sein..

mfg
Jo
Yeph genau. Beim abklingen fließt der Strom durch die Freilaufdiode.

Das war jetzt ziemlich viel auf einmal. Lies einfach noch etwas auf Wiki & Co, das hilft sehr viel. Ein paar deiner Fragen hättest du dort beantwortet gefunden. Es ist ein komplexes Thema, da muss man sich leider erst einarbeiten...

beathead
24.06.2008, 11:19
Ähmm, kurzer Kommentar noch zum Step-Down-Converter:

ist das für diese Anwendung nicht ein bissl zu komplex?
Wie wäre es statt dessem, wenn man einfach mit einem einfachen RC-Glied den Wechselanteil des PWM herausfischt und nur den Gleichanteil zum Lüfter schickt? So hätte ich das mal in meiner eigenen Lüftersteuerung (Projekt an der Schule) realisiert... Habe das aber auch noch nicht ausprobiert. Theoretisch sollte es jedoch funzen und der Bauteilaufwand (sowie Rechenaufwand) wäre erheblich reduziert... Geschweige denn, das ich Induktivitäten sowieso immer in meinen Entwicklungen meide...

lg,
beathead

Besserwessi
24.06.2008, 16:51
Ein Mega128 wäre mir für eine Lüftersteuerung zu groß. Eventuell besser 2 x ein Tiny26 oder Mega48.

Bei der relativ kleinen Leistung der Lüfter kann man den Schaltregler ruhig auch mit einen normalen Bipolaren Transistor oder einem kleinen (ca. 1-2A) Logic Level Fet aufbauen, dann braucht man keinen extra gate treiber. Auch extra Schaltnetzteil Ics könnten sinnvollsein, dann könnte man nämlich den Sollwert per Software PWM vorgeben, denn man braucht dann nicht mehr die hohen Frequenzen. Ein MC34063 / TL497 würde da schon reichen und ist kaum teurer als ein MOSFET.
Die Schwierigkeit könnte werden, das man wegen des Sensorausgangs gerne die Masse direkt zuführen will. Dann müßte man wohl die Positive Spannungs schalten und einen P-kanal FET nehmen. Direkt am Controller scheident dann schon mal fast aus.

Die Lineare Steuerung würde auch gehen, aber man produziert dann unnötig viel Wärme

oratus sum
29.06.2008, 19:36
Aja sry, das mit dem Netzteil stimmt nciht ganz. Wenn du den PC ausschaltest, wird eine Standby Leitung erhalten. Die ganze du vom Stecker abgreifen, wo alle Drähte vorhanden sind. Diese Leitung hat 5V und sonst die normalen Eigenschaften wie beim Eingeschalteten NT die 5V.

Such mal in Google nach Standby Netzteil Spannung oder sowas, wirst sicher fündig.

Pyro-Mike
30.06.2008, 12:42
http://www.atx-netzteil.de/atx_pinbelegung.htm