
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47



MI A PWM?
A PWM STANDS PULSE WIDTH MODULATION egy olyan technika, amellyel az impulzus szélessége változtatható.
Ennek a koncepciónak a megértéséhez vegye figyelembe az óraimpulzust vagy bármely négyzethullámú jelet, amelynek 50% -os működési ciklusa van, ami azt jelenti, hogy a Ton és a Toff periódus megegyezik. időszak.
A fenti képen ennek a hullámnak a működési ciklusa 50%
Üzemidő = (bekapcsolási idő / teljes idő)*100
ON time - az az idő, amelynél a jel magas volt
KIKAPCSOLÁSI idő - az az ellenfél, amelynek jele alacsony volt
Lépés: A mikrokontroller kiválasztása

A projekthez megfelelő mikrokontroller kiválasztása ez a projekt lényeges része. A PWM jelek PWM csatornákkal (CCP regiszterek) rendelkező mikrovezérlőkben generálhatók. Ehhez a projekthez a pic16f877 -et tervezem. letöltheti az adatlap linkjét
A PIC16F877a adatlapja kattintson ide
A CCP modul felelős a PWM jel előállításáért. A CCCP1 és a CCP2 multiplexelt PORTC -vel. A PORTC egy 8 bites széles kétirányú port. A megfelelő adatirány -regiszter a TRISC. A TRISC bit (= 1) beállítása a megfelelő PORTC tűt veszi bemenetként. A TRISC bit törlése (= 0) a megfelelő PORTC tűt eredményezi.
TRISC = 0; // Ennek a bitnek a törlésével a PORTC lesz kimenet
2. lépés: KONFIGURÁLJA a CCP MODULOT


CCP - CAPTURE/COMPARE/PWM MODULOK
Minden Capture/Compare/PWM (CCP) modul tartalmaz egy 16 bites regisztert, amely a következőképpen működhet:
• 16 bites rögzítési regiszter
• 16 bites összehasonlító regiszter
• PWM Master/Slave Duty Cycle regiszter
Állítsa be a CCP1CON regisztert PWM módba
Regisztráció Leírás
CCPxCON Ez a regiszter a CCP modul beállítására szolgál a Capture/Compare/PWM opertaion számára.
CCPRxL Ez a regiszter tartalmazza a PWM 8 Mb-os bitjeit, az alsó 2-bitek a CCPxCON regiszter részét képezik.
TMR2 Szabadonfutó számláló, amelyet összehasonlítanak a CCPR1L -vel és a PR2 -vel a PWM kimenet generálásához.
Most binárisan fogom használni a biteket a CCP1CON regiszter konfigurálásához.
lásd a fenti képet.
CCP1CON = 0b00001111;
Azt is hatszögletű formátumban
CCP1CON = 0x0F; // a CCP1CON regiszter konfigurálása PWM módhoz
3. lépés: A Timer2 modul konfigurálása (TMR2 regisztráció)

A Timer2 egy 8 bites időzítő, elő- és utóskálázóval. PWM időalapként használható a CCP modul (ok) PWM módjához. A TMR2 regiszter olvasható és írható, és törlődik minden eszközön.
Megjelenik a T2CON regiszter
Az elő- és utóskála beállítja a generált PWM hullám kimeneti frekvenciáját.
Frekvencia = órajel/(4*előskálázó*(PR2-TMR2)*Utóskálázó*szám)
Ahol Tout = 1/gyakoriság
T2CON = 0b00000100;
Ez 2,5 KHz @ 1Mhz vagy 100KHz @ 4MHz kristályt generál (gyakorlatilag van korlátozás erre a PWM frekvenciára, lásd az adott adatlapot a további részletekért)
hatszögletű ábrázolás
T2CON = 0x04; // engedélyezze a T2CON -t az előskálázás és az utólagos skála beállítása nélkül
4. lépés: A PR2 konfigurálása (Timer2 Period Register)
A Timer2 modul 8 bites periódusregiszterrel rendelkezik, PR2. Az időzítő2 00 órától növekszik, amíg megfelel a PR2 értéknek, majd a következő növekedési ciklusban visszaáll 00 órára. A PR2 olvasható és írható regiszter. A PR2 regiszter alaphelyzetbe állításkor FFh lesz.
A PR2 megfelelő tartományának beállítása lehetővé teszi a generált PWM hullám működési ciklusának megváltoztatását
PR2 = 100; // Állítsa a ciklusidőt 100-ra, ha a munkaciklus 0-100 között változik
Az egyszerűség kedvéért PR2 = 100 -at használok CCPR1L = 80 értékkel; 80% -os munkaciklus érhető el.
5. lépés: A CCPR1l modul konfigurálása
Mivel a PR2 = 100 CCPR1l bárhol konfigurálható 0-100 között a kívánt életciklus eléréséhez.
6. lépés: Írja fel Önre a vázlatot MPLAB X IDE A kód alább látható

#befoglalni
void delay (int a) // késleltetést generáló függvény {
mert (int i = 0; i <a; i ++)
{
mert (int j = 0; j <144; j ++);
}
}
void main ()
{TRISC = 0; // Ennek a bitnek a törlésével a PORTC lesz kimenet.
CCP1CON = 0x0F; // a CCP1CON regiszter konfigurálása PWM módhoz
T2CON = 0x04; // engedélyezze a T2CON -t az előskálázás és az utólagos skála beállítása nélkül.
PR2 = 100; // Állítsa a ciklusidőt 100-ra, ha a munkaciklus 0-100 között változik
míg (1) {
CCPR1L = 75; // a működési ciklus 75% -os késleltetése (1);
}
}
Kicsit módosítottam a kódon is, hogy a generált PWM hullám frekvenciája
Ezt a kódot a proteus szimulálja, és a kimeneti PWM hullám az alábbiakban látható. Ennek feltöltéséhez a képfejlesztő táblákra használja a #include megfelelő konfigurációs biteket.
Köszönöm
Ajánlott:
Különböző hangok generálása filmekből csak Arduino használatával: 3 lépés

Különböző hangok generálása filmekből csak Arduino használatával: As-salamu alaykum! Különféle hangokat akartam generálni, mint pl. Ragadozó, optimus prime & darázs a transzformátor filmből. Valójában a " a hacksmith " videó a ragadozó sisak készítéséről
Művészet generálása megjegyzésekből: 5 lépés (képekkel)

Művészet generálása a hozzászólásokból: Ez a projekt egy ambiciózus projekt, ahol az internet, a megjegyzések és a chatszobák legkérdőjelezhetőbb részeit szeretnénk felhasználni művészet létrehozásához. Azt is szeretnénk, hogy a projekt könnyen hozzáférhetővé váljon, hogy bárki kipróbálhassa magát a létrehozásban
Hangok generálása az Arduino segítségével: 3 lépés

Hangok generálása az Arduino segítségével: Ebben az utasításban egy olyan áramkört készítettem, amely hangot generál az Arduino -val. Nagyon szeretem az egyszerű és gyorsan elkészíthető projekteket. Itt van egy ilyen egyszerű projekt. Ez egy bemutató és mesélő projekt, amelyet pontosan az Arduino websi dokumentációjának felhasználásával készítettem
Különféle hangok generálása matematikai egyenletek segítségével (MathsMusic) Arduino: 5 lépés

Különféle hangok generálása matematikai egyenletek segítségével (MathsMusic) Arduino: A projekt leírása: Új út kezdődött, ahol az ötletek könnyen megvalósíthatók nyílt forráskódú közösség használatával (hála Arduino -nak). Tehát itt van egy módszer · Nézz körül magadban és figyeld a környezetedet · Fedezd fel a problémákat, amelyeket meg kell oldani
Gördeszka PIC mikrokontrollerrel és LED -ekkel: 8 lépés (képekkel)

Gördeszka PIC mikrokontrollerrel és LED -ekkel: Mit kap, ha egy villamosmérnök a gördeszkát építi a semmiből egy 13 éves karácsonyi ajándék számára? Kap egy gördeszkát, nyolc fehér LED -el (fényszóró), nyolc piros LED -el (hátsó lámpa), mindezt PIC -mikrovezérlővel vezérelve! És migrálok