INHOUDSOPGAWE:

CPU- en GPU -aangedrewe waaierbeheerder: 6 stappe (met foto's)
CPU- en GPU -aangedrewe waaierbeheerder: 6 stappe (met foto's)

Video: CPU- en GPU -aangedrewe waaierbeheerder: 6 stappe (met foto's)

Video: CPU- en GPU -aangedrewe waaierbeheerder: 6 stappe (met foto's)
Video: ➢Fix 100% CPU usage in windows 10 | High CPU usage problem fix | stuck on 100% CPU usage 2024, November
Anonim
CPU- en GPU -aangedrewe waaierbeheerder
CPU- en GPU -aangedrewe waaierbeheerder

Ek het onlangs my grafiese kaart opgegradeer. Die nuwe GPU -model het 'n hoër TDP as my SVE en 'n ou GPU, so ek wou ook ekstra kaswaaiers installeer. Ongelukkig het my MOBO slegs 3 waaierverbindings met spoedbeheer, en dit kan slegs aan die SVE of die temperatuur van die chipset gekoppel word. Ek het besluit om dit reg te stel deur my eie rekenaarwaaierbeheerder te ontwerp wat RPM -snelhede van reeds geïnstalleerde waaiers lees (beide gekoppel aan die MOBO en aangedryf deur CPU -temp en diegene wat GPU afkoel) en het twee uitsetkanale. Kanaal A gebruik die snelheid van beide CPU- en GPU-temperatuurgekoppelde waaiers om 3-pins uitsetwaaiers met veranderlike snelheid aan te dryf. Kanaal B bespeur net die snelheid van GPU-waaiers en die uitsetkring gebruik ekstra transistor waarmee laer snelhede waaiers kan bestuur (dit werk goed met 'n semi-passiewe grafiese kaart).

Na my mening is dit makliker en goedkoper om ander waaiers se snelheid te lees as om addisionele temperatuursondes te installeer langs verwerkers wat in koellichamen bedek is (dit vereis basies dat die waaiers se toerenteller direk met 'n mikrokontrolerspeld verbind word).

'N Paar van die metodes om waaiersnelhede te beheer word hier beskryf. Ek het besluit om lae-frekwensie PWM te gebruik, maar met 'n paar wysigings aan die metode wat in die artikel beskryf word. Eerstens het elke kanaal 6 diodes wat in serie gekoppel is, wat gebruik kan word om spanning wat 'n waaier aandryf, met 4-5V te verminder. In hierdie opset is PWM spanningsvlakke ~ 8V - 12V en 0V - ~ 8V (nie beskikbaar in kanaal A nie) in plaas van 0V - 12V. Dit verminder die geraas van die waaier aansienlik. 'N Ander truuk wat ek gebruik het om die waaier op hierdie manier stiller te maak, word hier beskryf. Hierdie truuk vereis dat 'n RC -stroombaan geïnstalleer moet word tussen die uitvoer van die mikrobeheerder en 'n hek van 'n MOSFET wat ek gebruik het om die spanning van die waaier te verander. Dit verminder die vertraagde snelheid van 'n sein wat die MOSFET beheer, wat op sy beurt die waaier se ruk tydens die spanningsvlak minder prominent maak, wat vibrasie en spanningspieke verminder.

Voorrade

Onderdele en materiale:

  • ATtiny13 of ATtiny13A in 'n 8-PDIP-omhulsel
  • 8 -pins DIP -aansluiting
  • 3x IRF530 transistor
  • 12x 1N4007 -diode (enige ander 1A -diode met 'n spanningsval van ongeveer 0,7V behoort te werk)
  • 220 uF/25V radiale elektrolitiese kapasitor
  • 10uF/16V radiale elektrolitiese kapasitor
  • 5x 100nF keramiek skyf kondensator
  • 10k 0.25W weerstand
  • 4x 22k 0.25W weerstand
  • 2x 1k 0.25W weerstand
  • 6x6mm tasbare skakelaarknoppie
  • 2x 2 -pen 2.54mm reguit penkop
  • 4x 3-polige waaieraansluiting (Molex 2510), alternatiewelik kan u gewone penkoppe gebruik as u wil (ek het dit gedoen), maar dan moet u ekstra versigtig wees as u waaiers aansluit, en die vroulike aansluitings van die waaiers sal wees minder veilig geheg
  • 4-polige Molex-aansluiting, vroulike omhulsel/manlike penne (AMP MATE-N-LOK 1-480424-0 kragaansluiting), ek gebruik een wat deel uitmaak van Molex male na 2x SATA female adapter saam met 'n paar ou MOBO
  • 2x springkabels met 2,54 mm vroulike aansluitings (of aansluitingsbehuise + penne + drade), dit word aan die ingang waaiers toerenteller drade (of direk aan hul verbindings op PCB's) gesoldeer
  • voorafbord (50 mm x 70 mm, min 18 x 24 -gat -reeks), alternatiewelik kan u self koperplank ets en gate boor
  • paar stukke draad
  • isolerende band
  • aluminiumfoelieband (sien stap 5 as u die koppelaar aan die agterkant van die GPU wil koppel)
  • papier

Gereedskap:

  • diagonale snyer
  • tang
  • plat skroewedraaier
  • knipmes
  • multimeter
  • soldeerstasie
  • soldeer
  • AVR -programmeerder (selfstandige programmeerder soos USBasp of u kan ArduinoISP gebruik
  • broodbord en springkabels wat gebruik sal word om mikrobeheerder buite die PCB te programmeer (of enige ander hulpmiddel wat hierdie doel kan bereik)

Stap 1: Vrywaring

Die konstruksie van hierdie toestel vereis die gebruik van matig gevaarlike gereedskap en kan skade aan eiendom veroorsaak. Sommige van die nodige stappe kan die waarborg van u hardeware ongeldig maak of dit selfs beskadig as dit onbehoorlik uitgevoer word. U bou en gebruik die beskrewe toestel op eie risiko

Stap 2: Hoe waaierbeheer werk

Hoe waaierbeheer werk
Hoe waaierbeheer werk

Kanaal A gebruik twee insette. Elkeen van die kanaal A -insette het 'n vlak wat daarmee gepaard gaan, laat ons die vlakke A0 en A1 noem. Standaard is albei hierdie vlakke 0. Beide insette het drumpel -RPM -waardes wat daarmee gepaard gaan (3 drempels per insette). As die eerste drumpel bereik word, neem A0 of A1 toe tot 1, wanneer die tweede na 2 styg, en die derde drempel stel een van die insetvlakke op 3. Later word A0 en A1 gekombineer (eenvoudig bymekaargetel en verhinder om 'n hoër waarde te bereik as 3), wat die hoofuitset van kanaal A-vlaknommer in die 0-3-reeks maak. Hierdie nommer word gebruik om die uitsetwaaiersnelheid te beheer; 0 beteken dat hulle aangedryf word deur 7-8V (dienssiklus van 0%). Hoër uitsetvlakke beteken dat die waaier van volle 12V aangedryf word vir 33%, 66% of 100% van 'n 100 ms of 33 ms siklus (dit hang af van die geselekteerde frekwensie).

Kanaal B het slegs een invoer (B1, fisies word dit gedeel met kanaal A [PB1 -pen]). Daar is ses moontlike B1-vlakke (1-6), standaardvlak is 1. Daar is vyf drempelwaardes wat B1 kan verhoog. B1 word gebruik as hoofuitset kanaal B -vlak. As dit 1 is, voer 7-8V die uitgangswaaiers uit vir 33% van die siklustyd in een siklus, in die ander een vir 66%, terwyl die res van die tyd die krag ontkoppel word. Vlak 2 beteken 66% van elke siklus is 7-8V, rus 0V. Vlak 3 beteken dat daar voortdurend 7-8V toegedien word. Vlakke 4-6 beteken dat die waaier van volle 12V aangedryf word vir 33%, 66% of 100% van die siklus, terwyl die res van die tyd 7-8V is.

Die frekwensie van hierdie PWM -beheer is standaard 10Hz. Dit kan verhoog word tot 30Hz deur J7 -penne te sluit.

As 'n hoër drempel bereik word, neem die vlakke A0, A1 en B1 onmiddellik toe. As die RPM egter daal, word die vlak vir 200 ms gehou en kan dit slegs met 1 per 200 ms daal. Dit is om vinnige veranderinge van die vlakke te voorkom wanneer die toevoer van die waaier baie naby die drempel is.

Stap 3: Soldeer elektroniese komponente

Soldeer elektroniese komponente
Soldeer elektroniese komponente
Soldeer elektroniese komponente
Soldeer elektroniese komponente
Soldeer elektroniese komponente
Soldeer elektroniese komponente

Soldeer alle elektroniese komponente aan die voorplaat (behalwe Attiny13, dit word later in 'n sok geplaas). Gebruik koperdrade (0,5 mm deursnee van die UTP -kabel moet perfek wees) om elektriese verbindings tussen komponente te maak. As u probleme ondervind om groot drade uit die Molex (AMP MATE-N-LOK) -aansluiting te druk, kan u groter gate daarvoor boor. As u nie 'n boor wil gebruik nie, kan u altyd 'n skroef 'n paar keer in klein voorafgaande gate draai. Maak seker dat die drade geen kortsluitings veroorsaak nie.

As u verkies om u eie PCB te maak, verskaf ek ook.svg (bordafmetings 53,34x63,50mm) en.pdf (A4 -bladsygrootte, binne -zip -argief) lêers. Enkelzijdige koperplank moet voldoende wees, aangesien daar slegs een verbinding aan die voorkant is (dit kan met 'n draad gemaak word), sodat die lêers aan die voorkant die hoofkant bied sodat hierdie verbinding geïdentifiseer kan word.

Ek beveel sterk aan dat u die PCB met isolerende materiaal bedek wat toevallige kortsluitings voorkom. Ek het 'n paar lae gewone papier gebruik wat deur 'n paar stroke isolasieband aan die rand van die PCB gehou word.

Stap 4: Programmering van ATtiny Microcontroller

ATtiny Microcontroller programmeer
ATtiny Microcontroller programmeer
ATtiny Microcontroller programmeer
ATtiny Microcontroller programmeer

Die program wat op die MCU werk, het verskeie drempels van die toerusting van die toevoerwaaiers. Die drempels is aan die begin van die fan_controller.c -lêer geleë. Die lyn wat die eerste drempel bevat, wat verantwoordelik is vir die effense verhoging van kanaal A -uitvoervlak in reaksie op input_0 -waaier van meer as 450 omw / min, lyk soos volg:

#definieer A0_SPEED_0 3 // 450 RPM

As u die drumpel -RPM -waarde wil verander, moet u nommer 3 vervang met iets anders. Deur hierdie getal met 1 te verhoog, sal die drempel met 150 RPM verander.

'N Ander ding wat u dalk wil verander, is die vermindering van die vertraging in die uitvoervlak. Hierdie vertraging verhoed dat die uitsetvlak vinnig verander as die invoerwaaier se toerusting baie naby die drempel is. Daar is 3 lyne wat dit beheer (aangesien kanaal A 2 insette gebruik en kanaal B 1 gebruik) en die eerste daarvan lyk so:

as (channel_A0_lower_rpm_cycles> 2) {

Deur die getal 2 te verhoog, sal hierdie vertraging toeneem. Vertraging word in 100 ms siklusse getel.

U benodig sagteware om die bronkode saam te stel en dan die chip te programmeer. Op 'n Debian-gebaseerde Linux-verspreiding kan dit geïnstalleer word deur die volgende opdrag uit te voer:

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

As u Windows gebruik, kan u probeer om WinAVR suite te installeer, wat ook die nodige sagteware bevat.

Om die bronkode saam te stel, moet u dit uitvoer:

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

Om 'n.hex -lêer te skep, moet u hierdie reël na die terminale kopieer:

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

Met hierdie opdrag kan u kyk hoeveel geheue die program sal gebruik (teks is Flash, data is veranderlikes wat in Flash gestoor word en dan na RAM gekopieer word, en bss is veranderlikes wat met 'n waarde van 0 in RAM geïnitialiseer is):

av_-grootte fan_controller.out

As u.hex -lêer gereed is, moet u ATtiny13 in die broodbord plaas en dit met die kabels aan die programmeerder koppel. Dit is die beste om die krag van die programmeerder te ontkoppel as u dit aan die MCU koppel. Hou standaard sekuriteitsbits (H: FF, L: 6A). As u programmeerder USBasp is, sal hierdie opdrag die flitsgeheue van die MCU programmeer:

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

-B 8 verander die oordragspoed tussen programmeerder en MCU (bitclock). Miskien moet u dit na 'n hoër waarde verander as u probleme ondervind met die verbinding met die mikrobeheerder.

As die MCU gereed is, plaas dit in die DIP 8 -aansluiting. Om die MCU van die broodbord te verwyder, wikkel ek dit gewoonlik met 'n platskroewedraaier.

Stap 5: Koppel aanhangers aan die toestel

Koppel waaiers aan die toestel
Koppel waaiers aan die toestel
Koppel waaiers aan die toestel
Koppel waaiers aan die toestel
Koppel waaiers aan die toestel
Koppel waaiers aan die toestel

As 'n Input 0 -waaier (die een wat aan die PB0 gekoppel is), het ek een van die waaierwaaiers gekies wat by MOBO ingeskakel is, wat wissel met die CPU -temperatuur. Ek het isolasie van die deel van die waaier se toerenteldraad verwyder en aan die een kant van die springkabel gesoldeer. Die ander kant (met 'n 2,54 mm -aansluiting daarby) word aan die waaierbeheerder gekoppel. As die jumperkabel te kort is, verleng dit deur 'n ander kabel te soldeer tussen die voorheen genoemde. Bedek dan alle blootgestelde geleiers met isolasieband.

Invoer 1 lees die snelheid van GPU -aanhangers (in my geval is daar eintlik 3 daarvan, maar daar is slegs een waaieraansluiting op die grafiese kaartkaart). Ek het Input 1-aansluitkabel direk aan een van die leidings van die 4-pins mini GPU-waaierverbinding op die PCB gesoldeer. Aangesien hierdie lood tussen die PCB en die agterplaat geleë was, het ek die agterplaat eers met 'n stuk papier geïsoleer (veral omdat die materiaal van die agterplaat baie soldeerbaar was) en dan die vroulike aansluiting van die kabel stewig aan die ander kant van die agterplaat vasgemaak met die gebruik van aluminiumfoelietape. Dan kan die GPU -waaier (s) aan die PB1 -pen gekoppel word met die gebruik van 'n ander (uitgebreide) springkabel. As u niks op u PCB -kaart wil soldeer nie, kan u die kabel aan die waaier se drade koppel of 'n adapter maak wat tussen die waaier (s) en die aansluiting op die PCB geplaas word, is die besluit.

Die waaier dra sy huidige spoed deur die toerentellerdraad deur hierdie draad twee keer per rotasie met die oop drein/kollektor aan die grond te koppel (die rotor van die waaier het gewoonlik 4-pole [NSNS] wat deur die Hall-sensor bespeur word, die uitset van die waaier word laag wanneer op die tipe paal word opgespoor). Aan die ander kant word hierdie draad gewoonlik na die 3.3V -spanningsvlak getrek. As u nie seker is of u die regte draad gekry het nie, kan u 'n ossilloskoop gebruik of een van die opsporingskringe bou wat op die laaste prent in hierdie stap geteken word. Met die eerste kan u die maksimum spanning wat op die gemete plek verskyn, nagaan, en die tweede om te kyk of daar lae frekwensie pulse is.

3.3V moet deur ATtiny se invoerpenne gelees word as 'n HOOG toestand, maar as u hiermee probleme ondervind, kan u probeer om die spanning wat MCU aandryf, te verminder (dit verhoog ook die weerstand van MOSFET's!). Ek het geen probleme gehad nie, maar ek het besluit dat ek hierdie gedagte hier moet insluit.

As insetwaaiers gereed is, kan u 'n waaierbeheerder in u rekenaarkas plaas, op 'n plek van u keuse. Ek het dit aan die kant van twee van my leë 5,25”-ryplekke aangebring deur dit tussen metaaldele van die baai te druk, papier daaragter te sit en dit vas te maak met behulp van’ n ritssluiting wat deur een van die groot gate gestoot is in prefboard en 'n paar ander gate in die 5,25”-baai. Maak seker dat geen metaaldele van die rekenaarkas aan die blootgestelde geleiers van die waaierbeheerder kan raak nie.

Nou kan u 3-pins uitsetwaaiers aan die kontroleerder koppel. Uitgangswaaiers wat aan die kanaal A gekoppel is, sal aan beide CPU- en GPU-waaiers gekoppel wees, en die minimum spanning wat hulle sal aandryf, sal ongeveer 7-8V wees. Waaiers wat by die kanaal se B -uitgangskonneksies aangesluit is, word slegs deur die GPU -koelerwaaier (s) aangedryf, en hul spanning kan tot 0V daal (maar slegs vir 66ms elke tweede 100ms -siklus op die laagste uitsetaandrywing). Aanhangers moet nie meer as 1A per uitsetkanaal trek nie.

Stap 6: Ander veranderinge wat ek aan my rekenaar aangebring het

Ander veranderinge wat ek aan my rekenaar aangebring het
Ander veranderinge wat ek aan my rekenaar aangebring het
Ander veranderinge wat ek aan my rekenaar aangebring het
Ander veranderinge wat ek aan my rekenaar aangebring het
Ander veranderinge wat ek aan my rekenaar aangebring het
Ander veranderinge wat ek aan my rekenaar aangebring het
Ander veranderinge wat ek aan my rekenaar aangebring het
Ander veranderinge wat ek aan my rekenaar aangebring het

Kanaal A dryf twee waaiers aan die bokant van my omhulsel. Hulle is dieselfde model en word aangedryf deur dieselfde spanning, wat hulle laat draai teen baie soortgelyke snelhede. 'N Hoorbare klank (interferensiepatroon tussen twee geluide van effens verskillende frekwensies) verskyn as gevolg hiervan. Om dit reg te stel, het ek 2 diodes (een gewone en een Schottky) in serie met een van die waaiers geïnstalleer. Dit het die waaier se spanning en spoed verminder, wat die ritme laat verdwyn het.

'N Ander verandering, wat verband hou met een van die waaiers wat ek gemaak het, is die installering van 'n boonste waaier van papiermuur wat meer aan die voorkant geleë is. Die doel daarvan is om te verhoed dat hierdie waaier lug suig wat nog nie deur enige van die heatsinks gegaan het nie. Ek het ook probeer om ander papiermure te maak wat verhoed het dat GPU -uitlaatlucht in die CPU -koeler ingesuig word. Hulle het die CPU -temperatuur eintlik verlaag, maar ten koste van die GPU -opwarming, het ek dit uiteindelik verwyder.

'N Ander ongewone aanpassing wat ek gemaak het, is die verwydering van die stoffilter by die uitlaat van die twee boonste waaiers (meestal word lug uit die kas gedruk, en as my rekenaar af is, beskerm die laai effens bokant die rekenaarkas dit van stof). Ek het ook 'n waaier van 92 mm voor twee leë dryfplekke van 5,25 duim geïnstalleer (waaierbeheerder is net daaragter). Hierdie waaier word nie deur skroewe vasgehou nie, pas net tussen die waaier van 120 mm tussen die waaier en die optiese aandrywing hierbo (beide oppervlaktes is bedek met isolasieband om vibrasie te demp).

Aanbeveel: