PWM duty cycle gamit PIC

M

Maverickmax

Guest
Hi ako ay pagbabasa ng mga data sheet tungkol sa PWM duty cycle at Im hindi lubos na 100 porsiyento sigurado tungkol sa mga ito dahil hindi ko maaaring kalkulahin ang halaga ng maximum duty cycle upang matukoy (1F) 25% duty cycle. Ang mga detalye ng code c isang ay matatagpuan sa pahina 14-14 mula sa link na ito: http://ww1.microchip.com/downloads/en/DeviceDoc/31014a.pdf Gusto ko appreicate isang tao ipaliwanag sa akin kung paano upang makalkula ang PWM duty cycle sa 78.125kHz. Regards MM PS Kung ang 25% duty cycle ay ginagamit, ang halaga ay dapat na 3F halip ng KUNG? Cuz ang pinakamataas na resolution ay 8 bits??
 
Ikaw ay gumagamit ng Mid-range PIC, ay hindi mo? Sa PWM mode, parehong lumilipat dalas at duty cycle ay inilarawan sa 10-bit. Gayunman, maaari mong tukuyin lamang 8 bits pinakamataas para sa dalas, sa pamamagitan ng paggamit ng 8-bit magrehistro PR2. Ang 2 pinakamababang bits ay sa loob concatenated sa PR2. Para duty cycle, na tinukoy mo ang pinakamataas na 8 bits sa CCPRxL magrehistro (x ay ang bilang ng mga module CCP), at ang 2 pinakamababang bits sa bits CCPxCON. Samakatuwid, maaari kang magkaroon ng 10-bit resolution para sa duty cycle, ngunit maaari lamang makakuha ng pinakamataas na 8 bits set para sa dalas. Sa halimbawa sa '31034a dokumento. Pdf 'sa pahina 14-14, ay kailangan mo upang itakda CCPR1L sa 0x10, at CCP1CON sa '00', upang makakuha ng isang 25% duty cycle, na may PR2 set sa 0x3F. Hope na ito ay tumutulong! Cheers,
 
Paumanhin ... Ako pa rin hindi maintindihan. Maaari ninyo bang mabait sa akin ang mga pagkalkula upang matukoy ang cycle PWM duty? MM
 
ok, sabihin natin na kami ay may 20 MHz orasan dalas tulad ng sa. pdf file. Sa PWM dalas bilang 78.125 KHz, ang iyong numero ng bilang para sa PWM na panahon ay magiging: 20000000 / 78125 = 256 = 0x100. Ikaw ay ilagay ang pinakamataas na 8 bits minus isa sa PR2, 'sanhi (PR2 + 1) = (PWM panahon) / 4. 8 pinakamataas na bits ay 0x40, kaya dapat mong ilagay 0x3F sa PR2. Para sa duty cycle ng 25%, ang iyong numero ng count ay 256 * 0.25 = 64 = 0x40. Na ay ang bilang na maaaring ilagay sa CCPR1L: CCP1CON. Kaya CCPR1L ay naglalaman ng 8 bits pinakamataas, na 0x10, at CCP1CON ay naglalaman ng mga 2 pinakamababang bits, na kung saan ay '00 'sa kasong ito. Tandaan na tayo ay isinasaalang-alang ang bilang ng bilang 10-bit mga halaga. Sa mga ito dalas PWM, maaari ka lamang magkaroon ng 256 mga bilang para sa panahon, at ikaw maximum duty cycle ay na ang numero, o 8-bit PWM resolution. Maaari kang magkaroon ng 10-bit resolution, kung gumagamit ka ng 4 na beses na mas maliit PWM dalas, ibig sabihin, ang tungkol sa 19.5 KHz. Cheers,
 
Hi pagpili ng up ang isang lumang thread. Pa rin makita kung paano maaari kang magkaroon ng 10-bit resolution sa PWM dalas kapag ito ay assinged sa pamamagitan ng isang PR2 8-bit magrehistro? Thnak mo
 

Welcome to EDABoard.com

Sponsor

Back
Top