Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu yaxınlarda qrafik kartımı təkmilləşdirdim. Yeni GPU modelində CPU və köhnə bir GPU -dan daha yüksək TDP var, buna görə də əlavə korpus fanatları quraşdırmaq istədim. Təəssüf ki, MOBO -da sürət tənzimləyicisi olan yalnız 3 fan konnektoru var və onlar yalnız CPU və ya çipset temperaturu ilə əlaqələndirilə bilər. Artıq quraşdırılmış fanatların RPM sürətini oxuyan (həm MOBO -ya qoşulmuş, həm də CPU tempi ilə idarə olunan və GPU -nu sərinləyənlər) və iki çıxış kanalına malik olan öz PC fan nəzarətçimi dizayn edərək bu problemi həll etməyə qərar verdim. Kanal A, dəyişkən sürətlə 3 pinli çıxış fanatlarını idarə etmək üçün həm CPU, həm də GPU temperaturu ilə əlaqəli fanatların sürətindən istifadə edir. Kanal B yalnız GPU pərəstişkarlarının sürətini hiss edir və çıxış dövrəsi, idarə etdiyi fanatların daha aşağı sürətinə nail olmağa imkan verən əlavə tranzistordan istifadə edir (yarı passiv qrafik kartı ilə yaxşı işləyir).
Digər fanatların sürətini oxumaq, mənim fikrimcə, soyuducularla örtülmüş prosessorların yanında əlavə temperatur probları quraşdırmaqdan daha asandır və daha ucuzdur (əsasən fanatların takometrlərinin telini birbaşa mikrokontrolör pininə bağlamağı tələb edir).
Fan sürətini idarə etməyin bəzi üsulları burada təsvir edilmişdir. Aşağı tezlikli PWM-dən istifadə etmək qərarına gəldim, ancaq məqalədə təsvir olunan üsula az dəyişiklik edildi. Birincisi, hər kanalda ardıcıl olaraq bağlanan 6 diod var ki, bu da bir fanı 4-5V gücləndirən gərginliyi azaltmaq üçün istifadə edilə bilər. Bu qurğuda, PWM gərginlik səviyyələri 0V - 12V yerinə ~ 8V - 12V və 0V - ~ 8V (Kanal A -da yoxdur). Bu, fan tərəfindən istehsal olunan səs -küyü əhəmiyyətli dərəcədə azaldır. Azarkeşləri bu şəkildə daha səssiz idarə etmək üçün istifadə etdiyim başqa bir hiylə burada təsvir edilmişdir. Bu hiylə, mikro nəzarətçinin çıxışı ilə fanın gərginlik səviyyələrini dəyişdirmək üçün istifadə etdiyim bir MOSFET qapısı arasında RC dövrə qurmağı tələb edir. Bu, MOSFET -i idarə edən bir siqnalın sürətini azaldır, bu da öz növbəsində, gərginlik səviyyəsi dəyişikliyi zamanı fanın açısal zərbəsini daha az nəzərə çarpdırır, vibrasiya və gərginlik sıçrayışlarını azaldır.
Təchizat
Parçalar və materiallar:
- 8-PDIP halda ATtiny13 və ya ATtiny13A
- 8 Pinli DIP Soket
- 3x IRF530 tranzistor
- 12x 1N4007 diod (0.7V ətrafında geriləmə düşən hər hansı digər 1A diod işləməlidir)
- 220uF/25V radial elektrolitik kondansatör
- 10uF/16V radial elektrolitik kondansatör
- 5x 100nF keramika disk kondansatörü
- 10k 0.25W müqavimət
- 4x22k 0.25W müqavimət
- 2x 1k 0.25W müqavimət
- 6x6 mm toxunma düyməsi
- 2x 2 pin 2.54mm düz kişi pin başlığı
- 4x 3-pinli kişi fan konnektoru (Molex 2510), alternativ olaraq, istəsəniz adi pin başlıqlarından istifadə edə bilərsiniz (mən etdim), amma sonra fanatları bağlayarkən çox diqqətli olmalısınız və bu fanatların qadın konnektorları daha az etibarlı şəkildə bağlanır
- 4 pinli Molex konnektoru, dişi yuva/kişi sancaqları (AMP MATE-N-LOK 1-480424-0 güc konnektoru), Molex kişinin bir hissəsi olan köhnə MOBO ilə birlikdə 2x SATA dişi adapterə malik birindən istifadə etdim.
- 2.54 mm dişi konnektorlu (və ya konnektor yuvaları + sancaqlar + tellər) 2x tullanan kabellər, takometr tellərinin giriş fanatlarına (və ya birbaşa PCB -lərdəki konnektorlarına) lehimlənəcək
- prefabrik lövhə (50mm x 70mm, minimum 18 x 24 delikli sıra), alternativ olaraq, mis örtüklü lövhəni özünüz qazıb deliklər qaza bilərsiniz
- bir neçə tel parçası
- izolyasiya lenti
- alüminium folqa lenti (əgər konnektoru GPU arxa plakasına bağlayacaqsınızsa, bax Adım 5)
- kağız
Alətlər:
- diaqonal kəsici
- kəlbətinlər
- düz bıçaqlı tornavida
- Kommunal bıçaq
- multimetr
- lehimləmə stansiyası
- lehim
- AVR proqramçısı (USBasp kimi müstəqil proqramçı və ya ArduinoISP istifadə edə bilərsiniz
- PCB xaricində mikro nəzarətçini proqramlaşdırmaq üçün istifadə ediləcək çörək taxtası və tullanan kabellər (və ya bu məqsədə nail ola biləcək hər hansı bir vasitə)
Addım 1: İmtina
Bu cihazın qurulması orta təhlükəli vasitələrdən istifadə etməyi tələb edir və əmlaka zərər və ya ziyan vura bilər. Lazımi addımlardan bəziləri, cihazınızın zəmanətini ləğv edə bilər və ya düzgün aparılmadıqda hətta zədələyə bilər. Təsvir edilən cihazı öz riski ilə qurub istifadə edirsiniz
Addım 2: Fan İdarəetmə Necə Çalışır
Kanal A iki girişdən istifadə edir. Bu Kanal A girişlərinin hər birinin əlaqəli bir səviyyəsi var, bu səviyyələri A0 və A1 adlandırmağa imkan verir. Varsayılan olaraq bu səviyyələrin hər ikisi 0 -dır. Hər iki girişin onlarla əlaqəli eşik RPM dəyərləri var (hər giriş üçün 3 eşik). İlk eşik əldə edildikdə, A0 və ya A1 1 -ə yüksəlir, ikincisi 2 -yə yüksəlir və üçüncü eşik giriş səviyyələrindən birini 3 -ə qoyur. Daha sonra A0 və A1 birləşdirilir (sadəcə birlikdə əlavə olunur və daha yüksək bir dəyər əldə edilməsinin qarşısı alınır) 3-dən daha çox), əsas çıxış Kanal A səviyyəsi 0-3 aralığında. Bu nömrə, çıxış fanatlarının sürətini idarə etmək üçün istifadə olunur, 0, 7-8V (0%iş dövrü) ilə təchiz olunduğunu bildirir. Daha yüksək çıxış səviyyələri, fanın 100 ms və ya 33 ms dövrünün 33%, 66% və ya 100% -i üçün tam 12V -dən işlədiyi deməkdir (seçilmiş tezliyə bağlıdır).
Kanal B yalnız bir girişə malikdir (B1, fiziki olaraq Kanal A [PB1 pin] ilə paylaşılır). Altı mümkün B1 səviyyəsi var (1-6), standart səviyyə 1-dir. B1-i artıra bilən beş eşik dəyər var. B1 əsas çıxış Kanal B səviyyəsi kimi istifadə olunur. 1 olduqda, 7-8V bir dövrədə dövriyyə müddətinin 33% -ni, digərində 66% -i üçün çıxış fanatlarına güc verir, qalan vaxtda isə enerji kəsilir. Səviyyə 2, hər dövrün 66% -i 7-8V, istirahət 0V deməkdir. Səviyyə 3, 7-8V davamlı tətbiq olunduğunu bildirir. 4-6-cı səviyyələr, fanın dövrünün 33%, 66% -i və ya 100% -i üçün 12V-dən tam işlədiyi, qalan vaxt üçün isə 7-8V-lik gərginlik deməkdir.
Varsayılan olaraq bu PWM nəzarətinin tezliyi 10Hz -dir. J7 tullanan sancaqlar bağlanaraq 30Hz -ə qədər artırıla bilər.
Daha yüksək həddə çatdıqda, A0, A1 və B1 səviyyələri dərhal artır. RPM -lər düşdükdə, səviyyə 200ms üçün saxlanılır və 200ms -də yalnız 1 azala bilər. Giriş fan RPM həddinə çox yaxın olduqda bu səviyyələrdə sürətli dəyişikliklərin qarşısını almaqdır.
Addım 3: Elektron komponentlərin lehimlənməsi
Bütün elektron komponentləri ön lövhəyə lehimləyin (Attiny13 istisna olmaqla, daha sonra bir yuvanın içinə qoyulacaq). Komponentlər arasında elektrik əlaqələri qurmaq üçün mis tellərdən istifadə edin (UTP kabelindən 0,5 mm diametrli kabellər mükəmməl olmalıdır). Molex (AMP MATE-N-LOK) bağlayıcısından çıxan böyük telləri itələməkdə probleminiz varsa, onlar üçün daha böyük deliklər qaza bilərsiniz. Bir qazma istifadə etmək istəmirsinizsə, əvvəlcədən hazırlanan kiçik deliklərin içərisində bir vidanı bir neçə dəfə çevirə bilərsiniz. Tellərin qısa qapanmaya səbəb olmadığından əmin olun.
Şəxsi PCB hazırlamağa üstünlük verirsinizsə.svg (lövhə ölçüləri 53.34x63.50mm) və.pdf (A4 səhifə ölçüsü, içərisində.zip arxivi) faylları da təqdim edirəm. Tək tərəfli mis örtüklü lövhə kifayət etməlidir, çünki ön tərəfdə yalnız bir əlaqə var (tellə edilə bilər), buna görə də bu əlaqənin tanınması üçün ön tərəfdəki sənədlər əsas olaraq verilir.
PCB -nin arxasını təsadüfən qısa qapanmaların qarşısını alacaq izolyasiya materialı ilə örtməyi şiddətlə tövsiyə edirəm. Bir neçə təbəqə izolyasiya lenti ilə PCB -nin kənarlarına yapışdırılmış bir neçə təbəqə kağızdan istifadə etdim.
Addım 4: ATtiny Microcontroller proqramlaşdırılması
MCU-da işləyən proqram, giriş fanatlarının RPM sürətlərinin bir neçə həddini sərt kodlaşdırmışdır. Bu eşiklər fan_controller.c faylının başında yerləşir. 450 RPM -ni aşan input_0 fanına cavab olaraq Kanal A çıxış səviyyəsini bir qədər artırmaqdan məsul olan birinci eşik olan xətt belə görünür:
#təyin A0_SPEED_0 3 // 450 RPM
Eşik RPM dəyərini dəyişdirmək istəyirsinizsə, 3 nömrəsini başqa bir şeylə əvəz etməlisiniz. Bu sayın 1 artması eşik 150 devir / dəq dəyişəcək.
Dəyişdirmək istəyə biləcəyiniz başqa bir şey, çıxış səviyyəsinin gecikməsinin azalmasıdır. Bu gecikmə, giriş fan RPM həddinə çox yaxın olduqda çıxış səviyyəsinin sürətli dəyişmələrinin qarşısını alır. Bunu idarə edən 3 xətt var (Kanal A 2 girişdən istifadə edir və Kanal B 1 istifadə edir) və bunlardan birincisi belə görünür:
əgər (channel_A0_lower_rpm_cycles> 2) {
2 sayının artırılması bu gecikməni artıracaq. Gecikmə 100 ms dövrü ilə hesablanır.
Mənbə kodunu və sonra proqram çipini tərtib etmək üçün bəzi proqramlara ehtiyacınız olacaq. Debian əsaslı bir Linux paylamasında aşağıdakı əmri yerinə yetirərək quraşdırıla bilər:
sudo apt-get install avr-libc gcc-avr avrdude
Windows istifadə edirsinizsə, lazım olan proqramları da ehtiva edən WinAVR paketini quraşdırmağa cəhd edə bilərsiniz.
Mənbə kodunu tərtib etmək üçün bunu icra etməlisiniz:
avr -gcc -mmcu = attiny13 -Os -Wall fan_controller.c -o fan_controller.out -lm
. Hex faylı yaratmaq üçün bu xətti terminala kopyalamalısınız:
avr -objcopy -O ihex -R. fan_controller.out fan_controller.hex
Bu əmr, proqramın nə qədər yaddaş istifadə edəcəyini yoxlamağa imkan verir (mətn Flash -dır, məlumatlar Flash -da saxlanılacaq və sonra RAM -a kopyalanacaq dəyişənlərdir və bss RAM -da 0 -a bərabər olan dəyişənlərdir):
avr ölçülü fan_controller.out
. Hex faylınız hazır olduqda ATtiny13 -ü çörək taxtasına daxil etməlisiniz və onu proqramçıya tullanan kabellərlə bağlamalısınız. MCU -ya bağlayarkən proqramçının gücünü kəsmək daha yaxşıdır. Varsayılan sigorta bitlərini saxlayın (H: FF, L: 6A). Proqramçınız USBaspdırsa, bu əmr MCU -nun flash yaddaşını proqramlaşdıracaq:
avrdude -c usbasp -p t13 -B 8 -U flaş: w: fan_controller.hex
-B 8, proqramçı ilə MCU (bitclock) arasında ötürmə sürətini dəyişir. Mikro nəzarətçiyə qoşulmaqda probleminiz varsa, onu daha yüksək bir dəyərə dəyişdirməyiniz lazım ola bilər.
MCU bizə hazır olduqda, DIP 8 yuvasına qoyun. MCU-nu çörək taxtasından çıxarmaq üçün ümumiyyətlə düz bıçaqlı bir tornavida istifadə edirəm.
Addım 5: Azarkeşləri Cihaza Bağlamaq
Giriş 0 fan olaraq (PB0 -a bağlı olan) MOBO -ya qoşulmuş korpus fanatlarından birini seçdim, sürəti CPU istiliyinə görə dəyişdi. Fanın takometr telinin bir hissəsindəki izolyasiyanı çıxarıb tullanan kabelin bir ucunu ona lehimlədim. Digər ucu (2,54 mm qadın konnektoru ilə birlikdə) fan nəzarətçisinə bağlanacaq. Atlama kabeli çox qısadırsa, əvvəllər qeyd olunan kabellər arasında başqa bir kabel lehimləyərək uzatın. Sonra bütün açıq keçiriciləri izolyasiya lenti ilə örtün.
Giriş 1 GPU pərəstişkarlarının sürətini oxuyur (mənim vəziyyətimdə əslində 3 -ü var, ancaq PCB qrafik kartında yalnız bir fan konnektoru var). Giriş 1 keçid kabelini birbaşa PCB-də yerləşən 4 pinli mini GPU fan konnektorunun uclarından birinə lehimlədim. Bu qurğuş PCB ilə arxa plitə arasında yerləşdiyindən, əvvəlcə arxa plakanı bir kağız parçası ilə izolyasiya etdim (xüsusən arxa plakanın materialı kifayət qədər lehimlənə bildiyindən) və sonra alüminium folqa lentdən istifadə edərək kabelin dişi konnektorunu arxa plakanın digər tərəfinə möhkəm bağladım.. Daha sonra GPU fan (ları) başqa (uzadılmış) keçid kabelindən istifadə edərək PB1 pininə qoşula bilər. Qrafik kartınızın PCB -də heç bir şey lehimləmək istəmirsinizsə, fan tellərinə keçid kabeli bağlaya bilərsiniz və ya PCB -də fan (lar) la bağlayıcı arasında yerləşdiriləcək adapter edə bilərsiniz, qərar sizindir.
Fan, fırlanma zamanı iki dəfə açıq drenaj/kollektor vasitəsi ilə torpağa qoşularaq cari sürətini takometr teli vasitəsilə ötürür (fan rotorunun adətən Hall sensoru tərəfindən aşkar edilən 4 qütbü [NSNS] var, fanın çıxışı aşağı düşəndə dirəyin növü aşkarlanır). Digər tərəfdən, bu tel ümumiyyətlə 3.3V gərginlik səviyyəsinə çəkilir. Doğru tel aldığınızdan əmin deyilsinizsə, osiloskopdan istifadə edə bilərsiniz və ya bu addımdakı son şəklə çəkilmiş aşkarlama sxemlərindən birini qura bilərsiniz. Bunlardan birincisi, ölçülən yerdə görünən maksimum gərginliyi yoxlamağa, ikincisi isə orada aşağı tezlikli pulsların göründüyünü yoxlamağa imkan verir.
3.3V, ATtiny giriş pinləri tərəfindən YÜKSEK vəziyyət olaraq oxunmalıdır, ancaq bununla bağlı probleminiz varsa, MCU -nu gücləndirən gərginliyi azaltmağa cəhd edə bilərsiniz (MOSFET -lərin müqavimətini də artıracaq!). Heç bir problemim olmadı, buna baxmayaraq bu fikri bura daxil etməyi qərara aldım.
Giriş pərəstişkarları hazır olduqda, fan korpusunu PC korpusunun içərisinə, seçdiyiniz yerə yerləşdirə bilərsiniz. Boş 5.25 düymlük sürücülük yuvalarımdan ikisinin yanına monte etdim, körfəzin metal hissələri arasına itələyərək, arxasına bir az kağız qoyub, böyük deliklərdən birindən itilmiş fermuar bağlayaraq yerində kilidlədim. prefabrik lövhədə və 5.25 düymlük yuvadakı digər çuxurlarda. Kompüter korpusunun heç bir metal hissəsinin fan nəzarətçisinin açıq keçiricilərinə toxunmadığından əmin olun.
İndi 3 pinli çıxış fanatlarını nəzarətçiyə qoşa bilərsiniz. Kanal A-ya qoşulan çıxış fanatları həm CPU, həm də GPU fanatlarına bağlanacaq və onları təmin edəcək minimum gərginlik təxminən 7-8V olacaq. Kanalın B çıxış konnektorlarına qoşulan azarkeşlər yalnız GPU soyuducu fan (ları) tərəfindən idarə olunacaq və onların gərginliyi 0V -ə düşə bilər (lakin ən aşağı çıxış sürücüsü səviyyəsində hər 100ms dövrədə yalnız 66ms üçün). Azarkeşlər çıxış kanalına 1A -dan çox çəkməməlidir.
Addım 6: Kompüterimdə etdiyim digər dəyişikliklər
Kanal A, işimin üstündə yerləşən iki azarkeşi idarə edir. Eyni modeldirlər və eyni gərginlikdə işləyirlər ki, bu da onları çox oxşar sürətlərdə fırlatmağa məcbur edir. Bunun nəticəsində bəzi səsli vuruşlar (bir az fərqli tezliklərin iki səsi arasındakı müdaxilə nümunəsi) ortaya çıxdı. Bunu düzəltmək üçün fanatlardan biri ilə birlikdə 2 diod (biri adi, biri Schottky) quraşdırdım. Bu fan gərginliyini və sürətini azaldıb, döyüntünü uzaqlaşdırdı.
Etdiyim fanatlardan biri ilə əlaqəli başqa bir dəyişiklik, daha çox öndə yerləşən kağız divar körüklü üst fanatın quraşdırılmasıdır. Məqsədi, bu fanın hələ heç bir soyuducudan keçməmiş hava çəkməsini qarşısını almaqdır. GPU işlənmiş havasının CPU soyuducusuna daxil olmasını maneə törədən digər kağız divarları da düzəltməyə çalışdım. Əslində CPU istiliyini azaltdılar, amma GPU -nun istiləşməsi daha çox idi, buna görə də sonunda onları çıxardım.
Etdiyim digər qeyri -adi bir dəyişiklik, bu iki üst fanatın egzozundakı toz filtrinin çıxarılmasıdır (əksər hallarda hava hər halda korpusdan çıxarılır və kompüterim söndürüldükdə, PC qutusunun bir az yuxarı hissəsində yerləşən çekmece onu qoruyur) tozdan). Həm də 92 mm fanatı iki boş 5.25 düymlük sürücü yuvasının önünə quraşdırdım (fan nəzarətçisi onun arxasında yerləşir). Bu fan heç bir vintlə tutulmur, yalnız 120 mm -lik fan və yuxarıdakı optik sürücünün arasına yaxşı oturur (hər ikisinin səthləri bir az titrəməni təmin etmək üçün izolyasiya lenti ilə örtülmüşdür).