Talaan ng mga Nilalaman:

Kontrol ng DIY PWM para sa Mga Tagahanga ng PC: 12 Mga Hakbang
Kontrol ng DIY PWM para sa Mga Tagahanga ng PC: 12 Mga Hakbang

Video: Kontrol ng DIY PWM para sa Mga Tagahanga ng PC: 12 Mga Hakbang

Video: Kontrol ng DIY PWM para sa Mga Tagahanga ng PC: 12 Mga Hakbang
Video: Bagong Ideya : Paano Gumawa ng Induction Heater na Gumagana sa Isang Mosfet 2024, Nobyembre
Anonim
Kontrol ng DIY PWM para sa Mga Tagahanga ng PC
Kontrol ng DIY PWM para sa Mga Tagahanga ng PC

Inilalarawan ng Instructable na ito ang pagbuo ng isang ganap na tampok na 12 V PC fan PWM controller. Maaaring makontrol ng disenyo ang hanggang sa 16 mga tagahanga ng computer na 3-pin. Gumagamit ang disenyo ng isang pares ng Dialog GreenPAK ™ na maisasaayos na mga halo-halong signal na IC upang makontrol ang cycle ng tungkulin ng bawat tagahanga. Nagsasama rin ito ng dalawang paraan upang mabago ang bilis ng fan:

a. na may isang quadrature / rotary encoder

b. na may isang application na Windows na binuo sa C # na nakikipag-usap sa GreenPAK sa pamamagitan ng I2C.

Sa ibaba inilarawan namin ang mga kinakailangang hakbang na maunawaan kung paano naka-program ang chip ng GreenPAK upang likhain ang kontrol ng PWM para sa mga tagahanga ng PC. Gayunpaman, kung nais mo lamang makuha ang resulta ng pag-program, mag-download ng GreenPAK software upang matingnan ang natapos na GreenPAK Design File. I-plug ang GreenPAK Development Kit sa iyong computer at pindutin ang programa upang likhain ang pasadyang IC para sa kontrol ng PWM para sa mga tagahanga ng PC.

Hakbang 1: Diagram ng Block ng System

Diagram ng Bloke ng System
Diagram ng Bloke ng System

Hakbang 2: Disenyo ng Rotary Decoder ng SLG46108

SLG46108 Disenyo ng Rotary Decoder
SLG46108 Disenyo ng Rotary Decoder
SLG46108 Disenyo ng Rotary Decoder
SLG46108 Disenyo ng Rotary Decoder
SLG46108 Disenyo ng Rotary Decoder
SLG46108 Disenyo ng Rotary Decoder

Ginagamit ang isang rotary encoder upang manu-manong madagdagan o mabawasan ang cycle ng tungkulin ng mga tagahanga. Ang aparato ay nagpapalabas ng mga pulso sa mga output ng Channel A at Channel B na 90 ° ang pagitan. Tingnan ang AN-1101: Unclocked Quadrature Decoder para sa karagdagang impormasyon tungkol sa kung paano gumagana ang isang rotary encoder.

Ang isang orasan na rotary decoder ay maaaring malikha gamit ang isang Dialog GreenPAK SLG46108 upang maproseso ang mga signal ng Channel A at Channel B at i-output ang mga ito bilang mga counter na pakaliwa (CCW) at clockwise (CW) pulses.

Kapag pinangunahan ng Channel A ang Channel B, ang disenyo ay naglalabas ng isang maikling pulso sa CW. Kapag pinangunahan ng Channel B ang Channel A, naglalabas ito ng isang maikling pulso sa CCW

Tatlong DFF ang nagsabay sa pag-input ng Channel Isang sa orasan. Katulad nito, ang pagkaantala ng tubo na may OUT0 na nakatakda sa dalawang DFF at OUT1 na nakatakda sa tatlong DFF ay lumikha ng parehong pag-andar para sa channel B.

Upang lumikha ng mga output ng CW at CCW gumamit ng ilang LUTs, para sa karagdagang impormasyon tungkol sa karaniwang disenyo ng rotary decoder na ito, bisitahin ang website na ito.

Ang GreenPAK Rotary Decoder ay makakatanggap ng input pulses A at B at i-output ang CW at CCW pulses tulad ng ipinakita sa Larawan 4.

Ang circuitry pagkatapos ng mga pintuang XOR ay nagsisiguro na hindi magkakaroon ng CW pulso at CCW na pulso nang sabay, na pinapayagan ang anumang error sa rotary encoder. Ang 8 ms na bumabagsak na pagkaantala sa CW at CCW signal ay pinipilit silang manatiling mataas para sa 8 ms plus isang cycle ng orasan, na kinakailangan para sa downstream SLG46826 GreenPAKs.

Hakbang 3: Disenyo ng Fan Controller ng SLG46826

SLG46826 Disenyo ng Fan Controller
SLG46826 Disenyo ng Fan Controller

Hakbang 4: Pagbuo ng PWM Sa Mga Offset Counter

Pagbuo ng PWM Sa Mga Offset Counter
Pagbuo ng PWM Sa Mga Offset Counter
Pagbuo ng PWM Sa Mga Offset Counter
Pagbuo ng PWM Sa Mga Offset Counter

Ang isang pares ng mga offset counter na may parehong panahon ay ginagamit upang makabuo ng PWM signal. Ang unang counter ay nagtatakda ng isang DFF, at ang pangalawa ay nai-reset ito, na lumilikha ng isang pare-parehong duty cycle PWM signal tulad ng ipinakita sa Larawan 6 at Larawan 7.

Itinatakda ng CNT6 ang DFF10 at ang baligtad na output ng CNT1 ay nagre-reset sa DFF10. Ginagamit ang mga pine 18 at 19 upang maipalabas ang signal ng PWM sa panlabas na circuitry

Hakbang 5: Pagkontrol ng Duty Cycle Sa Clock Injection at Clock Skipping

Pagkontrol ng Duty Cycle Sa Clock Injection at Clock Skipping
Pagkontrol ng Duty Cycle Sa Clock Injection at Clock Skipping
Pagkontrol ng Duty Cycle Sa Pag-iikot ng Orasan at paglaktaw ng Orasan
Pagkontrol ng Duty Cycle Sa Pag-iikot ng Orasan at paglaktaw ng Orasan

Tumatanggap ang fan controller ng mga signal ng CW at CCW bilang mga input mula sa rotary decoder at ginagamit ang mga ito upang madagdagan o mabawasan ang signal ng PWM na kumokontrol sa bilis ng fan. Nakamit ito sa maraming mga digital na sangkap ng lohika.

Kailangang tumaas ang cycle ng tungkulin kapag natanggap ang isang pulso ng CW. Ginagawa ito sa pamamagitan ng pag-iniksyon ng isang sobrang pulso ng orasan sa block ng CNT6, na nagiging sanhi ito upang maipalabas ang isang cycle ng orasan nang mas maaga kaysa sa kung hindi man. Ang prosesong ito ay ipinapakita sa Larawan 8.

Ang CNT1 ay nakakakuha pa rin ng orasan sa isang pare-pareho na rate, ngunit ang CNT6 ay may isang pares ng mga labis na orasan na na-injected. Sa tuwing mayroong dagdag na orasan sa counter, inililipat nito ang output ng isang oras ng orasan sa kaliwa.

Sa kabaligtaran, upang bawasan ang cycle ng tungkulin, laktawan ang isang pulso ng orasan para sa CNT6 tulad ng ipinakita sa Larawan 9. Ang CNT1 ay nakakakuha pa rin ng orasan sa isang pare-pareho na rate, at may mga nilaktawan na pulso sa orasan para sa CNT6, kung saan ang counter ay hindi nai-orasan kung kailan dapat sa Sa ganitong paraan ang output ng CNT6 ay naitulak sa kanan ng isang oras ng orasan nang paisa-isa, pagpapaikli ng output PWM duty cycle.

Ang pag-inject ng orasan at pag-andar sa paglaktaw ng orasan ay ginaganap gamit ang paggamit ng ilang mga elemento ng digital na lohika sa loob ng GreenPAK. Ang isang pares ng mga bloke ng multifunction ay ginagamit upang lumikha ng isang pares ng mga kombinasyon ng latch / edge detector. Ang 4-bit LUT0 ay ginagamit upang mag-mux sa pagitan ng pangkalahatang signal ng orasan (CLK / 8) at ang pag-inject ng orasan o mga signal ng paglaktaw ng orasan. Ang pagpapaandar na ito ay inilarawan nang mas detalyado sa Hakbang 7.

Hakbang 6: BUTTON Input

BUTTON Input
BUTTON Input

Ang pag-input ng BUTTON ay na-debug para sa 20 ms, pagkatapos ay ginamit upang i-toggle ang isang aldma na tumutukoy kung ang partikular na chip na ito ay napili. Kung napili ito, ipinapasa ng 4-bit LUT ang paglaktaw ng orasan o signal ng pag-iniksyon. Kung ang chip ay hindi napili, pagkatapos ang 4-bit LUT ay simpleng ipinapasa ang CLK / 8 signal.

Hakbang 7: Pag-iwas sa Rollover ng Duty Cycle

Pinipigilan ang Duty Cylo Rollover
Pinipigilan ang Duty Cylo Rollover
Pinipigilan ang Duty Cylo Rollover
Pinipigilan ang Duty Cylo Rollover
Pinipigilan ang Duty Cylo Rollover
Pinipigilan ang Duty Cylo Rollover

Ang RS latches 3-bit LUT5 at 3-bit LUT3 ay ginagamit upang matiyak na hindi ka maaaring mag-iniksyon o laktawan ang napakaraming mga orasan na ang mga counter ng offset ay gumulong. Ito ay upang maiwasan ang sistema na umabot sa 100% na cycle ng tungkulin at pagkatapos ay lumiligid sa isang 1% na cycle ng tungkulin kung makakatanggap ito ng isa pang na-injected na orasan.

Pinipigilan ng mga RS latch na mangyari ito sa pamamagitan ng pagdikit ng mga input sa mga bloke ng multifunction kapag ang system ay isang cycle ng orasan ang layo mula sa pag-ikot. Ang isang pares ng DFF ay naantala ang mga signal ng PWM_SET at PWM_nRST ng isang panahon ng orasan tulad ng ipinakita sa Larawan 11.

Ginagamit ang isang pares ng LUTs upang lumikha ng kinakailangang lohika. Kung ang takbo ng tungkulin ay napakababa na ang naantalang signal ng PWM_SET ay nangyayari nang sabay sa signal ng PWM_nRST, isang karagdagang pagbaba sa cycle ng tungkulin ang magiging sanhi ng isang rollover.

Katulad nito, kung papalapit sa maximum na cycle ng tungkulin, tulad ng naantalang signal ng PWM_nRST ay nangyayari nang sabay sa signal ng PWM_SET, kinakailangan upang maiwasan ang anumang karagdagang pagtaas sa cycle ng tungkulin. Sa pagkakataong ito, antalahin ang signal ng nRST ng dalawang mga cycle ng orasan upang matiyak na ang system ay hindi gumulong mula 99% hanggang 1%.

Hakbang 8: Pagkontrol ng Duty Cycle Sa I2C

Duty Cycle Control Sa I2C
Duty Cycle Control Sa I2C
Duty Cycle Control Sa I2C
Duty Cycle Control Sa I2C
Duty Cycle Control Sa I2C
Duty Cycle Control Sa I2C

Ang disenyo na ito ay nagsasama ng isa pang paraan upang makontrol ang cycle ng tungkulin maliban sa paglaktaw ng orasan / pag-iniksi ng orasan. Maaaring magamit ang isang panlabas na microcontroller upang isulat ang mga utos ng I2C sa GreenPAK upang maitakda ang cycle ng tungkulin.

Ang pagkontrol sa siklo ng tungkulin sa ibabaw ng I2C ay nangangailangan ng controller upang magsagawa ng isang tukoy na pagkakasunud-sunod ng utos. Ang mga utos na ito ay ipinakita sa pagkakasunud-sunod sa Talahanayan 1. Ang isang "x" ay nagpapahiwatig ng kaunting hindi dapat baguhin, "" "ay nagpapahiwatig ng isang bit na SIMULA, at ang"] "ay nagpapahiwatig ng isang PAGHIGIL

Ang bloke ng PDLY ay bumubuo ng isang maikling aktibong mataas na pulso sa bumabagsak na gilid ng CLK / 8 signal, na tinatawag na! CLK / 8. Ang senyas na iyon ay ginagamit upang mai-orasan ang DFF14 sa isang matatag na dalas. Kapag ang I2C_SET ay napakataas na asynchronous, ang susunod na tumataas na gilid ng! CLK / 8 ay nagdudulot ng DFF14 na ma-output NG Mataas, na nagpapalitaw ng CNT5 OneShot. Nagpapatakbo ang OneShot para sa bilang ng mga cycle ng orasan na isinulat ng gumagamit tulad ng tinukoy sa utos na "Sumulat sa CNT5" I2C sa Talahanayan 1. Sa kasong ito, ito ay 10 na cycle ng orasan. Pinapayagan ng OneShot ang 25 MHz oscillator na tumakbo para sa eksaktong tagal nito at hindi na, kaya't natatanggap ng 3-bit LUT0 ang bilang ng mga cycle ng orasan na nakasulat sa CNT5.

Ipinapakita ng Figure 15 ang mga signal na ito, kung saan ang mga pulang orasan ay ang ipinadala sa 3-bit LUT0, na ipinapasa ang mga ito sa CNT6 (ang counter ng PWM_SET), sa gayon ay lumilikha ng offset para sa pagbuo ng cycle ng tungkulin.

Hakbang 9: Pagbabasa ng Tachometer

Pagbasa ng Tachometer
Pagbasa ng Tachometer
Pagbasa ng Tachometer
Pagbasa ng Tachometer

Kung ninanais, maaaring basahin ng gumagamit ang halagang tachometer sa paglipas ng I2C upang subaybayan kung gaano kabilis lumiliko ang tagahanga sa pamamagitan ng pagbabasa ng halaga ng CNT2. Ang CNT2 ay nadagdagan tuwing ang ACMP0H ay may tumataas na gilid, at maaaring asynchronous na i-reset gamit ang isang utos ng I2C. Tandaan na ito ay isang opsyonal na tampok, at ang threshold ng ACMP0H ay kailangang mai-tweak alinsunod sa mga pagtutukoy ng partikular na fan na ginagamit.

Hakbang 10: Disenyo ng Panlabas na Circuit

Disenyo ng Panlabas na Circuit
Disenyo ng Panlabas na Circuit

Ang panlabas na circuit ay medyo simple. Mayroong isang pindutan na konektado sa Pin6 ng GreenPAK upang i-toggle kung ang partikular na aparato na ito ay pinili para sa rotary control, at isang LED na konektado sa Pin12 at Pin13 upang ipahiwatig kung napili ang aparato.

Dahil pinapatakbo ng tagahanga ang 12 V, isang pares ng FET upang makontrol ang paglipat nito ay kinakailangan. Ang Pin18 at Pin19 ng GreenPAK ay nagdadala ng isang nFET. Kapag naka-on ang nFET, hinihila nito ang gate ng mababa ang pFET, na kumokonekta sa fan sa +12 V. Kapag naka-off ang nFET, ang gate ng PFET ay hinila ng 1 kΩ resistor, na ididiskonekta ng fan mula sa +12 V.

Hakbang 11: Disenyo ng PCB

Disenyo ng PCB
Disenyo ng PCB

Upang prototype ang disenyo ng isang pares ng mga PCB ay binuo. Ang PCB sa kaliwa ay ang "Fan Controller," na naglalaman ng rotary encoder, 12 V jack, SLG46108 GreenPAK, at mga konektor para sa FT232H USB sa I2C breakout board. Ang dalawang PCB sa kanan ay ang "Fan Boards," na naglalaman ng mga SLG46826 GreenPAK, pushbuttons, switch, LEDs, at fan header.

Ang bawat Fan Board ay may nakabalot na header ng lalaki sa kaliwang bahagi at isang babaeng header sa kanang bahagi upang sila ay magkakasamang may kadena. Ang bawat Fan Board ay maaaring mapunan ng mga mapagkukunan upang malayang makontrol ang dalawang tagahanga.

Hakbang 12: Application ng C #

C # Paglalapat
C # Paglalapat

Ang isang application na C # ay isinulat sa interface sa mga Fan Boards sa pamamagitan ng tulay na FT232H USB-I2C. Ang application na ito ay maaaring magamit upang ayusin ang dalas ng bawat fan na may I2C utos na nabuo ng application.

Ang application ay pings sa lahat ng 16 I2C address isang beses bawat segundo at pinupunan ang GUI sa mga address ng alipin na naroroon. Sa halimbawang ito ang Fan 1 (slave address 0001) at Fan 3 (slave address 0011) ay konektado sa board. Ang mga pagsasaayos sa cycle ng tungkulin ng bawat tagahanga ay isa-isang maaaring gawin sa pamamagitan ng paglipat ng slider bar o sa pamamagitan ng pagta-type ng isang halaga mula 0-256 sa textbox sa ilalim ng slider bar.

Konklusyon

Gamit ang disenyo na ito posible na malaya na makontrol ang hanggang sa 16 na mga tagahanga (dahil mayroong 16 posibleng mga address ng alipin ng I2C) alinman sa isang rotary encoder o may isang application na C #. Naipakita kung paano makabuo ng isang signal ng PWM na may isang pares ng mga offset counter, at kung paano madagdagan at bawasan ang duty cycle ng signal na iyon nang walang rollover.

Inirerekumendang: