Sisällysluettelo:

CPU- ja GPU -tuuletinohjain: 6 vaihetta (kuvilla)
CPU- ja GPU -tuuletinohjain: 6 vaihetta (kuvilla)

Video: CPU- ja GPU -tuuletinohjain: 6 vaihetta (kuvilla)

Video: CPU- ja GPU -tuuletinohjain: 6 vaihetta (kuvilla)
Video: Totta vai Tarua: Nvidian ajurit ovat paremmat kuin AMD:n ? 2024, Marraskuu
Anonim
CPU- ja GPU -ohjattava tuulettimen ohjain
CPU- ja GPU -ohjattava tuulettimen ohjain

Päivitin äskettäin näytönohjaimen. Uudessa GPU -mallissa on korkeampi TDP kuin suorittimessa ja vanha GPU, joten halusin myös asentaa lisäkotelon tuulettimia. Valitettavasti MOBO -laitteessani on vain 3 tuuletinliitintä, joissa on nopeuden säätö, ja ne voidaan yhdistää vain suorittimen tai piirisarjan lämpötilaan. Päätin korjata tämän suunnittelemalla oman PC -tuulettimen ohjaimen, joka lukee jo asennettujen tuulettimien (sekä MOBO -järjestelmään kytkettyjen ja suorittimen lämpötilan ohjaamien että GPU: ta jäähdyttävien) RPM -nopeudet ja jossa on kaksi lähtökanavaa. Kanava A käyttää sekä CPU: n että GPU: n lämpötilaan kytkettyjen tuulettimien nopeutta ajaakseen 3-nastaisia tuulettimia vaihtelevalla nopeudella. Kanava B tunnistaa vain GPU-tuulettimien nopeuden ja sen lähtöpiiri käyttää ylimääräistä transistoria, jonka avulla voidaan saavuttaa sen ohjaamien tuulettimien nopeudet (se toimii hyvin puolipassiivisen näytönohjaimen kanssa).

Muiden puhaltimien nopeuden lukeminen on mielestäni helpompaa ja halvempaa kuin ylimääräisten lämpötila -anturien asentaminen suoraan jäähdytyselementtien peittämien prosessorien viereen (se vaatii periaatteessa puhaltimien kierroslukumittarijohdon kytkemisen suoraan mikro -ohjaimen nastaan).

Tässä kuvataan joitakin puhaltimen nopeuden säätömenetelmiä. Päätin käyttää matalataajuista PWM: ää, mutta muutamilla muutoksilla artikkelissa kuvattuun menetelmään. Ensinnäkin, jokaisella kanavalla on 6 sarjaan kytkettyä diodia, joita voidaan käyttää tuulettimen jännitteen vähentämiseen 4-5 V: lla. Tässä asetuksessa PWM -jännitetasot ovat ~ 8V - 12V ja 0V - ~ 8V (ei käytettävissä kanavassa A) 0V - 12V sijasta. Tämä vähentää suuresti tuulettimen aiheuttamaa melua. Toinen temppu, jota käytin tuulettimen ohjaamiseen tällä tavalla hiljaisemmaksi, on kuvattu tässä. Tämä temppu vaatii RC -piirin asentamisen mikro -ohjaimen lähdön ja MOSFET -portin väliin, jota käytin vaihtamaan tuulettimen jännitetasoja. Tämä vähentää MOSFETia ohjaavan signaalin kääntymisnopeutta, mikä puolestaan tekee tuulettimen kulmamaisesta nykimisestä jännitetason muutoksen aikana vähemmän näkyvää, mikä vähentää tärinää ja jännitepiikkejä.

Tarvikkeet

Osat ja materiaalit:

  • ATtiny13 tai ATtiny13A 8-PDIP-kotelossa
  • 8 -nastainen DIP -liitäntä
  • 3x IRF530 -transistori
  • 12x 1N4007 -diodi (minkä tahansa muun 1A -diodin, jonka jännitehäviö on noin 0,7 V, pitäisi toimia)
  • 220uF/25V säteittäinen elektrolyyttikondensaattori
  • 10uF/16V säteittäinen elektrolyyttikondensaattori
  • 5x 100nF keraaminen levykondensaattori
  • 10k 0,25W vastus
  • 4x 22k 0,25W vastus
  • 2x 1k 0,25W vastus
  • 6x6 mm kosketuspainike
  • 2x 2 -nastainen 2,54 mm: n suora urospistoke
  • 4x 3-nastainen urospuolinen tuuletinliitin (Molex 2510), vaihtoehtoisesti voit käyttää tavallisia nastaisia otsikoita, jos haluat (minä tein sen), mutta silloin sinun on oltava erityisen varovainen liittäessäsi tuulettimia, ja näiden puhaltimien naarasliittimet ovat kiinnitetty vähemmän turvallisesti
  • 4-nastainen Molex-liitin, naaraskotelo/urosnastat (AMP MATE-N-LOK 1-480424-0 -virtaliitin), käytin sellaista, joka oli osa Molex-urosta-2x SATA-naarasadapteria, joka on mukana vanhassa MOBO: ssa
  • 2x hyppyjohdot, joissa on 2,54 mm: n naarasliittimet (tai liittimien kotelot + nastat + johdot), ne juotetaan tuloilmapuhaltimien kierroslukumittarijohtoihin (tai suoraan niiden liittimiin piirilevyissä)
  • esilevy (50 mm x 70 mm, min. 18 x 24 reikäinen), vaihtoehtoisesti voit syövyttää kuparipäällysteisen levyn itse ja porata reikiä
  • muutama lanka
  • eristysteippi
  • alumiinifolion teippi (jos aiot kiinnittää liittimen grafiikkasuorittimen taustalevyyn, katso vaihe 5)
  • paperi

Työkalut:

  • lävistäjäleikkuri
  • pihdit
  • litteäteräinen ruuvimeisseli
  • yleisveitsi
  • yleismittari
  • juotosasema
  • juottaa
  • AVR -ohjelmoija (itsenäinen ohjelmoija, kuten USBasp tai voit käyttää ArduinoISP: tä
  • leipälevy- ja hyppyjohdot, joita käytetään mikro -ohjaimen ohjelmointiin piirilevyn ulkopuolella (tai muulla työkalulla, jolla tämä tavoite voidaan saavuttaa)

Vaihe 1: Vastuuvapauslauseke

Tämän laitteen rakentaminen vaatii kohtalaisen vaarallisia työkaluja ja voi aiheuttaa vahinkoa tai omaisuusvahinkoja. Jotkin vaadituista vaiheista voivat mitätöidä laitteistosi takuun tai jopa vahingoittaa sitä, jos niitä tehdään väärin. Rakennat ja käytät kuvattua laitetta omalla vastuullasi

Vaihe 2: Kuinka tuulettimen ohjaus toimii

Kuinka tuulettimen ohjaus toimii
Kuinka tuulettimen ohjaus toimii

Kanava A käyttää kahta tuloa. Jokaisella kanavan A sisääntulolla on siihen liittyvä taso, joten kutsu tasot A0 ja A1. Oletuksena molemmat tasot ovat 0. Molemmissa tuloissa on RPM -kynnysarvot (3 kynnystä tuloa kohti). Kun ensimmäinen kynnys saavutetaan, A0 tai A1 nousee 1: ksi, kun toinen kasvaa 2: ksi, ja kolmas kynnys asettaa yhden tulotasoista arvoon 3. Myöhemmin A0 ja A1 yhdistetään (yksinkertaisesti lasketaan yhteen ja estetään saavuttamasta korkeampaa arvoa) kuin 3), jolloin päälähdön kanavan A tasonumero on alueella 0-3. Tätä numeroa käytetään ohjaamaan tuulettimien nopeutta, 0 tarkoittaa, että ne saavat virtaa 7-8 V (käyttöjakso 0%). Korkeammat lähtötasot tarkoittavat, että puhallin saa virran täydestä 12 V: sta 33%, 66% tai 100% 100ms tai 33ms jaksosta (riippuu valitusta taajuudesta).

Kanavalla B on vain yksi tulo (B1, fyysisesti se on jaettu kanavan A [PB1 -nasta]). Mahdollisia B1-tasoja on kuusi (1-6), oletustaso on 1. On olemassa viisi kynnysarvoa, jotka voivat lisätä B1-tasoa. B1: tä käytetään kanavan B pääulostulona. Kun jännite on 1, 7-8 V syöttää tuulettimia 33% jaksoajasta yhdessä jaksossa, toisessa 66%, loput ajasta virta katkeaa. Taso 2 tarkoittaa, että 66% jokaisesta syklistä on 7-8V, lepo 0V. Taso 3 tarkoittaa, että 7-8V on jatkuvasti käytössä. Tasot 4-6 tarkoittavat, että puhallin saa virtaa täydellä 12 V: n jännitteellä 33%, 66% tai 100% jaksosta, muina aikoina jännite on 7-8 V.

Tämän PWM -säätimen taajuus on oletuksena 10 Hz. Sitä voidaan suurentaa 30 Hz: iin sulkemalla J7 -hyppytapit.

Kun korkeampi kynnys saavutetaan, A0-, A1- ja B1 -tasot nousevat välittömästi. Kun kierrosluvut kuitenkin laskevat, taso pidetään 200 ms: n ajan ja voi laskea vain 1 per 200 ms. Se estää näiden tasojen nopeat muutokset, kun tuloilmapuhaltimen kierrosluku on hyvin lähellä kynnystä.

Vaihe 3: Elektronisten komponenttien juottaminen

Juottavat elektroniset komponentit
Juottavat elektroniset komponentit
Juottavat elektroniset komponentit
Juottavat elektroniset komponentit
Juottavat elektroniset komponentit
Juottavat elektroniset komponentit

Juotos kaikki elektroniset komponentit esilevyyn (paitsi Attiny13, se laitetaan myöhemmin pistorasiaan). Käytä kuparijohtimia (halkaisijaltaan 0,5 mm: n UTP -kaapelin johtimien tulee olla täydellisiä) sähköliitäntöjen tekemiseen komponenttien välillä. Jos sinulla on vaikeuksia työntää suuria johtimia Molex (AMP MATE-N-LOK) -liittimestä, voit porata niitä suurempia reikiä. Jos et halua käyttää poraa, voit aina kiertää ruuvia muutaman kerran pienien esilevyn reikien sisällä. Varmista, että johdot eivät aiheuta oikosulkuja.

Jos haluat tehdä oman piirilevyn, tarjoan myös.svg (levyn mitat 53.34x63.50mm) ja.pdf (A4 -sivukoko,.zip -arkisto) -tiedostot. Yksipuolisen kuparipäällystetyn levyn pitäisi riittää, koska etupuolella on vain yksi liitäntä (se voidaan tehdä langalla), joten etupuolen tiedostot toimitetaan pääasiassa, jotta tämä yhteys voidaan tunnistaa.

Suosittelen vahvasti, että peität PCB: n takaisin eristävällä materiaalilla, joka estää tahattomat oikosulut. Käytin muutamaa kerrosta tavallista paperia, jotka on kiinnitetty piirilevyn reunoihin muutamalla eristysnauhalla.

Vaihe 4: ATtiny -mikrokontrollerin ohjelmointi

ATtiny -mikrokontrollerin ohjelmointi
ATtiny -mikrokontrollerin ohjelmointi
ATtiny -mikrokontrollerin ohjelmointi
ATtiny -mikrokontrollerin ohjelmointi

MCU: ssa käynnissä oleva ohjelma on koodannut useita tuloilmapuhaltimien kierroslukukynnyksiä. Nämä kynnysarvot sijaitsevat fan_controller.c -tiedoston alussa. Rivi, joka sisältää ensimmäisen kynnyksen, joka vastaa hieman kanavan A lähtötason lisäämisestä vasteena tuuletin input_0 ylittää 450 RPM, näyttää tältä:

#define A0_SPEED_0 3 // 450 RPM

Jos haluat muuttaa RPM -kynnysarvoa, sinun on korvattava numero 3 jollakin muulla. Jos lisäät tätä lukua yhdellä, kynnys muuttuu 150 kierrosta minuutissa.

Toinen asia, jonka haluat ehkä muuttaa, on lähtötason viiveen pieneneminen. Tämä viive estää lähtötason nopeat muutokset, kun tuulettimen kierrosluku on hyvin lähellä kynnystä. On 3 linjaa, jotka ohjaavat tätä (koska kanava A käyttää 2 tuloa ja kanava B käyttää 1), ja ensimmäinen niistä näyttää tältä:

jos (channel_A0_lower_rpm_cycles> 2) {

Numeron 2 lisääminen lisää tätä viivettä. Viive lasketaan 100 ms jaksoissa.

Lähdekoodin kääntämiseksi ja sitten sirun ohjelmoimiseksi tarvitset jonkin ohjelmiston. Debian-pohjaisessa Linux-jakelussa se voidaan asentaa suorittamalla seuraava komento:

sudo apt-get install avr-libc gcc-avr avrdude

Jos käytät Windowsia, voit yrittää asentaa WinAVR -ohjelmistopaketin, joka sisältää myös vaaditun ohjelmiston.

Lähdekoodin kääntämiseksi sinun on suoritettava tämä:

avr -gcc -mmcu = attiny13 -Os -Wall fan_controller.c -o fan_controller.out -lm

Jos haluat luoda.hex -tiedoston, sinun on kopioitava tämä rivi päätelaitteeseen:

avr -objcopy -O ihex -R.eeprom fan_controller.out fan_controller.hex

Tämän komennon avulla voit tarkistaa, kuinka paljon muistia ohjelma käyttää (teksti on Flash, tiedot ovat muuttujia, jotka tallennetaan Flashiin ja kopioidaan sitten RAM -muistiin, ja bss ovat muuttujia, joiden alustus on 0 RAM: ssa):

avr-kokoinen fan_controller.out

Kun.hex -tiedostosi on valmis, sinun on lisättävä ATtiny13 leipälevyyn ja liitettävä se ohjelmoijaan hyppyjohdoilla. On parasta katkaista virta ohjelmoijasta, kun liität sen MCU: hon. Säilytä oletusvarokkeet (H: FF, L: 6A). Jos ohjelmoijasi on USBasp, tämä komento ohjelmoi MCU: n flash -muistin:

avrdude -c usbasp -p t13 -B 8 -U salama: w: fan_controller.hex

-B 8 muuttaa siirtonopeutta ohjelmoijan ja MCU: n välillä (bitclock). Sinun on ehkä vaihdettava arvo suuremmaksi, jos sinulla on ongelmia mikrokontrolleriin liittämisessä.

Kun MCU on valmis, aseta se DIP 8 -liitäntään. Jos haluat poistaa MCU: n leipälevyltä, irrotan sen yleensä litteällä ruuvitaltalla.

Vaihe 5: Tuulettimien liittäminen laitteeseen

Tuulettimien liittäminen laitteeseen
Tuulettimien liittäminen laitteeseen
Tuulettimien liittäminen laitteeseen
Tuulettimien liittäminen laitteeseen
Tuulettimien liittäminen laitteeseen
Tuulettimien liittäminen laitteeseen

Tulo 0 -puhaltimena (PB0: een liitetty) valitsin yhden MOBO -laitteeseen kytketyistä kotelon tuulettimista, joiden nopeus vaihteli suorittimen lämpötilan mukaan. Poistin eristyksen tuulettimen kierroslukumittarin johdosta ja juotin siihen hyppyjohdon toisen pään. Toinen pää (johon on liitetty 2,54 mm: n naarasliitin) liitetään tuulettimen ohjaimeen. Jos hyppyjohto on liian lyhyt, jatka sitä juottamalla toinen kaapeli edellä mainittujen välille. Peitä sitten kaikki paljaat johtimet eristysteipillä.

Tulo 1 lukee GPU -tuulettimien nopeuden (minun tapauksessani niitä on itse asiassa 3, mutta näytönohjaimen piirilevyllä on vain yksi tuuletinliitin). Juotin tulon 1 hyppyjohdon suoraan PCB: n 4-nastaisen mini-GPU-tuuletinliittimen johtoihin. Koska tämä johto sijaitsi piirilevyn ja taustalevyn välissä, eristin taustalevyn ensin paperilla (varsinkin koska taustalevyn materiaali oli melko juotettavissa) ja sitten kiinnitin kaapelin naarasliittimen tukevasti taustalevyn toiselle puolelle käyttämällä alumiinifoliota. Sitten GPU -tuuletin (t) voitaisiin kytkeä PB1 -nastaan käyttämällä toista (laajennettua) hyppyjohtoa. Jos et halua juottaa mitään näytönohjaimen piirilevyyn, voit liittää hyppyjohdon tuulettimen johtoihin tai tehdä sovittimen, joka asetetaan tuulettimien ja piirilevyn liittimien väliin, päätös on sinun.

Tuuletin lähettää nykyisen nopeutensa kierroslukumittarin johdon kautta yhdistämällä tämä johto maahan avoimen tyhjennys/keräimen kautta kaksi kertaa kierrosta kohden (tuulettimen roottorissa on yleensä 4-napaiset [NSNS], jotka Hall-anturi havaitsee, tuulettimen teho laskee, kun napa on tunnistettu). Toisella puolella tämä lanka vedetään yleensä 3,3 V: n jännitetasolle. Jos et ole varma, onko sinulla oikea johto, voit käyttää oskilloskooppia tai rakentaa jonkin havaintopiireistä, jotka piirtyvät tämän vaiheen viimeiseen kuvaan. Ensimmäisen avulla voit tarkistaa mitattuun paikkaan ilmestyvän maksimijännitteen, toisessa tarkistaa, esiintyykö siellä matalataajuisia pulsseja.

3.3 V: n pitäisi lukea ATtinyn tulonastat HIGH -tilassa, mutta jos sinulla on ongelmia tämän kanssa, voit yrittää pienentää MCU: ta syöttävää jännitettä (se lisää myös MOSFET -laitteiden vastusta!). Minulla ei ollut mitään ongelmia, päätin kuitenkin sisällyttää tämän ajatuksen tähän.

Kun tuloilmapuhaltimet ovat valmiita, voit sijoittaa tuulettimen ohjaimen tietokoneesi koteloon haluamaasi paikkaan. Asensin sen kahden tyhjän 5,25 tuuman asemapaikkani sivulle työntämällä sitä lokeron metalliosien väliin, asettamalla paperia sen taakse ja lukitsemalla sen paikalleen vetoketjun avulla, joka työnnettiin yhden suuren reiän läpi esilaudassa ja joitain muita reikiä 5,25”-aukossa. Varmista, että tietokoneen kotelon metalliosat eivät saa koskettaa mitään tuulettimen ohjaimen paljaita johtimia.

Nyt voit kytkeä 3-nastaiset tuulettimet ohjaimeen. A-kanavaan liitetyt lähtöpuhaltimet kytketään sekä suoritin- että grafiikkasuorittimen tuulettimiin, ja vähimmäisjännite, joka käyttää niitä, on noin 7-8 V. Kanavan B -lähtöliittimiin kytkettyjä tuulettimia ohjaavat vain grafiikkasuorittimen jäähdyttimen tuulettimet, ja niiden jännite voi laskea 0 V: iin (mutta vain 66 ms: n välein 100 ms: n jakson aikana alimmalla lähtöaseman tasolla). Puhaltimet eivät saa vetää enempää kuin 1A lähtökanavaa kohti.

Vaihe 6: Muut tietokoneeseen tekemäni muutokset

Muut muutokset, jotka tein tietokoneeseeni
Muut muutokset, jotka tein tietokoneeseeni
Muut muutokset, jotka tein tietokoneeseeni
Muut muutokset, jotka tein tietokoneeseeni
Muut muutokset, jotka tein tietokoneeseeni
Muut muutokset, jotka tein tietokoneeseeni
Muut muutokset, jotka tein tietokoneeseeni
Muut muutokset, jotka tein tietokoneeseeni

Kanava A ajaa kahta tuuletinta, jotka sijaitsevat kotelon päällä. Ne ovat samaa mallia ja niillä on sama jännite, mikä saa heidät pyörimään hyvin samanlaisilla nopeuksilla. Tämän seurauksena esiintyi jonkin verran kuuluvaa lyöntiä (häiriökuvio kahden hieman eri taajuuksisen äänen välillä). Tämän korjaamiseksi asensin kaksi diodia (yksi tavallinen ja yksi Schottky) sarjaan yhden tuulettimen kanssa. Tämä pienensi tuulettimen jännitettä ja nopeutta, jolloin lyönti katosi.

Toinen muutos, joka liittyy yhteen tekemistäni tuulettimista, on paperiseinän paljelevyn asennus, joka sijaitsee enemmän edessä. Sen tarkoitus on estää tuuletinta imemästä ilmaa, joka ei ole vielä kulkenut minkään jäähdytyselementin läpi. Yritin myös tehdä muita paperiseiniä, jotka estivät GPU -poistoilman imemisen CPU -jäähdyttimeen. He itse asiassa alensivat suorittimen lämpötilaa, mutta GPU: n lämmityksen kustannuksella enemmän, joten lopulta poistin ne.

Toinen epätavallinen muutos, jonka tein, on pölysuodattimen poistaminen näiden kahden ylimmän tuulettimen pakokaasusta (suurin osa ajasta ilmaa työnnetään joka tapauksessa ulos, ja kun tietokone on pois päältä, laatikko, joka sijaitsee hieman tietokoneen kotelon yläpuolella, suojaa sitä pölystä). Asensin myös 92 mm tuulettimen kahden tyhjän 5,25 tuuman asemapaikan eteen (tuulettimen ohjain sijaitsee aivan sen takana). Tämä tuuletin ei pidä kiinni ruuveista, se sopii hyvin 120 mm: n tuulettimen ja sen yläpuolella olevan optisen aseman väliin (molempien pinnat on peitetty eristysteipillä tärinänvaimentamiseksi).

Suositeltava: