Re: 請教PIC16F1936 PWM DUTY的設定
|
||||
---|---|---|---|---|
版主
|
參照:
PWM 會抖動是因為 ADC 轉換時 LSB 會受到Digital Noice 的干擾,要降低跳動干擾可以用取 AD 的平均,或將低AD轉換跟新 Duty 的速度;或在 Sleep Mode下 ADC 使用Interal RC 做轉換,這樣 Digital Noise 的干擾會是最小的。 PR2 = 0xFF 就可以做到 256 階。20Mhz 10-bit resolution 為19.53KHz;降成 10NHz 就可以為 10KHz PWM 輸出,因 Timer2 無除二的 Prescaler。
發表於: 2009/9/8 13:47
|
|||
|
Re: 請教PIC16F1936 PWM DUTY的設定
|
||||
---|---|---|---|---|
新會員
|
感謝板大的回覆
小弟目前也是先用30-50次並去頭去尾做平均 ADC的效果還是算穩定但總是會有一兩個STEP換算時會有跳動 所以才想說如果可以直接由ADC 256STEP對應~那就不用除2了 降成 10NHz 就可以為 10KHz PWM 輸出 請問這個要怎麼設定?
發表於: 2009/9/8 14:34
|
|||
|
Re: 請教PIC16F1936 PWM DUTY的設定
|
||||
---|---|---|---|---|
版主
|
沒辦法,使用 ADC 轉換的結果去控制 Duty 很難不會有跳動現象的。
10MHz Fosc 的計算;10MHz/10KHz= 1000, 又1000 轉成16進制= 0x3E8, 所以 Duty(CCPRL+CON1CON<5:4>) 最高為 0x3E8 (10-bit) , PR2 = 0x3E8/4=0xFA。
發表於: 2009/9/8 15:10
|
|||
|
Re: 請教PIC16F1936 PWM DUTY的設定
|
||||
---|---|---|---|---|
新會員
|
參照:
感謝板大 ADC的誤差~上次也有問過類似的問題~看來稍微跳動是難免了~ PWM的DUTY也只好使用20KHZ了~ 先暫時使用看看~會不會有問題 感謝RYANG回覆
發表於: 2009/9/8 17:07
|
|||
|