Përmbajtje:

Kontrolli DIY PWM për Tifozët e PC: 12 hapa
Kontrolli DIY PWM për Tifozët e PC: 12 hapa

Video: Kontrolli DIY PWM për Tifozët e PC: 12 hapa

Video: Kontrolli DIY PWM për Tifozët e PC: 12 hapa
Video: Управление 32 сервомоторами с помощью PCA9685 и Arduino: V3 2024, Korrik
Anonim
Kontrolli DIY PWM për Tifozët e PC
Kontrolli DIY PWM për Tifozët e PC

Ky udhëzues përshkruan ndërtimin e një kontrolluesi PWM të ventilatorit të kompjuterit 12 V me funksion të plotë. Dizajni mund të kontrollojë deri në 16 tifozë kompjuteri me 3 kunja. Dizajni përdor një palë IC me sinjal të përzier të konfigurueshëm Dialog GreenPAK to për të kontrolluar ciklin e punës së secilit tifoz. Ai gjithashtu përfshin dy mënyra për të ndryshuar shpejtësinë e ventilatorit:

a me një kodues kuadrature/rrotullues

b me një aplikacion Windows të ndërtuar në C# që komunikon me GreenPAK përmes I2C.

Më poshtë kemi përshkruar hapat e nevojshëm për të kuptuar se si çipi GreenPAK është programuar për të krijuar kontrollin PWM për tifozët e PC. Sidoqoftë, nëse thjesht doni të merrni rezultatin e programimit, shkarkoni softuerin GreenPAK për të parë Skedarin e Dizajnit të GreenPAK të përfunduar tashmë. Lidheni GreenPAK Development Kit në kompjuterin tuaj dhe goditni programin për të krijuar IC të personalizuar për kontrollin PWM për tifozët e PC.

Hapi 1: Diagrami i Bllokimit të Sistemit

Diagrami i Bllokut të Sistemit
Diagrami i Bllokut të Sistemit

Hapi 2: Dizajnuesi i Dekoduesit Rotary SLG46108

SLG46108 Dizajnues Dekodues rrotullues
SLG46108 Dizajnues Dekodues rrotullues
SLG46108 Dizajnues Dekodues rrotullues
SLG46108 Dizajnues Dekodues rrotullues
SLG46108 Dizajnues Dekodues rrotullues
SLG46108 Dizajnues Dekodues rrotullues

Një kodues rrotullues përdoret për të rritur ose zvogëluar ciklin e funksionimit të tifozëve me dorë. Kjo pajisje nxjerr pulse në daljet e saj në Channel A dhe Channel B që janë 90 ° larg njëra -tjetrës. Shihni AN-1101: Dekoduesi i Unclocked Quadrature për më shumë informacion se si funksionon një kodues rrotullues.

Një deshifrues rrotullues me orë mund të krijohet duke përdorur një Dialog GreenPAK SLG46108 për të përpunuar sinjalet e Kanalit A dhe Kanalit B dhe për t'i nxjerrë ato si impulse kundër akrepave të orës (CCW) dhe në drejtim të akrepave të orës (CW).

Kur Kanali A drejton Kanalin B, dizajni nxjerr një impuls të shkurtër në CW. Kur Kanali B drejton Kanalin A, ai nxjerr një impuls të shkurtër në CCW

Tre DFF sinkronizojnë hyrjen e Kanalit A me orën. Në mënyrë të ngjashme, vonesa e tubit me OUT0 të vendosur në dy DFF dhe OUT1 të vendosur në tre DFF krijojnë të njëjtin funksionalitet për kanalin B.

Për të krijuar dalje CW dhe CCW përdorni disa LUT, për më shumë informacion në lidhje me këtë model dekoder standard rrotullues, vizitoni këtë faqe në internet.

Dekoduesi rrotullues GreenPAK do të marrë pulset hyrëse A dhe B dhe do të nxjerrë pulset CW dhe CCW siç tregohet në Figurën 4.

Qarku pas portave XOR siguron që nuk do të ketë kurrë një impuls CW dhe impuls CCW në të njëjtën kohë, duke lejuar ndonjë gabim me koduesin rrotullues. Vonesa prej 8 ms në sinjalet CW dhe CCW i detyron ata të qëndrojnë të lartë për 8 ms plus një cikël sahati, i cili është i nevojshëm për SLG46826 GreenPAKs.

Hapi 3: Dizajni i kontrolluesit të ventilatorit SLG46826

SLG46826 Dizajni i kontrolluesit të ventilatorit
SLG46826 Dizajni i kontrolluesit të ventilatorit

Hapi 4: Gjenerimi i PWM me Counters Offset

Gjenerimi i PWM me sportelet e kompensuar
Gjenerimi i PWM me sportelet e kompensuar
Gjenerimi i PWM me sportelet e kompensuar
Gjenerimi i PWM me sportelet e kompensuar

Një palë numërues të kompensuar me të njëjtën periudhë përdoren për të gjeneruar sinjalin PWM. Numëruesi i parë vendos një DFF, dhe i dyti e rivendos atë, duke krijuar një sinjal PWM të ciklit të punës të qëndrueshëm siç tregohet në Figurën 6 dhe Figura 7.

CNT6 vendos DFF10 dhe prodhimi i përmbysur i CNT1 rivendos DFF10. Kunjat 18 dhe 19 përdoren për të nxjerrë sinjalin PWM në qarkun e jashtëm

Hapi 5: Kontrolli i ciklit të punës me injektimin e orës dhe kapërcimin e orës

Kontrolli i ciklit të punës me injektimin e orës dhe kapërcimin e orës
Kontrolli i ciklit të punës me injektimin e orës dhe kapërcimin e orës
Kontrolli i ciklit të punës me injektimin e orës dhe kapërcimin e orës
Kontrolli i ciklit të punës me injektimin e orës dhe kapërcimin e orës

Kontrolluesi i ventilatorit merr sinjalet CW dhe CCW si hyrje nga deshifruesi rrotullues dhe i përdor ato për të rritur ose ulur sinjalin PWM që kontrollon shpejtësinë e ventilatorit. Kjo arrihet me disa përbërës logjikë dixhitalë.

Cikli i punës duhet të rritet kur merret një impuls CW. Kjo bëhet duke injektuar një impuls shtesë të orës në bllokun CNT6, duke e bërë atë të dalë një cikël sahati më herët sesa do të kishte përndryshe. Ky proces është treguar në Figurën 8.

CNT1 është akoma duke u akorduar me një ritëm konstant, por CNT6 ka disa orë shtesë të injektuara. Sa herë që ka një orë shtesë në sportel, ajo zhvendos daljen e saj një periudhë sahati në të majtë.

Anasjelltas, për të zvogëluar ciklin e punës, kaloni një puls të orës për CNT6 siç tregohet në Figurën 9. CNT1 akoma është duke u akorduar me një ritëm konstant, dhe ka impulse të anashkaluara të orës për CNT6, ku numëruesi nuk u shpejtua kur supozohej te Në këtë mënyrë prodhimi i CNT6 shtyhet në të djathtë nga një periudhë sahati në të njëjtën kohë, duke shkurtuar ciklin e punës PWM të daljes.

Funksionaliteti i injektimit të orës dhe kapërcimit të orës kryhet duke përdorur disa elemente logjike dixhitale brenda GreenPAK. Një palë blloqe shumëfunksionale përdoren për të krijuar një palë kombinime detektor shul/skaj. LUT0 4-bit përdoret për të përzier mes sinjalit të përgjithshëm të orës (CLK/8) dhe sinjaleve të orës që injekton ose kapërcen orën. Ky funksionalitet përshkruhet më në detaje në Hapin 7.

Hapi 6: HYRJE E BUTONIT

BUTTON Hyrja
BUTTON Hyrja

Hyrja BUTTON hidhet poshtë për 20 ms, pastaj përdoret për të ndryshuar një shul që përcakton nëse ky çip i veçantë është zgjedhur. Nëse zgjidhet, atëherë LUT 4-bit kalon kalimin e orës ose sinjalet e injektimit. Nëse çipi nuk është zgjedhur, atëherë LUT 4-bitësh thjesht kalon sinjalin CLK/8.

Hapi 7: Parandalimi i Rikthimit të Ciklit të Detyrës

Parandalimi i Rikthimit të Ciklit të Detyrës
Parandalimi i Rikthimit të Ciklit të Detyrës
Parandalimi i Rikthimit të Ciklit të Detyrës
Parandalimi i Rikthimit të Ciklit të Detyrës
Parandalimi i Rikthimit të Ciklit të Detyrës
Parandalimi i Rikthimit të Ciklit të Detyrës

Mbërthimet RS 3-bit LUT5 dhe 3-bit LUT3 përdoren për t'u siguruar që nuk mund të injektoni ose të kaloni aq shumë orë sa që numëruesit e kompensuar të rrokullisen. Kjo është për të shmangur që sistemi të arrijë 100 % cikël detyre dhe pastaj të kalojë në një cikël detyre 1 % nëse merr një orë tjetër të injektuar.

Mbërthimet RS parandalojnë që kjo të ndodhë duke mbyllur hyrjet në blloqet shumëfunksionale kur sistemi është një cikël sahati larg nga rrotullimi. Një palë DFF -të vonojnë sinjalet PWM_SET dhe PWM_nRST me një periudhë sahati siç tregohet në Figurën 11.

Një palë LUT përdoren për të krijuar logjikën e nevojshme. Nëse cikli i punës është aq i ulët sa sinjali i vonuar PWM_SET ndodh në të njëjtën kohë me sinjalin PWM_nRST, një rënie e mëtejshme e ciklit të punës do të shkaktojë një përmbysje.

Në mënyrë të ngjashme, nëse i afrohemi ciklit maksimal të punës, i tillë që sinjali i vonuar PWM_nRST të ndodhë në të njëjtën kohë me sinjalin PWM_SET, është e nevojshme të shmangni çdo rritje të mëtejshme të ciklit të punës. Në këtë rast, vononi sinjalin nRST me dy cikle sahati për të siguruar që sistemi të mos rrokulliset nga 99 % në 1 %.

Hapi 8: Kontrolli i ciklit të punës me I2C

Kontrolli i ciklit të punës me I2C
Kontrolli i ciklit të punës me I2C
Kontrolli i ciklit të punës me I2C
Kontrolli i ciklit të punës me I2C
Kontrolli i ciklit të punës me I2C
Kontrolli i ciklit të punës me I2C

Ky dizajn përfshin një mënyrë tjetër për të kontrolluar ciklin e punës, përveç kapërcimit të orës/injektimit të orës. Një mikrokontrollues i jashtëm mund të përdoret për të shkruar komanda I2C në GreenPAK për të vendosur ciklin e punës.

Kontrolli i ciklit të punës mbi I2C kërkon që kontrolluesi të kryejë një sekuencë të veçantë komandash. Këto komanda janë treguar sipas renditjes në Tabelën 1. Një "x" tregon një bit që nuk duhet të ndryshojë, "[" tregon një bit START, dhe "]" tregon një bit STOP

Blloku PDLY gjeneron një impuls të shkurtër aktiv të lartë në skajin e rënies së sinjalit CLK/8, i cili quhet! CLK/8. Ky sinjal përdoret për të vendosur DFF14 me një frekuencë të qëndrueshme. Kur I2C_SET shkon lart në mënyrë asinkrone, skaji tjetër në rritje i! CLK/8 bën që DFF14 të dalë LART, gjë që shkakton CNT5 OneShot. OneShot funksionon për numrin e cikleve të orës që përdoruesi ka shkruar siç specifikohet në komandën "Shkruaj në CNT5" I2C në Tabelën 1. Në këtë rast, janë 10 cikle të orës. OneShot lejon që oshilatori 25 MHz të funksionojë saktësisht për kohëzgjatjen e tij dhe jo më, në mënyrë që LUT0 3-bit të marrë numrin e cikleve të orës që janë shkruar në CNT5.

Figura 15 tregon këto sinjale, ku orët e kuqe janë ato që dërgohen në LUT0 3-bit, e cila i kalon ato në CNT6 (numëruesi PWM_SET), duke krijuar kështu kompensimin për gjenerimin e ciklit të punës.

Hapi 9: Leximi i takometrit

Lexim me takometër
Lexim me takometër
Lexim me takometër
Lexim me takometër

Nëse dëshironi, përdoruesi mund të lexojë vlerën e tahometrit mbi I2C për të gjetur se sa shpejt po kthehet ventilatori duke lexuar vlerën CNT2. CNT2 rritet çdo herë që ACMP0H ka një avantazh në rritje dhe mund të rivendoset në mënyrë asinkrone me një komandë I2C. Vini re se kjo është një veçori opsionale, dhe pragu i ACMP0H do të duhet të ndryshohet sipas specifikimeve të ventilatorit të veçantë që përdoret.

Hapi 10: Dizajni i Qarqeve të Jashtme

Dizajni i Qarqeve të Jashtme
Dizajni i Qarqeve të Jashtme

Qarku i jashtëm është mjaft i thjeshtë. Ekziston një buton i lidhur me Pin6 të GreenPAK për të ndryshuar nëse kjo pajisje e veçantë është zgjedhur për kontroll rrotullues dhe një LED të lidhur me Pin12 dhe Pin13 për të treguar kur pajisja është zgjedhur.

Meqenëse ventilatori funksionon 12 V, kërkohet një palë FET për të kontrolluar ndërrimin e tij. Pin18 dhe Pin19 i GreenPAK drejtojnë një nFET. Kur nFET është i ndezur, ai tërheq portën e pFET LOW, e cila lidh ventilatorin në +12 V. Kur nFET është fikur, porta e PFET tërhiqet nga rezistenca 1 kΩ, e cila shkëput tifozin nga +12 V.

Hapi 11: Dizajni i PCB

Dizajni i PCB
Dizajni i PCB

Për të prototipuar modelin, u mblodhën disa PCB. PCB -ja në të majtë është "Fan Controller", e cila përmban koduesin rrotullues, folenë 12 V, SLG46108 GreenPAK, dhe lidhëset për pllakën e shpërthimit FT232H USB në I2C. Dy PCB -të në të djathtë janë "Fan Boards", të cilat përmbajnë SLG46826 GreenPAKs, butona, çelsin, LED dhe titujt e tifozëve.

Çdo Bordi i Tifozëve ka një kokë të mbuluar me mashkull në anën e majtë dhe një kokë femër në anën e djathtë, në mënyrë që të mund të lidhen së bashku me zinxhirë. Çdo Fan Board mund të popullohet me burime për të kontrolluar në mënyrë të pavarur dy tifozë.

Hapi 12: Aplikimi C#

Aplikimi C#
Aplikimi C#

Një aplikacion C# u shkrua për t'u ndërlidhur me Bordet e Tifozëve përmes urës FT232H USB-I2C. Ky aplikacion mund të përdoret për të rregulluar frekuencën e secilit tifoz me komandat I2C që gjenerohen nga aplikacioni.

Aplikacioni i vendos të gjitha 16 adresat I2C një herë në sekondë dhe mbush GUI me adresat e skllevërve që janë të pranishme. Në këtë shembull Fan 1 (adresa e skllavit 0001) dhe Fan 3 (adresa e skllavit 0011) të lidhur me tabelën. Rregullimet në ciklin e funksionimit të secilit tifoz individualisht mund të bëhen duke lëvizur shiritin e rrëshqitësit ose duke shtypur një vlerë nga 0-256 në kutinë e tekstit nën shiritin e rrëshqitësit.

Përfundimet

Duke përdorur këtë dizajn, është e mundur të kontrolloni në mënyrë të pavarur deri në 16 tifozë (pasi ka 16 adresa të mundshme skllevash I2C) ose me një kodues rrotullues ose me një aplikacion C#. Shtë demonstruar se si të gjenerohet një sinjal PWM me një palë numërues të kompensuar, dhe si të rritet dhe zvogëlohet cikli i funksionimit të atij sinjali pa rrokullisje.

Recommended: