SlideShare uma empresa Scribd logo
1 de 14
GENERACIÓN DE PWM CON
    MICROCONTROLADOR
MODULO CCP
              (CAPTURA/ COMPARACIÓN/ PWM)
Cada modulo CCP contiene un registro de 16 bits los cuales pueden ser
operados como:
• Modo Captura
• Modo Comparación
• Modo PWM

MODULO CCP1
El primer registro del modulo CCP (CCPR1 ) esta conformado por dos
registros de 8 bits: CCPR1L (LSB) y CCPR1H (MSB). El registro CCP1CON
controla la operación del modulo CCP1.

MODULO CCP2
El segundo registro del modulo CCP (CCPR2) esta conformado por dos
registros de 8 bits: CCPR2L (LSB) y CCPR2H (MSB). El registro CCP2CON
controla la operación del modulo CCP2.
Modo CCP                Recurso Temporizador
                  Captura                         Timer1
               Comparación                        Timer1
                    PWM                           Timer2
            Tabla 1. Modos del modulo CCP – Temporizador requerido


En lo referente a los modos “Captura” o “Comparación”, algunas tipicas
aplicaciones son la generación de un pulso de ancho programado o
medida del ancho de un pulso externo. En ambos casos, los módulos
CCP1 y CCP2 trabajan con el Timer1.

Cada modulo CCPx puede generar una onda PWM de hasta 10 bits de
resolución con una frecuencia y ciclo de trabajo (duty cycle)
configurables. Ambas ondas son semi independientes, es decir,
pueden tener diferente ciclo de trabajo pero comparten la misma
frecuencia.
Cada     módulo    CCPx     se puede     habilitar o    inhabilitar
independientemente. La salida PWM del módulo CCP1 es el pin
RC2/CCP1 y del módulo CCP2 es el pin RC1/CCP2. Dichos pines deben
ser configurados como salidas.




                  Figura 1. Salidas de los módulos CCPx.
REGISTROS DE LOS MODULOS CCP

• CCP1CON y CCP2CON
Registros para la configuración de los módulos CCP1 y CCP2
respectivamente en modo Captura, Comparación o PWM.

• CCPR1L y CCPR2L
Registros para controlar el ciclo de trabajo de cada onda PWM.

• CCPR1H y CCPR2H
Funcionan como registros imagen de los dos anteriores, pero no
pueden ser accedidos directamente.

• TMR2, PR2 y T2CON
Son los registros del Timer2. Sirven para establecer el periodo, o la
frecuencia, de los dos canales PWM.
REGISTRO CCP1CON / REGISTRO CCP2CON




Bit 7-6   Sin implementar
          Se leen como „0‟

Bit 5-4   CCPxX:CCOxY
          Solo se utilizan para el modo PWM. Estos son los dos bits menos significativos
          del ciclo de trabajo (duty cycle) del PWM. Los 8 bits mas significativos se
          encuentran en el registro CCPRxL.
Bit 3-0   CCPxM3:CCPxM0
          Bits de selección para el modo del modulo CCPx
          0000 = Modo Captura/Comparación/PWM inhabilitados (Reset modulo CCPx)
          0100 = Modo Captura, cada flanco de bajada
          0101 = Modo Captura, cada flanco de subida
          0110 = Modo Captura, cada 4 flancos de subida
          0111 = Modo Captura, cada 16 flancos de subida
          1000 = Modo Comparación, poner a „1‟ en coincidencia (bit CCPxIF se setea)
          1001 = Modo Comparación, poner a „0‟ en coincidencia (bit CCPxIF se setea)
          1010 = Modo Comparación, genera una interrupción por software en
          coincidiencia (el bit CCPxIF se setea)
          1011 = Modo Comparación, disparo por evento especial (CCPxIF se setea)
          CCP1 pone a cero el TMR1; CCP2 pone a cero el TMR1 e inicia la
          conversión A/D si el modulo esta habilitado.
          11xx = Modo PWM
MODULO TIMER2
TIMER2 es un temporizador de 8 bits que dispone de un prescaler y un
postscaler, además, puede ser usado como la base de tiempo para el
modulo CCP en modo PWM. El registro TMR2 es un registro de lectura
y escritura.

El reloj de entrada (FOSC/4) tiene una opción de pre-escala de 1:1, 1:4 y
1:16, que se selecciona mediante los bits de control T2CKPS1:T2CKPS0
(Registro T2CON).

El modulo Timer2 tiene un registro de periodo de 8 bits, PR2. El Timer2
se incrementa desde 00h hasta que su valor sea igual al valor del
registro PR2, y se pone a 00h luego de ejecutado el siguiente ciclo de
instrucción. PR2 es un registro de lectura y escritura, y se inicializa a FFh
después de cada Reset.
La salida del TMR2 pasa a través de un postscaler de 4 bits (el cual
proporciona escalas de 1:1 hasta 1:16) para generar la interrupción del
TMR2 (TMR2IF).




                   Figura 1. Diagrama de Bloques del
                                 Tiimer2
REGISTRO DE CONTROL PARA TIMER2 (T2CON)




Bit 7     Sin implementar
          Se lee como „0‟

Bit 6-3   TOUTPS3:TOUTPS0
          Bits de selección para el postscale de salida del Timer2
          0000 = 1:1
          0001 = 1:2
          0010 = 1:3
          0011 = 1:4
          0100 = 1:5
          .
          .
          .
          1111 = 1:16
Bit 2   TMR2ON
        Bit de encendido del Timer2
        1 = Timer2 esta encendido
        0 = Timer2 esta apagado

Bit 1   T2CKPS1:T2CKPS0
        Bits de selección de prescale para el reloj del Timer2
        00 = Prescale es de 1
        01 = Prescale es de 4
        1X = Prescale es de 16
MODO PWM
En el modo de modulación por ancho de pulso, el pin CCPx produce
una salida de PWM de hasta 10 bits de resolución. Dado que el pin
CCP1 esta multiplexado con otras funciones en PORTC, el bit TRISC<2>
debe ponerse a „0‟ para hacer del pin CCP1 una salida.

La salida PWM tiene un
tiempo base (periodo) y un
tiempo en el cual la salida
permanece en estado ALTO
(ciclo de trabajo, duty cycle). La
frecuencia de la salida de
PWM es el inverso del periodo
(1/periodo).
                                          Figura 2. Salida PWM
PERIODO PWM
El periodo del PWM se especifica mediante el registro PR2. El periodo
del PWM puede calcularse mediante la siguiente ecuación:


          Periodo PWM = [(PR2 + 1)] * 4 * TOSC * (Valor del Prescaler TMR2)




CICLO DE TRABAJO DEL PWM (DUTY CYCLE)
El ciclo de trabajo del PWM se especifica en el registro CCPR1L y en los
bits CCP1CON<5:4>. La siguiente ecuación permite encontrar el ciclo
de trabajo en tiempo:


 Ciclo de Trabajo PWM = (CCPR1L:CCP1CON<5:4>) * TOSC * (Valor del Prescaler TMR2)
PARA PARA CONFIGURACIÓN DEL PWM
1) Establecer el periodo del PWM mediante el registro PR2
2) Establecer el ciclo de trabajo mediante el registro CCPR1L y los bits
   CCP1CON<5:4>
3) Definir como salida el pin CCP1
4) Establecer el Prescaler del TMR2 y habilitar el Timer2 mediante el
   registro T2CON
5) Configurar el modulo CCP1 para operación del PWM

Mais conteúdo relacionado

Mais procurados

135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-ppt135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-pptCarlos Martir
 
Codificadores y decodificadores
Codificadores y decodificadoresCodificadores y decodificadores
Codificadores y decodificadoresRopoga
 
007. adicción de funciones al circuito basico
007. adicción de funciones al circuito basico007. adicción de funciones al circuito basico
007. adicción de funciones al circuito basicoguelo
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltosColono
 
Sesion contadores y registros
Sesion  contadores y registrosSesion  contadores y registros
Sesion contadores y registrosMarco Antonio
 
Osciloscopio
OsciloscopioOsciloscopio
Osciloscopiosorzua
 
Electronica polarizacion del fet
Electronica  polarizacion del fetElectronica  polarizacion del fet
Electronica polarizacion del fetVelmuz Buzz
 
5 polarizacion divisor de voltaje del transistor bjt
5 polarizacion divisor de voltaje del transistor bjt5 polarizacion divisor de voltaje del transistor bjt
5 polarizacion divisor de voltaje del transistor bjtAndresChaparroC
 
Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.
Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.
Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.Angel Perez
 
Dispositivos de potencia
Dispositivos de potenciaDispositivos de potencia
Dispositivos de potenciaMartin VC
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersmarco calderon layme
 
Acondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5v
Acondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5vAcondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5v
Acondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5vCARLOS MARANI
 
005. diseño de circuitos neumaticos metodo paso a paso
005. diseño de circuitos neumaticos metodo paso a paso005. diseño de circuitos neumaticos metodo paso a paso
005. diseño de circuitos neumaticos metodo paso a pasoguelo
 
El transistor como amplificador
El transistor como amplificadorEl transistor como amplificador
El transistor como amplificadorJomicast
 

Mais procurados (20)

135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-ppt135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-ppt
 
Codificadores y decodificadores
Codificadores y decodificadoresCodificadores y decodificadores
Codificadores y decodificadores
 
007. adicción de funciones al circuito basico
007. adicción de funciones al circuito basico007. adicción de funciones al circuito basico
007. adicción de funciones al circuito basico
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
 
Sesion contadores y registros
Sesion  contadores y registrosSesion  contadores y registros
Sesion contadores y registros
 
Transistor bjt y polarizacion
Transistor bjt y polarizacionTransistor bjt y polarizacion
Transistor bjt y polarizacion
 
Trabajo flip flop
Trabajo flip flopTrabajo flip flop
Trabajo flip flop
 
Circuitos secuenciales
Circuitos secuencialesCircuitos secuenciales
Circuitos secuenciales
 
Convertidor boost
Convertidor boostConvertidor boost
Convertidor boost
 
Osciloscopio
OsciloscopioOsciloscopio
Osciloscopio
 
Electronica polarizacion del fet
Electronica  polarizacion del fetElectronica  polarizacion del fet
Electronica polarizacion del fet
 
5 polarizacion divisor de voltaje del transistor bjt
5 polarizacion divisor de voltaje del transistor bjt5 polarizacion divisor de voltaje del transistor bjt
5 polarizacion divisor de voltaje del transistor bjt
 
Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.
Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.
Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.
 
Dispositivos de potencia
Dispositivos de potenciaDispositivos de potencia
Dispositivos de potencia
 
Resumen del 555
Resumen del 555Resumen del 555
Resumen del 555
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timers
 
Los Flip Flops
Los Flip FlopsLos Flip Flops
Los Flip Flops
 
Acondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5v
Acondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5vAcondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5v
Acondicionar la señal del sensor (lm35) para obtener una salida de 0.7 v a 5v
 
005. diseño de circuitos neumaticos metodo paso a paso
005. diseño de circuitos neumaticos metodo paso a paso005. diseño de circuitos neumaticos metodo paso a paso
005. diseño de circuitos neumaticos metodo paso a paso
 
El transistor como amplificador
El transistor como amplificadorEl transistor como amplificador
El transistor como amplificador
 

Destaque (8)

Modulacion de ancho de pulso con Raspberry pi
Modulacion de ancho de pulso con Raspberry piModulacion de ancho de pulso con Raspberry pi
Modulacion de ancho de pulso con Raspberry pi
 
Proyecto PWM (Español)
Proyecto PWM (Español)Proyecto PWM (Español)
Proyecto PWM (Español)
 
Modulación por pulso
Modulación por pulsoModulación por pulso
Modulación por pulso
 
Presentacion pwm
Presentacion pwmPresentacion pwm
Presentacion pwm
 
Pwm
PwmPwm
Pwm
 
VDSL2
VDSL2VDSL2
VDSL2
 
Pwm
PwmPwm
Pwm
 
Modulacion pwm
Modulacion pwmModulacion pwm
Modulacion pwm
 

Semelhante a Generación PWM microcontrolador

Semelhante a Generación PWM microcontrolador (20)

Ccpx
CcpxCcpx
Ccpx
 
Micro2 tema 3
Micro2 tema 3Micro2 tema 3
Micro2 tema 3
 
Modulos ccp v2(ring telefono)
Modulos ccp v2(ring telefono)Modulos ccp v2(ring telefono)
Modulos ccp v2(ring telefono)
 
Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07
 
Ccp2009170309
Ccp2009170309Ccp2009170309
Ccp2009170309
 
MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3MICROCONTROLADORES II EN C. TEMA 3
MICROCONTROLADORES II EN C. TEMA 3
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
 
Clase Timer 1
Clase Timer 1Clase Timer 1
Clase Timer 1
 
Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887
 
Introduccionpwm
IntroduccionpwmIntroduccionpwm
Introduccionpwm
 
Timers
TimersTimers
Timers
 
Usart PIC config LANDA
Usart PIC config LANDAUsart PIC config LANDA
Usart PIC config LANDA
 
Caso timers
Caso timersCaso timers
Caso timers
 
Compare capture pwm mode 5
Compare capture pwm mode 5Compare capture pwm mode 5
Compare capture pwm mode 5
 
preinforme PWM
preinforme PWMpreinforme PWM
preinforme PWM
 
Adc y usart pic16 f887
Adc y usart pic16 f887Adc y usart pic16 f887
Adc y usart pic16 f887
 
Ejercicio 07 Timers
Ejercicio 07 TimersEjercicio 07 Timers
Ejercicio 07 Timers
 
6. pwm ccp
6. pwm ccp6. pwm ccp
6. pwm ccp
 
final PWM
final PWMfinal PWM
final PWM
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
 

Generación PWM microcontrolador

  • 1. GENERACIÓN DE PWM CON MICROCONTROLADOR
  • 2. MODULO CCP (CAPTURA/ COMPARACIÓN/ PWM) Cada modulo CCP contiene un registro de 16 bits los cuales pueden ser operados como: • Modo Captura • Modo Comparación • Modo PWM MODULO CCP1 El primer registro del modulo CCP (CCPR1 ) esta conformado por dos registros de 8 bits: CCPR1L (LSB) y CCPR1H (MSB). El registro CCP1CON controla la operación del modulo CCP1. MODULO CCP2 El segundo registro del modulo CCP (CCPR2) esta conformado por dos registros de 8 bits: CCPR2L (LSB) y CCPR2H (MSB). El registro CCP2CON controla la operación del modulo CCP2.
  • 3. Modo CCP Recurso Temporizador Captura Timer1 Comparación Timer1 PWM Timer2 Tabla 1. Modos del modulo CCP – Temporizador requerido En lo referente a los modos “Captura” o “Comparación”, algunas tipicas aplicaciones son la generación de un pulso de ancho programado o medida del ancho de un pulso externo. En ambos casos, los módulos CCP1 y CCP2 trabajan con el Timer1. Cada modulo CCPx puede generar una onda PWM de hasta 10 bits de resolución con una frecuencia y ciclo de trabajo (duty cycle) configurables. Ambas ondas son semi independientes, es decir, pueden tener diferente ciclo de trabajo pero comparten la misma frecuencia.
  • 4. Cada módulo CCPx se puede habilitar o inhabilitar independientemente. La salida PWM del módulo CCP1 es el pin RC2/CCP1 y del módulo CCP2 es el pin RC1/CCP2. Dichos pines deben ser configurados como salidas. Figura 1. Salidas de los módulos CCPx.
  • 5. REGISTROS DE LOS MODULOS CCP • CCP1CON y CCP2CON Registros para la configuración de los módulos CCP1 y CCP2 respectivamente en modo Captura, Comparación o PWM. • CCPR1L y CCPR2L Registros para controlar el ciclo de trabajo de cada onda PWM. • CCPR1H y CCPR2H Funcionan como registros imagen de los dos anteriores, pero no pueden ser accedidos directamente. • TMR2, PR2 y T2CON Son los registros del Timer2. Sirven para establecer el periodo, o la frecuencia, de los dos canales PWM.
  • 6. REGISTRO CCP1CON / REGISTRO CCP2CON Bit 7-6 Sin implementar Se leen como „0‟ Bit 5-4 CCPxX:CCOxY Solo se utilizan para el modo PWM. Estos son los dos bits menos significativos del ciclo de trabajo (duty cycle) del PWM. Los 8 bits mas significativos se encuentran en el registro CCPRxL.
  • 7. Bit 3-0 CCPxM3:CCPxM0 Bits de selección para el modo del modulo CCPx 0000 = Modo Captura/Comparación/PWM inhabilitados (Reset modulo CCPx) 0100 = Modo Captura, cada flanco de bajada 0101 = Modo Captura, cada flanco de subida 0110 = Modo Captura, cada 4 flancos de subida 0111 = Modo Captura, cada 16 flancos de subida 1000 = Modo Comparación, poner a „1‟ en coincidencia (bit CCPxIF se setea) 1001 = Modo Comparación, poner a „0‟ en coincidencia (bit CCPxIF se setea) 1010 = Modo Comparación, genera una interrupción por software en coincidiencia (el bit CCPxIF se setea) 1011 = Modo Comparación, disparo por evento especial (CCPxIF se setea) CCP1 pone a cero el TMR1; CCP2 pone a cero el TMR1 e inicia la conversión A/D si el modulo esta habilitado. 11xx = Modo PWM
  • 8. MODULO TIMER2 TIMER2 es un temporizador de 8 bits que dispone de un prescaler y un postscaler, además, puede ser usado como la base de tiempo para el modulo CCP en modo PWM. El registro TMR2 es un registro de lectura y escritura. El reloj de entrada (FOSC/4) tiene una opción de pre-escala de 1:1, 1:4 y 1:16, que se selecciona mediante los bits de control T2CKPS1:T2CKPS0 (Registro T2CON). El modulo Timer2 tiene un registro de periodo de 8 bits, PR2. El Timer2 se incrementa desde 00h hasta que su valor sea igual al valor del registro PR2, y se pone a 00h luego de ejecutado el siguiente ciclo de instrucción. PR2 es un registro de lectura y escritura, y se inicializa a FFh después de cada Reset.
  • 9. La salida del TMR2 pasa a través de un postscaler de 4 bits (el cual proporciona escalas de 1:1 hasta 1:16) para generar la interrupción del TMR2 (TMR2IF). Figura 1. Diagrama de Bloques del Tiimer2
  • 10. REGISTRO DE CONTROL PARA TIMER2 (T2CON) Bit 7 Sin implementar Se lee como „0‟ Bit 6-3 TOUTPS3:TOUTPS0 Bits de selección para el postscale de salida del Timer2 0000 = 1:1 0001 = 1:2 0010 = 1:3 0011 = 1:4 0100 = 1:5 . . . 1111 = 1:16
  • 11. Bit 2 TMR2ON Bit de encendido del Timer2 1 = Timer2 esta encendido 0 = Timer2 esta apagado Bit 1 T2CKPS1:T2CKPS0 Bits de selección de prescale para el reloj del Timer2 00 = Prescale es de 1 01 = Prescale es de 4 1X = Prescale es de 16
  • 12. MODO PWM En el modo de modulación por ancho de pulso, el pin CCPx produce una salida de PWM de hasta 10 bits de resolución. Dado que el pin CCP1 esta multiplexado con otras funciones en PORTC, el bit TRISC<2> debe ponerse a „0‟ para hacer del pin CCP1 una salida. La salida PWM tiene un tiempo base (periodo) y un tiempo en el cual la salida permanece en estado ALTO (ciclo de trabajo, duty cycle). La frecuencia de la salida de PWM es el inverso del periodo (1/periodo). Figura 2. Salida PWM
  • 13. PERIODO PWM El periodo del PWM se especifica mediante el registro PR2. El periodo del PWM puede calcularse mediante la siguiente ecuación: Periodo PWM = [(PR2 + 1)] * 4 * TOSC * (Valor del Prescaler TMR2) CICLO DE TRABAJO DEL PWM (DUTY CYCLE) El ciclo de trabajo del PWM se especifica en el registro CCPR1L y en los bits CCP1CON<5:4>. La siguiente ecuación permite encontrar el ciclo de trabajo en tiempo: Ciclo de Trabajo PWM = (CCPR1L:CCP1CON<5:4>) * TOSC * (Valor del Prescaler TMR2)
  • 14. PARA PARA CONFIGURACIÓN DEL PWM 1) Establecer el periodo del PWM mediante el registro PR2 2) Establecer el ciclo de trabajo mediante el registro CCPR1L y los bits CCP1CON<5:4> 3) Definir como salida el pin CCP1 4) Establecer el Prescaler del TMR2 y habilitar el Timer2 mediante el registro T2CON 5) Configurar el modulo CCP1 para operación del PWM