TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: micro_pepe en 09 de Mayo de 2011, 12:01:37

Título: PWM en hitech.
Publicado por: micro_pepe en 09 de Mayo de 2011, 12:01:37
Estoy probando el ejemplo que adjunto para controlar las dos salidas PWM de un PIC18F452, y tengo el problema, de que cuando cambio el ciclo de trabajo del pwm, del 100% al 0%, se mantiene durante un largo rato a '1' hasta que empieza un nuevo ciclo del 0%.

Lo he probado tanto en real como en proteus y da el mismo problema.
Título: Re: PWM en hitech.
Publicado por: micro_pepe en 10 de Mayo de 2011, 14:29:50
Bueno, está solucionado, solo hay que cambiar el valor del registro PR2 a 255. Para tener 10 bits de resolución es el valor que debe tener.

Esto es según esta formula:

Duty Cycle % = [(CCPRxL:CCPxCON<5:4>)/(4x(PR2+1))]x100%

Aqui se puede ver algo más sobre el PWM: http://www.cursomicros.com/mod2/c10_04_generacion_pwm_10.html

Lo que estaba ocurriendo es que llegaba al 100% con un valor de 500 aproximadamente, y tenia que incrementar la variable otros 500 hasta que llegaba a cero y se iniciaba de nuevo.

Saludos.