Obsah:

DIY PWM ovládanie pre fanúšikov PC: 12 krokov
DIY PWM ovládanie pre fanúšikov PC: 12 krokov

Video: DIY PWM ovládanie pre fanúšikov PC: 12 krokov

Video: DIY PWM ovládanie pre fanúšikov PC: 12 krokov
Video: BTT GTR v1.0/M5 v1.0 - Basics 2024, Jún
Anonim
DIY PWM ovládanie pre fanúšikov PC
DIY PWM ovládanie pre fanúšikov PC

Tento návod popisuje stavbu plne funkčného 12 V ovládača PWM ventilátora počítača. Konštrukcia môže ovládať až 16 3-pinových počítačových ventilátorov. Konštrukcia používa na ovládanie pracovného cyklu každého ventilátora dvojicu konfigurovateľných integrovaných obvodov Dialog GreenPAK ™ so zmiešaným signálom. Obsahuje tiež dva spôsoby zmeny rýchlosti ventilátora:

a. s kvadratúrnym/rotačným kodérom

b. s aplikáciou Windows vstavanou v C#, ktorá komunikuje s GreenPAK prostredníctvom I2C.

Ďalej sme popísali potrebné kroky, aby ste pochopili, ako bol čip GreenPAK naprogramovaný na vytvorenie ovládača PWM pre fanúšikov PC. Ak však chcete získať iba výsledok programovania, stiahnite si softvér GreenPAK a zobrazte už dokončený súbor návrhu GreenPAK. Pripojte vývojovú súpravu GreenPAK k počítaču a spustite program, aby ste vytvorili vlastný IC na ovládanie PWM pre fanúšikov PC.

Krok 1: Blokový diagram systému

Blokový diagram systému
Blokový diagram systému

Krok 2: Návrh rotačného dekodéra SLG46108

Dizajn rotačného dekodéra SLG46108
Dizajn rotačného dekodéra SLG46108
Dizajn rotačného dekodéra SLG46108
Dizajn rotačného dekodéra SLG46108
Dizajn rotačného dekodéra SLG46108
Dizajn rotačného dekodéra SLG46108

Na manuálne zvýšenie alebo zníženie pracovného cyklu ventilátorov sa používa rotačný snímač. Toto zariadenie vysiela impulzy na výstupy kanálov A a B, ktoré sú od seba vzdialené 90 °. Ďalšie informácie o tom, ako funguje rotačný kodér, nájdete v dokumente AN-1101: Odomknutý kvadratúrny dekodér.

Taktovaný rotačný dekodér je možné vytvoriť pomocou zariadenia Dialog GreenPAK SLG46108 na spracovanie signálov kanálov A a kanálov B a ich výstup ako impulz proti smeru hodinových ručičiek (CCW) a v smere hodinových ručičiek (CW).

Keď kanál A vedie kanálom B, konštrukcia vysiela krátky impulz na CW. Keď kanál B vedie kanál A, vysiela krátky impulz na CCW

Tri DFF synchronizujú vstup kanála A s hodinami. Podobne oneskorenie potrubia s OUT0 nastaveným na dva DFF a OUT1 nastaveným na tri DFF vytvára rovnakú funkciu pre kanál B.

Na vytvorenie CW a CCW výstupov použite niekoľko LUT. Viac informácií o tomto štandardnom dizajne rotačného dekodéra nájdete na tejto webovej stránke.

Rotačný dekodér GreenPAK bude prijímať vstupné impulzy A a B a vydávať impulzy CW a CCW, ako je znázornené na obrázku 4.

Obvody za bránami XOR zaisťujú, že nikdy nebude existovať impulz CW a impulz CCW súčasne, čo umožňuje akúkoľvek chybu rotačného snímača. Oneskorenie 8 ms klesajúcej hrany na signáloch CW a CCW ich núti zostať vysoké 8 ms plus jeden taktovací cyklus, čo je nevyhnutné pre downstream SLG46826 GreenPAK.

Krok 3: Návrh ovládača ventilátora SLG46826

Dizajn ovládača ventilátora SLG46826
Dizajn ovládača ventilátora SLG46826

Krok 4: Generovanie PWM s ofsetovými počítadlami

Generácia PWM s ofsetovými počítadlami
Generácia PWM s ofsetovými počítadlami
Generovanie PWM s ofsetovými počítadlami
Generovanie PWM s ofsetovými počítadlami

Na generovanie signálu PWM sa používa dvojica ofsetových počítadiel s rovnakou periódou. Prvé počítadlo nastaví DFF a druhé ho vynuluje, čím sa vytvorí konzistentný signál PWM pracovného cyklu, ako je znázornené na obrázku 6 a obrázku 7.

CNT6 nastavuje DFF10 a invertovaný výstup CNT1 resetuje DFF10. Kolíky 18 a 19 sa používajú na výstup signálu PWM do externých obvodov

Krok 5: Riadenie pracovného cyklu so vstrekovaním hodín a preskočením hodín

Ovládanie pracovného cyklu s hodinovým vstrekovaním a preskakovaním hodín
Ovládanie pracovného cyklu s hodinovým vstrekovaním a preskakovaním hodín
Ovládanie pracovného cyklu s hodinovým vstrekovaním a preskakovaním hodín
Ovládanie pracovného cyklu s hodinovým vstrekovaním a preskakovaním hodín

Regulátor ventilátora prijíma signály CW a CCW ako vstupy z rotačného dekodéra a používa ich na zvýšenie alebo zníženie signálu PWM, ktorý riadi rýchlosť ventilátora. To sa dosahuje niekoľkými komponentmi digitálnej logiky.

Keď je prijatý impulz CW, pracovný cyklus sa musí zvýšiť. To sa deje vstreknutím dodatočného hodinového impulzu do bloku CNT6, čo spôsobí, že bude vydávať o jeden hodinový cyklus skôr, ako by inak mal. Tento proces je znázornený na obrázku 8.

CNT1 stále prebieha taktovanie konštantnou rýchlosťou, ale do CNT6 je vstrekovaných niekoľko ďalších hodín. Zakaždým, keď sú k pultu ďalšie hodiny, posunie ich výstup o jednu hodinovú periódu doľava.

Naopak, aby sa znížil pracovný cyklus, preskočte hodinový impulz pre CNT6, ako je znázornené na obrázku 9. CNT1 sa stále taktuje konštantnou rýchlosťou, a pre CNT6 sa vynechávajú hodinové impulzy, kde sa počítadlo netaktovalo, keď sa predpokladalo do. Týmto spôsobom je výstup CNT6 posunutý doprava o jednu hodinovú periódu naraz, čím sa skracuje pracovný cyklus výstupu PWM.

Funkcia vstrekovania hodín a preskakovanie hodín sa vykonáva s použitím niektorých digitálnych logických prvkov v rámci GreenPAK. Dvojica multifunkčných blokov sa používa na vytvorenie dvojice kombinácií detektorov západky/hrany. 4-bitový LUT0 sa používa na prepojenie medzi všeobecným hodinovým signálom (CLK/8) a signálmi vkladajúcimi alebo preskakujúcimi hodiny. Táto funkcia je podrobnejšie popísaná v kroku 7.

Krok 6: Vstup TLAČIDLA

BUTTON vstup
BUTTON vstup

Vstup BUTTON sa odpojí na 20 ms a potom sa používa na prepínanie západky, ktorá určuje, či je vybraný tento konkrétny čip. Ak je vybratý, potom 4-bitová LUT odovzdáva signály preskakovania alebo vstrekovania hodín. Ak čip nie je vybratý, 4-bitová LUT jednoducho prejde signálom CLK/8.

Krok 7: Predchádzanie prevráteniu pracovného cyklu

Predchádzanie prevráteniu pracovného cyklu
Predchádzanie prevráteniu pracovného cyklu
Predchádzanie prevráteniu pracovného cyklu
Predchádzanie prevráteniu pracovného cyklu
Predchádzanie prevráteniu pracovného cyklu
Predchádzanie prevráteniu pracovného cyklu

Západky RS 3-bitový LUT5 a 3-bitový LUT3 slúžia na to, aby ste sa presvedčili, že nemôžete inštalovať alebo preskočiť toľko hodín, aby sa posunuli počítadlá offsetu. Toto má zabrániť tomu, aby systém dosiahol 100 % pracovný cyklus a potom prešiel na 1 % pracovný cyklus, ak prijme ďalšie vstrekované hodiny.

Západky RS tomu zabránia zablokovaním vstupov do multifunkčných blokov, keď je systém vzdialený jeden hodinový cyklus od prevrátenia. Dvojica DFF oneskoruje signály PWM_SET a PWM_nRST o jednu hodinovú periódu, ako je znázornené na obrázku 11.

Na vytvorenie potrebnej logiky sa používa dvojica LUT. Ak je pracovný cyklus taký nízky, že k oneskorenému signálu PWM_SET dochádza súčasne so signálom PWM_nRST, ďalšie zníženie pracovného cyklu spôsobí prevrátenie.

Podobne, ak sa blíži maximálny pracovný cyklus tak, že k oneskorenému signálu PWM_nRST dochádza súčasne so signálom PWM_SET, je potrebné zabrániť ďalšiemu zvýšeniu pracovného cyklu. V tomto prípade oneskorte signál nRST o dva hodinové cykly, aby ste zaistili, že sa systém neprevráti z 99 % na 1 %.

Krok 8: Riadenie pracovného cyklu s I2C

Ovládanie pracovného cyklu s I2C
Ovládanie pracovného cyklu s I2C
Ovládanie pracovného cyklu s I2C
Ovládanie pracovného cyklu s I2C
Ovládanie pracovného cyklu s I2C
Ovládanie pracovného cyklu s I2C

Tento dizajn zahŕňa iný spôsob riadenia pracovného cyklu, ako je preskočenie hodín/vstrekovanie hodín. Na zapisovanie príkazov I2C do GreenPAK na nastavenie pracovného cyklu je možné použiť externý mikrokontrolér.

Riadenie pracovného cyklu cez I2C vyžaduje, aby regulátor vykonal špecifickú sekvenciu príkazov. Tieto príkazy sú uvedené v poradí v tabuľke 1. „x“označuje bit, ktorý by sa nemal meniť, „[“znamená bit START a „]“znamená bit STOP

Blok PDLY generuje krátky aktívny vysoký impulz na zostupnej hrane signálu CLK/8, ktorý sa nazýva! CLK/8. Tento signál sa používa na taktovanie DFF14 na stabilnej frekvencii. Keď I2C_SET pôjde vysoko asynchrónne, ďalšia stúpajúca hrana! CLK/8 spôsobí, že DFF14 bude vydávať HIGH, čo spustí CNT5 OneShot. OneShot beží na počet hodinových cyklov, ktoré užívateľ zapísal, ako je uvedené v príkaze I2C „Zápis do CNT5“v tabuľke 1. V tomto prípade ide o 10 hodinových cyklov. OneShot umožňuje, aby 25 MHz oscilátor bežal presne po dobu svojho trvania a nie dlhšie, takže 3-bitový LUT0 prijíma počet hodinových cyklov, ktoré boli zapísané do CNT5.

Obrázok 15 zobrazuje tieto signály, kde červené hodiny sú tie, ktoré sú odoslané do 3-bitového LUT0, ktorý ich prenáša do CNT6 (počítadlo PWM_SET), čím sa vytvára posun pre generovanie pracovného cyklu.

Krok 9: Čítanie tachometra

Čítanie tachometra
Čítanie tachometra
Čítanie tachometra
Čítanie tachometra

Ak je to žiaduce, používateľ môže odčítať hodnotu otáčkomera cez I2C a odčítať hodnotu CNT2 a sledovať tak rýchlosť otáčania ventilátora. CNT2 sa zvyšuje vždy, keď má ACMP0H stúpajúcu hranu, a je možné ho asynchrónne resetovať pomocou príkazu I2C. Uvedomte si, že toto je voliteľná funkcia a prahovú hodnotu ACMP0H bude potrebné vyladiť podľa špecifikácií konkrétneho používaného ventilátora.

Krok 10: Návrh externého obvodu

Dizajn externého obvodu
Dizajn externého obvodu

Externý obvod je pomerne jednoduchý. K pinu 6 zariadenia GreenPAK je pripojené tlačidlo na prepínanie, či je toto konkrétne zariadenie zvolené pre otočné ovládanie, a LED dióda pripojená k pinom 12 a vývodom 13 indikuje, kedy je zariadenie vybrané.

Pretože ventilátor beží na 12 V, je potrebný pár FET na ovládanie jeho spínania. Pin18 a Pin19 spoločnosti GreenPAK poháňa nFET. Keď je nFET zapnutý, ťahá bránu pFET LOW, ktorá spája ventilátor s napätím +12 V. Keď je nFET vypnutý, bránu PFET vytiahne nahor odpor 1 kΩ, ktorý ventilátor odpojí od +12 V.

Krok 11: Návrh DPS

Dizajn DPS
Dizajn DPS

Na prototypovanie dizajnu bolo zostavených niekoľko PCB. Doska plošných spojov vľavo je „Fan Controller“, v ktorej je umiestnený rotačný snímač, 12 V konektor, SLG46108 GreenPAK a konektory pre oddeľovaciu dosku FT232H USB to I2C. Dve dosky plošných spojov vpravo sú „dosky ventilátorov“, ktoré obsahujú moduly SLG46826 GreenPAK, tlačidlá, prepínače, diódy LED a záhlavia ventilátorov.

Každá doska ventilátora má na ľavej strane zakrytú hlavičku pre mužov a na pravej strane zásuvku pre ženy, aby ich bolo možné reťaziť. Každá doska ventilátorov môže byť vybavená zdrojmi na nezávislé ovládanie dvoch ventilátorov.

Krok 12: Aplikácia C#

Aplikácia C#
Aplikácia C#

Aplikácia C# bola zapísaná do rozhrania s doskami ventilátora cez most FT232H USB-I2C. Túto aplikáciu je možné použiť na úpravu frekvencie každého ventilátora pomocou príkazov I2C, ktoré generuje aplikácia.

Aplikácia pinguje všetkých 16 adries I2C raz za sekundu a naplní GUI adresami slave, ktoré sú k dispozícii. V tomto prípade je k doske pripojený ventilátor 1 (adresa slave 0001) a ventilátor 3 (adresa slave 0011). Úpravu pracovného cyklu každého ventilátora jednotlivo je možné vykonať posunutím posúvača alebo zadaním hodnoty 0-256 do textového poľa pod posúvačom.

Závery

Pomocou tohto návrhu je možné nezávisle ovládať až 16 ventilátorov (pretože existuje 16 možných adries I2C slave) buď pomocou rotačného enkodéra, alebo pomocou aplikácie C#. Ukázalo sa, ako generovať signál PWM pomocou dvojice ofsetových počítadiel a ako zvýšiť a znížiť pracovný cyklus tohto signálu bez prevrátenia.

Odporúča: