Orodha ya maudhui:
- Hatua ya 1: Kuchagua Microcontroller
- Hatua ya 2: Sanidi mfumo wa CCP
- Hatua ya 3: Kusanidi Moduli ya Timer2 (Usajili wa TMR2)
- Hatua ya 4: Kusanidi PR2 (Sajili ya Kipindi cha Timer2)
- Hatua ya 5: Sanidi Moduli ya CCPR1l
- Hatua ya 6: Andika Mchoro juu yako MPLAB X IDE Msimbo Umepewa Bellow
Video: Tengeneza Wimbi la PWM na PIC Microcontroller: 6 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
PWM NI NINI?
PWM INASIMAMA KWA UPIMAJI WA UPANA WA PULSE ni mbinu ambayo upana wa mapigo hutofautiana.
Kuelewa wazo hili wazi kuzingatia mapigo ya saa au ishara yoyote ya mawimbi ya mraba ina mzunguko wa ushuru wa 50% ambayo inamaanisha kipindi cha Ton na Toff ni sawa, Muda wote ambao ishara ilikuwa kubwa na muda ambao ishara ilikuwa chini inaitwa jumla muda.
Kwa picha iliyoonyeshwa hapo juu wimbi hili lina mzunguko wa ushuru wa 50%
Mzunguko wa wajibu = (KWA wakati / Jumla ya Wakati) * 100
KWA wakati - wakati ambao ishara ilikuwa kubwa
Muda wa adui wa muda ambao ishara ilikuwa ya chini Jumla ya wakati -Kipindi cha jumla cha muda wa kunde
Hatua ya 1: Kuchagua Microcontroller
Chagua microcontroller inayofaa kwa mradi huu ni sehemu muhimu ya mradi ishara za PWM zinaweza kuzalishwa kwa watawala wadogowadogo walio na njia za PWM (sajili za CCP) Kwa mradi huu nina mpango wa kushikamana na pic16f877. unaweza kupakua kiunga cha data kimetolewa hapa chini
Karatasi ya data ya PIC16F877a bonyeza hapa
Moduli ya CCP inawajibika kwa kuzalisha ishara ya PWM. CCP1 na CCP2 zimezidishwa na PORTC. PORTC ni bandari pana ya pande mbili. Sajili ya mwelekeo wa data inayofanana ni TRISC. Kuweka kidogo TRISC (= 1) itafanya kuchukua pini inayofanana ya PORTC kama pembejeo. Kusafisha kidogo TRISC (= 0) itafanya pini inayofanana ya PORTC kuwa pato.
TRISC = 0; // Kufuta kidogo hii kutafanya PORTC kuwa pato
Hatua ya 2: Sanidi mfumo wa CCP
CCP - KUNA / KUlinganisha / moduli za PWM
Kila moduli ya Kukamata / Linganisha / PWM (CCP) ina rejista ya 16-bit ambayo inaweza kufanya kazi kama:
• Rejista ya Kukamata 16-bit
• 16-bit Linganisha rejista
• Rejista ya Mzunguko wa Wajibu wa Mwalimu / Wajakazi wa PWM
Sanidi usajili wa CCP1CON kwa hali ya PWM
Sajili Maelezo
CCPxCON Rejista hii hutumiwa Kusanidi moduli ya CCP ya Opertaion ya Kukamata / Linganisha / PWM.
CCPRxL Rejista hii inashikilia bits 8-Msb za PWM, 2-bits chini itakuwa sehemu ya rejista ya CCPxCON.
Kaunta ya mbio ya Bure ya TMR2 ambayo italinganishwa na CCPR1L na PR2 kwa kutengeneza pato la PWM.
Sasa nitatumia binary kuwakilisha bits kusanidi sajili ya CCP1CON.
rejelea picha hapo juu.
CCP1CON = 0b00001111;
Unaweza pia muundo wa hex
CCP1CON = 0x0F; // kusanikisha sajili ya CCP1CON kwa hali ya PWM
Hatua ya 3: Kusanidi Moduli ya Timer2 (Usajili wa TMR2)
Timer2 ni kipima muda cha 8-bit na daktari wa dawa na muuzaji wa machapisho. Inaweza kutumika kama msingi wa muda wa PWM kwa hali ya PWM ya moduli za CCP. Rejista ya TMR2 inaweza kusomeka na kuandikwa na inafutwa kwenye kifaa chochote Rudisha.
Rejista ya T2CON imeonyeshwa
Prescale na postcale itarekebisha masafa ya pato la wimbi la PWM linalotokana.
Mzunguko = mzunguko wa saa / (4 * prescaler * (PR2-TMR2) * Postcaler * count)
Ambapo Tout = 1 / frequency
T2CON = 0b00000100;
Hii itazalisha 2.5 KHz @ 1Mhz au 100KHz @ 4MHz kioo (kivitendo kuna kiwango cha juu kwa masafa haya ya PWM rejelea data maalum kwa maelezo zaidi)
uwakilishi wa hex
T2CON = 0x04; // wezesha T2CON bila Prescaler na usanidi wa postcale
Hatua ya 4: Kusanidi PR2 (Sajili ya Kipindi cha Timer2)
Moduli ya Timer2 ina rejista ya kipindi cha 8-bit, PR2. Timer2 nyongeza kutoka 00h hadi inalingana na PR2 na kisha ibadilishe hadi 00h kwenye mzunguko unaofuata wa nyongeza. PR2 ni rejista inayoweza kusomeka na kuandikwa. Rejista ya PR2 imeanzishwa kwa FFh juu ya Rudisha.
Kuweka anuwai inayofaa kwa PR2 itaruhusu matumizi kubadilisha mzunguko wa ushuru wa wimbi la PWM linalotokana
PR2 = 100; // Weka wakati wa Mzunguko hadi 100 kwa kutofautisha mzunguko wa ushuru kutoka 0-100
Kwa unyenyekevu ninatumia PR2 = 100 kwa kutengeneza CCPR1L = 80; Mzunguko wa ushuru wa 80% unaweza kupatikana.
Hatua ya 5: Sanidi Moduli ya CCPR1l
Kwa kuwa PR2 = 100 CCPR1l inaweza kusanidiwa mahali popote kati ya 0-100 kupata mzunguko wa ushuru unaohitajika.
Hatua ya 6: Andika Mchoro juu yako MPLAB X IDE Msimbo Umepewa Bellow
# pamoja
kuchelewa kwa utupu (int a) // kazi ya kuzalisha kuchelewesha {
kwa (int i = 0; i <a; i ++)
{
kwa (int j = 0; j <144; j ++);
}
}
utupu kuu ()
{TRISC = 0; // Kufuta kidogo hii kutafanya PORTC kuwa pato.
CCP1CON = 0x0F; // kusanikisha sajili ya CCP1CON kwa hali ya PWM
T2CON = 0x04; // wezesha T2CON bila Prescaler na usanidi wa postcale.
PR2 = 100; // Weka wakati wa Mzunguko hadi 100 kwa kutofautisha mzunguko wa ushuru kutoka 0-100
wakati (1) {
CCPR1L = 75; // ilizalisha kuchelewa kwa mzunguko wa ushuru wa 75% (1);
}
}
Pia nimefanya marekebisho kidogo kwa nambari ili masafa ya wimbi la PWM linalotokana
Nambari hii imeiga proteni na wimbi la PWM linaloonyeshwa hapa chini Ili kupakia hii kwenye bodi zako za ukuzaji wa picha tumia # pamoja na mipangilio inayofaa ya usanidi.
Asante
Ilipendekeza:
Kikarabati kamili cha Daraja la Wimbi (JL): Hatua 5
Rectifier kamili ya Wave-Bridge (JL): Utangulizi Ukurasa huu ambao hauwezi kusumbuliwa utakuongoza kupitia hatua zote zinazohitajika kujenga rekebishaji kamili ya daraja la mawimbi. Ni muhimu katika kubadilisha AC ya sasa kuwa DC ya sasa. Sehemu (na viungo vya ununuzi) (Picha za sehemu zinajumuishwa na corresp
Robo ya Wimbi Dual Band VHF / UHF Ham Radio Antenna na Asni Nor Rizwan: Hatua 10
Robo ya Wimbi Dual Band VHF / UHF Ham Radio Antenna na Asni Nor Rizwan: Rahisi & Antenna ya bei rahisi ya Dual itaokoa kuwa na antena mbili tofauti za UHF na VHF
Tengeneza Bodi yako ya Maendeleo na Microcontroller: 3 Hatua (na Picha)
Tengeneza Bodi yako ya Kuendeleza na Microcontroller: Je! Ulitaka kutengeneza bodi yako ya maendeleo na microcontroller na haujui jinsi. Katika hii nitafundishwa nitakuonyesha jinsi ya kuifanya. Unachohitaji tu ni ujuzi katika elektroniki, kubuni mizunguko na programu.Kama una hamu yoyote
Jinsi ya Kutengeneza Drone Kutumia Arduino UNO - Tengeneza Quadcopter Kutumia Microcontroller: Hatua 8 (na Picha)
Jinsi ya Kutengeneza Drone Kutumia Arduino UNO | Tengeneza Quadcopter Kutumia Microcontroller: Utangulizi Tembelea Kituo Changu cha Youtube Drone ni kifaa (bidhaa) ghali sana kununua. Katika chapisho hili nitajadili, jinsi ninavyofanya kwa bei rahisi? Na unawezaje kutengeneza yako kama hii kwa bei rahisi… Vizuri nchini India vifaa vyote (motors, ESCs
Usanidi wa Baiti ya Fuse ya AVR Microcontroller. Kuunda na Kupakia katika Kumbukumbu ya Flash ya Microcontroller Programu ya Kuangaza ya LED. 5 Hatua
Usanidi wa Baiti ya Fuse ya AVR Microcontroller. Kuunda na Kupakia katika Kumbukumbu ya Flash ya Microcontroller Programu ya Blinking LED. Tutaandika programu yetu na kukusanya faili ya hex, tukitumia Studio ya Atmel kama jukwaa la maendeleo jumuishi. Tutasanidi fuse bi