Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Nedávno som aktualizoval svoju grafickú kartu. Nový model GPU má vyššie TDP ako môj CPU a starý GPU, takže som tiež chcel nainštalovať ďalšie skrine ventilátorov. Bohužiaľ, môj MOBO má iba 3 konektory ventilátora s reguláciou otáčok a môžu byť prepojené iba s teplotou CPU alebo čipovej sady. Rozhodol som sa to napraviť navrhnutím vlastného ovládača ventilátora počítača, ktorý číta otáčky už nainštalovaných ventilátorov (otáčajúcich sa na MOBO a poháňaných teplotou CPU a chladiacich GPU) a má dva výstupné kanály. Kanál A využíva rýchlosť teplotne prepojených ventilátorov s CPU a GPU na pohon 3-kolíkových výstupných ventilátorov s premenlivou rýchlosťou. Kanál B sníma iba rýchlosť ventilátorov GPU a jeho výstupný obvod používa ďalší tranzistor, ktorý umožňuje dosiahnuť nižšie rýchlosti ním poháňaných ventilátorov (funguje dobre so semipasívnou grafickou kartou).
Čítanie rýchlosti iných ventilátorov je podľa mňa jednoduchšie a lacnejšie ako inštalácia ďalších teplotných sond vedľa procesorov pokrytých chladičmi (v zásade vyžaduje pripojenie drôtu tachometra ventilátora priamo na kolík mikrokontroléra).
Tu sú popísané niektoré zo spôsobov regulácie otáčok ventilátora. Rozhodol som sa použiť nízkofrekvenčný PWM, ale s niekoľkými úpravami metódy popísanej v článku. Po prvé, každý kanál má 6 diód zapojených do série, ktoré je možné použiť na zníženie napätia napájajúceho ventilátor o 4-5 V. V tomto nastavení sú úrovne napätia PWM ~ 8V - 12V a 0V - ~ 8V (nie sú k dispozícii v kanáli A) namiesto 0V - 12V. To výrazne znižuje hluk produkovaný ventilátorom. Tu je popísaný ďalší trik, ktorý som použil na to, aby bol ventilátor ovládaný týmto spôsobom tichší. Tento trik vyžaduje inštaláciu RC obvodu medzi výstup mikrokontroléra a bránu MOSFET, ktorý som použil na prepínanie úrovní napätia ventilátora. To znižuje rýchlosť prechodu signálu, ktorý ovláda MOSFET, a tým robí uhlové trhanie ventilátora pri zmene úrovne napätia menej výrazným, znižuje vibrácie a napäťové špičky.
Zásoby
Časti a materiál:
- ATtiny13 alebo ATtiny13A v puzdre 8-PDIP
- 8 -pinová zásuvka DIP
- 3x tranzistor IRF530
- 12x dióda 1N4007 (akákoľvek iná 1A dióda s poklesom napätia okolo 0,7V by mala fungovať)
- Radiálny elektrolytický kondenzátor 220uF/25V
- Radiálny elektrolytický kondenzátor 10uF/16V
- 5x 100nF keramický diskový kondenzátor
- Rezistor 10k 0,25W
- 4x odpor 22k 0,25W
- 2x 1k 0,25W odpor
- Hmatové prepínacie tlačidlo 6 x 6 mm
- 2x 2 -kolíkový 2,54 mm priamy kolíkový konektor
- 4x 3-kolíkový konektor ventilátora (Molex 2510), alternatívne môžete použiť bežné kolíkové hlavičky, ak chcete (urobil som to), ale potom musíte byť obzvlášť opatrní pri pripájaní ventilátorov a zásuvkové konektory týchto ventilátorov budú pripevnené menej bezpečne
- 4-kolíkový konektor Molex, zásuvka/kolíky (napájací konektor AMP MATE-N-LOK 1-480424-0), použil som jeden, ktorý bol súčasťou konektora Molex male na 2x SATA female, dodávaný so starým MOBO
- 2x prepojovacie káble s 2,54 mm zásuvkami (alebo kryty konektorov + kolíky + vodiče), budú pripájané k vstupným ventilátorom vodičov tachometra (alebo priamo k ich konektorom na doske plošných spojov)
- prefabrikáty (50 mm x 70 mm, min. 18 x 24 dierových polí), alternatívne môžete leptanú dosku vyleptať sami a vyvŕtať otvory
- niekoľko kúskov drôtu
- izolačná páska
- páska z hliníkovej fólie (ak sa chystáte pripojiť konektor k zadnej doske GPU, pozrite si krok 5)
- papier
Náradie:
- diagonálna fréza
- kliešte
- plochý skrutkovač
- úžitkový nôž
- multimeter
- spájkovacia stanica
- spájka
- Programátor AVR (samostatný programátor ako USBasp alebo môžete použiť ArduinoISP
- prepojovací kábel a prepojovacie káble, ktoré budú použité na programovanie mikrokontroléra mimo DPS (alebo akéhokoľvek iného nástroja, ktorý môže dosiahnuť tento cieľ)
Krok 1: Vylúčenie zodpovednosti
Konštrukcia tohto zariadenia vyžaduje použitie stredne nebezpečných nástrojov a môže spôsobiť ujmu na zdraví alebo škodu na majetku. Niektoré z požadovaných krokov môžu viesť k zrušeniu záruky na váš hardvér alebo dokonca k jeho poškodeniu pri nesprávnom vykonaní. Popisované zariadenie staviate a používate na vlastné riziko
Krok 2: Ako funguje ovládanie ventilátora
Kanál A používa dva vstupy. Každý z týchto vstupov kanála A má s ním spojenú úroveň, zavolajte na tieto úrovne A0 a A1. Štandardne sú obe tieto úrovne 0. Oba vstupy majú priradené prahové hodnoty otáčok (3 prahy na vstup). Keď je dosiahnutý prvý prah, A0 alebo A1 sa zvýši na 1, pri druhom sa zvýši na 2 a tretí prah nastaví jednu zo vstupných úrovní na 3. Neskôr sa A0 a A1 skombinujú (jednoducho sčítajú a zabráni sa dosiahnutiu vyššej hodnoty) ako 3), čím sa hlavný výstup stane číslom úrovne kanála A v rozsahu 0-3. Toto číslo sa používa na ovládanie rýchlosti výstupných ventilátorov, 0 znamená, že sú napájané 7-8V (pracovný cyklus 0%). Vyššie výstupné úrovne znamenajú, že ventilátor je napájaný z plných 12 V počas 33%, 66% alebo 100% cyklu 100 ms alebo 33 ms (závisí to od zvolenej frekvencie).
Kanál B má iba jeden vstup (B1, fyzicky je zdieľaný s kanálom A [kolík PB1]). Existuje šesť možných úrovní B1 (1-6), predvolená úroveň je 1. Existuje päť prahových hodnôt, ktoré sú schopné zvýšiť B1. B1 sa používa ako hlavný výstupný úroveň kanála B. Keď je 1, 7-8V napája výstupné ventilátory na 33% času cyklu v jednom cykle, v druhom na 66%, po zvyšok času je napájanie odpojené. Úroveň 2 znamená, že 66% každého cyklu je 7-8V, zvyšok 0V. Úroveň 3 znamená, že je neustále aplikované 7-8V. Úrovne 4-6 znamenajú, že ventilátor je napájaný z plných 12V na 33%, 66% alebo 100% cyklu, po zvyšok času je napätie 7-8V.
Frekvencia tohto ovládania PWM je predvolene 10 Hz. Je možné ho zvýšiť na 30 Hz zatvorením prepojovacích kolíkov J7.
Keď sa dosiahne vyšší prah, hladiny A0, A1 a B1 sa okamžite zvýšia. Keď však otáčky klesnú, úroveň sa udrží 200 ms a môže sa znížiť iba o 1 za 200 ms. Má sa zabrániť rýchlym zmenám týchto úrovní, keď sú otáčky vstupného ventilátora veľmi blízko prahu.
Krok 3: Spájkovanie elektronických súčiastok
Spájkujte všetky elektronické súčiastky na predbežnú dosku (okrem Attiny13, neskôr bude vložená do zásuvky). Na elektrické prepojenie komponentov použite medené drôty (drôty s priemerom 0,5 mm z kábla UTP by mali byť perfektné). Ak máte problém s tlačením veľkých drôtov vychádzajúcich z konektora Molex (AMP MATE-N-LOK), môžete do nich vyvŕtať väčšie otvory. Ak nechcete používať vŕtačku, môžete vždy niekoľkokrát otočiť skrutku do malých otvorov v predsieni. Zaistite, aby vodiče nespôsobovali skraty.
Ak dávate prednosť výrobe vlastnej dosky plošných spojov, dodávam tiež súbory vo formáte.svg (rozmery dosky sú 53,34x63,50 mm) a.pdf (veľkosť stránky A4, vnútri archívu.zip). Jednostranná medená doska by mala stačiť, pretože na prednej strane je len jedno spojenie (môže byť vyrobené pomocou drôtu), takže súbory na prednú stranu sú dodávané ako hlavné, aby bolo možné toto spojenie identifikovať.
Dôrazne odporúčam pokryť zadnú stranu DPS nejakým izolačným materiálom, ktorý zabráni náhodnému skratu. Použil som niekoľko vrstiev obyčajného papiera, ktoré sú k okrajom DPS držané niekoľkými prúžkami izolačnej pásky.
Krok 4: Programovanie mikrokontroléra ATtiny
Program, ktorý beží na MCU, má pevne zakódovaných niekoľko prahov otáčok vstupných ventilátorov. Tieto prahové hodnoty sú umiestnené na začiatku súboru fan_controller.c. Riadok, ktorý obsahuje prvý prah, ktorý je zodpovedný za mierne zvýšenie výstupnej úrovne kanála A v reakcii na vstupný ventilátor 0 prekračujúci 450 otáčok za minútu, vyzerá takto:
#define A0_SPEED_0 3 // 450 ot / min
Ak chcete zmeniť prahovú hodnotu ot / min, musíte číslo 3 nahradiť niečím iným. Zvýšením tohto čísla o 1 zmeníte prah o 150 otáčok za minútu.
Ďalšou vecou, ktorú by ste mohli chcieť zmeniť, je zníženie oneskorenia výstupnej úrovne. Toto oneskorenie zabraňuje rýchlym zmenám výstupnej úrovne, keď sú otáčky vstupného ventilátora veľmi blízko prahu. Ovládajú to tri riadky (pretože kanál A používa 2 vstupy a kanál B používa 1) a prvý z nich vyzerá takto:
if (channel_A0_lower_rpm_cycles> 2) {
Zvýšením čísla 2 sa toto oneskorenie zvýši. Oneskorenie sa počíta v cykloch 100 ms.
Na zostavenie zdrojového kódu a potom programového čipu budete potrebovať softvér. Na distribúciu Linuxu založenú na Debiane je možné ho nainštalovať vykonaním nasledujúceho príkazu:
sudo apt-get install avr-libc gcc-avr avrdude
Ak používate systém Windows, môžete skúsiť nainštalovať balík WinAVR, ktorý tiež obsahuje požadovaný softvér.
Na zostavenie zdrojového kódu musíte vykonať toto:
avr -gcc -mmcu = attiny13 -Os -stena fan_controller.c -o fan_controller.out -lm
Na vytvorenie súboru.hex musíte skopírovať tento riadok do terminálu:
avr -objcopy -O ihex -R.eeprom fan_controller.out fan_controller.hex
Tento príkaz umožňuje skontrolovať, koľko pamäte program použije (text je Flash, údaje sú premenné, ktoré budú uložené vo Flashi a potom skopírované do pamäte RAM, a bss sú premenné inicializované s hodnotou 0 v RAM):
avr-size fan_controller.out
Keď je váš súbor.hex pripravený, musíte vložiť ATtiny13 do dosky a prepojiť ho s programátorom prepojovacími káblami. Najlepšie je odpojiť napájanie od programátora, keď ho pripájate k MCU. Ponechajte predvolené poistkové bity (H: FF, L: 6A). Ak je váš programátor USBasp, tento príkaz naprogramuje flash pamäť MCU:
avrdude -c usbasp -p t13 -B 8 -U blesk: w: fan_controller.hex
-B 8 mení rýchlosť prenosu medzi programátorom a MCU (bitový takt). Ak máte problémy s pripojením k mikrokontroléru, budete ho musieť zmeniť na vyššiu hodnotu.
Keď je jednotka MCU pripravená, vložte ju do zásuvky DIP 8. Na odstránenie MCU z doštičky ho zvyčajne vypáčim plochým skrutkovačom.
Krok 5: Pripojenie ventilátorov k zariadeniu
Ako ventilátor vstupu 0 (ten, ktorý je pripojený k PB0) som vybral jeden z ventilátorov skrinky zapojených do MOBO, ktorých rýchlosť sa líšila v závislosti od teploty CPU. Odstránil som izoláciu z časti drôtu tachometra ventilátora a pripájal som k nemu jeden koniec prepojovacieho kábla. Druhý koniec (s 2,54 mm vnútorným konektorom, ktorý je k nemu pripojený) bude pripojený k regulátoru ventilátora. Ak je prepojovací kábel príliš krátky, predĺžte ho spájkovaním iného kábla medzi vyššie uvedenými. Potom zakryte všetky odkryté vodiče izolačnou páskou.
Vstup 1 číta rýchlosť ventilátorov GPU (v mojom prípade sú ich v skutočnosti 3, ale na doske grafickej karty je iba jeden konektor ventilátora). Pripojil som prepojovací kábel vstupu 1 priamo k jednému z vodičov 4-kolíkového konektora ventilátora mini GPU umiestneného na doske plošných spojov. Pretože sa tento vodič nachádzal medzi DPS a zadnou doskou, izoloval som zadnú dosku najskôr kusom papiera (najmä preto, že materiál zadnej dosky bol celkom spájkovateľný) a potom pevne prichytený ženský konektor kábla k druhej strane zadnej dosky pomocou pásky z hliníkovej fólie.. Potom je možné ventilátory GPU pripojiť k kolíku PB1 pomocou iného (predĺženého) prepojovacieho kábla. Ak nechcete nič spájkovať na doske grafickej karty, môžete k vodičom ventilátora pripojiť prepojovací kábel alebo vytvoriť adaptér, ktorý bude umiestnený medzi ventilátor (y) a konektor na doske plošných spojov, rozhodnutie je na vás.
Ventilátor prenáša svoju aktuálnu rýchlosť pomocou vodiča tachometra pomocou pripojenia tohto vodiča k zemi otvoreným odtokom/kolektorom dvakrát za otáčku (rotor ventilátora má zvyčajne 4-pólové [NSNS], ktoré sú detekované Hallovým senzorom, výkon ventilátora sa zníži, keď na type pólu je detekovaný). Na druhej strane je tento vodič obvykle pritiahnutý k úrovni napätia 3,3 V. Ak si nie ste istí, či máte správny vodič, môžete použiť osciloskop alebo vytvoriť jeden z detekčných obvodov, ktoré sú nakreslené na poslednom obrázku v tomto kroku. Prvý z nich vám umožňuje skontrolovať maximálne napätie, ktoré sa objavuje na meranom mieste, druhý potom skontrolovať, či sa tam nezobrazujú nízkofrekvenčné impulzy.
Vstupné piny ATtiny by mali čítať 3,3 V ako VYSOKÝ stav, ale ak s tým máte problémy, môžete skúsiť znížiť napätie napájajúce MCU (zvýši to aj odpor MOSFETov!). Nemal som žiadne problémy, napriek tomu som sa rozhodol, že tu uvediem túto myšlienku.
Keď sú vstupné ventilátory pripravené, môžete ovládač ventilátora umiestniť do skrinky počítača na miesto, ktoré si vyberiete. Namontoval som ho na stranu dvoch svojich prázdnych 5,25”pozícií pre jednotky tak, že som ho zatlačil medzi kovové časti pozície, položil zaň nejaký papier a zaistil ho na mieste pomocou pútka na zips, ktoré bolo zasunuté v jednom z veľkých otvorov. v prefboarde a niektorých ďalších dierach v 5,25”pozícii. Zaistite, aby sa žiadne kovové časti skrinky počítača nemohli dotknúť nechránených vodičov ovládača ventilátora.
Teraz môžete k regulátoru pripojiť 3-kolíkové výstupné ventilátory. Výstupné ventilátory pripojené k kanálu A budú prepojené s ventilátormi CPU aj GPU a minimálne napätie, ktoré ich bude napájať, bude približne 7-8V. Ventilátory zapojené do výstupných konektorov kanála B budú poháňané iba ventilátormi chladiča GPU a ich napätie môže klesnúť na 0 V (ale iba na 66 ms každých druhý cyklus 100 ms na najnižšej úrovni výstupného disku). Fanúšikovia by nemali odoberať viac ako 1A na výstupný kanál.
Krok 6: Ďalšie zmeny, ktoré som vykonal na svojom počítači
Kanál A poháňa dva ventilátory umiestnené v hornej časti môjho puzdra. Sú rovnakého modelu a sú napájané rovnakým napätím, vďaka ktorému sa otáčajú veľmi podobnými rýchlosťami. V dôsledku toho sa objavil určitý počuteľný úder (interferenčný vzor medzi dvoma zvukmi mierne odlišných frekvencií). Aby som to napravil, nainštaloval som 2 diódy (jednu bežnú a jednu Schottky) do série s jedným z ventilátorov. Tým sa znížilo napätie a rýchlosť ventilátora, takže beat zmizol.
Ďalšou zmenou, ktorá súvisí s jednou z tých, ktoré som urobil pre ventilátory, je inštalácia papierového nástenného nižšie umiestneného ventilátora umiestneného viac vpredu. Cieľom je zabrániť tomuto ventilátoru nasávať vzduch, ktorý ešte neprešiel žiadnym z chladičov. Skúsil som tiež vyrobiť ďalšie papierové steny, ktoré zabraňovali nasávaniu odpadového vzduchu z GPU do chladiča CPU. V skutočnosti znížili teplotu procesora, ale za cenu väčšieho zahrievania GPU, takže som ich nakoniec odstránil.
Ďalšou neobvyklou úpravou, ktorú som vykonal, je odstránenie prachového filtra na výfuku týchto dvoch horných ventilátorov (väčšinu času je vzduch z puzdra vytlačený a keď je počítač vypnutý, zásuvka umiestnená mierne nad puzdrom na počítač ho chráni. z prachu). Tiež som nainštaloval 92 mm ventilátor pred dve prázdne pozície pre 5,25”jednotky (regulátor ventilátora sa nachádza hneď za ním). Tento ventilátor nie je držaný žiadnymi skrutkami, ale krásne sa hodí medzi 120 mm ventilátor pod ním a optickú mechaniku (povrchy oboch sú potiahnuté izolačnou páskou, ktorá zaisťuje určité tlmenie vibrácií).