Sadržaj:
- Korak 1: Odabir mikrokontrolera
- Korak 2: KONFIGURIRAJTE CCP MODUL
- Korak 3: Konfiguriranje Timer2 modula (TMR2 registar)
- Korak 4: Konfiguriranje PR2 (Timer2 Period Register)
- Korak 5: Konfigurirajte CCPR1l modul
- Korak 6: Napišite skicu na sebi MPLAB X IDE kôd je dat ispod
Video: Generirajte PWM val s PIC mikrokontrolerom: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
ŠTA JE PWM?
PWM STOJCI ZA MODULACIJU ŠIRINE PULSA je tehnika pomoću koje se varira širina impulsa.
Da biste razumjeli ovaj koncept, jasno razmotrite taktni impuls ili bilo koji signal kvadratnog vala koji ima radni ciklus od 50%, što znači da su Ton i Toff period isti. Ukupno trajanje za koje je signal bio visok i trajanje za koje je signal bio nizak naziva se ukupno vremenski period.
Za gornju sliku ovaj val ima radni ciklus od 50%
Radni ciklus = (vrijeme uključivanja / ukupno vrijeme)*100
ON vreme - vreme za koje je signal bio visok
OFF vrijeme - vremenski neprijatelj čiji je signal bio nizak Ukupno vrijeme -Ukupno vremensko razdoblje impulsa (i ON i OFF vrijeme)
Korak 1: Odabir mikrokontrolera
Odabir odgovarajućeg mikrokontrolera za projekt ovo je bitan dio projekta. PWM signali se mogu generirati u mikrokontrolerima sa PWM kanalima (CCP registri). Za ovaj projekt planiram se držati slike pic16f877. link za podatkovnu tablicu možete preuzeti ispod
PIC16F877a tehnički list kliknite ovdje
CCP modul je odgovoran za proizvodnju PWM signala. CCP1 i CCP2 su multipleksirani sa PORTC. PORTC je 8-bitni dvosmjerni port. Odgovarajući registar smjera podataka je TRISC. Postavljanje bita TRISC (= 1) će uzeti odgovarajući PORTC pin kao ulaz. Brisanjem bita TRISC (= 0) odgovarajući PORTC pin će biti izlaz.
TRISC = 0; // Brisanjem ovog bita učinit će se PORTC izlazom
Korak 2: KONFIGURIRAJTE CCP MODUL
CCP - MODULI HVATANJA/POREDBE/PWM
Svaki modul Capture/Compare/PWM (CCP) sadrži 16-bitni registar koji može funkcionirati kao:
• 16-bitni registar snimanja
• 16-bitni registar usporedbi
• Registar PWM master/slave radnog ciklusa
Konfigurirajte CCP1CON registar u PWM modu
Opis registra
CCPxCON Ovaj registar se koristi za konfiguriranje CCP modula za rad Hvatanje/Upoređivanje/PWM.
CCPRxL Ovaj registar sadrži 8-Msb bitove PWM-a, niži 2-bitni bit će dio CCPxCON registra.
TMR2 Brojač slobodnog rada koji će se uporediti sa CCPR1L i PR2 za generisanje PWM izlaza.
Sada ću koristiti binarne datoteke za predstavljanje bitova za konfiguraciju CCP1CON registra.
pogledajte gornju sliku.
CCP1CON = 0b00001111;
Možete i heksadecimalni format
CCP1CON = 0x0F; // konfiguriranje CCP1CON registra za PWM način rada
Korak 3: Konfiguriranje Timer2 modula (TMR2 registar)
Timer2 je 8-bitni mjerač vremena s predskalerima i mjeračem postova. Može se koristiti kao PWM vremenska baza za PWM način rada CCP modula. TMR2 registar je čitljiv i upisiv i briše se na bilo kojem uređaju. Resetiraj.
Prikazan je T2CON registar
Pred -skala i post -skala će prilagoditi izlaznu frekvenciju generiranog PWM vala.
Učestalost = frekvencija sata/(4*predskaler*(PR2-TMR2)*mjerač postova*broj)
Gdje je Tout = 1/frekvencija
T2CON = 0b00000100;
Time će se generirati kristal od 2,5 KHz @ 1Mhz ili 100KHz @ 4MHz (praktično postoji ograničenje za ovu frekvenciju PWM -a, za više detalja pogledajte posebnu tablicu podataka)
hex prikaz
T2CON = 0x04; // omogućujemo T2CON bez predskalera i konfiguracije post skale
Korak 4: Konfiguriranje PR2 (Timer2 Period Register)
Modul Timer2 ima 8-bitni registar perioda, PR2. Tajmer2 se povećava od 00h do usklađivanja s PR2, a zatim se vraća na 00h u sljedećem ciklusu povećanja. PR2 je registar za čitanje i upisivanje. PR2 registar se nakon resetiranja inicijalizira u FFh.
Postavljanje odgovarajućeg raspona za PR2 omogućit će upotrebu za promjenu radnog ciklusa generiranog PWM vala
PR2 = 100; // Postavite vrijeme ciklusa na 100 za promjenu radnog ciklusa od 0-100
Radi pojednostavljenja, koristim PR2 = 100 čineći CCPR1L = 80; Može se postići 80% radni ciklus.
Korak 5: Konfigurirajte CCPR1l modul
Budući da je PR2 = 100, CCPR1l se može konfigurirati bilo gdje između 0-100 kako bi se dobio željeni radni ciklus.
Korak 6: Napišite skicu na sebi MPLAB X IDE kôd je dat ispod
#include
void delay (int a) // funkcija za generiranje kašnjenja {
za (int i = 0; i <a; i ++)
{
for (int j = 0; j <144; j ++);
}
}
void main ()
{TRISC = 0; // Brisanjem ovog bita učinit će se PORTC izlazom.
CCP1CON = 0x0F; // konfiguriranje registra CCP1CON za PWM način rada
T2CON = 0x04; // omogućujemo T2CON bez predskalera i konfiguracije post skale.
PR2 = 100; // Postavite vrijeme ciklusa na 100 za promjenu radnog ciklusa od 0-100
dok (1) {
CCPR1L = 75; // generirano 75% kašnjenja radnog ciklusa (1);
}
}
Napravio sam i malu izmjenu koda tako da učestalost generiranog PWM vala
Ovaj kôd je simuliran u Proteus -u, a izlazni PWM val prikazan je ispod. Za postavljanje ovoga na vaše razvojne ploče za slike koristite #include s odgovarajućim konfiguracijskim bitovima.
Hvala ti
Preporučuje se:
Meteorološka stanica sa mikrokontrolerom Atmega328P-PU: 5 koraka
Meteorološka stanica s mikrokontrolerom Atmega328P-PU: Nedavno sam pohađao besplatni online tečaj s edx-om (koji su 2012. osnovali Harvard University i MIT, edX je odredište za online učenje i pružatelj MOOC-a, koji nudi visokokvalitetne kurseve najboljih svjetskih univerziteta i institucija učenicima uoči
Povezivanje PC tastature sa mikrokontrolerom 8051: 6 koraka
Povezivanje tastature sa računarom sa mikrokontrolerom 8051: U ovom projektu sam vam objasnio kako možemo povezati našu tastaturu sa računarom sa mikrokontrolerom 8051
Napravite vlastitu razvojnu ploču s mikrokontrolerom: 3 koraka (sa slikama)
Napravite vlastitu razvojnu ploču s mikrokontrolerom: Jeste li ikada htjeli napraviti vlastitu razvojnu ploču s mikrokontrolerom, a niste znali kako. U ovom uputstvu ću vam pokazati kako to napraviti. Sve što trebate je znanje o elektronici, projektiranje kola i programiranje. Ako imate bilo kakvu potragu
Generirajte Banggood partnerske (preporuke) veze lakše nego ikad: 4 koraka
Generirajte Banggood partnerske (preporuke) veze lakše nego ikad: Kondenziranu verziju ove upute možete pronaći na mom osobnom blogu. Affiliate prodaja odličan je izvor dodatnog prihoda za kreatore sadržaja, a mnogi ljudi na instrukcijama ih koriste. Na nekim od popularnijih web lokacija koje imaju Partnerski program je Ban
Skateboard sa PIC mikrokontrolerom i LED diodama: 8 koraka (sa slikama)
Skateboard sa PIC mikrokontrolerom i LED diodama: Šta dobijate kada inženjer elektrotehnike izgradi Skateboard od nule za božićni poklon 13 -godišnjaka? Dobijate skejtbord sa osam bijelih LED dioda (farovi), osam crvenih LED dioda (tailights) kojima se sve kontroliše putem PIC mikrokontrolera! I migriram