Kazalo:

Samodejno upravljanje s PWM za ljubitelje osebnih računalnikov: 12 korakov
Samodejno upravljanje s PWM za ljubitelje osebnih računalnikov: 12 korakov

Video: Samodejno upravljanje s PWM za ljubitelje osebnih računalnikov: 12 korakov

Video: Samodejno upravljanje s PWM za ljubitelje osebnih računalnikov: 12 korakov
Video: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2024, Julij
Anonim
Samodejno upravljanje s PWM za ljubitelje računalnikov
Samodejno upravljanje s PWM za ljubitelje računalnikov

Ta navodila opisujejo izdelavo popolnoma opremljenega 12-voltnega PWM krmilnika za računalniški ventilator. Zasnova lahko nadzoruje do 16 3-polnih računalniških ventilatorjev. Zasnova uporablja par diagramov mešanega signala, ki jih je mogoče konfigurirati Dialog GreenPAK ™ za nadzor delovnega cikla vsakega ventilatorja. Vključuje tudi dva načina za spreminjanje hitrosti ventilatorja:

a. s kvadraturnim/vrtljivim dajalnikom

b. z vgrajeno aplikacijo Windows v C#, ki komunicira z GreenPAK -om prek I2C.

Spodaj smo opisali potrebne korake za razumevanje, kako je bil čip GreenPAK programiran za ustvarjanje krmiljenja PWM za ljubitelje osebnih računalnikov. Če pa želite samo doseči rezultat programiranja, prenesite programsko opremo GreenPAK, če si želite ogledati že dokončano oblikovalsko datoteko GreenPAK. Priključite razvojni komplet GreenPAK v računalnik in pritisnite hitri program, da ustvarite IC po meri za krmiljenje PWM za ljubitelje računalnikov.

Korak: Diagram sistemskega bloka

Sistemski blok diagram
Sistemski blok diagram

2. korak: Zasnova rotacijskega dekoderja SLG46108

Zasnova rotacijskega dekoderja SLG46108
Zasnova rotacijskega dekoderja SLG46108
Zasnova rotacijskega dekoderja SLG46108
Zasnova rotacijskega dekoderja SLG46108
Zasnova rotacijskega dekoderja SLG46108
Zasnova rotacijskega dekoderja SLG46108

Ročni dajalnik se uporablja za ročno povečanje ali zmanjšanje obratovalnega cikla ventilatorjev. Ta naprava oddaja impulze na svojih izhodih kanala A in B, ki sta 90 ° narazen. Za več informacij o delovanju rotacijskega dajalnika glejte AN-1101: Odklenjen kvadraturni dekoder.

Rotacijski dekodirnik s taktom lahko ustvarite s pomočjo Dialog GreenPAK SLG46108 za obdelavo signalov kanala A in kanala B ter jih oddaja kot impulze v nasprotni smeri urinega kazalca (CCW) in v smeri urinega kazalca (CW).

Ko kanal A vodi kanal B, zasnova odda kratki impulz na CW. Ko kanal B vodi kanal A, odda kratek impulz na CCW

Trije DFF -ji sinhronizirajo vhod kanala A z uro. Podobno zakasnitev cevi z OUT0 nastavljeno na dva DFF in OUT1 na tri DFF ustvarja enako funkcijo za kanal B.

Če želite ustvariti izhode CW in CCW, uporabite nekaj LUT -ov, za več informacij o tem standardnem zasnovi rotacijskega dekoderja obiščite to spletno stran.

Rotacijski dekoder GreenPAK bo sprejemal vhodne impulze A in B ter oddajal CW in CCW impulze, kot je prikazano na sliki 4.

Vezje po vratih XOR zagotavlja, da nikoli ne bo prišlo do CW in CCW impulza hkrati, kar omogoča kakršno koli napako z vrtljivim dajalnikom. 8 ms zakasnitev padajočega roba signalov CW in CCW jih prisili, da ostanejo visoki 8 ms plus en cikel ure, kar je potrebno za spodnje tokove SLG46826 GreenPAK.

3. korak: Zasnova krmilnika ventilatorja SLG46826

Zasnova krmilnika ventilatorja SLG46826
Zasnova krmilnika ventilatorja SLG46826

4. korak: Generacija PWM z odmičnimi števci

Generacija PWM z odmičnimi števci
Generacija PWM z odmičnimi števci
Generacija PWM z odmičnimi števci
Generacija PWM z odmičnimi števci

Par offset števcev z istim obdobjem se uporablja za generiranje PWM signala. Prvi števec nastavi DFF, drugi pa ga ponastavi in ustvari skladen signal PWM delovnega cikla, kot je prikazano na slikah 6 in 7.

CNT6 nastavi DFF10, obrnjeni izhod CNT1 pa ponastavi DFF10. Zatiči 18 in 19 se uporabljajo za oddajanje signala PWM v zunanje vezje

5. korak: Nadzor delovnega cikla z vbrizgavanjem ure in preskakovanjem ure

Nadzor delovnega cikla z vbrizgavanjem ure in preskakovanjem ure
Nadzor delovnega cikla z vbrizgavanjem ure in preskakovanjem ure
Nadzor delovnega cikla z vbrizgavanjem ure in preskakovanjem ure
Nadzor delovnega cikla z vbrizgavanjem ure in preskakovanjem ure

Krmilnik ventilatorja sprejema signale CW in CCW kot vhodne podatke iz vrtljivega dekoderja in jih uporablja za povečanje ali zmanjšanje signala PWM, ki nadzoruje hitrost ventilatorja. To dosežemo z več digitalnimi logičnimi komponentami.

Delovni cikel se mora povečati, ko je prejet CW impulz. To se naredi z vbrizgavanjem dodatnega urnega impulza v blok CNT6, zaradi česar ta odda en cikel ure prej, kot bi sicer. Ta postopek je prikazan na sliki 8.

CNT1 se še vedno konstantno ureja, vendar ima CNT6 vstavljenih nekaj dodatnih ur. Vsakič, ko je na števcu dodatna ura, premakne izhod za eno uro v levo.

Nasprotno, če želite zmanjšati obratovalni cikel, preskočite urni impulz za CNT6, kot je prikazano na sliki 9. CNT1 se še vedno ureja s konstantno hitrostjo, preskočeni pa so tudi impulzi ure za CNT6, kjer števec ni deloval, ko naj bi bil do. Na ta način se izhod CNT6 potisne v desno za eno časovno obdobje naenkrat, kar skrajša izhodni delovni cikel PWM.

Funkcija vbrizgavanja ure in preskakovanja ure se izvaja z uporabo nekaterih digitalnih logičnih elementov v GreenPAK -u. Par večfunkcijskih blokov se uporablja za ustvarjanje dveh kombinacij detektor za zapah/rob. 4-bitni LUT0 se uporablja za povezovanje med splošnim signalom ure (CLK/8) in signali za vbrizgavanje ure ali preskakovanjem ure. Ta funkcija je podrobneje opisana v 7. koraku.

6. korak: Vnos tipke

BUTTON Vhod
BUTTON Vhod

Vhod BUTTON se odklopi za 20 ms, nato pa se uporabi za preklop ključavnice, ki določa, ali je izbran ta čip. Če je izbrana, potem 4-bitni LUT posreduje signale preskakovanja ali vbrizgavanja ure. Če čip ni izbran, potem 4-bitni LUT preprosto posreduje signal CLK/8.

7. korak: Preprečevanje prevračanja delovnega cikla

Preprečevanje prevračanja delovnega cikla
Preprečevanje prevračanja delovnega cikla
Preprečevanje prevračanja delovnega cikla
Preprečevanje prevračanja delovnega cikla
Preprečevanje prevračanja delovnega cikla
Preprečevanje prevračanja delovnega cikla

RS-zapahi 3-bitnega LUT5 in 3-bitnega LUT3 se uporabljajo za zagotovitev, da ne morete vnesti ali preskočiti toliko ur, da se števci zamikov prevrnejo. S tem se izognemo doseganju 100 % obratovalnega cikla in nato preklopu na 1 % obratovalni cikel, če prejme drugo vbrizgano uro.

Zapahi RS preprečujejo, da bi se to zgodilo, tako da vhode v večfunkcijske bloke zapahnejo, ko je sistem oddaljen eno uro od prevračanja. Par DFF -jev zamika signala PWM_SET in PWM_nRST za eno časovno obdobje, kot je prikazano na sliki 11.

Par LUT -ov se uporablja za ustvarjanje potrebne logike. Če je obratovalni cikel tako nizek, da se zakasnjeni signal PWM_SET pojavi hkrati s signalom PWM_nRST, bo nadaljnje zmanjšanje delovnega cikla povzročilo prevračanje.

Podobno, če se približujete največjemu delovnemu ciklu, tako da se zakasnjeni signal PWM_nRST pojavi hkrati s signalom PWM_SET, se je treba izogniti nadaljnjemu povečanju delovnega cikla. V tem primeru zakasnite signal nRST za dva cikla ure, da zagotovite, da se sistem ne prevrne z 99 % na 1 %.

8. korak: Nadzor delovnega cikla z I2C

Nadzor delovnega cikla z I2C
Nadzor delovnega cikla z I2C
Nadzor delovnega cikla z I2C
Nadzor delovnega cikla z I2C
Nadzor delovnega cikla z I2C
Nadzor delovnega cikla z I2C

Ta zasnova vključuje drug način za nadzor delovnega cikla, razen preskakovanja ure/vbrizgavanja ure. Zunanji mikrokrmilnik lahko uporabite za pisanje ukazov I2C v GreenPAK za nastavitev delovnega cikla.

Nadzor delovnega cikla prek I2C zahteva, da krmilnik izvede določeno zaporedje ukazov. Ti ukazi so prikazani po vrstnem redu v tabeli 1. "x" označuje bit, ki se ne sme spremeniti, "[" označuje bit START, "]" pa bit STOP

Blok PDLY generira kratek aktivni visok impulz na padajočem robu signala CLK/8, ki se imenuje! CLK/8. Ta signal se uporablja za enakomerno frekvenco DFF14. Ko gre I2C_SET visoko asinhrono, naslednji naraščajoči rob! CLK/8 povzroči, da DFF14 odda HIGH, kar sproži CNT5 OneShot. OneShot teče za število ciklov ure, ki jih je uporabnik zapisal, kot je določeno v ukazu "Write to CNT5" I2C v tabeli 1. V tem primeru je to 10 ciklov ure. OneShot omogoča, da oscilator 25 MHz deluje točno toliko časa in ne več, tako da 3-bitni LUT0 prejme število ciklov ure, zapisanih v CNT5.

Slika 15 prikazuje te signale, pri katerih so rdeče ure tiste, ki se pošiljajo v 3-bitni LUT0, ki jih posreduje v CNT6 (števec PWM_SET), s čimer se ustvari odmik za ustvarjanje delovnega cikla.

9. korak: Odčitavanje števca vrtljajev

Odčitki merilnika vrtljajev
Odčitki merilnika vrtljajev
Odčitki merilnika vrtljajev
Odčitki merilnika vrtljajev

Po želji lahko uporabnik prebere vrednost merilnika vrtljajev preko I2C in s pomočjo vrednosti CNT2 spremlja, kako hitro se ventilator obrača. CNT2 se poveča vsakič, ko ima ACMP0H naraščajoč rob, in ga lahko asinhrono ponastavimo z ukazom I2C. Upoštevajte, da je to neobvezna funkcija, zato bo treba prag ACMP0H prilagoditi glede na specifikacije določenega ventilatorja, ki se uporablja.

10. korak: Zasnova zunanjega vezja

Zasnova zunanjega vezja
Zasnova zunanjega vezja

Zunanje vezje je dokaj preprosto. Na Pin6 GreenPAK -a je povezan gumb za preklop, ali je ta naprava izbrana za vrtljivo krmiljenje, in LED, priključena na Pin12 in Pin13, ki označuje, kdaj je naprava izbrana.

Ker ventilator deluje od 12 V, je za nadzor njegovega preklopa potreben par FET -ov. Pin18 in Pin19 GreenPAK -a poganjata nFET. Ko je nFET vklopljen, potegne vrata pFET LOW, ki poveže ventilator na +12 V. Ko je nFET izklopljen, vrata PFET potegne navzgor 1 kΩ upor, ki odklopi ventilator od +12 V.

11. korak: Oblikovanje PCB -ja

Oblikovanje PCB
Oblikovanje PCB

Za izdelavo prototipa je bilo sestavljenih nekaj PCB -jev. PCB na levi strani je "Fan Controller", v katerem so vrtljivi dajalnik, 12 V priključek, SLG46108 GreenPAK in priključki za odklopno ploščo FT232H USB v I2C. Dva tiskana vezja na desni sta "ventilatorski plošči", ki vsebujeta SLG46826 GreenPAK, tipke, stikala, LED in glave ventilatorjev.

Vsaka plošča oboževalcev ima na levi strani zavite moške glave, na desni pa ženske, tako da jih je mogoče skupaj z marjeticami vezati. Vsako ploščo oboževalcev lahko napolnite z viri za neodvisno upravljanje dveh ventilatorjev.

12. korak: Aplikacija C#

Aplikacija C#
Aplikacija C#

Aplikacija C# je bila napisana za vmesnik z ventilatorskimi ploščami preko mostu USB-I2C FT232H. S to aplikacijo lahko nastavite frekvenco vsakega ventilatorja z ukazi I2C, ki jih ustvari aplikacija.

Aplikacija enkrat na sekundo pokliče vseh 16 naslovov I2C in GUI napolni s prisotnimi podrejenimi naslovi. V tem primeru sta ventilator 1 (pomožni naslov 0001) in ventilator 3 (pomožni naslov 0011) priključena na ploščo. Delovni cikel vsakega ventilatorja posebej lahko prilagodite tako, da premaknete drsnik ali vnesete vrednost od 0-256 v polje za besedilo pod drsnikom.

Sklepi

S to zasnovo je mogoče neodvisno krmiliti do 16 ventilatorjev (saj obstaja 16 možnih podrejenih naslovov I2C) bodisi z vrtljivim dajalnikom bodisi z aplikacijo C#. Dokazano je bilo, kako s parom zamikov števcev generirati signal PWM in kako povečati in zmanjšati delovni cikel tega signala brez prevračanja.

Priporočena: