Tartalomjegyzék:

DIY PWM vezérlés PC -rajongók számára: 12 lépés
DIY PWM vezérlés PC -rajongók számára: 12 lépés

Videó: DIY PWM vezérlés PC -rajongók számára: 12 lépés

Videó: DIY PWM vezérlés PC -rajongók számára: 12 lépés
Videó: IGBT állítható tápegység 0-60V 30A | DC feszültség szabályozó 2024, Július
Anonim
DIY PWM vezérlés PC -rajongók számára
DIY PWM vezérlés PC -rajongók számára

Ez az útmutató leírja a teljes értékű, 12 V-os PC-ventilátoros PWM-vezérlő építését. A kialakítás akár 16 db 3 tűs számítógép-ventilátort is vezérelhet. A kialakítás egy pár Dialog GreenPAK ™ konfigurálható vegyes jelű IC-t használ az egyes ventilátorok működési ciklusának szabályozására. A ventilátor fordulatszámának megváltoztatására két módot is tartalmaz:

a. kvadratúra/forgó kódolóval

b. C# beépített Windows alkalmazással, amely az I2C -n keresztül kommunikál a GreenPAK -kal.

Az alábbiakban leírtuk azokat a lépéseket, amelyek szükségesek ahhoz, hogy megértsük, hogyan programozták a GreenPAK chipet a PWM vezérlő létrehozására a PC -rajongók számára. Ha azonban csak a programozás eredményét szeretné elérni, töltse le a GreenPAK szoftvert a már elkészült GreenPAK tervezési fájl megtekintéséhez. Csatlakoztassa a GreenPAK fejlesztőkészletet a számítógépéhez, és nyomja meg a programot, és hozza létre az egyéni IC -t a PWM vezérléshez a PC -rajongók számára.

1. lépés: Rendszerblokk diagram

Rendszerblokk diagram
Rendszerblokk diagram

2. lépés: SLG46108 Rotary Decoder Design

SLG46108 forgó dekódoló kialakítás
SLG46108 forgó dekódoló kialakítás
SLG46108 forgó dekódoló kialakítás
SLG46108 forgó dekódoló kialakítás
SLG46108 forgó dekódoló kialakítás
SLG46108 forgó dekódoló kialakítás

A forgó jeladóval manuálisan lehet növelni vagy csökkenteni a ventilátorok élettartamát. Ez az eszköz impulzusokat ad ki az A és a B csatorna kimenetein, amelyek 90 ° -ra vannak egymástól. A forgó kódoló működésével kapcsolatos további információkért lásd az AN-1101: Nyitott kvadratúra dekódoló című részt.

A Dialog GreenPAK SLG46108 segítségével órajelű forgó dekódoló hozható létre az A és a B csatorna jeleinek feldolgozására, valamint az óramutató járásával ellentétes (CCW) és az óramutató járásával megegyező (CW) impulzusok kiadására.

Amikor az A csatorna vezeti a B csatornát, a tervezés rövid impulzust ad ki a CW -n. Amikor a B csatorna vezeti az A csatornát, akkor rövid impulzust ad ki a CCW -n

Három DFF szinkronizálja az A csatorna bemenetét az órával. Hasonlóképpen, a cső késleltetése, amikor az OUT0 két DFF -re és az OUT1 három DFF -re van állítva, ugyanazt a funkciót hozza létre a B csatornához.

CW és CCW kimenetek létrehozásához használjon néhány LUT -t. Ha többet szeretne megtudni erről a szabványos rotációs dekódoló kialakításról, keresse fel ezt a webhelyet.

A GreenPAK rotációs dekóder A és B bemeneti impulzusokat fog kapni, és a 4. ábrán látható módon adja ki a CW és CCW impulzusokat.

Az XOR kapuk utáni áramkör biztosítja, hogy soha nem lesz egyszerre CW impulzus és CCW impulzus, ami lehetővé teszi a forgó jeladó hibáit. A CW és CCW jelek 8 ms -os leeső él -késleltetése arra kényszeríti őket, hogy magasan maradjanak 8 ms -on, plusz egy órajel -cikluson keresztül, ami a downstream SLG46826 GreenPAK -okhoz szükséges.

3. lépés: Az SLG46826 ventilátorvezérlő tervezése

SLG46826 Ventilátorvezérlő kialakítása
SLG46826 Ventilátorvezérlő kialakítása

4. lépés: PWM generálás ofszetszámlálókkal

PWM generáció ofszetszámlálókkal
PWM generáció ofszetszámlálókkal
PWM generáció ofszetszámlálókkal
PWM generáció ofszetszámlálókkal

A PWM jel generálásához egy pár ofszetszámlálót használunk azonos periódussal. Az első számláló beállít egy DFF -et, a második pedig alaphelyzetbe állítja, és következetes munkaciklusú PWM -jelet hoz létre, amint az a 6. és a 7. ábrán látható.

A CNT6 beállítja a DFF10 értéket, és a CNT1 fordított kimenete visszaállítja a DFF10 értéket. A 18 -as és a 19 -es érintkezők a PWM -jel külső áramkörre történő továbbítására szolgálnak

5. lépés: A munkaciklus szabályozása órabefecskendezéssel és az óra kihagyásával

Üzemidő -szabályozás órabefecskendezéssel és óra kihagyással
Üzemidő -szabályozás órabefecskendezéssel és óra kihagyással
Üzemidő -szabályozás órabefecskendezéssel és óra kihagyással
Üzemidő -szabályozás órabefecskendezéssel és óra kihagyással

A ventilátorvezérlő a CW és CCW jeleket a rotációs dekóder bemeneteiként fogadja, és ezek segítségével növeli vagy csökkenti a ventilátor sebességét szabályozó PWM jelet. Ezt számos digitális logikai komponenssel érik el.

A működési ciklust meg kell növelni, ha CW impulzus érkezik. Ez úgy történik, hogy egy extra óraimpulzust fecskendeznek a CNT6 blokkba, ami azt eredményezi, hogy egy órajelrel korábban ad ki, mint egyébként. Ezt a folyamatot a 8. ábra mutatja.

A CNT1 még mindig állandó ütemben forgatja az órát, de a CNT6 -nak van néhány extra órája. Minden alkalommal, amikor egy extra óra van a számlálónál, egy órás periódussal balra tolja a kimenetet.

Ezzel szemben a munkaciklus csökkentése érdekében hagyja ki a CNT6 óraimpulzusát, amint az a 9. ábrán látható. A CNT1 továbbra is állandó ütemben forog, és vannak kihagyott óraimpulzusok a CNT6 esetében, ahol a számláló nem ütközött, amikor kellett volna nak nek. Ily módon a CNT6 kimenete egyenként egy órás periódussal jobbra tolódik, lerövidítve a kimeneti PWM teljesítményciklusát.

Az óra befecskendezése és az óra kihagyása a GreenPAK egyes digitális logikai elemeinek használatával történik. Egy pár multifunkciós blokkot használnak pár retesz/élérzékelő kombináció létrehozásához. A 4 bites LUT0 az általános órajel (CLK/8) és az óra befecskendező vagy átugró jelek közötti összekeverésre szolgál. Ezt a funkciót részletesebben a 7. lépés írja le.

6. lépés: GOMB bemenet

GOMB Bemenet
GOMB Bemenet

A BUTTON bemenet 20 ms -ig kikapcsol, majd egy retesz átkapcsolására szolgál, amely meghatározza, hogy ez az adott chip van -e kiválasztva. Ha ez van kiválasztva, akkor a 4 bites LUT továbbítja az óra átugrási vagy befecskendezési jeleit. Ha a chip nincs kiválasztva, akkor a 4 bites LUT egyszerűen átadja a CLK/8 jelet.

7. lépés: A terhelési ciklus borulásának megakadályozása

A terhelési ciklus borulásának megakadályozása
A terhelési ciklus borulásának megakadályozása
A terhelési ciklus borulásának megakadályozása
A terhelési ciklus borulásának megakadályozása
A terhelési ciklus borulásának megakadályozása
A terhelési ciklus borulásának megakadályozása

A 3 bites LUT5 és 3 bites LUT3 RS reteszekkel biztosítható, hogy ne tudjon annyi injekciót beadni vagy kihagyni, hogy az eltolási számlálók felboruljanak. Ezzel elkerülhető, hogy a rendszer elérje a 100 % -os működési ciklust, majd 1 % -os ciklusra guruljon, ha újabb befecskendezett órát kap.

Az RS reteszek megakadályozzák, hogy ez megtörténjen, ha a bemeneteket a multifunkciós blokkokhoz reteszelik, amikor a rendszer egy óra ciklusra van a felborulástól. Egy pár DFF késlelteti a PWM_SET és PWM_nRST jeleket egy óraszakkal, amint az a 11. ábrán látható.

Egy pár LUT -t használnak a szükséges logika létrehozásához. Ha a munkaciklus olyan alacsony, hogy a késleltetett PWM_SET jel a PWM_nRST jelzéssel egy időben jelentkezik, akkor a munkaciklus további csökkenése borulást okoz.

Hasonlóképpen, ha közeledik a maximális terhelési ciklushoz, és így a késleltetett PWM_nRST jel a PWM_SET jelzéssel egy időben jelentkezik, akkor el kell kerülni a munkaciklus további növelését. Ebben az esetben két késleltetéssel késleltesse az nRST jelet, hogy a rendszer ne guruljon 99 % -ról 1 % -ra.

8. lépés: Üzemciklus -szabályozás I2C -vel

Működési ciklus vezérlés I2C -vel
Működési ciklus vezérlés I2C -vel
Működési ciklus vezérlés I2C -vel
Működési ciklus vezérlés I2C -vel
Működési ciklus vezérlés I2C -vel
Működési ciklus vezérlés I2C -vel

Ez a kialakítás egy másik módot is tartalmaz a munkaciklus szabályozására, kivéve az óra ugrását/befecskendezését. Külső mikrovezérlővel írhatók I2C parancsok a GreenPAK -hoz a munkaciklus beállításához.

A működési ciklus I2C -n keresztüli vezérléséhez a vezérlőnek egy meghatározott parancsot kell végrehajtania. Ezek a parancsok sorrendben jelennek meg az 1. táblázatban. Az "x" egy bitet jelez, amelyet nem szabad megváltoztatni, az "[" egy START bitet, és a "]" egy STOP bitet jelez

A PDLY blokk rövid aktív magas impulzust generál a CLK/8 jel leeső szélén, amelyet CLK/8 -nak hívnak. Ez a jel arra szolgál, hogy a DFF14 -et állandó frekvencián figyelje. Amikor az I2C_SET aszinkron módon magasra emelkedik, a! CLK/8 következő emelkedő éle a DFF14 HIGH kimenetét eredményezi, ami kiváltja a CNT5 OneShot funkciót. A OneShot az óraszám ciklusok számát futtatja, amelyeket a felhasználó írt az 1. táblázat "Írás CNT5" I2C parancsának megfelelően. Ebben az esetben ez 10 óra ciklus. A OneShot lehetővé teszi, hogy a 25 MHz-es oszcillátor pontosan az adott időtartamon keresztül működjön, és ne tovább, így a 3 bites LUT0 megkapja a CNT5-re írt órajelciklusok számát.

A 15. ábra ezeket a jeleket mutatja, ahol a piros órákat küldik a 3 bites LUT0-nak, amely átviszi őket a CNT6-ba (a PWM_SET számlálóba), és így létrehozza az eltolást a munkaciklus generálásához.

9. lépés: A fordulatszámmérő leolvasása

Fordulatszámmérő leolvasása
Fordulatszámmérő leolvasása
Fordulatszámmérő leolvasása
Fordulatszámmérő leolvasása

Kívánt esetben a felhasználó leolvashatja a fordulatszámmérő értékét I2C -n keresztül, és követheti a ventilátor forgásának sebességét a CNT2 érték leolvasásával. A CNT2 minden alkalommal növekszik, amikor az ACMP0H emelkedő élű, és aszinkron módon visszaállítható I2C paranccsal. Ne feledje, hogy ez opcionális szolgáltatás, és az ACMP0H küszöbértékét módosítani kell az adott ventilátor specifikációinak megfelelően.

10. lépés: Külső áramkör tervezése

Külső áramkör tervezése
Külső áramkör tervezése

A külső áramkör meglehetősen egyszerű. A GreenPAK 6. tűjéhez egy nyomógomb kapcsolódik, amellyel át lehet váltani, hogy ez az adott eszköz van -e kiválasztva a forgó vezérléshez, és egy LED, amely a Pin12 és a Pin13 csatlakozóhoz kapcsolódik, jelezve az eszköz kiválasztását.

Mivel a ventilátor 12 V -ról üzemel, egy pár FET szükséges a kapcsolás vezérléséhez. A GreenPAK Pin18 és Pin19 nFET -et hajtanak. Amikor az nFET be van kapcsolva, akkor húzza a pFET LOW kapuját, amely a ventilátort +12 V -ra kapcsolja. Amikor az nFET ki van kapcsolva, a PFET kapuját felhúzza az 1 kΩ -os ellenállás, amely lekapcsolja a ventilátort +12 V -tól.

11. lépés: NYÁK -tervezés

NYÁK -tervezés
NYÁK -tervezés

A tervezés prototípusának elkészítéséhez pár PCB -t szereltek össze. A bal oldali NYÁK a "Ventilátorvezérlő", amely a forgó kódolót, a 12 V -os aljzatot, az SLG46108 GreenPAK -t és az FT232H USB -I2C megszakítópanel csatlakozóit tartalmazza. A jobb oldali két NYÁK „Ventilátor tábla”, amelyek az SLG46826 GreenPAK -okat, nyomógombokat, kapcsolókat, LED -eket és ventilátorfejléceket tartalmazzák.

Minden rajongótábla bal oldalán egy burkolt férfi fejléc, a jobb oldalon pedig egy női fejléc található, hogy láncba lehessen kötni őket. Minden ventilátor táblát fel lehet tölteni két ventilátor önálló vezérléséhez szükséges erőforrásokkal.

12. lépés: C# Alkalmazás

C# Alkalmazás
C# Alkalmazás

Egy C# alkalmazást írtak a rajongótáblákhoz való csatlakozáshoz az FT232H USB-I2C hídon keresztül. Ez az alkalmazás használható az egyes ventilátorok frekvenciájának beállítására az alkalmazás által generált I2C parancsokkal.

Az alkalmazás másodpercenként egyszer pingálja mind a 16 I2C címet, és feltölti a GUI -t a meglévő slave címekkel. Ebben a példában a ventilátor 1 (szolga címe 0001) és ventilátor 3 (szolga cím 0011) csatlakozik a kártyához. Az egyes ventilátorok teljesítményciklusát külön-külön módosíthatja a csúszka mozgatásával vagy a csúszka alatti szövegmezőbe 0-256 érték beírásával.

Következtetések

Ennek a kialakításnak a segítségével akár 16 ventilátort is önállóan vezérelhet (mivel 16 lehetséges I2C szolga cím van), akár forgó kódolóval, akár C# alkalmazással. Kimutatták, hogyan lehet PWM jelet generálni pár eltolási számlálóval, és hogyan lehet növelni és csökkenteni a jel működési ciklusát borulás nélkül.

Ajánlott: