TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado 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.
-
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.