Mundarija:

Kompyuter muxlislari uchun DIY PWM nazorati: 12 qadam
Kompyuter muxlislari uchun DIY PWM nazorati: 12 qadam

Video: Kompyuter muxlislari uchun DIY PWM nazorati: 12 qadam

Video: Kompyuter muxlislari uchun DIY PWM nazorati: 12 qadam
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Noyabr
Anonim
Kompyuter muxlislari uchun DIY PWM nazorati
Kompyuter muxlislari uchun DIY PWM nazorati

Ushbu yo'riqnomada to'liq quvvatli 12 V kompyuterli PWM boshqaruv moslamasi qurilishi tasvirlangan. Dizayn 16 ta 3 pinli kompyuter fanatini boshqarishi mumkin. Dizayn har bir fanning ish tsiklini boshqarish uchun Dialog GreenPAK ™ konfiguratsiyali aralash signalli IClardan foydalanadi. Shuningdek, u fan tezligini o'zgartirishning ikkita usulini o'z ichiga oladi:

a. to'rtburchaklar/aylanadigan kodlovchi bilan

b. GreenPAK bilan I2C orqali bog'lanadigan C# -da o'rnatilgan Windows ilovasi bilan.

Biz quyida GreenPAK chipining kompyuter muxlislari uchun PWM boshqaruvini yaratish uchun qanday dasturlashtirilganligini tushunish uchun zarur bo'lgan qadamlarni tasvirlab berdik. Ammo, agar siz dasturlash natijasini olishni xohlasangiz, GreenPAK dasturini yuklab oling va tugallangan GreenPAK dizayn faylini ko'ring. GreenPAK Development Kit -ni kompyuteringizga ulang va kompyuter muxlislari uchun PWM boshqaruvi uchun maxsus IC yaratish uchun dasturni bosing.

1 -qadam: tizim blok diagrammasi

Tizim blok diagrammasi
Tizim blok diagrammasi

2 -qadam: SLG46108 aylanadigan dekoder dizayni

SLG46108 aylanadigan dekoder dizayni
SLG46108 aylanadigan dekoder dizayni
SLG46108 aylanadigan dekoder dizayni
SLG46108 aylanadigan dekoder dizayni
SLG46108 aylanadigan dekoder dizayni
SLG46108 aylanadigan dekoder dizayni

Ventilyatorlarning ish aylanishini qo'lda oshirish yoki kamaytirish uchun aylanadigan kodlovchi ishlatiladi. Bu qurilma bir -biridan 90 ° masofada joylashgan A va B kanallarining pulslarini chiqaradi. Aylanadigan kodlovchi qanday ishlashi haqida qo'shimcha ma'lumot olish uchun AN-1101: Unlocked Quadrature Decoder ga qarang.

A va B kanali signallarini qayta ishlash va ularni soat sohasi farqli ravishda (CCW) va soat yo'nalishi bo'yicha (CW) impulslari sifatida chiqarish uchun Dialog GreenPAK SLG46108 yordamida soatli aylanadigan dekoder yaratilishi mumkin.

A kanali B kanalini boshqarganda, dizayn CWda qisqa zarba beradi. B kanali A kanalini boshqarganda, u CCW ga qisqa puls chiqaradi

Uchta DFF A kanali kirishini soat bilan sinxronlashtiradi. Xuddi shunday, OUT0 ikkita DFF va OUT1 uchta DFFga o'rnatilgan quvurlarning kechikishi B kanali uchun bir xil funktsiyani yaratadi.

CW va CCW chiqishlarini yaratish uchun bir nechta LUT -lardan foydalaning, bu standart aylanuvchi dekoder dizayni haqida ko'proq ma'lumot olish uchun ushbu veb -saytga tashrif buyuring.

GreenPAK Rotary Decoder A va B kirish pulslarini oladi va 4 -rasmda ko'rsatilgandek CW va CCW pulslarini chiqaradi.

XOR darvozalaridan keyingi sxemalar hech qachon CW va CCW pulslari bir vaqtning o'zida bo'lmasligini ta'minlaydi, bu esa aylanadigan kodlovchi bilan har qanday xatolarga yo'l qo'yadi. CW va CCW signallarining 8 milodiy tushish chegarasi ularni 8 ms va bir soatlik tsikl davomida yuqori turishga majbur qiladi, bu esa quyi oqim SLG46826 GreenPAK uchun zarur.

3 -qadam: SLG46826 fanat boshqaruvchisi dizayni

SLG46826 fanat boshqaruvchisi dizayni
SLG46826 fanat boshqaruvchisi dizayni

4 -qadam: Ofset hisoblagichlari bilan PWM ishlab chiqarish

Ofset hisoblagichlari bilan PWM avlodi
Ofset hisoblagichlari bilan PWM avlodi
Ofset hisoblagichlari bilan PWM avlodi
Ofset hisoblagichlari bilan PWM avlodi

PWM signalini ishlab chiqarish uchun xuddi shu davrga ega bo'lgan bir juft ofset hisoblagichlari ishlatiladi. Birinchi hisoblagich DFF -ni o'rnatadi, ikkinchisi esa uni qayta o'rnatadi va 6 -rasmda va 7 -rasmda ko'rsatilgandek doimiy PWM signalini yaratadi.

CNT6 DFF10 ni o'rnatadi va CNT1 ning teskari chiqishi DFF10 ni tiklaydi. PWM signalini tashqi sxemaga chiqarish uchun 18 va 19 -pinlar ishlatiladi

5 -qadam: Soat in'ektsiyasi va soatni o'tkazib yuborish bilan navbatchilik tsiklini boshqarish

Vazifa tsiklini soat in'ektsiyasi va soat o'tkazib yuborish bilan boshqarish
Vazifa tsiklini soat in'ektsiyasi va soat o'tkazib yuborish bilan boshqarish
Vazifa tsiklini soat in'ektsiyasi va soat o'tkazib yuborish bilan boshqarish
Vazifa tsiklini soat in'ektsiyasi va soat o'tkazib yuborish bilan boshqarish

Fan boshqaruvchisi CW va CCW signallarini aylanadigan dekoderdan kirish sifatida qabul qiladi va ularni fan tezligini boshqaruvchi PWM signalini oshirish yoki kamaytirish uchun ishlatadi. Bunga bir nechta raqamli mantiq komponentlari yordamida erishiladi.

CW pulsini olganda, ish tsikli ko'payishi kerak. Bu CNT6 blokiga qo'shimcha soat impulsini kiritish orqali amalga oshiriladi, bu esa uni bir soatlik tsiklni boshqasidan ko'ra tezroq chiqarishiga olib keladi. Bu jarayon 8 -rasmda ko'rsatilgan.

CNT1 hali ham doimiy tezlikda ishlayapti, lekin CNT6 ga bir nechta qo'shimcha soatlar kiritilgan. Har safar hisoblagichda qo'shimcha soat bo'lsa, u chiqishni bir soatlik davrga chapga siljitadi.

Aksincha, ish tsiklini pasaytirish uchun 9 -rasmda ko'rsatilgandek CNT6 uchun soat impulsini o'tkazib yuboring. CNT1 hali ham doimiy tezlikda ishlayapti va CNT6 uchun o'tkazgich soat impulslari mavjud, bu erda hisoblagich kutilgan vaqtda ishlamagan. ga. Shunday qilib, CNT6 chiqishi bir vaqtning o'zida bir soatlik vaqt bilan o'ngga suriladi, bu esa PWM ish aylanishini qisqartiradi.

Soat kiritish va soat o'tkazib yuborish funktsiyasi GreenPAK -da ba'zi raqamli mantiq elementlari yordamida amalga oshiriladi. Bir nechta mandalli/chekka detektorli kombinatsiyalarni yaratish uchun ko'p funktsiyali bloklardan foydalaniladi. 4-bitli LUT0 umumiy soat signali (CLK/8) va in'ektsiya soati yoki soatni o'tkazib yuborish signallari o'rtasida farq qilish uchun ishlatiladi. Bu funksiya 7 -bosqichda batafsil tasvirlangan.

6 -qadam: BUTTON kiritish

BUTTON Kirish
BUTTON Kirish

BUTTON kirishi 20 ms davomida o'chiriladi, so'ngra ushbu chip tanlanganligini aniqlaydigan qulfni almashtirish uchun ishlatiladi. Agar u tanlangan bo'lsa, 4-bitli LUT soatni o'tkazib yuborish yoki in'ektsiya signallarini uzatadi. Agar chip tanlanmagan bo'lsa, 4 bitli LUT CLK/8 signalini o'tkazadi.

7 -qadam: Duty Cycle Rolloverning oldini olish

Duty Cycle Rolloverning oldini olish
Duty Cycle Rolloverning oldini olish
Duty Cycle Rolloverning oldini olish
Duty Cycle Rolloverning oldini olish
Duty Cycle Rolloverning oldini olish
Duty Cycle Rolloverning oldini olish

3-bitli LUT5 va 3-bitli LUT3 RS-mandallari, ofset peshtaxtalari o'girilib ketadigan juda ko'p soatni in'ektsiya qila olmasligingizga ishonch hosil qilish uchun ishlatiladi. Bu tizim 100 % ish tsikliga etib bormasligi va keyin boshqa in'ektsiya qilingan soatni qabul qilsa, 1 % ish tsikliga o'tmasligi uchun kerak.

RS qulflari, tizim bir soatlik aylanishdan uzoqlashganda, ko'p funktsiyali bloklarga kirishni qulflash orqali buni oldini oladi. Bir juft DFF PWM_SET va PWM_nRST signallarini 11 -rasmda ko'rsatilgandek bir soatlik davrga kechiktiradi.

Kerakli mantiqni yaratish uchun bir juft LUT ishlatiladi. Agar ish tsikli shunchalik past bo'lsa, kechiktirilgan PWM_SET signali PWM_nRST signali bilan bir vaqtda ro'y bersa, ish tsiklining yana pasayishi siljishga olib keladi.

Xuddi shunday, kechiktirilgan PWM_nRST signali PWM_SET signali bilan bir vaqtda sodir bo'ladigan maksimal ish tsikliga yaqinlashganda, ish tsiklining boshqa o'sishining oldini olish kerak. Bunday holda, tizim 99 % dan 1 % ga o'girilmasligini ta'minlash uchun nRST signalini ikki soat aylanishiga kechiktiring.

8 -qadam: I2C bilan xizmat davrlarini boshqarish

I2C bilan xizmat davrlarini boshqarish
I2C bilan xizmat davrlarini boshqarish
I2C bilan ish aylanishini boshqarish
I2C bilan ish aylanishini boshqarish
I2C bilan xizmat davrlarini boshqarish
I2C bilan xizmat davrlarini boshqarish

Ushbu dizayn ish aylanishini nazorat qilishning soatni o'tkazib yuborish/soatni in'ektsiya qilishdan boshqa usulini o'z ichiga oladi. Ish tsiklini o'rnatish uchun GreenPAK -ga I2C buyruqlarini yozish uchun tashqi mikrokontrollerdan foydalanish mumkin.

I2C orqali ish tsiklini boshqarish nazoratchidan ma'lum buyruqlar ketma -ketligini bajarishni talab qiladi. Bu buyruqlar 1 -jadvalda tartibda ko'rsatilgan. "X" o'zgarmasligi kerak bo'lgan bitni, "[" START bitini, "]" esa STOP bitini bildiradi.

PDLY bloki CLK/8 signalining tushayotgan chekkasida qisqa faol yuqori impuls hosil qiladi! CLK/8. Bu signal DFF14ni doimiy chastotada soatlash uchun ishlatiladi. I2C_SET asinxron tarzda ko'tarilganda, CLK/8 ning navbatdagi ko'tarilish qirrasi DFF14ni yuqori chiqishiga olib keladi, bu CNT5 OneShot -ni ishga tushiradi. OneShot 1 -jadvalda "CNT5 -ga yozish" I2C buyrug'ida ko'rsatilganidek, foydalanuvchi yozgan soat tsikllari soni uchun ishlaydi. Bu holda, bu 10 soatlik tsikl. OneShot 25 MGtsli osilatorning aniq davomiyligi bilan ishlashiga imkon beradi, shuning uchun 3-bitli LUT0 CNT5-ga yozilgan soat tsikllari sonini oladi.

15-rasmda bu signallar ko'rsatilgan, bu erda qizil soatlar 3-bitli LUT0 ga yuboriladi, ular CNT6 (PWM_SET hisoblagichi) ga o'tadi va shu bilan ish tsiklini yaratish uchun ofset hosil qiladi.

9 -qadam: Takometrni o'qish

Taxometr o'qilishi
Taxometr o'qilishi
Taxometr o'qilishi
Taxometr o'qilishi

Agar xohlasangiz, foydalanuvchi takometr qiymatini I2C ustidan o'qib, fanning tez aylanishini kuzatish uchun CNT2 qiymatini o'qishi mumkin. CNT2 har safar ACMP0H ko'tarilgan tomonga ko'payadi va I2C buyrug'i bilan asinxron tarzda tiklanishi mumkin. E'tibor bering, bu ixtiyoriy xususiyat va ACMP0H chegarasi ishlatilayotgan fanning texnik xususiyatlariga muvofiq sozlanishi kerak.

10 -qadam: Tashqi kontaktlarning zanglashiga olib kelish

Tashqi sxemalar dizayni
Tashqi sxemalar dizayni

Tashqi sxema juda oddiy. Bu qurilma aylanuvchi boshqaruv uchun tanlanganmi yoki yo'qligini o'zgartirish uchun GreenPAK -ning Pin6 -ga ulangan tugmacha va Pin12 va Pin13 -ga ulangan svetodiod qurilmasi qachon tanlanganligini bildiradi.

Ventilyator 12 V dan ishlay boshlagani uchun uni almashtirish uchun FET juftligi kerak. GreenPAK Pin18 va Pin19 nFET -ni boshqaradi. NFET yoqilganda, u fanni +12 V ga ulaydigan pFET LOW darvozasini tortadi. +12 V dan

11 -qadam: PCB dizayni

PCB dizayni
PCB dizayni

Dizayn prototipini yaratish uchun bir nechta tenglikni yig'ilgan. Chapdagi PCB - bu "Fan Controller", unda aylanadigan kodlovchi, 12 V raz'em, SLG46108 GreenPAK va FT232H USB -I2C uzilish taxtasi uchun ulagichlar joylashgan. O'ng tarafdagi ikkita tenglikni kartasi SLG46826 GreenPAK, tugmachalar, kalitlar, LEDlar va fanatlar sarlavhalarini o'z ichiga olgan "Fan platalari" dir.

Har bir fan-taxtaning chap tomonida kafanlangan erkak boshi va o'ng tomonida urg'ochi sarlavhasi bor. Har bir muxlislar paneli ikkita muxlisni mustaqil boshqarish uchun resurslar bilan to'ldirilishi mumkin.

12 -qadam: C# ilovasi

C# ilovasi
C# ilovasi

FT232H USB-I2C ko'prigi orqali fan panellari bilan bog'lanish uchun C# ilovasi yozilgan. Bu ilova I2C buyruqlari yordamida har bir fan chastotasini sozlash uchun ishlatilishi mumkin.

Ilova barcha 16 I2C manzillarini sekundiga bir marta to'ldiradi va GUI -ni mavjud bo'lgan qulli manzillar bilan to'ldiradi. Bu misolda Fan 1 (qul manzili 0001) va Fan 3 (qul manzili 0011) taxtaga ulangan. Har bir fanning ish tsiklini alohida-alohida sozlash slayder panelini siljitish yoki slayder paneli ostidagi matn maydoniga 0-256 oralig'idagi qiymatni kiritish orqali amalga oshirilishi mumkin.

Xulosa

Ushbu dizayn yordamida aylanadigan kodlovchi yoki C# ilovasi yordamida 16 ta fanni mustaqil ravishda boshqarish mumkin (chunki I2C -ning 16 ta mumkin bo'lgan manzili mavjud). PWM signalini bir juft ofset hisoblagichlari bilan qanday yaratish va bu signalning ish aylanishini aylanmasdan qanday oshirish va kamaytirish mumkinligi ko'rsatildi.

Tavsiya: