Página 1 de 1

Limites de Pwm

MensagemEnviado: 14 Ago 2008 09:32
por alex1000
Senhores, eu gostaria de uma dica sobre pwm pois estou tentando gerar 20 ms mas pels minhas contas o máximo que vou conseguir será uma onda de periodo de 4ms.
Vejam:
frequencia oscilador: 4MHz
freq interna: 1Mhz
preescale(setup_timer_2(T2_DIV_BY_16....): 16
1Mhz/16=62500hz ---> t=16us
256 ciclos => 256x16us= 4ms

lógico que alterando a frequencia do oscilador de 4Mhz para 1Mhz, eu consegui chegar aos 20ms , mas seria possivel fazer uma onda de 20ms de periodo com frequencia de 4Mhz?

MensagemEnviado: 14 Ago 2008 10:02
por Sergio38br
vc não esta ativando o postscaler , não sei o comando em CCS mas a acho que dependendo do modelo de PIC ele pode ser de 1:16 o que aumentaria o periodo do timer.
Abraços
Sergio

MensagemEnviado: 14 Ago 2008 10:42
por renatokodaira
Realmente nao é possivel. Com 1MHz de clock vc tambem nao conseguirá 20ms, pois o Tpwm vai ficar em 16,384 ms. O postscaler só tem efeito no TMR2, nao fazendo efeito no módulo PWM. O jeito é fazer por software sem usar o modulo PWM.

MensagemEnviado: 14 Ago 2008 11:23
por alex1000
O Renato esta certo , refazendo os calculos só é possivel 16ms.
Desculpem pela falha.
Agora ainda não entendi o sentido do postscale, pois fui alterando-o de 0 a 16 e não fez nenhuma diferença no grafico do proteus.

MensagemEnviado: 14 Ago 2008 11:38
por Sergio38br
O renato esta correto o postescaler não funciona no PWM, tendo só efeito qdo vc opera o timer2 como contador ou puramente como timer. Qual o PIC que vc esta utilizando?

Sergio

MensagemEnviado: 14 Ago 2008 12:32
por alex1000
o 16f677