Sadržaj:
- Korak 1: Dijagram bloka sustava
- Korak 2: Dizajn rotacijskog dekodera SLG46108
- Korak 3: Dizajn kontrolera ventilatora SLG46826
- Korak 4: Generiranje PWM -a s ofsetnim brojačima
- Korak 5: Kontrola radnog ciklusa s ubrizgavanjem sata i preskakanjem sata
- Korak 6: Unos tipkom
- Korak 7: Sprječavanje prevrtanja radnog ciklusa
- Korak 8: Kontrola radnog ciklusa s I2C
- Korak 9: Očitavanje brojača okretaja
- Korak 10: Dizajn vanjskog kruga
- Korak 11: Dizajn PCB -a
- Korak 12: C# aplikacija
Video: Uradi sam PWM kontrola za ljubitelje računala: 12 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Ovaj Instructable opisuje izgradnju potpuno opremljenog PWM kontrolera za PC ventilator od 12 V. Dizajn može kontrolirati do 16 3-pinskih ventilatora za računala. Dizajn koristi par Dialog GreenPAK ™ IC-ova sa mješovitim signalom koji se mogu konfigurirati za upravljanje radnim ciklusom svakog ventilatora. Također uključuje dva načina za promjenu brzine ventilatora:
a. s kvadraturnim/rotacijskim enkoderom
b. s Windows aplikacijom izgrađenom u C# koja komunicira s GreenPAK -om putem I2C.
U nastavku smo opisali korake potrebne za razumijevanje kako je GreenPAK čip programiran za stvaranje PWM kontrole za ljubitelje računala. Međutim, ako samo želite dobiti rezultat programiranja, preuzmite GreenPAK softver kako biste vidjeli već dovršenu datoteku za dizajn GreenPAK. Priključite GreenPAK Development Kit na svoje računalo i hit program za stvaranje prilagođenog IC -a za PWM kontrolu za ljubitelje računala.
Korak 1: Dijagram bloka sustava
Korak 2: Dizajn rotacijskog dekodera SLG46108
Rotacijski davač služi za ručno povećanje ili smanjenje radnog ciklusa ventilatora. Ovaj uređaj emitira impulse na izlazima kanala A i kanala B koji su međusobno udaljeni 90 °. Pogledajte AN-1101: Otključani kvadraturni dekoder za više informacija o načinu rada rotacijskog davača.
Rotirajući dekoder s taktom može se stvoriti pomoću Dialog GreenPAK SLG46108 za obradu signala kanala A i kanala B te ih emitirati kao impulse u smjeru suprotnom od kazaljke na satu (CCW) i u smjeru kazaljke na satu (CW).
Kad kanal A vodi kanal B, dizajn emitira kratki impuls na CW. Kad kanal B vodi kanal A, on emitira kratki impuls na CCW
Tri DFF -a sinkroniziraju ulaz kanala A sa satom. Slično, kašnjenje cijevi s OUT0 postavljenim na dva DFF -a i OUT1 na tri DFF -a stvara istu funkcionalnost za kanal B.
Za stvaranje CW i CCW izlaza upotrijebite nekoliko LUT -ova, za više informacija o ovom standardnom dizajnu rotacijskog dekodera posjetite ovu web stranicu.
Rotacijski dekoder GreenPAK prima ulazne impulse A i B i emitira CW i CCW impulse kao što je prikazano na slici 4.
Strujni krug iza vrata XOR osigurava da nikada neće biti CW i CCW impulsa u isto vrijeme, dopuštajući bilo kakvu pogrešku s okretnim davačem. Odgoda padajućeg ruba od 8 ms na CW i CCW signalima prisiljava ih da ostanu visoki 8 ms plus jedan ciklus takta, što je potrebno za nizvodne SLG46826 GreenPAK -ove.
Korak 3: Dizajn kontrolera ventilatora SLG46826
Korak 4: Generiranje PWM -a s ofsetnim brojačima
Par offset brojača s istim razdobljem koristi se za generiranje PWM signala. Prvi brojač postavlja DFF, a drugi ga poništava stvarajući dosljedan PWM signal radnog ciklusa kako je prikazano na slikama 6 i 7.
CNT6 postavlja DFF10, a obrnuti izlaz CNT1 resetira DFF10. Pinovi 18 i 19 koriste se za izlaz PWM signala u vanjsko kolo
Korak 5: Kontrola radnog ciklusa s ubrizgavanjem sata i preskakanjem sata
Kontroler ventilatora prima CW i CCW signale kao ulaze iz rotacijskog dekodera i koristi ih za povećanje ili smanjenje PWM signala koji kontrolira brzinu ventilatora. To se postiže s nekoliko komponenti digitalne logike.
Radni ciklus mora se povećati kada se primi CW impuls. To se postiže ubrizgavanjem dodatnog taktnog impulsa u CNT6 blok, uzrokujući njegov izlaz jedan ciklus sata ranije nego što bi inače imao. Ovaj postupak prikazan je na slici 8.
CNT1 se i dalje konstantno radi, ali CNT6 ima ubačenih nekoliko dodatnih satova. Svaki put kad se na brojaču pojavi dodatni sat, on pomakne svoj izlaz za jedno razdoblje ulijevo.
Nasuprot tome, da biste smanjili radni ciklus, preskočite impuls takta za CNT6 kao što je prikazano na slici 9. CNT1 se i dalje konstantno taktira, a postoje preskočeni impulsi sata za CNT6, gdje se brojač nije taktio kad je trebalo do. Na ovaj način izlaz CNT6 se gura udesno za jedno vrijeme, skraćujući radni ciklus izlaznog PWM -a.
Funkcija ubrizgavanja sata i preskakanja sata izvodi se pomoću nekih digitalnih logičkih elemenata unutar GreenPAK -a. Par višenamjenskih blokova koristi se za stvaranje par kombinacija kombinacija zasuna/detektora ruba. 4-bitni LUT0 koristi se za povezivanje između općeg signala takta (CLK/8) i signala za ubrizgavanje takta ili preskakanje takta. Ova je funkcija detaljnije opisana u koraku 7.
Korak 6: Unos tipkom
Ulaz BUTTON se odvaja 20 ms, zatim se koristi za prebacivanje zasuna koji određuje je li odabran ovaj čip. Ako je odabran, tada 4-bitni LUT prenosi signale preskakanja takta ili ubrizgavanja. Ako čip nije odabran, tada 4-bitni LUT jednostavno prenosi signal CLK/8.
Korak 7: Sprječavanje prevrtanja radnog ciklusa
RS zasuni 3-bitni LUT5 i 3-bitni LUT3 koriste se kako bi bili sigurni da ne možete ubrizgati ili preskočiti toliko satova da se brojači pomaka prevrću. Time se izbjegava da sustav dosegne 100 % radni ciklus, a zatim se prebaci na 1 % radni ciklus ako primi još jedan sat ubrizgavanja.
RS zasuni sprječavaju da se to dogodi pričvršćivanjem ulaza u višenamjenske blokove kada je sustav udaljen jedan sat od prevrtanja. Par DFF -ova odgađa signale PWM_SET i PWM_nRST za jedno razdoblje takta kako je prikazano na slici 11.
Par LUT -ova se koristi za stvaranje potrebne logike. Ako je radni ciklus toliko nizak da se odgođeni signal PWM_SET javlja istovremeno s signalom PWM_nRST, daljnje smanjenje radnog ciklusa uzrokovat će prevrtanje.
Slično, ako se približava maksimalnom radnom ciklusu, tako da se odgođeni signal PWM_nRST javlja u isto vrijeme kada i signal PWM_SET, potrebno je izbjeći daljnje povećanje radnog ciklusa. U ovom slučaju, odgodite nRST signal za dva ciklusa takta kako biste osigurali da se sustav ne prevrne s 99 % na 1 %.
Korak 8: Kontrola radnog ciklusa s I2C
Ovaj dizajn uključuje još jedan način upravljanja radnim ciklusom osim preskakanja sata/ubrizgavanja sata. Vanjski mikrokontroler može se koristiti za pisanje I2C naredbi na GreenPAK za postavljanje radnog ciklusa.
Kontrola radnog ciklusa preko I2C zahtijeva da kontroler izvede određeni niz naredbi. Ove naredbe prikazane su redom u Tablici 1. "x" označava bit koji se ne smije mijenjati, "[" označava bit START, a "]" označava bit STOP
Blok PDLY generira kratki aktivni visoki impuls na padajućoj ivici signala CLK/8, koji se naziva! CLK/8. Taj se signal koristi za podešavanje DFF14 na stalnoj frekvenciji. Kad I2C_SET ide visoko asinkrono, sljedeći rastući rub! CLK/8 uzrokuje da DFF14 emitira HIGH, što pokreće CNT5 OneShot. OneShot radi za broj ciklusa takta koje je korisnik napisao kako je navedeno u naredbi "Write to CNT5" I2C u tablici 1. U ovom slučaju to je 10 ciklusa takta. OneShot omogućuje oscilatoru od 25 MHz da radi točno onoliko dugo koliko dugo, tako da 3-bitni LUT0 prima broj ciklusa takta koji su zapisani na CNT5.
Slika 15 prikazuje ove signale, gdje su crveni satovi oni koji se šalju na 3-bitni LUT0, koji ih prenosi u CNT6 (brojač PWM_SET), čime se stvara pomak za generiranje radnog ciklusa.
Korak 9: Očitavanje brojača okretaja
Po želji, korisnik može očitati vrijednost tahometra preko I2C kako bi pratio koliko se brzo ventilator okreće čitanjem vrijednosti CNT2. CNT2 se povećava svaki put kad ACMP0H ima rastući rub i može se asinkrono resetirati pomoću naredbe I2C. Imajte na umu da je ovo izborna značajka, a prag ACMP0H morat će se prilagoditi prema specifikacijama određenog ventilatora koji se koristi.
Korak 10: Dizajn vanjskog kruga
Vanjski krug je prilično jednostavan. Postoji gumb koji je spojen na Pin6 GreenPAK -a za prebacivanje je li ovaj uređaj odabran za rotacijsko upravljanje, a LED spojen na Pin12 i Pin13 označava kada je uređaj odabran.
Budući da ventilator radi od 12 V, potreban je par FET -ova za upravljanje njegovim uključivanjem. GreenPAK -ovi Pin18 i Pin19 pokreću nFET. Kad je nFET uključen, povlači vrata pFET LOW -a, koji povezuje ventilator na +12 V. Kad je nFET isključen, vrata PFET -a se podižu otpornikom od 1 kΩ, koji isključuje ventilator od +12 V.
Korak 11: Dizajn PCB -a
Za izradu prototipa dizajna sastavljeno je nekoliko PCB -a. PCB s lijeve strane je "Fan Controller", koji sadrži rotacijski davač, 12 V utičnicu, SLG46108 GreenPAK i konektore za FT232H USB na I2C probojnu ploču. Dva PCB -a s desne strane su "ploče ventilatora" koje sadrže SLG46826 GreenPAK -ove, tipke, prekidače, LED diode i zaglavlja ventilatora.
Svaka ploča obožavatelja ima zakrivljeno muško zaglavlje s lijeve strane i žensko zaglavlje s desne strane kako bi se mogli zajedno vezati tratinčicom. Svaka ploča obožavatelja može se napuniti resursima za neovisno upravljanje s dva ventilatora.
Korak 12: C# aplikacija
C# aplikacija je napisana za povezivanje s pločama ventilatora preko FT232H USB-I2C mosta. Ova se aplikacija može koristiti za podešavanje frekvencije svakog ventilatora pomoću I2C naredbi koje generira aplikacija.
Aplikacija jednom u sekundi pinguje svih 16 I2C adresa i popunjava GUI prisutnim pomoćnim adresama. U ovom primjeru ventilator 1 (adresa slave 0001) i ventilator 3 (adresa pomoćnika 0011) spojeni su na ploču. Podešavanja radnog ciklusa svakog ventilatora pojedinačno mogu se izvršiti pomicanjem klizača ili upisivanjem vrijednosti od 0-256 u okvir za tekst ispod klizača.
Zaključci
Pomoću ovog dizajna moguće je neovisno kontrolirati do 16 ventilatora (budući da postoji 16 mogućih I2C slave adresa) bilo pomoću rotacijskog davača ili pomoću aplikacije C#. Pokazano je kako generirati PWM signal s parom offset brojača, te kako povećati i smanjiti radni ciklus tog signala bez prevrtanja.
Preporučeni:
Postavljanje Raspberry Pi 4 preko prijenosnog računala/računala pomoću Ethernet kabela (bez monitora, bez Wi-Fi-ja): 8 koraka
Postavljanje Raspberry Pi 4 putem prijenosnog računala/računala pomoću Ethernet kabela (bez monitora, bez Wi-Fi-ja): U ovom ćemo radu raditi s Raspberry Pi 4 Model-B od 1 GB RAM-a za postavljanje. Raspberry-Pi je jednokrilno računalo koje se koristi u obrazovne svrhe i DIY projekte po pristupačnoj cijeni, zahtijeva napajanje od 5V 3A. Operacijski sustavi poput
Uradi sam Uradi BB-8 u Indiji -- Android kontroliran i pričljiv -- U prirodnoj veličini: 19 koraka (sa slikama)
Uradi sam Uradi BB-8 u Indiji || Android kontroliran i pričljiv || U prirodnoj veličini: PRETPLATITE SE na moj kanal za više projekata.Ovaj projekt govori o tome kako izgraditi radni, pričajući, pričajući, arduino kontrolirani droid D-Starwars BB-8. koristit ćemo samo kućanske materijale i malo Arduino sklopova. U tome smo
Kontrola svjetline PWM LED kontrola pomoću tipki, Raspberry Pi i ogrebotina: 8 koraka (sa slikama)
Kontrola svjetline PWM LED kontrola temeljena na tipkama, Raspberry Pi i Scratch: Pokušavao sam pronaći način da svojim učenicima objasnim kako PWM radi, pa sam si postavio zadatak pokušati kontrolirati svjetlinu LED diode pomoću 2 tipke - jedan gumb povećava svjetlinu LED -a, a drugi ga prigušuje. Za program
Priključna stanica za pametni telefon prijenosnog računala s pokvarenog Macbooka ili bilo kojeg drugog prijenosnog računala : 6 koraka
Priključna stanica za pametni telefon za prijenosno računalo s pokvarenog Macbooka ili bilo kojeg drugog prijenosnog računala …: Ovaj je projekt napravljen jer može biti zgodno koristiti svu snagu stvarnih pametnih telefona kao obično računalo
Kućište računala u ladici za papir "Uradi sam": 6 koraka
Računalna futrola s ladicom za papir: ovo je moje prvo uputstvo. Namjera ovog projekta bila je izgraditi malo kućište računala do računalnog automobila. Korištenje malog monitora osjetljivog na dodir i aplikacija kao multimedije (MP3, video, fotografije itd.), GPS -a, bežičnog umrežavanja, nadzora, S