Satura rādītājs:
- 1. darbība: sistēmas bloķēšanas shēma
- 2. darbība: rotācijas dekodētāja dizains SLG46108
- 3. darbība: SLG46826 ventilatora kontroliera dizains
- 4. solis: PWM ģenerēšana ar nobīdes skaitītājiem
- 5. solis: darba cikla kontrole ar pulksteņa iesmidzināšanu un pulksteņa izlaišanu
- 6. darbība: pogas ievade
- 7. darbība: darba cikla apgāšanās novēršana
- 8. darbība: darba cikla kontrole ar I2C
- 9. solis: tahometra nolasīšana
- 10. solis: Ārējās shēmas dizains
- 11. solis: PCB dizains
- 12. solis: C# lietojumprogramma
Video: DIY PWM vadība datoru ventilatoriem: 12 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Šajā pamācībā ir aprakstīts pilnvērtīga 12 V datora ventilatora PWM kontroliera izveide. Dizains var vadīt līdz 16 3-pin datoru ventilatoriem. Dizains izmanto pāris Dialog GreenPAK ™ konfigurējamus jaukta signāla IC, lai kontrolētu katra ventilatora darba ciklu. Tas ietver arī divus veidus, kā mainīt ventilatora ātrumu:
a. ar kvadrātisko/rotējošo kodētāju
b. ar iebūvētu Windows lietojumprogrammu C#, kas sazinās ar GreenPAK, izmantojot I2C.
Tālāk mēs aprakstījām darbības, kas vajadzīgas, lai saprastu, kā GreenPAK mikroshēma ir ieprogrammēta, lai izveidotu PWM vadību datoru ventilatoriem. Tomēr, ja vēlaties tikai iegūt programmēšanas rezultātu, lejupielādējiet GreenPAK programmatūru, lai apskatītu jau pabeigto GreenPAK dizaina failu. Pievienojiet GreenPAK attīstības komplektu datoram un nospiediet programmu, lai izveidotu pielāgotu IC PWM vadībai datoru faniem.
1. darbība: sistēmas bloķēšanas shēma
2. darbība: rotācijas dekodētāja dizains SLG46108
Rotējošo kodētāju izmanto, lai manuāli palielinātu vai samazinātu ventilatoru darba ciklu. Šī ierīce izvada impulsus no A un B kanāla izejām, kas atrodas 90 ° attālumā viens no otra. Skatiet AN-1101: Atbloķēts kvadratūras dekodētājs, lai iegūtu papildinformāciju par rotējošā kodētāja darbību.
Pulksteņveida rotējošu dekodētāju var izveidot, izmantojot Dialog GreenPAK SLG46108, lai apstrādātu A un B kanāla signālus un izvadītu tos pretēji pulksteņrādītāja virzienam (CCW) un pulksteņrādītāja virzienam (CW).
Kad A kanāls vada B kanālu, dizains izvada īsu impulsu CW. Kad B kanāls vada A kanālu, tas CCW izvada īsu impulsu
Trīs DFF sinhronizē A kanāla ieeju ar pulksteni. Līdzīgi caurules aizkave ar OUT0 ir iestatīta uz diviem DFF un OUT1 uz trim DFF rada tādu pašu funkcionalitāti B kanālam.
Lai izveidotu CW un CCW izejas, izmantojiet dažus LUT, lai iegūtu papildinformāciju par šo standarta rotējošā dekodētāja dizainu, apmeklējiet šo vietni.
Rotācijas dekodētājs GreenPAK saņems ievades impulsus A un B un izvadīs CW un CCW impulsus, kā parādīts 4. attēlā.
Shēma pēc XOR vārtiem nodrošina, ka nekad nebūs CW impulsa un CCW impulsa vienlaikus, pieļaujot jebkādas kļūdas ar rotējošo kodētāju. CW un CCW signālu krītošās malas aizkavēšanās 8 ms liek tiem palikt augstiem 8 ms plus viens pulksteņa cikls, kas nepieciešams pakārtotajiem SLG46826 GreenPAK.
3. darbība: SLG46826 ventilatora kontroliera dizains
4. solis: PWM ģenerēšana ar nobīdes skaitītājiem
PWM signāla ģenerēšanai tiek izmantots nobīdes skaitītāju pāris ar tādu pašu periodu. Pirmais skaitītājs nosaka DFF, bet otrais to atiestata, izveidojot konsekventu darba cikla PWM signālu, kā parādīts 6. un 7. attēlā.
CNT6 nosaka DFF10, un CNT1 apgrieztā izeja atiestata DFF10. Tapas 18 un 19 tiek izmantotas, lai izvadītu PWM signālu ārējai shēmai
5. solis: darba cikla kontrole ar pulksteņa iesmidzināšanu un pulksteņa izlaišanu
Ventilatora regulators uztver CW un CCW signālus kā ieejas no rotējošā dekodētāja un izmanto tos, lai palielinātu vai samazinātu PWM signālu, kas kontrolē ventilatora ātrumu. Tas tiek panākts ar vairākiem digitālās loģikas komponentiem.
Darba ciklam ir jāpalielinās, kad tiek saņemts CW impulss. Tas tiek darīts, CNT6 blokā ievadot papildu pulksteņa impulsu, liekot tam izvadīt vienu pulksteņa ciklu agrāk, nekā tas būtu citādi. Šis process ir parādīts 8. attēlā.
CNT1 joprojām tiek fiksēts nemainīgā ātrumā, bet CNT6 ir ievadīti pāris papildu pulksteņi. Katru reizi, kad skaitītājam ir papildu pulkstenis, tas pārslēdz savu produkciju par vienu pulksteņa periodu pa kreisi.
Un otrādi, lai samazinātu darba ciklu, izlaidiet CNT6 pulksteņa impulsu, kā parādīts 9. attēlā. uz. Tādā veidā CNT6 izeja tiek pagriezta pa labi par vienu pulksteņa periodu vienlaikus, saīsinot izejas PWM darba ciklu.
Pulksteņa ievadīšanas un pulksteņa izlaišanas funkcija tiek veikta, izmantojot dažus GreenPAK digitālos loģikas elementus. Pāris daudzfunkcionālu bloku tiek izmantoti, lai izveidotu fiksatoru/malu detektoru kombināciju pāri. 4 bitu LUT0 izmanto, lai sajauktu starp vispārējo pulksteņa signālu (CLK/8) un pulksteņa ievadīšanas vai pulksteņa izlaišanas signāliem. Šī funkcionalitāte ir sīkāk aprakstīta 7. darbībā.
6. darbība: pogas ievade
BUTTON ievade tiek atslēgta uz 20 ms, pēc tam tiek izmantota, lai pārslēgtu fiksatoru, kas nosaka, vai ir izvēlēta šī konkrētā mikroshēma. Ja tas ir izvēlēts, 4 bitu LUT nodod pulksteņa izlaišanas vai injekcijas signālus. Ja mikroshēma nav izvēlēta, tad 4 bitu LUT vienkārši nodod CLK/8 signālu.
7. darbība: darba cikla apgāšanās novēršana
RS fiksatori 3 bitu LUT5 un 3 bitu LUT3 tiek izmantoti, lai pārliecinātos, ka nevarat injicēt vai izlaist tik daudz pulksteņu, lai nobīdes skaitītāji apgāztos. Tas nepieciešams, lai izvairītos no tā, ka sistēma sasniedz 100 % darba ciklu un pēc tam pāriet uz 1 % darba ciklu, ja tā saņem citu iesmidzinātu pulksteni.
RS aizbīdņi to novērš, saslēdzot ieejas daudzfunkcionālajos blokos, kad sistēma atrodas viena pulksteņa cikla attālumā no apgāšanās. DFF pāris aizkavē PWM_SET un PWM_nRST signālus par vienu pulksteņa periodu, kā parādīts 11. attēlā.
Lai izveidotu nepieciešamo loģiku, tiek izmantoti LUT pāri. Ja darba cikls ir tik zems, ka aizkavētais PWM_SET signāls parādās vienlaikus ar PWM_nRST signālu, turpmāks darba cikla samazinājums izraisīs apgāšanos.
Līdzīgi, ja tuvojas maksimālajam darba ciklam, ja aizkavētais PWM_nRST signāls rodas vienlaikus ar PWM_SET signālu, jāizvairās no turpmāka darba cikla palielināšanas. Šajā gadījumā aizkavējiet nRST signālu par diviem pulksteņa cikliem, lai nodrošinātu, ka sistēma neapgāžas no 99 % uz 1 %.
8. darbība: darba cikla kontrole ar I2C
Šī konstrukcija ietver citu veidu, kā kontrolēt darba ciklu, izņemot pulksteņa izlaišanu/pulksteņa ievadīšanu. Lai iestatītu darba ciklu, GreenPAK var izmantot ārēju mikrokontrolleri, lai rakstītu I2C komandas.
Lai kontrolētu darba ciklu, izmantojot I2C, kontrolierim ir jāveic noteikta komandu secība. Šīs komandas ir parādītas 1. tabulā. "X" norāda bitu, kuram nevajadzētu mainīties, "[" norāda START bitu un "]" norāda STOP bitu
PDLY bloks ģenerē īsu aktīvu augstu impulsu uz CLK/8 signāla krītošās malas, ko sauc par! CLK/8. Šis signāls tiek izmantots, lai noskanētu DFF14 vienmērīgā frekvencē. Kad I2C_SET paaugstinās asinhroni, nākamā! CLK/8 pieaugošā mala izraisa DFF14 izvadi HIGH, kas aktivizē CNT5 OneShot. OneShot darbojas pēc pulksteņa ciklu skaita, ko lietotājs rakstīja, kā norādīts 1. tabulas komandā "Rakstīt uz CNT5" I2C. Šajā gadījumā tas ir 10 pulksteņa cikli. OneShot ļauj 25 MHz oscilatoram darboties tieši tā ilgumā un ne ilgāk, lai 3 bitu LUT0 saņemtu CNT5 ierakstīto pulksteņa ciklu skaitu.
15. attēlā parādīti šie signāli, kur sarkanie pulksteņi ir tie, kas tiek nosūtīti uz 3 bitu LUT0, kas tos nodod CNT6 (PWM_SET skaitītājs), tādējādi radot nobīdi darba cikla ģenerēšanai.
9. solis: tahometra nolasīšana
Ja vēlaties, lietotājs var nolasīt tahometra vērtību, izmantojot I2C, lai izsekotu ventilatora griešanās ātrumu, nolasot CNT2 vērtību. CNT2 tiek palielināts katru reizi, kad ACMP0H ir augoša mala, un to var asinhroni atiestatīt ar komandu I2C. Ņemiet vērā, ka šī ir neobligāta funkcija, un ACMP0H slieksnis būs jāpielāgo atbilstoši konkrētā izmantotā ventilatora specifikācijām.
10. solis: Ārējās shēmas dizains
Ārējā ķēde ir diezgan vienkārša. Ir spiedpoga, kas savienota ar GreenPAK 6. taustiņu, lai pārslēgtu, vai šī konkrētā ierīce ir izvēlēta rotējošai vadībai, un LED, kas savienota ar Pin12 un Pin13, lai norādītu, kad ierīce ir atlasīta.
Tā kā ventilators darbojas ar 12 V spriegumu, ir nepieciešams pāris FET, lai kontrolētu tā pārslēgšanos. GreenPAK pin18 un Pin19 vada nFET. Kad nFET ir ieslēgts, tas pavelk pFET LOW vārtus, kas savieno ventilatoru ar +12 V. Kad nFET ir izslēgts, PFET vārtus pavelk uz augšu 1 kΩ rezistors, kas atvieno ventilatoru no +12 V.
11. solis: PCB dizains
Lai izstrādātu dizaina prototipu, tika samontēti pāris PCB. Kreisajā pusē esošā PCB ir "ventilatora kontrolieris", kurā atrodas rotējošais kodētājs, 12 V ligzda, SLG46108 GreenPAK un savienotāji FT232H USB līdz I2C sadalīšanas plāksnei. Abas labās puses PCB ir "ventilatoru plates", kurās ir SLG46826 GreenPAK, spiedpogas, slēdži, gaismas diodes un ventilatora galvenes.
Katrā fanu padomē kreisajā pusē ir ietverta vīriešu galvene, bet labajā pusē-sieviešu galviņa, lai tās varētu sasaistīt kopā. Katru ventilatoru padomi var aizpildīt ar resursiem, lai neatkarīgi kontrolētu divus ventilatorus.
12. solis: C# lietojumprogramma
Izmantojot FT232H USB-I2C tiltu, tika izveidota lietojumprogramma C#, lai izveidotu saskarni ar ventilatoru dēļiem. Šo lietojumprogrammu var izmantot, lai pielāgotu katra ventilatora frekvenci, izmantojot I2C komandas, kuras ģenerē lietojumprogramma.
Lietojumprogramma vienu reizi sekundē pinga visas 16 I2C adreses un aizpilda GUI ar esošajām vergu adresēm. Šajā piemērā pie paneļa ir pievienots ventilators 1 (verga adrese 0001) un ventilators 3 (verga adrese 0011). Katra ventilatora darba ciklu var pielāgot atsevišķi, pārvietojot slīdni vai ievadot vērtību no 0 līdz 256 tekstlodziņā zem slīdņa.
Secinājumi
Izmantojot šo dizainu, ir iespējams patstāvīgi vadīt līdz 16 ventilatoriem (jo ir 16 iespējamās I2C vergu adreses) vai nu ar rotējošu kodētāju, vai ar C# lietojumprogrammu. Ir pierādīts, kā ģenerēt PWM signālu ar pāris nobīdes skaitītājiem un kā palielināt un samazināt šī signāla darba ciklu bez apgāšanās.
Ieteicams:
Atmega128A proporcionāla braukšana ar motoru - ATMEL ICE AVR taimeris UART PWM vadība: 4 soļi
Atmega128A proporcionāla braukšana ar motoru - ATMEL ICE AVR taimeris UART PWM vadība: Šajā pamācībā es jums paskaidrošu, kā kontrolēt līdzstrāvas motoru ar PWM saziņu, izmantojot UART roktura taimera pārtraukumus Pirmkārt, mēs izmantosim AVR Core sistēmas izstrādes plati ko jūs varat atrast vietnē Aliexpress ap 4 USD. Attīstības padome
Bluetooth PWM vadība 6 izejas = 800W: 5 soļi
Bluetooth PWM Control 6 izejas = 800W: Projekta mērķis ir sniegt vienkāršu un ātru veidu, kā kontrolēt jebkura veida slodzes, izmantojot Android tālruni, izmantojot Bluetooth. Slodzes var būt motori, jebkuras gaismas diodes, sloksnes, lampas, solenoīdi, sūkņi un citas R, L vai C tipa slodzes. Turklāt, pateicoties POWER SHIELD daudzfunkcionālajam
ESP8266 RGB LED STRIP WIFI vadība - NODEMCU kā IR tālvadības pults LED joslai, kas tiek kontrolēta, izmantojot Wifi - RGB LED STRIP viedtālruņa vadība: 4 soļi
ESP8266 RGB LED STRIP WIFI vadība | NODEMCU kā IR tālvadības pults LED joslai, kas tiek kontrolēta, izmantojot Wifi | RGB LED STRIP viedtālruņa vadība: Sveiki, puiši, šajā apmācībā mēs iemācīsimies izmantot nodemcu vai esp8266 kā IR tālvadības pulti, lai kontrolētu RGB LED sloksni, un Nodemcu vadīs ar viedtālruni, izmantojot wifi. Tātad būtībā jūs varat kontrolēt RGB LED STRIP ar savu viedtālruni
Temperatūras kontrole ar Arduino un PWM ventilatoriem: 6 soļi (ar attēliem)
Temperatūras kontrole ar Arduino un PWM ventilatoriem: Temperatūras kontrole ar PID uz Arduino un PWM ventilatoriem DIY servera/tīkla statīva dzesēšanai Pirms dažām nedēļām man vajadzēja uzstādīt plauktu ar tīkla ierīcēm un dažiem serveriem. Plaukts ir novietots slēgtā garāžā, Tātad temperatūras diapazons no ziemas līdz
Tīkla klēpjdatora statīvs ar USB ventilatoriem: 3 soļi
Tīkla klēpjdatora statīvs ar USB ventilatoriem: Šis ir glīts tīkla klēpjdatora statīvs ar USB ventilatoriem. Es apvienoju dažas savas idejas ar šādu pamācību http://www.instructables.com/id/Simple-Metallic-Laptop-Stand/ Stends ir veidots, izmantojot iepriekšējā apmācībā minēto metodi