Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Haftungsausschluss
- Schritt 2: So funktioniert die Lüftersteuerung
- Schritt 3: Löten von elektronischen Komponenten
- Schritt 4: Programmierung des ATtiny-Mikrocontrollers
- Schritt 5: Anschließen von Lüftern an das Gerät
- Schritt 6: Andere Änderungen, die ich an meinem PC vorgenommen habe
Video: CPU- und GPU-gesteuerte Lüftersteuerung - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Ich habe vor kurzem meine Grafikkarte aufgerüstet. Neues GPU-Modell hat eine höhere TDP als meine CPU und eine alte GPU, daher wollte ich auch zusätzliche Gehäuselüfter einbauen. Leider hat mein MOBO nur 3 Lüfteranschlüsse mit Drehzahlregelung, und diese können nur mit der CPU- oder Chipsatztemperatur verknüpft werden. Ich beschloss, dies zu beheben, indem ich meine eigene PC-Lüftersteuerung entwarf, die die Drehzahlen bereits installierter Lüfter (sowohl der mit dem MOBO verbundenen und von der CPU-Temperatur angetriebenen als auch derjenigen, die die GPU kühlen) ausliest und über zwei Ausgangskanäle verfügt. Kanal A verwendet die Geschwindigkeit sowohl der CPU- als auch der GPU-Temperatur-gekoppelten Lüfter, um 3-Pin-Ausgangslüfter mit variabler Geschwindigkeit anzutreiben. Kanal B erkennt nur die Geschwindigkeit der GPU-Lüfter und seine Ausgangsschaltung verwendet einen zusätzlichen Transistor, der es ermöglicht, niedrigere Geschwindigkeiten der von ihm angetriebenen Lüfter zu erreichen (er funktioniert gut mit semi-passiven Grafikkarten).
Das Auslesen anderer Lüftergeschwindigkeiten ist meiner Meinung nach einfacher und billiger als die Installation zusätzlicher Temperaturfühler direkt neben Prozessoren, die mit Kühlkörpern bedeckt sind (im Grunde müssen die Lüfterdrehzahlmesser direkt an einen Mikrocontroller-Pin angeschlossen werden).
Einige der Methoden zur Steuerung der Lüftergeschwindigkeit werden hier beschrieben. Ich habe mich für die Verwendung von niederfrequenter PWM entschieden, jedoch mit wenigen Änderungen an der im Artikel beschriebenen Methode. Erstens hat jeder Kanal 6 in Reihe geschaltete Dioden, die verwendet werden können, um die Spannung, die einen Lüfter antreibt, um 4-5 V zu reduzieren. In diesem Setup betragen die PWM-Spannungspegel ~8V – 12V und 0V – ~8V (nicht verfügbar in Kanal A) anstelle von 0V – 12V. Dadurch wird das vom Lüfter erzeugte Geräusch stark reduziert. Ein weiterer Trick, den ich verwendet habe, um die Lüftersteuerung auf diese Weise leiser zu machen, wird hier beschrieben. Dieser Trick erfordert die Installation einer RC-Schaltung zwischen dem Ausgang des Mikrocontrollers und einem Gate eines MOSFET, mit dem ich die Spannungspegel des Lüfters umgeschaltet habe. Dies reduziert die Anstiegsgeschwindigkeit eines Signals, das den MOSFET steuert, was wiederum dazu führt, dass der Winkelruck des Lüfters während der Spannungspegeländerung weniger ausgeprägt ist, wodurch Vibrationen und Spannungsspitzen reduziert werden.
Lieferungen
Teile und Materialien:
- ATtiny13 oder ATtiny13A in einem 8-PDIP-Gehäuse
- 8-polige DIP-Buchse
- 3x IRF530-Transistor
- 12x 1N4007 Diode (jede andere 1A Diode mit einem Spannungsabfall von ca. 0,7V sollte funktionieren)
- 220uF/25V radialer Elektrolytkondensator
- 10uF/16V radialer Elektrolytkondensator
- 5x 100nF Keramikscheibenkondensator
- 10k 0,25W Widerstand
- 4x 22k 0,25W Widerstand
- 2x 1k 0,25W Widerstand
- 6x6mm taktiler Schalterknopf
- 2x 2 Pin 2,54 mm gerade Stiftleiste
- 4x 3-poliger Lüfterstecker (Molex 2510), alternativ können Sie normale Stiftleisten verwenden, wenn Sie möchten (ich habe es getan), aber dann müssen Sie beim Anschließen der Lüfter besonders vorsichtig sein, und die Buchsen dieser Lüfter werden es sein weniger sicher befestigt
- 4-poliger Molex-Anschluss, weibliches Gehäuse / männliche Stifte (AMP MATE-N-LOK 1-480424-0 Stromanschluss), ich habe einen verwendet, der Teil des Molex-Steckers auf 2x SATA-Buchsenadapter war, der mit einigen alten MOBOs gebündelt war
- 2x Überbrückungskabel mit 2,54mm Buchsen (oder Steckergehäuse + Pins + Drähte), sie werden an die Tachometer-Drähte der Eingangslüfter gelötet (oder direkt an deren Anschlüsse auf PCBs)
- Prefboard (50mm x 70mm, min 18 x 24 Loch Array), alternativ können Sie kupferplattierte Platten selbst ätzen und Löcher bohren
- ein paar stücke draht
- Isolierband
- Aluminiumfolienband (wenn Sie den Stecker an der GPU-Rückplatte befestigen möchten, siehe Schritt 5)
- Papier
Werkzeuge:
- Seitenschneider
- Zange
- Schlitzschraubendreher
- Allzweckmesser
- Multimeter
- Lötstation
- Lot
- AVR-Programmierer (Standalone-Programmierer wie USBasp oder Sie können ArduinoISP verwenden)
- Steckbrett- und Überbrückungskabel, die verwendet werden, um Mikrocontroller außerhalb der Leiterplatte zu programmieren (oder jedes andere Tool, das dieses Ziel erreichen kann)
Schritt 1: Haftungsausschluss
Die Konstruktion dieses Gerätes erfordert die Verwendung von mäßig gefährlichen Werkzeugen und kann zu Sach- oder Personenschäden führen. Einige der erforderlichen Schritte können bei unsachgemäßer Ausführung die Garantie Ihrer Hardware erlöschen oder diese sogar beschädigen. Sie bauen und verwenden das beschriebene Gerät auf eigene Gefahr
Schritt 2: So funktioniert die Lüftersteuerung
Kanal A verwendet zwei Eingänge. Jedem dieser Eingänge von Kanal A ist ein Pegel zugeordnet, nennen wir diese Pegel A0 und A1. Standardmäßig sind diese beiden Pegel 0. Beiden Eingängen sind Schwellenwert-RPM-Werte zugeordnet (3 Schwellenwerte pro Eingang). Wenn der erste Schwellwert erreicht ist, erhöht sich A0 oder A1 auf 1, wenn der zweite auf 2 erhöht wird und der dritte Schwellwert einen der Eingangspegel auf 3 setzt. Später werden A0 und A1 kombiniert (einfach addiert und daran gehindert, einen höheren Wert zu erreichen) als 3), wodurch die Pegelnummer des Hauptausgangskanals A im Bereich von 0-3 liegt. Diese Zahl wird verwendet, um die Drehzahl der Ausgangslüfter zu steuern, 0 bedeutet, dass sie mit 7-8 V versorgt werden (Einschaltdauer von 0%). Höhere Ausgangspegel bedeuten, dass der Lüfter für 33 %, 66 % oder 100 % eines 100 ms- oder 33 ms-Zyklus mit vollen 12 V versorgt wird (abhängig von der gewählten Frequenz).
Kanal B hat nur einen Eingang (B1, physikalisch wird er mit Kanal A geteilt [PB1-Pin]). Es gibt sechs mögliche B1-Stufen (1-6), Standardstufe ist 1. Es gibt fünf Schwellenwerte, die B1 erhöhen können. B1 wird als Pegel des Hauptausgangskanals B verwendet. Wenn es 1 ist, versorgen 7-8 V die Ausgangslüfter für 33 % der Zykluszeit in einem Zyklus, im anderen für 66 %, für den Rest der Zeit ist die Stromversorgung unterbrochen. Stufe 2 bedeutet, dass 66% jedes Zyklus 7-8 V beträgt, der Rest 0 V. Stufe 3 bedeutet, dass ständig 7-8V anliegen. Die Stufen 4-6 bedeuten, dass der Lüfter für 33 %, 66 % oder 100 % des Zyklus mit vollen 12 V versorgt wird, für den Rest der Zeit beträgt die Spannung 7-8 V.
Die Frequenz dieser PWM-Steuerung beträgt standardmäßig 10 Hz. Sie kann durch Schließen der J7-Jumperpins auf 30 Hz erhöht werden.
Wenn der höhere Schwellenwert erreicht wird, steigen die Pegel A0, A1 und B1 sofort an. Wenn die Drehzahl jedoch sinkt, wird der Pegel für 200 ms gehalten und kann nur um 1 pro 200 ms sinken. Es soll schnelle Änderungen dieser Niveaus verhindern, wenn die Eingangslüfterdrehzahl sehr nahe am Schwellenwert liegt.
Schritt 3: Löten von elektronischen Komponenten
Löten Sie alle elektronischen Komponenten auf das Prefboard (außer Attiny13, es wird später in einen Sockel gesteckt). Verwenden Sie Kupferdrähte (von UTP-Kabeln mit einem Durchmesser von 0,5 mm sollten perfekt sein), um elektrische Verbindungen zwischen den Komponenten herzustellen. Wenn Sie Probleme haben, große Drähte aus dem Molex-Anschluss (AMP MATE-N-LOK) zu drücken, können Sie größere Löcher dafür bohren. Wenn Sie keinen Bohrer verwenden möchten, können Sie eine Schraube immer ein paar Mal in kleine Prefboard-Löcher eindrehen. Stellen Sie sicher, dass die Drähte keine Kurzschlüsse verursachen.
Wenn Sie es vorziehen, Ihre eigene Leiterplatte zu erstellen, biete ich auch.svg (Platinenabmessungen sind 53,34 x 63,50 mm) und.pdf (A4-Seitengröße, im.zip-Archiv) an. Eine einseitige kupferplattierte Platine sollte ausreichen, da auf der Vorderseite nur eine Verbindung vorhanden ist (diese kann mit einem Draht hergestellt werden), daher werden hauptsächlich Dateien für die Vorderseite bereitgestellt, damit diese Verbindung identifiziert werden kann.
Ich empfehle dringend, die Rückseite der Leiterplatte mit etwas Isoliermaterial abzudecken, das versehentliche Kurzschlüsse verhindert. Ich habe einige Schichten normales Papier verwendet, die von einigen Streifen Isolierband an den Kanten der Leiterplatte gehalten werden.
Schritt 4: Programmierung des ATtiny-Mikrocontrollers
Ein Programm, das auf der MCU ausgeführt wird, hat mehrere Schwellenwerte für die Drehzahl der Eingangslüfter fest codiert. Diese Schwellenwerte befinden sich am Anfang der Datei fan_controller.c. Zeile, die den ersten Schwellenwert enthält, der dafür verantwortlich ist, den Ausgangspegel von Kanal A als Reaktion darauf, dass der Lüfter von input_0 450 RPM überschreitet, leicht zu erhöhen, sieht wie folgt aus:
#define A0_SPEED_0 3 // 450 U/min
Wenn Sie den Drehzahlschwellenwert ändern möchten, müssen Sie Nummer 3 durch etwas anderes ersetzen. Durch Erhöhen dieser Zahl um 1 wird der Schwellenwert um 150 U/min geändert.
Eine andere Sache, die Sie möglicherweise ändern möchten, ist die Verringerung der Verzögerung des Ausgangspegels. Diese Verzögerung verhindert schnelle Änderungen des Ausgangspegels, wenn die Drehzahl des Eingangslüfters sehr nahe am Schwellenwert liegt. Es gibt 3 Leitungen, die dies steuern (da Kanal A 2 Eingänge verwendet und Kanal B 1) und die erste sieht so aus:
if(channel_A0_lower_rpm_cycles > 2) {
Das Erhöhen von Nummer 2 erhöht diese Verzögerung. Die Verzögerung wird in 100-ms-Zyklen gezählt.
Um den Quellcode zu kompilieren und dann den Chip zu programmieren, benötigen Sie einige Software. Auf einer Debian-basierten Linux-Distribution kann es durch Ausführen des folgenden Befehls installiert werden:
sudo apt-get install avr-libc gcc-avr avrdude
Wenn Sie Windows verwenden, können Sie versuchen, die WinAVR-Suite zu installieren, die auch die erforderliche Software enthält.
Um den Quellcode zu kompilieren, müssen Sie Folgendes ausführen:
avr-gcc -mmcu=attiny13 -Os -Wall fan_controller.c -o fan_controller.out -lm
Um eine.hex-Datei zu erstellen, müssen Sie diese Zeile in das Terminal kopieren:
avr-objcopy -O ihex -R.eeprom fan_controller.out fan_controller.hex
Mit diesem Befehl kann überprüft werden, wie viel Speicher das Programm verwendet (Text ist Flash, Daten sind Variablen, die im Flash gespeichert und dann in den RAM kopiert werden, und bss sind Variablen, die mit einem Wert von 0 im RAM initialisiert werden):
avr-size fan_controller.out
Wenn Ihre.hex-Datei fertig ist, müssen Sie ATtiny13 in das Steckbrett einfügen und mit Überbrückungskabeln an den Programmierer anschließen. Trennen Sie das Programmiergerät am besten von der Stromversorgung, wenn Sie es an die MCU anschließen. Behalten Sie die standardmäßigen Sicherungsbits bei (H:FF, L:6A). Wenn Ihr Programmierer USBasp ist, programmiert dieser Befehl den Flash-Speicher der MCU:
avrdude -c usbasp -p t13 -B 8 -U flash:w:fan_controller.hex
-B 8 ändert die Übertragungsgeschwindigkeit zwischen Programmierer und MCU (bitclock). Möglicherweise müssen Sie ihn auf einen höheren Wert ändern, wenn Sie Probleme mit der Verbindung zum Mikrocontroller haben.
Wenn die MCU fertig ist, stecken Sie sie in die DIP-8-Buchse. Um die MCU vom Steckbrett zu entfernen, heble ich sie normalerweise mit einem Schlitzschraubendreher.
Schritt 5: Anschließen von Lüftern an das Gerät
Als Input 0-Lüfter (der mit dem PB0 verbunden ist) habe ich einen der an MOBO angeschlossenen Gehäuselüfter ausgewählt, deren Geschwindigkeit mit der CPU-Temperatur variierte. Ich entfernte die Isolierung von dem Teil des Drehzahlmesserkabels des Lüfters und lötete ein Ende des Überbrückungskabels daran. Das andere Ende (mit daran befestigter 2,54 mm Buchse) wird mit der Lüftersteuerung verbunden. Wenn das Überbrückungskabel zu kurz ist, verlängern Sie es, indem Sie ein weiteres Kabel zwischen die zuvor genannten löten. Anschließend alle freiliegenden Leiter mit Isolierband abdecken.
Eingang 1 liest die Geschwindigkeit von GPU-Lüftern (in meinem Fall sind es tatsächlich 3 davon, aber es gibt nur einen Lüfteranschluss auf der Grafikkartenplatine). Ich habe das Überbrückungskabel von Input 1 direkt an einen der Anschlüsse des 4-poligen Mini-GPU-Lüfteranschlusses auf der Platine gelötet. Da sich diese Leitung zwischen Platine und Backplate befand, habe ich die Backplate zuerst mit einem Stück Papier isoliert (vor allem weil das Material der Backplate recht lötbar war) und dann die Buchse des Kabels mit Hilfe von Alufolienband fest auf der anderen Seite der Backplate befestigt. Dann können GPU-Lüfter mit einem anderen (verlängerten) Überbrückungskabel an PB1-Pin angeschlossen werden. Wenn Sie nichts auf Ihrer Grafikkartenplatine löten möchten, können Sie ein Überbrückungskabel an die Drähte des Lüfters anschließen oder einen Adapter herstellen, der zwischen Lüfter(n) und Stecker auf der Platine platziert wird, die Entscheidung liegt bei Ihnen.
Der Lüfter überträgt seine aktuelle Drehzahl über den Tachometerdraht, indem dieser Draht zweimal pro Umdrehung über einen offenen Abfluss / Kollektor mit Masse verbunden wird (der Rotor des Lüfters hat normalerweise 4-Pole [NSNS], die vom Hall-Sensor erkannt werden, der Ausgang des Lüfters wird niedrig, wenn am Poltyp erkannt wird). Auf der anderen Seite wird dieser Draht normalerweise auf den Spannungspegel von 3,3 V gezogen. Wenn Sie nicht sicher sind, ob Sie den richtigen Draht haben, können Sie ein Oszilloskop verwenden oder eine der Erkennungsschaltungen bauen, die in diesem Schritt auf dem letzten Bild gezeichnet sind. Mit dem ersten können Sie die maximale Spannung überprüfen, die an der gemessenen Stelle angezeigt wird, mit dem zweiten können Sie überprüfen, ob dort niederfrequente Impulse auftreten.
3,3 V sollten von den Eingangspins von ATtiny als HIGH-Zustand gelesen werden, aber wenn Sie damit Probleme haben, können Sie versuchen, die Spannung zu reduzieren, die die MCU mit Strom versorgt (dies erhöht auch den Widerstand der MOSFETs!). Ich hatte keine Probleme, dennoch entschied ich mich, diesen Gedanken hier aufzunehmen.
Wenn die Eingangslüfter bereit sind, können Sie die Lüftersteuerung an einem Ort Ihrer Wahl in Ihrem PC-Gehäuse platzieren. Ich habe es an der Seite von zwei meiner leeren 5,25-Zoll-Laufwerksschächte montiert, indem ich es zwischen Metallteile des Schachts schob, etwas Papier dahinter legte und es mit einem Kabelbinder verriegelte, der durch eines der großen Löcher geschoben wurde im Prefboard und einigen anderen Löchern im 5,25-Zoll-Schacht. Stellen Sie sicher, dass keine Metallteile des PC-Gehäuses die freiliegenden Leiter der Lüftersteuerung berühren können.
Jetzt können Sie 3-Pin-Ausgangslüfter an den Controller anschließen. Die an Kanal A angeschlossenen Ausgangslüfter werden sowohl mit CPU- als auch mit GPU-Lüftern verbunden, und die Mindestspannung, die sie mit Strom versorgt, beträgt etwa 7-8 V. Lüfter, die an die B-Ausgangsanschlüsse des Kanals angeschlossen sind, werden nur von den GPU-Kühlerlüftern angetrieben und ihre Spannung kann auf 0 V fallen (jedoch nur für 66 ms jeden zweiten 100 ms-Zyklus bei der niedrigsten Ausgangstreiberstufe). Lüfter sollten nicht mehr als 1A pro Ausgangskanal verbrauchen.
Schritt 6: Andere Änderungen, die ich an meinem PC vorgenommen habe
Kanal A treibt zwei Lüfter an, die sich oben auf meinem Gehäuse befinden. Sie sind das gleiche Modell und werden mit der gleichen Spannung betrieben, wodurch sie sich mit sehr ähnlichen Geschwindigkeiten drehen. Als Folge davon trat ein hörbarer Beat (Interferenzmuster zwischen zwei Tönen mit leicht unterschiedlichen Frequenzen) auf. Um dies zu beheben, habe ich 2 Dioden (eine normale und eine Schottky) in Reihe mit einem der Lüfter installiert. Dies reduzierte die Lüfterspannung und -geschwindigkeit, wodurch der Beat verschwindet.
Eine weitere Änderung, die mit einer der Lüfter zusammenhängt, die ich vorgenommen habe, ist die Installation eines weiter vorne liegenden Papierwand-Balg-Top-Lüfters. Sein Zweck besteht darin, zu verhindern, dass dieser Lüfter Luft ansaugt, die noch keinen der Kühlkörper passiert hat. Ich habe auch versucht, andere Papierwände herzustellen, die verhindern, dass die GPU-Abluft in den CPU-Kühler gesaugt wird. Sie haben tatsächlich die CPU-Temperatur reduziert, aber auf Kosten einer stärkeren Erwärmung der GPU, also habe ich sie am Ende entfernt.
Eine andere ungewöhnliche Modifikation, die ich vorgenommen habe, ist das Entfernen des Staubfilters am Auslass der beiden oberen Lüfter (die meiste Zeit wird sowieso Luft aus dem Gehäuse gedrückt, und wenn mein PC ausgeschaltet ist, schirmt die Schublade etwas über dem PC-Gehäuse ihn ab von Staub). Ich habe auch 92-mm-Lüfter vor zwei leeren 5,25-Zoll-Laufwerksschächten installiert (Lüftersteuerung befindet sich direkt dahinter). Dieser Lüfter wird nicht von Schrauben gehalten, sondern passt einfach gut zwischen den 120-mm-Lüfter darunter und das optische Laufwerk darüber (die Oberflächen beider sind mit Isolierband bedeckt, um Vibrationen zu dämpfen).
Empfohlen:
So passen Sie die CPU-Frequenz in Windows 10 an – wikiHow
So passen Sie die CPU-Frequenz in Windows 10 an: Dies zeigt, wie Sie die CPU-Frequenz anpassen und die volle Geschwindigkeit Ihrer CPU auf Ihrem Windows 10-Computer verlangsamen/begrenzen oder entsperren
So tauschen Sie die CPU im Toshiba Satellite C55-A5300 aus – wikiHow
So tauschen Sie die CPU im Toshiba Satellite C55-A5300: So tauschen Sie die CPU im Toshiba Satellite C55-A5300
So aktualisieren Sie eine LAPTOP-CPU (und andere coole Sachen!)
So aktualisieren Sie eine LAPTOP-CPU (und andere coole Sachen!) sehr veraltet … Das LCD war zertrümmert und die Hauptfestplatte hatte sich festgefressen, so dass der Laptop im Wesentlichen tot war ….. Siehe Foto und
CPU installieren: 4 Schritte
CPU installieren: Anleitung zum Installieren einer Zentraleinheit