فهرست مطالب:

CPU & GPU Driven Fan Controller: 6 مرحله (همراه با تصاویر)
CPU & GPU Driven Fan Controller: 6 مرحله (همراه با تصاویر)

تصویری: CPU & GPU Driven Fan Controller: 6 مرحله (همراه با تصاویر)

تصویری: CPU & GPU Driven Fan Controller: 6 مرحله (همراه با تصاویر)
تصویری: How To Chia GPU Plotting and Farming Guide for WINDOWS UPDATED - Gigahorse Start to Finish - 2023 2024, نوامبر
Anonim
CPU & GPU Driven Fan Controller
CPU & GPU Driven Fan Controller

من اخیراً کارت گرافیک خود را ارتقا دادم. مدل جدید GPU دارای TDP بالاتری نسبت به CPU من و یک پردازنده گرافیکی قدیمی است ، بنابراین من همچنین می خواستم پنکه های کیس دیگری نصب کنم. متأسفانه ، MOBO من فقط 3 کانکتور فن با کنترل سرعت دارد و آنها را فقط می توان به دمای CPU یا چیپست متصل کرد. من تصمیم گرفتم این مشکل را با طراحی کنترل کننده فن مخصوص کامپیوتر خودم که سرعت RPM فن های نصب شده (که به MOBO وصل شده اند و با دمای CPU و آنهایی که GPU را خنک می کنند) و دو کانال خروجی را بخواند ، برطرف کنم. کانال A از سرعت فن های متصل به دمای CPU و GPU برای هدایت فن های خروجی 3 پین با سرعت متغیر استفاده می کند. کانال B فقط سرعت فن های GPU را حس می کند و مدار خروجی آن از ترانزیستور اضافی استفاده می کند که به سرعت کمتری از طرفداران هدایت شده توسط آن کمک می کند (با کارت گرافیک نیمه غیرفعال به خوبی کار می کند).

به نظر من خواندن سرعت سایر فن ها آسان تر و ارزان تر از نصب پروبهای دما در کنار پردازنده های پوشیده از هیت سینک است (اساساً نیاز است سیم سرعت سنج فن ها را مستقیماً به پین میکروکنترلر متصل کنید).

برخی از روشهای کنترل سرعت فن در اینجا شرح داده شده است. من تصمیم گرفتم از PWM با فرکانس پایین استفاده کنم ، اما با کمی تغییر در روش توضیح داده شده در مقاله. در مرحله اول ، هر کانال دارای 6 دیود است که به صورت سری به هم متصل شده اند ، که می توان از آنها برای کاهش ولتاژ تغذیه فن 4-5 ولت استفاده کرد. در این تنظیم ، سطوح ولتاژ PWM ~ 8V - 12V و 0V - ~ 8V (در کانال A موجود نیست) به جای 0V - 12V است. این امر تا حد زیادی نویز تولید شده توسط فن را کاهش می دهد. ترفند دیگری که من برای ساکت نگه داشتن فن با آن استفاده می کردم در اینجا شرح داده شده است. این ترفند مستلزم نصب مدار RC بین خروجی میکروکنترلر و یک دروازه MOSFET است که از آن برای تغییر سطح ولتاژ فن استفاده کردم. این باعث کاهش سرعت سیگنال کنترل کننده MOSFET می شود و به نوبه خود حرکت چرخشی زاویه ای فن در هنگام تغییر سطح ولتاژ کمتر برجسته می شود ، ارتعاشات را افزایش می دهد.

تدارکات

قطعات و مواد:

  • ATtiny13 یا ATtiny13A در یک مورد 8-PDIP
  • سوکت DIP 8 پین
  • 3x ترانزیستور IRF530
  • دیود 12x 1N4007 (هر دیود 1A دیگر با افت ولتاژ حدود 0.7V باید کار کند)
  • خازن الکترولیتی شعاعی 220uF/25V
  • خازن الکترولیتی شعاعی 10uF/16V
  • 5x 100nF خازن دیسک سرامیکی
  • مقاومت 10k 0.25W
  • مقاومت 4x 22k 0.25W
  • 2x 1k مقاومت 0.25W
  • دکمه سوئیچ لمسی 6x6mm
  • هدر پین مردانه 2x 2 pin 2.54mm مستقیم
  • کانکتور فن 4 نر 3 پین (Molex 2510) ، متناوبا ، در صورت تمایل می توانید از سرصفحه های پین معمولی استفاده کنید (من این کار را کردم) ، اما در هنگام اتصال فن ها باید بیشتر مراقب باشید ، و اتصالات زن آن فن ها کمتر ایمن وصل شده است
  • کانکتور Molex 4 پین ، محفظه زن/پین های مردانه (اتصال برق AMP MATE-N-LOK 1-480424-0) ، من از اتصال دهنده ای استفاده کردم که بخشی از آداپتور زن Molex به مرد 2 برابر SATA بود که همراه چند MOBO قدیمی بود.
  • 2 عدد کابل بلوز با کانکتورهای زن 2.54 میلی متری (یا محفظه کانکتور + پین + سیم) ، آنها را به سیم های سرعت سنج (یا مستقیماً به اتصالات آنها در PCB ها) وصل می کنید.
  • پیشخوان (50 میلیمتر در 70 میلیمتر ، حداقل آرایه سوراخ 18 در 24) ، در عوض ، می توانید تخته روکش شده با مس را خود بکشید و سوراخ ایجاد کنید
  • چند تکه سیم
  • نوار عایق
  • نوار فویل آلومینیومی (اگر می خواهید کانکتور را به پشت GPU وصل کنید ، مرحله 5 را ببینید)
  • کاغذ

ابزارها:

  • برش مورب
  • انبر
  • پیچ گوشتی با تیغه تخت
  • ابزار چاقو
  • مولتی متر
  • ایستگاه لحیم کاری
  • لحیم کاری
  • برنامه نویس AVR (برنامه نویس مستقل مانند USBasp یا می توانید از ArduinoISP استفاده کنید
  • تخته نان و کابل های بلوز که برای برنامه ریزی میکروکنترلر خارج از PCB استفاده می شود (یا هر ابزار دیگری که می تواند به این هدف برسد)

مرحله 1: سلب مسئولیت

ساخت این دستگاه نیاز به استفاده از ابزارهای نسبتاً خطرناک دارد و ممکن است باعث آسیب یا خسارت به اموال شود. برخی از مراحل مورد نیاز ممکن است ضمانت سخت افزار شما را باطل یا حتی در صورت انجام نادرست به آن آسیب برساند. شما با ریسک خودتان دستگاه توصیف شده را ساخته و استفاده می کنید

مرحله 2: نحوه عملکرد فن کنترل

نحوه عملکرد فن کنترل
نحوه عملکرد فن کنترل

کانال A از دو ورودی استفاده می کند. هر یک از ورودی های کانال A دارای سطحی مرتبط با آن است ، اجازه می دهد آن سطوح را A0 و A1 بنامیم. به طور پیش فرض هر دو سطح 0 هستند. هر دو ورودی دارای مقادیر RPM آستانه ای هستند (3 آستانه در هر ورودی). هنگامی که اولین آستانه به دست می آید ، A0 یا A1 به 1 ، هنگامی که دوم به 2 افزایش می یابد ، و آستانه سوم یکی از سطوح ورودی را به 3. تنظیم می کند. بعداً A0 و A1 ترکیب می شوند (به سادگی با هم جمع می شوند و از دستیابی به مقدار بالاتر جلوگیری می شود از 3) ، خروجی اصلی کانال A را در سطح 0-3 ایجاد می کند. این عدد برای کنترل سرعت فن های خروجی استفاده می شود ، 0 به این معنی است که آنها از 7-8 ولت تغذیه می کنند (چرخه کار 0). سطوح خروجی بالاتر به این معنی است که فن از ولتاژ کامل 12 ولت برای 33، ، 66 or یا 100 of از چرخه 100ms یا 33ms تغذیه می کند (بستگی به فرکانس انتخاب شده دارد).

کانال B فقط یک ورودی دارد (B1 ، از نظر فیزیکی با کانال A [پین PB1] به اشتراک گذاشته می شود). شش سطح B1 ممکن است (1-6) ، سطح پیش فرض 1 است. پنج مقدار آستانه وجود دارد که قادر به افزایش B1 هستند. B1 به عنوان خروجی اصلی سطح B سطح استفاده می شود. وقتی 1 است ، 7-8 ولت فن ها را برای 33 درصد زمان چرخه در یک چرخه ، در دیگری در 66 درصد ، برای بقیه زمان برق قطع می شود. سطح 2 بدین معنی است که 66 درصد از هر چرخه 7-8 ولت استراحت 0 ولت است. سطح 3 به این معنی است که 7-8V به طور مداوم اعمال می شود. سطوح 4-6 به این معنی است که فن از ولتاژ کامل 12 ولت برای 33، ، 66 or یا 100 of چرخه تغذیه می کند ، در بقیه زمان ولتاژ 7-8 ولت است.

فرکانس این کنترل PWM به طور پیش فرض 10 هرتز است. با بستن پین های بلوز J7 می توان آن را تا 30 هرتز افزایش داد.

با رسیدن به آستانه بالاتر ، سطوح A0 ، A1 و B1 فوراً افزایش می یابد. با این حال ، هنگامی که RPM ها کاهش می یابد ، سطح 200 میلی ثانیه حفظ می شود و ممکن است فقط 1 در 200 میلی ثانیه کاهش یابد. این امر برای جلوگیری از تغییرات سریع آن سطوح زمانی است که RPM ورودی فن بسیار نزدیک به آستانه است.

مرحله 3: لحیم کردن قطعات الکترونیکی

لحیم کاری قطعات الکترونیکی
لحیم کاری قطعات الکترونیکی
لحیم کاری قطعات الکترونیکی
لحیم کاری قطعات الکترونیکی
لحیم کاری قطعات الکترونیکی
لحیم کاری قطعات الکترونیکی

تمام قطعات الکترونیکی را به پیش صفحه بچسبانید (بجز Attiny13 ، بعداً داخل یک سوکت قرار می گیرد). از سیمهای مسی (قطرهای 0.5 میلیمتری از کابل UTP باید کامل باشند) برای ایجاد اتصالات الکتریکی بین اجزا استفاده کنید. اگر با فشار دادن سیم های بزرگ خارج شده از کانکتور Molex (AMP MATE-N-LOK) مشکل دارید ، می توانید سوراخ های بزرگتری را برای آنها ایجاد کنید. اگر نمی خواهید از مته استفاده کنید ، همیشه می توانید چند بار پیچ را داخل سوراخ های کوچک پیش تخته بچرخانید. اطمینان حاصل کنید که سیم باعث ایجاد اتصال کوتاه نمی شود.

اگر ترجیح می دهید PCB خود را بسازید ، فایل های.svg (ابعاد برد 53.34x63.50 میلی متر) و.pdf (اندازه صفحه A4 ، داخل آرشیو.zip) را نیز ارائه می دهم. تخته روکش مسی یک طرفه باید کافی باشد ، زیرا فقط یک اتصال در قسمت جلو وجود دارد (می توان آن را با سیم ایجاد کرد) ، بنابراین فایلهای قسمت جلویی اصلی ارائه می شوند تا این اتصال مشخص شود.

من اکیداً توصیه می کنم که پشت PCB را با مقداری مواد عایق بپوشانید که از هرگونه اتصال کوتاه تصادفی جلوگیری می کند. من از چند لایه کاغذ معمولی استفاده کردم که توسط چند نوار نوار عایق به لبه های PCB چسبیده است.

مرحله 4: برنامه نویسی میکروکنترلر ATtiny

برنامه نویسی میکروکنترلر ATtiny
برنامه نویسی میکروکنترلر ATtiny
برنامه نویسی میکروکنترلر ATtiny
برنامه نویسی میکروکنترلر ATtiny

برنامه ای که روی MCU اجرا می شود دارای چندین آستانه سرعت RPM طرفداران ورودی است. این آستانه ها در ابتدای فایل fan_controller.c قرار دارند. خطی که دارای آستانه اول است ، که مسئول افزایش اندک سطح خروجی کانال A در پاسخ به فن input_0 بیش از 450 RPM است ، به نظر می رسد:

#تعریف A0_SPEED_0 3 // 450 دور در دقیقه

اگر می خواهید مقدار RPM آستانه را تغییر دهید ، باید شماره 3 را با چیز دیگری جایگزین کنید. افزایش این عدد تا 1 ، آستانه را تا 150 دور در دقیقه تغییر می دهد.

نکته دیگری که ممکن است بخواهید تغییر دهید کاهش تاخیر سطح خروجی است. این تاخیر هنگامی که RPM فن ورودی بسیار نزدیک به آستانه است از تغییرات سریع سطح خروجی جلوگیری می کند. 3 خط وجود دارد که این را کنترل می کند (همانطور که کانال A از 2 ورودی و کانال B از 1 استفاده می کند) و اولین آنها به این شکل است:

if (channel_A0_lower_rpm_cycles> 2) {

افزایش عدد 2 این تاخیر را افزایش می دهد. تاخیر در چرخه 100 میلی متر شمارش می شود.

برای کامپایل کد منبع و سپس برنامه ریزی تراشه به برخی از نرم افزارها نیاز دارید. در توزیع لینوکس مبتنی بر دبیان ، می توان با اجرای دستور زیر نصب کرد:

sudo apt-get avr-libc gcc-avr avrdude را نصب کنید

اگر از Windows استفاده می کنید ، ممکن است مجموعه WinAVR را نصب کنید ، که شامل نرم افزارهای مورد نیاز نیز می باشد.

برای کامپایل کد منبع باید این را اجرا کنید:

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

برای ایجاد فایل.hex باید این خط را در ترمینال کپی کنید:

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

این فرمان اجازه می دهد تا میزان حافظه مورد استفاده برنامه را بررسی کنید (متن Flash است ، داده ها متغیرهایی هستند که در Flash ذخیره می شوند و سپس در RAM کپی می شوند و bss متغیرهایی هستند که مقدار آنها در RAM 0 تنظیم می شود):

avr-size fan_controller.out

هنگامی که فایل hex شما آماده است ، باید ATtiny13 را در breadboard وارد کرده و با کابل های jumper آن را به برنامه نویس وصل کنید. بهتر است هنگام اتصال برنامه نویس به MCU ، برق را از برنامه قطع کنید. بیت های فیوز پیش فرض (H: FF ، L: 6A) را حفظ کنید. اگر برنامه نویس شما USBasp است ، این دستور حافظه فلش MCU را برنامه ریزی می کند:

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

-B 8 سرعت انتقال برنامه نویس و MCU (bitclock) را تغییر می دهد. در صورت بروز مشکل در اتصال به میکروکنترلر ، ممکن است لازم باشد آن را به مقدار بیشتری تغییر دهید.

وقتی MCU آماده شد ، آن را داخل سوکت DIP 8 قرار دهید. برای حذف MCU از تخته نان ، معمولاً آن را با پیچ گوشتی با تیغه تخت می چسبانم.

مرحله 5: اتصال طرفداران به دستگاه

اتصال طرفداران به دستگاه
اتصال طرفداران به دستگاه
اتصال طرفداران به دستگاه
اتصال طرفداران به دستگاه
اتصال طرفداران به دستگاه
اتصال طرفداران به دستگاه

من به عنوان یک فن ورودی 0 (آن که به PB0 متصل است) یکی از فن های کیس متصل به MOBO را انتخاب کردم که سرعت آن با دمای CPU متفاوت بود. عایق را از قسمت سیم تاکومتر فن خارج کردم و یک سر کابل بلوز را به آن لحیم کردم. انتهای دیگر (با اتصال زن 2.54 میلی متری به آن متصل شده است) به کنترل کننده فن متصل می شود. اگر کابل بلوز خیلی کوتاه است ، آن را با لحیم کردن کابل دیگری بین کابلهایی که قبلاً ذکر شد ، گسترش دهید. سپس تمام رساناهای نمایان شده را با نوار عایق بپوشانید.

ورودی 1 سرعت طرفداران GPU را می خواند (در مورد من در واقع 3 عدد از آنها وجود دارد ، اما فقط یک اتصال فن در PCB کارت گرافیک وجود دارد). من کابل ورودی 1 بلوز را مستقیماً به یکی از سیم های اتصال فن 4 مینی GPU مونتاژ شده روی PCB لحیم کردم. از آنجا که این سیم بین PCB و صفحه پشتی قرار داشت ، ابتدا صفحه پشتی را با یک تکه کاغذ عایق بندی کردم (مخصوصاً به این دلیل که مواد پشتی کاملاً قابل لحیم بود) و سپس با استفاده از نوار فویل آلومینیومی ، اتصال زن کابل را به طرف دیگر پشتی محکم وصل کردم. به سپس فن (های) GPU را می توان با استفاده از کابل بلوز دیگر (توسعه یافته) به پین PB1 متصل کرد. اگر نمی خواهید چیزی را روی PCB کارت گرافیک خود بچسبانید ، می توانید کابل بلوز را به سیم های فن وصل کنید یا آداپتور بین فن (ها) و کانکتور روی PCB قرار دهید ، تصمیم با شماست.

فن سرعت فعلی خود را از طریق سیم سرعت سنج به وسیله اتصال این سیم به زمین از طریق تخلیه/جمع کننده باز دو بار در هر چرخش منتقل می کند (روتور فن معمولاً دارای 4 قطب [NSNS] است که توسط سنسور Hall تشخیص داده می شود ، خروجی فن پایین می آید وقتی در نوع قطب تشخیص داده می شود). از طرف دیگر ، این سیم معمولاً به سطح ولتاژ 3.3 ولت کشیده می شود. اگر مطمئن نیستید که سیم مناسب را دریافت کرده اید ، می توانید از اسیلوسکوپ استفاده کنید یا یکی از مدارهای تشخیص را که در این مرحله روی آخرین تصویر کشیده شده است بسازید. اول از آنها به شما امکان می دهد حداکثر ولتاژ را که در محل اندازه گیری شده ظاهر می شود بررسی کنید ، دومی نیز بررسی می کند که آیا پالس های فرکانس پایین در آنجا ظاهر می شوند.

3.3 ولت باید توسط پین های ورودی ATtiny به عنوان حالت HIGH خوانده شود ، اما اگر در این مورد مشکلی دارید ، ممکن است سعی کنید ولتاژ قدرت MCU را کاهش دهید (این امر مقاومت ماسفت ها را نیز افزایش می دهد!). من هیچ مشکلی نداشتم ، با این وجود ، تصمیم گرفتم که این فکر را در اینجا وارد کنم.

هنگامی که فن های ورودی آماده هستند ، می توانید کنترل کننده فن را در داخل کیس کامپیوتر خود ، در مکانی که انتخاب کرده اید ، قرار دهید. من آن را در کنار دو محفظه خالی 5.25 اینچی خود نصب کردم ، با فشار دادن آن بین قطعات فلزی خلیج ، مقداری کاغذ در پشت آن قرار دادم و با استفاده از کراوات زیپی که در یکی از سوراخ های بزرگ فشار داده شده است آن را در محل خود قفل کردم. در پیش صفحه و چند سوراخ دیگر در خلیج 5.25 اینچی. اطمینان حاصل کنید که هیچ قسمت فلزی قاب کامپیوتر نمی تواند هریک از هادی های در معرض کنترل کننده فن را لمس کند.

حالا می توانید فن های خروجی 3 پین را به کنترلر متصل کنید. فن های خروجی متصل به کانال A به هر دو طرفدار CPU و GPU متصل می شوند و حداقل ولتاژی که آنها را تغذیه می کند حدود 7-8 ولت خواهد بود. طرفداران وصل شده به کانکتورهای خروجی B کانال فقط توسط فن (های) خنک کننده GPU هدایت می شوند و ولتاژ آنها ممکن است به 0V کاهش یابد (اما فقط برای 66 میلی ثانیه در هر چرخه 100 میلی ثانیه در پایین ترین سطح درایو خروجی). طرفداران نباید بیش از 1 آمپر در هر کانال خروجی بکشند.

مرحله 6: تغییرات دیگری که در رایانه شخصی خود ایجاد کردم

سایر تغییرات انجام شده در رایانه شخصی من
سایر تغییرات انجام شده در رایانه شخصی من
تغییرات دیگری که در رایانه شخصی خود ایجاد کردم
تغییرات دیگری که در رایانه شخصی خود ایجاد کردم
تغییرات دیگری که در رایانه شخصی خود ایجاد کردم
تغییرات دیگری که در رایانه شخصی خود ایجاد کردم
سایر تغییرات انجام شده در رایانه شخصی من
سایر تغییرات انجام شده در رایانه شخصی من

کانال A دو طرفدار را در بالای قاب من قرار می دهد. آنها یک مدل هستند و از یک ولتاژ تغذیه می کنند ، که باعث می شود آنها با سرعتهای مشابه بچرخند. در نتیجه ضربات شنیدنی (الگوی تداخل بین دو صدا با فرکانسهای کمی متفاوت) ظاهر شد. برای رفع این مشکل ، من 2 دیود (یکی معمولی و دیگری Schottky) را به صورت سری با یکی از فن ها نصب کردم. این امر باعث کاهش ولتاژ و سرعت فن شده و ضربان را از بین می برد.

تغییر دیگر ، که مربوط به یکی از فن هایی است که من انجام دادم ، نصب یک فن کاغذی در زیر پنکه بالای صفحه است که بیشتر در قسمت جلویی قرار دارد. هدف آن جلوگیری از مکیدن هوایی است که هنوز از هیچ یک از مخازن گرمکن عبور نکرده است. من همچنین سعی کردم دیوارهای کاغذی دیگری ایجاد کنم که مانع از جذب هوای خروجی GPU به سردتر CPU می شود. آنها در واقع دمای CPU را کاهش دادند ، اما به قیمت گرم شدن GPU بیشتر ، بنابراین در پایان آنها را حذف کردم.

اصلاحات غیر معمول دیگری که انجام دادم حذف فیلتر گرد و غبار در خروجی آن دو پنکه است (بیشتر اوقات هوا به هر حال از قاب خارج می شود و وقتی رایانه من خاموش است ، کشوی کمی بالاتر از قاب کامپیوتر آن را محافظت می کند. از خاک). من همچنین فن 92 میلی متری را در مقابل دو جای خالی 5.25 اینچی درایو نصب کردم (کنترل فن در پشت آن واقع شده است). این فن توسط هیچ پیچ و مهره ای نگه نمی دارد ، فقط بین فن 120 میلیمتری زیر آن و درایو نوری بالا (به منظور تامین میرایی ارتعاش ، سطوح هر دو با نوار عایق پوشانده شده است) مناسب است.

توصیه شده: