Obsah:
- Krok 1: Blokový diagram systému
- Krok 2: Návrh rotačného dekodéra SLG46108
- Krok 3: Návrh ovládača ventilátora SLG46826
- Krok 4: Generovanie PWM s ofsetovými počítadlami
- Krok 5: Riadenie pracovného cyklu so vstrekovaním hodín a preskočením hodín
- Krok 6: Vstup TLAČIDLA
- Krok 7: Predchádzanie prevráteniu pracovného cyklu
- Krok 8: Riadenie pracovného cyklu s I2C
- Krok 9: Čítanie tachometra
- Krok 10: Návrh externého obvodu
- Krok 11: Návrh DPS
- Krok 12: Aplikácia C#
Video: DIY PWM ovládanie pre fanúšikov PC: 12 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
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
Krok 2: Návrh 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
Krok 4: 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
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
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
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
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
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
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
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# 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:
Počet fanúšikov na Facebooku: 5 krokov (s obrázkami)
Počet fanúšikov na Facebooku: Aktualizácia: 26.09.2019 - Čas letí a technológie sa menia. Odkedy som vytvoril tento projekt, Facebook zmenil svoje API a nastavenie APP. Takže krok k vytvoreniu aplikácie na Facebooku vypršal. Dnes už nemám prístup ani príležitosť vykonať tento krok.
Ovládanie jasu Ovládanie LED na báze PWM pomocou tlačidiel, Raspberry Pi a Scratch: 8 krokov (s obrázkami)
Ovládanie jasu Ovládanie LED na základe PWM pomocou tlačidiel, Raspberry Pi a Scratch: Snažil som sa nájsť spôsob, ako vysvetliť, ako PWM funguje u mojich študentov, a tak som si dal za úlohu pokúsiť sa ovládať jas LED pomocou dvoch tlačidiel. - jedno tlačidlo zvyšuje jas LED diódy a druhé ju stmieva. Programovať
ESP8266 RGB LED STRIP WIFI ovládanie - NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi - Ovládanie smartfónu RGB LED STRIP: 4 kroky
ESP8266 RGB LED STRIP WIFI ovládanie | NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi | Ovládanie smartfónu RGB LED STRIP: Ahoj, v tomto návode sa naučíme, ako používať nodemcu alebo esp8266 ako IR diaľkové ovládanie na ovládanie RGB LED pásu a Nodemcu budete ovládať smartfónom cez wifi. V zásade teda môžete RGB LED STRIP ovládať pomocou svojho smartfónu
Udržujte svoje dieťa v lete v pohode - ovládajte nemých fanúšikov inteligentnými vecami! 6 krokov (s obrázkami)
Udržujte svoje dieťa v lete v pohode - ovládanie hlúpych fanúšikov inteligentnými vecami!: Pred dvoma týždňami, keď som to písal, som sa stal otcom neuveriteľného chlapca! Keď sa striedajú ročné obdobia, dni sa predlžujú a teploty sa otepľujú, povedal som si, že by bolo dobré mať v n
Vec pre fanúšikov auta: 6 krokov
Vec pre fanúšikov auta: tento návod vám ukáže, ako vyrobiť samohybné vozidlo z autíčka a DC motora