Una señal PWM es una forma de onda digital binaria de una determinada frecuencia y ciclo de trabajo (duty cycle) variable.
Si se considera que el nivel 0 representa OFF y el nivel 1 representa ON, la potencia que consume la carga será directamente proporcional a la duración del pulso, esto puede observarse en la siguiente imagen:
Una señal PWM se caracteriza por una base de tiempo (período) y un tiempo durante el cual la salida tiene un nivel alto (ciclo de trabajo). La frecuencia es el inverso del período.
Los registros a utilizar, ya mencionados en el glosario de términos son: PR2, T2CON, CCPxL, CCPxCON. El CCP, es el registro que puede operar registro de captura, registro de comparación, registro de ciclo de servicio PWM, es necesario señalar que el PWM, esta relacionado con el Timer2
Obsérvese la siguiente tabla:
Obsérvese la siguiente tabla:
El modulo del CCP: CCP1 formado por dos registros de 8 bits: CCPR1 : CCPR1L (bits menos significativos) y CCPR1H (bits más significativos), el registro CCP1CON permite controlar las operaciones de este módulo. CCP2: es el segundo registro del módulo CCP (CCPR2) está formado por dos registros de 8 bits: CCPR2: CCPR2L (bits menos significativos) y CCPR2H (bits más significativos), el registro CCP2CON permite controlar las operaciones de este módulo.
Momento en el que el PWM coloca en 0 el timer 2, y como se coloca en 1(ciclo de trabajo)
Periodo del PWM
El periodo es especificado por el registro PR2 del timer 2, el mismo puede ser calculado por la siguiente ecuación:
Cuando el TMR2=PR2, ocurre:
- Timer 2, es puesto en 0 CCPx es puesto en 1 (excepto si el ciclo de trabajo=0%, el pin no será seteado)
- El ciclo del PWM es guardado desde CCPRxL a CCPRxH
Ciclo de trabajo
- El ciclo de trabajo de una señal periódica es el ancho relativo de su parte positiva en relación con el período. Expresado matemáticamente:
- D es el ciclo de trabajo, t es el tiempo en que la función es positiva (ancho del pulso) y T es el período de la función
- La construcción típica de un circuito PWM se lleva a cabo mediante un comparador con dos entradas y una salida. Una de las entradas se conecta a un oscilador de onda dientes de sierra, mientras que la otra queda disponible para la señal moduladora.
Para trabajar con el ciclo de trabajo en el pic, se utilizan las siguientes formulas:
Resolución del PWM La resolución determina el número de ciclos disponibles dado por un periodo. Por ejemplo para 10 bits de resolución que es lo que posee el 16f887 cuando el PR2 es 256 pueden obtenerse un resultado de 1024 ciclos discretos, mientras que 8 bits 256 ciclos discretos. El valor de la resolución puede calcularse mediante la siguiente formula:
Es de vital importancia señalar que si el valor de ancho de pulso es mayor que el periodo asignado al PWM, este permanecerá sin cambio.
Configuración de registros en pic16f887 para PWM: (Pulse Width Modulation) modulador por ancho de banda.
Ccp1con datasheet para pwm
Ccp2con datasheet para pwm
T2con datasheet para pwm
Pr2 datasheet para pwm
Otros parámetros que deben tomarse en cuenta:
Funcionamiento en modo de suspensión :en modo de reposo, el registro TMR2 no va a aumentar y el estado del módulo sin cambios. si el pin ccpx está impulsando un valor, éste seguirá impulsando ese valor. cuando el dispositivo se activa, TMR2 continuará desde su estado previo.
Cambios en la Frecuencia del Reloj: es importante señalar que la frecuencia del pwm deriva del clock, por tanto si hacemos cambios en el clock del dispositivo, tambien habran cambios en el pwm.
Efectos del Reset: si ocurre algun reseteo forzado en la entrada de cualquiera de los modos, se resetearan los estados del ccp.
Configuración para la operación PWM
Los siguientes pasos deben tomarse cuando se configura el módulo CCP para la operación PWM:2-Establecer el período de pwm cargando el registro PR2
3-Configurar el módulo CCP para el modo PWM cargando el registro TCP COM con los valores apropiados
4-set the PWM duty cycle by loading the CCPRxL register and DCxB bits of the CCPxCON register.
5-Configurar e iniciar el TIMER2
-Borrar el bit indicador de interrupción TMR2IF del registro PIR1
-Accione el valor Timer2 preescalar cargando los T2CKPs bits del registro T2CON
-Permitir Timer2 activando el bit del registro TMR2ON Y T2CON
6-Permitir la salida PWM después de un nuevo ciclo PWM ha comenzado
-Esperar hasta que (se establece TMR2IF bit del registro PIR1) desbordamientos Timer2
-Permitir que el controlador de salida de pin CCPx desactivando el bit asociado Tris