Talaan ng mga Nilalaman:

CPU & GPU Driven Fan Controller: 6 Hakbang (na may Mga Larawan)
CPU & GPU Driven Fan Controller: 6 Hakbang (na may Mga Larawan)

Video: CPU & GPU Driven Fan Controller: 6 Hakbang (na may Mga Larawan)

Video: CPU & GPU Driven Fan Controller: 6 Hakbang (na may Mga Larawan)
Video: 5 Things that you should NEVER do to your Computer (Tagalog) 2024, Nobyembre
Anonim
CPU at GPU na Pinapatakbo ng Fan Controller
CPU at GPU na Pinapatakbo ng Fan Controller

Kamakailan lang ay na-upgrade ko ang aking graphics card. Ang bagong modelo ng GPU ay may mas mataas na TDP kaysa sa aking CPU at isang lumang GPU, kaya nais ko ring mag-install ng mga karagdagang tagahanga ng kaso. Sa kasamaang palad, ang aking MOBO ay mayroon lamang 3 mga tagakonekta na tagahanga na may kontrol sa bilis, at maaari lamang silang maiugnay sa temperatura ng CPU o chipset. Napagpasyahan kong malunasan ito, sa pamamagitan ng pagdidisenyo ng aking sariling fan ng PC fan na nagbabasa ng mga bilis ng RPM ng mga naka-install na tagahanga (kapwa ang mga konektado sa MOBO at hinihimok ng CPU temp at ang mga cool na GPU) at mayroong dalawang output channel. Gumagamit ang Channel A ng bilis ng parehong mga tagahanga ng naka-link na temperatura ng CPU & GPU upang himukin ang mga tagahanga ng 3-pin na output na may variable na bilis. Nararamdaman lamang ng Channel B ang bilis ng mga tagahanga ng GPU at ang output circuit ay gumagamit ng karagdagang transistor na nagbibigay-daan upang makamit ang mas mababang bilis ng mga tagahanga na hinimok nito (mahusay itong gumagana sa semi-passive graphics card).

Ang pagbabasa ng iba pang bilis ng mga tagahanga sa aking palagay ay mas madali at mas mura kaysa sa pag-install ng karagdagang mga probe ng temperatura sa tabi mismo ng mga processor na sakop sa heatsinks (karaniwang kinakailangan nito ang pagkonekta ng mga tagahanga ng tachometers na wire nang direkta sa isang microcontroller pin).

Ang ilan sa mga pamamaraan ng pagkontrol sa mga bilis ng fan ay inilarawan dito. Nagpasya akong gumamit ng mababang dalas ng PWM, ngunit may kaunting pagbabago sa pamamaraang inilarawan sa artikulo. Una, ang bawat channel ay may 6 na diode na konektado sa serye, na maaaring magamit upang mabawasan ang boltahe na nagpapagana ng isang fan ng 4-5V. Sa setup na ito, ang mga antas ng boltahe ng PWM ay ~ 8V - 12V at 0V - ~ 8V (hindi magagamit sa Channel A) sa halip na 0V - 12V. Ito ay lubos na binabawasan ang ingay na nagawa maging tagahanga. Ang isa pang trick na ginamit ko upang makontrol ang fan sa fashion na ito ay mas tahimik ay inilarawan dito. Ang trick na ito ay nangangailangan ng pag-install ng RC circuit sa pagitan ng output ng microcontroller at isang gate ng isang MOSFET na ginamit ko upang ilipat ang mga antas ng boltahe ng fan. Binabawasan nito ang rate ng signal ng isang signal na kumokontrol sa MOSFET, na ginagawang angular jerk ng fan sa panahon ng pagbabago ng antas ng boltahe na hindi gaanong kilala, pinuputol ang panginginig ng boses at boltahe na mga spike.

Mga gamit

Mga bahagi at materyales:

  • ATtiny13 o ATtiny13A sa isang kaso na 8-PDIP
  • 8 Pin DIP Socket
  • 3x IRF530 transistor
  • 12x 1N4007 diode (anumang iba pang 1A diode na may boltahe na patak sa paligid ng 0.7V ay dapat na gumana)
  • 220uF / 25V radial electrolytic capacitor
  • 10uF / 16V radial electrolytic capacitor
  • 5x 100nF ceramic disc capacitor
  • 10k 0.25W risistor
  • 4x 22k 0.25W risistor
  • 2x 1k 0.25W risistor
  • 6x6mm pindutan ng paglipat ng pandamdam
  • 2x 2 pin 2.54mm straight male pin header
  • 4x 3-pin male fan konector (Molex 2510), bilang kahalili, maaari kang gumamit ng mga regular na header ng pin kung nais mo (ginawa ko ito), ngunit pagkatapos ay kailangan mong maging mas maingat kapag kumokonekta sa mga tagahanga, at ang mga babaeng konektor ng mga tagahanga ay nakakabit nang hindi gaanong ligtas
  • 4-pin Molex connector, babaeng pabahay / male pin (AMP MATE-N-LOK 1-480424-0 power konektor), ginamit ko ang isa na bahagi ng Molex male to 2x SATA female adapter na nakabalot ng ilang matandang MOBO
  • 2x jumper cables na may 2.54mm mga babaeng konektor (o mga konektor ng bahay + pin + wires), sila ay solder upang mai-input ang mga wire ng tachometer ng mga tagahanga (o direkta sa kanilang mga konektor sa PCB)
  • prefboard (50mm x 70mm, min 18 x 24 hole array), bilang kahalili, maaari kang mag-ukit ng tanso na nakasuot ng board sa iyong sarili at mag-drill ng mga butas
  • ilang piraso ng kawad
  • insulate tape
  • aluminyo foil tape (kung ilalagay mo ang konektor sa backplate ng GPU, tingnan ang Hakbang 5)
  • papel

Mga tool:

  • pamutol ng dayagonal
  • pliers
  • flat-bladed distornilyador
  • kutsilyo ng utility
  • multimeter
  • istasyon ng paghihinang
  • panghinang
  • AVR programmer (standalone programmer tulad ng USBasp o maaari mong gamitin ang ArduinoISP
  • breadboard at jumper cables na gagamitin upang magprogram ng microcontroller sa labas ng PCB (o anumang iba pang tool na maaaring makamit ang layuning ito)

Hakbang 1: Pagwawaksi

Ang pagtatayo ng aparato na ito ay nangangailangan ng paggamit ng katamtamang mapanganib na mga tool at maaaring maging sanhi ng pinsala o pinsala sa pag-aari. Ang ilan sa mga kinakailangang hakbang ay maaaring magpawalang bisa ng isang warranty ng iyong hardware o kahit na mapinsala ito kapag hindi wastong isinagawa. Binubuo at ginagamit mo ang inilarawan na aparato nang may sariling peligro

Hakbang 2: Paano Gumagana ang Fan Control

Paano Gumagana ang Fan Control
Paano Gumagana ang Fan Control

Gumagamit ang Channel A ng dalawang mga input. Ang bawat isa sa mga input ng Channel A ay may antas na nauugnay dito, hinahayaan na tawagan ang mga antas na A0 at A1. Bilang default ang pareho sa mga antas na iyon ay 0. Ang parehong mga input ay may mga halagang threshold na RPM na nauugnay sa kanila (3 mga threshold bawat input). Kapag nakamit ang unang threshold, ang A0 o A1 ay tumataas sa 1, kapag ang pangalawa ay tumataas ito sa 2, at ang pangatlong threshold ay nagtatakda ng isa sa mga antas ng pag-input sa 3. Mamaya ang A0 at A1 ay pinagsama (simpleng idinagdag magkasama at pinipigilan na makamit ang isang mas mataas na halaga kaysa sa 3), paggawa ng pangunahing output ng Channel Isang antas ng numero sa saklaw na 0-3. Ang numerong ito ay ginagamit upang makontrol ang bilis ng mga tagahanga ng output, ang 0 ay nangangahulugang pinalakas sila ng 7-8V (cycle ng tungkulin na 0%). Ang ibig sabihin ng mas mataas na antas ng output na ang fan ay pinalakas mula sa buong 12V para sa 33%, 66% o 100% ng isang 100ms o 33ms cycle (depende ito sa napiling dalas).

Ang Channel B ay may isang input lamang (B1, pisikal na ibinabahagi sa Channel A [PB1 pin]). Mayroong anim na posibleng antas ng B1 (1-6), antas ng default ay 1. Mayroong limang mga halaga ng threshold, na kung saan ay maaaring dagdagan ang B1. Ang B1 ay ginagamit bilang pangunahing antas ng output ng Channel B. Kapag ito ay 1, 7-8V ay nagpapagana ng mga tagahanga ng output para sa 33% ng oras ng pag-ikot sa isang pag-ikot, sa isa pa para sa 66%, para sa natitirang oras ng lakas ay hindi naidugtong. Ang antas 2 ay nangangahulugang 66% ng bawat pag-ikot ay 7-8V, pahinga 0V. Ang antas 3 ay nangangahulugang ang 7-8V ay patuloy na inilalapat. Ang mga antas ng 4-6 ay nangangahulugang ang tagahanga ay pinalakas mula sa buong 12V para sa 33%, 66% o 100% ng cycle, para sa natitirang boltahe ng oras ay 7-8V.

Ang dalas ng kontrol na ito ng PWM bilang default ay 10Hz. Maaari itong dagdagan sa 30Hz sa pamamagitan ng pagsasara ng mga J7 jumper pin.

Kapag naabot ang mas mataas na threshold, ang mga antas ng A0, A1 at B1 ay agad na tataas. Kapag bumagsak ang mga RPM gayunpaman, ang antas ay gaganapin para sa 200ms at maaari lamang mabawasan ng 1 bawat 200ms. Ito ay upang maiwasan ang mabilis na pagbabago ng mga antas na iyon kapag ang input fan RPM ay napakalapit sa threshold.

Hakbang 3: Mga Soldering Electronic Component

Mga Soldering Electronic Component
Mga Soldering Electronic Component
Mga Soldering Electronic Component
Mga Soldering Electronic Component
Mga Soldering Electronic Component
Mga Soldering Electronic Component

Paghinang ng lahat ng mga elektronikong sangkap sa prefboard (maliban sa Attiny13, ilalagay ito sa paglaon sa loob ng isang socket). Gumamit ng mga wire na tanso (0.5 mm ang lapad ng mga mula sa UTP cable ay dapat na perpekto) upang makagawa ng mga koneksyon sa kuryente sa pagitan ng mga bahagi. Kung nagkakaproblema ka sa pagtulak ng malalaking mga wire na lalabas sa konektor ng Molex (AMP MATE-N-LOK), maaari kang mag-drill ng mas malalaking mga butas para sa kanila. Kung hindi mo nais na gumamit ng isang drill maaari mong palaging buksan ang isang tornilyo ng maraming beses sa loob ng maliit na mga butas ng prefboard. Siguraduhin na ang mga wire ay hindi maging sanhi ng anumang mga maikling-circuit.

Kung mas gusto mong gumawa ng iyong sariling PCB nagbibigay din ako.svg (mga sukat ng board ay 53.34x63.50mm) at.pdf (laki ng A4 na pahina, sa loob ng.zip archive) na mga file. Ang solong panig na tanso na nakasuot ng tanso ay dapat na sapat, dahil mayroon lamang isang koneksyon sa harap na bahagi (maaari itong gawin gamit ang isang kawad), kaya't ang mga file para sa harap na bahagi ay ibinibigay pangunahing upang ang pagkakakonekta na ito ay maaaring makilala.

Masidhi kong inirerekumenda na takpan mo sa likod ng PCB ang ilang insulate na materyal na maiiwasan ang anumang hindi sinasadyang mga maikling circuit. Gumamit ako ng ilang mga layer ng regular na papel na hawak sa mga gilid ng PCB ng ilang mga piraso ng insulate tape.

Hakbang 4: Programming ATtiny Microcontroller

Programming ATtiny Microcontroller
Programming ATtiny Microcontroller
Programming ATtiny Microcontroller
Programming ATtiny Microcontroller

Ang programa na tumatakbo sa MCU ay may hard-coded ng maraming mga threshold ng mga bilis ng pag-input ng mga tagahanga ng RPM. Ang mga threshold na iyon ay matatagpuan sa simula ng fan_controller.c file. Ang linya na naglalaman ng unang threshold, na responsable para sa bahagyang pagdaragdag ng Channel Isang antas ng output bilang tugon sa input_0 fan na lumalagpas sa 450 RPM, ganito ang hitsura:

# tukuyin A0_SPEED_0 3 // 450 RPM

Kung nais mong baguhin ang halaga ng threshold RPM, kailangan mong palitan ang numero 3 ng iba pa. Ang pagdaragdag ng bilang na ito ng 1 ay magbabago ng threshold ng 150 RPM.

Ang iba pang bagay na maaaring gusto mong baguhin ay ang pagbaba ng pagkaantala ng antas ng output. Pinipigilan ng pagkaantala na ito ang antas ng mabilis na mga pagbabago kapag ang input fan RPM ay malapit sa threshold. Mayroong 3 mga linya na kinokontrol ito (tulad ng paggamit ng Channel A ng 2 mga input at ang Channel B ay gumagamit ng 1) at una sa kanila ay ganito:

kung (channel_A0_lower_rpm_cycles> 2) {

Ang pagtaas ng bilang 2 ay magpapataas sa pagkaantala na ito. Ang pagkaantala ay binibilang sa 100ms cycle.

Upang makatipid ang source code at pagkatapos ay ang chip ng programa kakailanganin mo ng ilang software. Sa isang pamamahagi ng Linux na nakabatay sa Debian maaari itong mai-install sa pamamagitan ng pagpapatupad ng sumusunod na utos:

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

Kung gumagamit ka ng Windows maaari mong subukang i-install ang WinAVR suite, na naglalaman din ng kinakailangang software.

Upang makatipon ng source code kailangan mong maisagawa ito:

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

Upang lumikha ng.hex file kailangan mong kopyahin ang linyang ito sa terminal:

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

Pinapayagan ng utos na ito na suriin kung magkano ang memorya ng gagamitin ng programa (ang teksto ay Flash, ang data ay mga variable na maiimbak sa Flash at pagkatapos ay makopya sa RAM, at ang bss ay mga variable na pinasimulan ng isang halaga ng 0 sa RAM):

avr-size fan_controller.out

Kapag handa na ang iyong.hex file kailangan mong ipasok ang ATtiny13 sa breadboard at ikonekta ito sa programmer na may jumper cables. Mahusay na idiskonekta ang lakas mula sa programmer kapag ikinokonekta mo ito sa MCU. Panatilihin ang mga default na piyus ng piyus (H: FF, L: 6A). Kung ang iyong programmer ay USBasp ang utos na ito ay magpaprogram ng flash memory ng MCU:

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

-B 8 binabago ang bilis ng paghahatid sa pagitan ng programmer at MCU (bitclock). Maaaring kailanganin mong baguhin ito sa isang mas mataas na halaga kung mayroon kang mga problema sa pagkonekta sa microcontroller.

Kapag handa na kami sa MCU, ilagay ito sa loob ng socket ng DIP 8. Upang alisin ang MCU mula sa breadboard ay karaniwang pry ko ito sa flat-bladed distornilyador.

Hakbang 5: Pagkonekta sa Mga Tagahanga sa Device

Pagkonekta ng Mga Tagahanga sa Device
Pagkonekta ng Mga Tagahanga sa Device
Pagkonekta ng Mga Tagahanga sa Device
Pagkonekta ng Mga Tagahanga sa Device
Pagkonekta ng Mga Tagahanga sa Device
Pagkonekta ng Mga Tagahanga sa Device

Bilang isang tagahanga ng Input 0 (ang isang konektado sa PB0) Pinili ko ang isa sa mga tagahanga ng kaso na naka-plug sa MOBO, na ang bilis ay iba-iba sa temperatura ng CPU. Inalis ko ang pagkakabukod mula sa bahagi ng tachometer wire ng fan at na-solder ang isang dulo ng jumper cable dito. Ang kabilang dulo (na may 2.54mm babaeng konektor na nakakabit dito) ay makakonekta sa fan controller. Kung ang jumper cable ay masyadong maikli, palawakin ito sa pamamagitan ng paghihinang ng isa pang cable sa pagitan ng mga naunang nabanggit. Pagkatapos takpan ang lahat ng mga nakalantad na conductor ng insulation tape.

Binabasa ng input 1 ang bilis ng mga tagahanga ng GPU (sa aking kaso mayroong talagang 3 sa kanila, ngunit mayroon lamang isang konektor ng fan sa graphics card PCB). Naghinang ako ng Input 1 jumper cable nang direkta sa isa sa mga lead ng 4-pin mini GPU fan konector na matatagpuan sa PCB. Tulad ng tingga na ito ay matatagpuan sa pagitan ng PCB at backplate, isinalik ko muna ang backplate na may isang piraso ng papel (lalo na dahil ang materyal ng backplate ay medyo solderable) at pagkatapos ay matatag na nakakabit na babaeng konektor ng cable sa kabilang panig ng backplate gamit ang aluminyo foil tape. Pagkatapos ang (mga) fan ng GPU ay maaaring konektado sa PB1 pin gamit ang paggamit ng isa pang (pinalawak) na jumper cable. Kung hindi mo nais na maghinang ng anumang bagay sa iyong graphics card PCB maaari kang maglakip ng jumper cable sa mga wire ng fan o gumawa ng adapter na mailalagay sa pagitan ng (mga) fan at konektor sa PCB, ang desisyon ay iyo.

Ang transmite ay nagpapadala ng kasalukuyang bilis sa pamamagitan ng tachometer wire sa pamamagitan ng pagkonekta sa wire na ito sa lupa sa pamamagitan ng bukas na drain / collector ng dalawang beses bawat pag-ikot (ang rotor ng fan ay karaniwang mayroong 4-poste [NSNS] na napansin ng sensor ng Hall, ang output ng fan ay bumababa kapag sa uri ng poste ay napansin). Sa kabilang panig, ang kawad na ito ay karaniwang hinihila sa antas ng boltahe na 3.3V. Kung hindi ka sigurado kung nakakuha ka ng tamang kawad maaari kang gumamit ng oscilloscope o bumuo ng isa sa mga circuit ng detection na iginuhit sa huling larawan sa hakbang na ito. Pinapayagan ka ng una sa kanila na suriin ang maximum na boltahe na lilitaw sa sinusukat na lokasyon, ang pangalawa upang suriin kung may mga mababang pulso ng dalas na lumilitaw doon.

Dapat basahin ang 3.3V ng mga input pin ng ATtiny bilang TAAS na estado, ngunit kung mayroon kang mga problema dito, maaari mong subukang bawasan ang boltahe na nagpapagana sa MCU (tataas din nito ang paglaban ng MOSFETs!). Wala akong anumang mga problema, gayunpaman, napagpasyahan kong isama ko rito ang kaisipang ito.

Kapag handa na ang mga tagahanga ng pag-input, maaari kang maglagay ng fan controller sa loob ng iyong PC case, sa isang lugar na iyong pipiliin. Inilagay ko ito sa gilid ng dalawa sa aking walang laman na 5.25 "mga drive bay, sa pamamagitan ng pagtulak sa pagitan ng mga metal na bahagi ng bay, paglalagay ng ilang papel sa likuran nito at pag-lock sa lugar gamit ang isang zip tie na tinulak sa isa sa malalaking butas sa prefboard at ilang iba pang mga butas sa 5.25 "bay. Tiyaking walang mga metal na bahagi ng kaso ng PC ang maaaring hawakan ang alinman sa mga nakalantad na conductor ng fan controller.

Ngayon ay maaari mong ikonekta ang 3-pin na mga tagahanga ng output sa controller. Ang mga tagahanga ng output na konektado sa Channel A ay maiugnay sa parehong mga tagahanga ng CPU at GPU, at ang minimum na boltahe na magpapalakas sa kanila ay halos 7-8V. Ang mga tagahanga na naka-plug sa mga konektor ng output ng B ng Channel ay itutulak lamang ng (mga) cooler fan ng GPU at ang kanilang boltahe ay maaaring bumaba sa 0V (ngunit para lamang sa 66ms bawat segundo na 100ms cycle sa pinakamababang antas ng output drive). Ang mga tagahanga ay hindi dapat gumuhit ng higit sa 1A bawat output channel.

Hakbang 6: Iba Pang Mga Pagbabago Na Ginawa Ko sa Aking PC

Iba Pang Mga Pagbabago Na Ginawa Ko sa Aking PC
Iba Pang Mga Pagbabago Na Ginawa Ko sa Aking PC
Iba Pang Mga Pagbabago Na Ginawa Ko sa Aking PC
Iba Pang Mga Pagbabago Na Ginawa Ko sa Aking PC
Iba Pang Mga Pagbabago Na Ginawa Ko sa Aking PC
Iba Pang Mga Pagbabago Na Ginawa Ko sa Aking PC
Iba Pang Mga Pagbabago Na Ginawa Ko sa Aking PC
Iba Pang Mga Pagbabago Na Ginawa Ko sa Aking PC

Hinihimok ng Channel A ang dalawang tagahanga na matatagpuan sa tuktok ng aking kaso. Ang mga ito ay ang parehong modelo at sila ay pinalakas ng parehong boltahe, na ginagawang iikot ang mga ito sa magkatulad na bilis. Ang ilang mga naririnig na beat (pattern ng pagkagambala sa pagitan ng dalawang mga tunog ng bahagyang magkakaibang mga frequency) ay lumitaw bilang isang resulta ng na. Upang malunasan ito, nag-install ako ng 2 diode (isang regular na isa at isang Schottky) sa serye kasama ang isa sa mga tagahanga. Nabawasan nito ang boltahe at bilis ng fan, na nagwawala.

Ang isa pang pagbabago, na nauugnay sa isa sa mga tagahanga na ginawa ko, ay ang pag-install ng isang wall wall sa ibaba ng tuktok na tagahanga na matatagpuan higit pa sa harap. Ang layunin nito ay upang maiwasan ang fan na ito mula sa pagsuso ng hangin na hindi pa dumaan sa alinman sa mga heatsink. Sinubukan ko ring gumawa ng iba pang mga dingding ng papel na pumipigil sa pag-ubos ng hangin ng GPU mula sa pagsipsip sa cooler ng CPU. Talagang binawasan nila ang CPU temp, ngunit sa gastos ng pag-init ng GPU ng higit pa, kaya sa huli tinanggal ko sila.

Ang iba pang hindi pangkaraniwang pagbabago na ginawa ko ay ang pagtanggal ng dust filter sa tambutso ng dalawang nangungunang tagahanga (ang karamihan sa oras na hangin ay itinutulak palabas ng kaso, at kapag ang aking PC ay naka-off, ang drawer ay matatagpuan nang bahagya sa itaas ng kaso ng PC. mula sa alabok). Nag-install din ako ng 92mm fan sa harap ng dalawang walang laman na mga drive ng 5.25 (ang fan controller ay matatagpuan sa likuran lamang nito). Ang tagahanga na ito ay hindi gaganapin ng anumang mga turnilyo, umaangkop lamang nang mabuti sa pagitan ng 120mm fan bellow ito at optical drive sa itaas (ang mga ibabaw ng pareho sa kanila ay natatakpan ng insulate tape upang makapagbigay ng ilang panginginig ng panginginig ng boses).

Inirerekumendang: