1. Facultad de Ingeniería en Ciencias Aplicadas
Carrera de Ingeniería en Mecatrónica
Sistemas microprocesados
Alvaro Fuentes
MODO PWM
El modo PWM (Pulse Width Modulation) o Modulación de Ancho de Pulso
permite obtener en los pines CCPx una se;al periodica en la que se puede
modificar su ciclo de trabajo (Duty Cicle).
Puede variar el tiempo en el cuál la señal está en nivel alto (Ton) vs. El
tiempo en nivel bajo (Toff).
La tensión media aplicada es proporcional al Ton, controlando así: velocidad
1
de motores, luminosidad de lámparas, etc.
2. Facultad de Ingeniería en Ciencias Aplicadas
Carrera de Ingeniería en Mecatrónica
Sistemas microprocesados
Alvaro Fuentes
MODO PWM
El pin RCy del PIC16F87xA debe estar configurado como salida, mediante a
configucación TRIS correspondiente.
La resolución de salida es de 10 bits.
El período de la señal PWM se obtiene de configurar el Timer2 y el contenido del
registro PR2 (0x92). Este registro contiene los 8 bits más significativos de los 10
bits.
Para calcular el período de la señal PWM se utiliza la ecuación:
2
Tpwm = (PR2+1).4 .Tosc.(Valor PreescalerTMR2)
3. Facultad de Ingeniería en Ciencias Aplicadas
Carrera de Ingeniería en Mecatrónica
Sistemas microprocesados
Alvaro Fuentes
MODO PWM
El ciclo de trabajo o anchura de pulso (duty cicle) es el valor del registro
CCPxL antes de comenzar un nuevo período. A compararse con el valor del
registro del Timer2.
Para calcular el ciclo de trabajo se utiliza la ecuación:
PWM Duty cicle = (CCPRxL:CCPxCON(5:4)).Tosc.ValorPreescalerTMR2
Los registro CCPRxL y los bits CCPxCON pueden escribirse en cualquier
momento, per no se cargan hasta que finalice el periodo de onda PWM
(se produce una igualdad entre PR2 y TMR2)
3
4. Facultad de Ingeniería en Ciencias Aplicadas
Carrera de Ingeniería en Mecatrónica
Sistemas microprocesados
Alvaro Fuentes
MODO PWM
La máxima resolución (número máximo de bits que resultan
útiles para definir el ciclo de trabajo) que se puede obtener para
una onda PWM generada en este módulo, viene dada por la siguiente
relación:
Resolución = 2N xTOSCxPrescalerTMR2,
de donde se tiene:
N = lg (FOSC/FPWMxPrescalerTMR2) / lg2
4
5. Facultad de Ingeniería en Ciencias Aplicadas
Carrera de Ingeniería en Mecatrónica
Sistemas microprocesados
Alvaro Fuentes
MODO PWM
Por ejemplo, para una frecuencia PWM de 1,22kHz con un preescaler TMR2
de 16 y una frecuencia de reloj de 20MHz:
Calcular PR2:
1/1220 = (PR2+1)*4*(1 / 20x10^6)*16
PR2=255 (0xFF)
Calcular la Resolución:
Resolución= lg(20x10^6 / 1200) / lg2
Resolución > 10 bits
5
6. Facultad de Ingeniería en Ciencias Aplicadas
Carrera de Ingeniería en Mecatrónica
Sistemas microprocesados
Alvaro Fuentes
MODO PWM
Para poner en marcha el modo PWM se deben dar los siguientes pasos:
1.
Configurar el período PWM cargando el oportuno valor en PR2
2.
Configurar el Duty cicle (anchura del pulso) cargando el registro
CCPR1L y los bits CCP1CON<5:4>
3.
Configurar la línea CCP1 como salida mediante el TRIS
4.
Asignar el valor del preescaler TMR2 y habilitarlo escribiendo en
T2CON
5.
Configurar el módulo CCP en modo PWM.
6
7. Facultad de Ingeniería en Ciencias Aplicadas
Carrera de Ingeniería en Mecatrónica
Sistemas microprocesados
Alvaro Fuentes
EL MODULO CCP EN MODO PWM EN
LENGUAJE C
Configuración del módulo CCPx:
Setup_ccpx(modo); - donde modo es del tipo indicado en la tabla.
modo
PWM
PWM_PLUS_1
PWM_PLUS_2
PWM_PLUS_3
CCPxCON
00001100
00011100
00101100
00111100
Definición del ciclo de trabajo:
Set_pwmx_duty(valor); define el ciclo de trabajo, donde valor es un
dato de 8 o 16 bits bits que determina el ciclo de trabajo. En la
configuración del TMR2, el postscaler deber valer 1.
7
8. Facultad de Ingeniería en Ciencias Aplicadas
Carrera de Ingeniería en Mecatrónica
Sistemas microprocesados
Alvaro Fuentes
EJEMPLO PWM
Configurar el módulo CCP1 y CCP2 en modo PWM y generar una señal
PWM de 10Khz con ciclo de servicio de 75% y 25%. Según el estado de
RA0 se obtienen 2 salidas simétricas pero complementarias.
8
9. Facultad de Ingeniería en Ciencias Aplicadas
Carrera de Ingeniería en Mecatrónica
Sistemas microprocesados
Alvaro Fuentes
MODO PWM
ESPECIFICACIONES:
Fosc
4Mhz
Ciclo instrucción
1uS
Frec. PWM
10Khz
Período PWM
100uS (0.1mS)
Duty Cycle
75% y 25%
Pin de salida
PWM1
RC2/CCP1
Pin de salida
PWM2
RC1/CCP2
Diagrama de tren de pulsos señal con DC = 75%
Diagrama de tren de pulsos señal con DC = 25%
9
10. Facultad de Ingeniería en Ciencias Aplicadas
Carrera de Ingeniería en Mecatrónica
Sistemas microprocesados
Alvaro Fuentes
MODO PWM
FUNCIONAMIENTO
El sistema generará una señal PWM utilizando el módulo CCP1 y CCP2 por
medio del pin RC2/CCP1 y
RC1/CCP2. De acuerdo al estado del pin RA0, se generarán 2 salidas PWM de
igual frecuencia, pero complementarias, conforme a la siguiente tabla.
10
11. Facultad de Ingeniería en Ciencias Aplicadas
Carrera de Ingeniería en Mecatrónica
Sistemas microprocesados
Alvaro Fuentes
MODO PWM
11
12. Facultad de Ingeniería en Ciencias Aplicadas
Carrera de Ingeniería en Mecatrónica
Sistemas microprocesados
Alvaro Fuentes
EJEMPLO PWM
12