La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sesión 11: - Comparador, Captura y PWM. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales.

Presentaciones similares


Presentación del tema: "Sesión 11: - Comparador, Captura y PWM. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales."— Transcripción de la presentación:

1 Sesión 11: - Comparador, Captura y PWM

2 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás A continuación… Modo PWM Modo Comparador Modo Captura Introducción Módulo CCP

3 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Repaso  Cuando se requiere de una base de tiempo para realizar una o más tareas periódicas: Reloj Sistema 1ms 100ms 250ms 1s 0.5s 5ms TIMER Generador de Bases de Tiempo Bases de tiempo configurable… CPU Procesando… CPU Procesando… Mínima intervención de la CPU

4 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Repaso  Temporizadores.  Medida del tiempo de eventos externos.  Generación de Señales Cuadradas. TIMER Evento o INT 5 43210 TIMER Evento I.C. TIMER Evento I.C. Evento t1t2t3t4 TIMER Evento O.C. TIMER Evento O.C.

5 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CCP  Los módulos CCP permiten realizar tres funciones básicas basadas en el manejo de los temporizadores (Timer):  Captura: obtiene el valor del temporizador en un momento dado, fijado por la acción de un terminal del PlC.  Comparador: compara el valor del temporizador con el valor de un registro y provoca una acción en el PIC.  PWM: genera una señal modulada en amplitud de pulso.

6 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Pines Módulo CCP  Conexión del módulo CCP

7 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CCP  Cada uno de los módulos CCP posee un registro que permite obtener información del módulos según la configuración realizada.  El registro: CCP_x  Donde la x se reemplaza por el módulo correspondiente.

8 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CCP  Los PIC de la gama media pueden tener hasta 2 módulos CCP. Cada módulo CCP posee un registro de 16 bits que puede utilizarse de las tres siguientes formas:  Modo Captura: Registro de 16 bits para capturar el valor del temporizador al producirse un evento  Modo Comparador: Registro de 16 bits para comparar su valor con el valor del temporizador TMR1.  Modo PWM: Registro de 10 bits para el ciclo de trabajo de una señal PWM.

9 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Manipulación Módulo A/D  Para trabajar con este módulo, se recomienda seguir los siguientes pasos: 1.Configurar el TIMERx:  Configurar frecuencia de la interrupción Seleccionar el la fuente de reloj, el Preescalador, Postescalador, … 2.Configurar el módulo CCPx  Seleccionar el modo de operación  Inicializar registros 3.Habilitar interrupciones  Activar la interrupción CCPx

10 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CCP  Para trabajar con las interrupciones del CCP, se la siguiente directiva: #INT_CCPx  Esta indica que la función que esté a continuación será la subrutina de atención de interrupción del módulo CCPx.  Para habilitar la interrupción se emplea: enable_interrups (INT_CCPx);

11 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás A continuación… Modo PWM Modo Comparador Modo Captura Introducción Módulo CCP Modo Captura

12 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás t TIMER Tiempo de evento: X seg. Medición de Tiempo Mínima intervención de la CPU Modo Captura  Medida de tiempos  Cuando un canal se configura con modo Captura, el TIMER capturará el valor del contador al producirse un evento externo.  Este modo trabaja con el TIMER1

13 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás $0012 $01E0 $20F Contador 16 Bits 16-Bit LATCH CCPRxH:CCPRxL Señal Externa Flancos de Subida PORT Logic CCPy $0012$01E0$020F Modo Captura

14 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Modo Captura  ¿Para qué sirve esto?  Piense para que sirve tener el valor del TIMER en dos instantes de tiempo diferentes t1 y t2.  ¿Cuál es el periodo de la señal de entrada? CCPR1 10350 CCPR1 13500

15 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Modo Captura  ¿Para qué sirve esto?  El contador interno se incrementa en cada periodo del TIMER.  Dicho periodo es conocido, 1/F TIMER  Para ir de 10350 a 13500, ¿Cuánto tiempo? F TIMER = F BUS / Preescalador Periodo = 1/F TIMER

16 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Modo Captura  Ahora si, el periodo de la señal es: P = (13500 – 10350) / Frec_CNT CCPR1 10350 CCPR1 13500 F TIMER

17 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Modo Captura  Ahora, ¿es posible que se presente la siguiente situación?  Para este caso (CARGA= 60000):  P = (8000 – 37500) / Frec_CNT ???  P = (CARGA+ 8000 – 37500) / Frec_CNT  ¿Lo anterior es general? CCPR1 37500 CCPR1 8000 Se alcanza el módulo

18 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás (+) F2F1 TMER0= 37500TIMER0= 18000 (-) (=) PERIODO = (65535*3 + 18000 – 37500)/Frec_TIM O.V. (65535) O.V. (65535) O.V. (65535) O.V. (65535) O.V. (65535) O.V. (65535) P = (No. OV. * CARGA+ F2 – F1) / Frec_CNT Modo Captura

19 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CPP en C El compilador C suministra una serie de funciones para el manejo del módulo CCP Configuración del módulo CCPx:  Configuración del módulo cpp setup_ccpx (modo);  Modo:Selecciona el modo de operación. ValorDescripción CCP_OFF Deshabilitación CPP_CAPTURE_FE Captura por flanco de bajada CPP_CAPTURE_RE Captura por flanco de subida CPP_CAPTURE_DIV_4 Captura tras 4 pulsos CPP_CPATURE_DIV_16 Captura tras 16 pulsos CPP_COMPARE_SET_ON_MATCH Salida a 1 en comparación CPP_COMPARE_CLR_ON_MATCH Salida a 0 en comparación CPP_COMPARE_INT Interrupción en comparación CPP_COMPARE_RESET_TIMER Reset TMR en comparación CPP_PWM Habilitación PWM

20 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Ejemplo  Medir el ancho de un pulso mediante el módulo CCP.  Configurar una señal pulsada de 500us  Configurar el Timer1 para generar una interrupción cada 1us.

21 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás A continuación… Modo PWM Modo Comparador Modo Captura Introducción Módulo CCP Modo Comparador

22 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Modo Comparador  Cuando un canal se configura con Modo Comparador, el TIMER podrá generar a través de ese canal un pulso periódico con polaridad, duración y frecuencia programable.  Este modo trabaja con el TIMER1  Frecuencia: Contador = CARGA.  Comparador: Contador = REG. CANAL.  Polaridad:  Canal a ‘0’ en Comparador.  Canal a ‘1’ en Comparador. Señal A Contador = REG. CANAL. Pin a ‘0’. Contador = REG. CANAL. Pin a ‘0’. Contador = CARGA. Toogle en el Pin. Contador = CARGA. Toogle en el Pin. Señal B Contador = REG. CANAL. Pin a ‘1’. Contador = REG. CANAL. Pin a ‘1’. Contador = CARGA. Toogle en el Pin. Contador = CARGA. Toogle en el Pin.  La frecuencia la define el Módulo del TIMER.  El ancho de dureza está definido por CANAL: 0 <= CANAL <= MOD_TIMER  Si MOD = 2500, se tienen entonces 2500 valores posibles de ancho de dureza, es decir, el menor cambio en porcentaje estará dado por: 1/2500 * 100%.  De manera general: X = Porc * MOD / 100%.

23 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás CONT. XXXX F BUS PREESCAL. SEL. PS. TIMER MOD XXXX COMP P TOF REG. CHy XXXX COMP PIN CCPx CARGA 1000 CONT. 0 … 1000 REG. CHy 650 O.V. O.C. O.V.O.C. COMP O.V.O.C. O.V.O.C. REG. CHy 250 Toggle On Pin Set/Clear O.C. Modo Comparador

24 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CPP en C El compilador C suministra una serie de funciones para el manejo del módulo CCP Configuración del módulo CCPx:  Configuración del módulo cpp setup_ccpx (modo);  Modo:Selecciona el modo de operación. ValorDescripción CCP_OFF Deshabilitación CPP_CAPTURE_FE Captura por flanco de bajada CPP_CAPTURE_RE Captura por flanco de subida CPP_CAPTURE_DIV_4 Captura tras 4 pulsos CPP_CPATURE_DIV_16 Captura tras 16 pulsos CPP_COMPARE_SET_ON_MATCH Salida a 1 en comparación CPP_COMPARE_CLR_ON_MATCH Salida a 0 en comparación CPP_COMPARE_INT Interrupción en comparación CPP_COMPARE_RESET_TIMER Reset TMR en comparación CPP_PWM Habilitación PWM

25 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás A continuación… Modo PWM Modo Comparador Modo Captura Introducción Módulo CCP Modo PWM

26 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás PWM (Pulse Width Modulation)  El modo PWM permite:  Obtener en los pines CCPx una señal periódica en la que se puede modificar su ciclo de trabajo (Duty Cicle).  Variar el tiempo en el cual la señal está a nivel alto (T ON ) frente al tiempo que está a nivel bajo (T OFF ).  Variar el voltaje promedio aplicado a la carga. Proporcional al T ON, controlando la velocidad de motores, luminosidad de lámparas, etc.

27 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Velocidad % PWM Modo PWM  Variación de Velocidad PWM MOTOR DC RPM t MOTOR Cambio SISTEMA EMBEBIDO SISTEMA EMBEBIDO

28 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás PWM (Pulse Width Modulation)  La resolución de salida es de hasta 10 bits.  El periodo de la señal PWM se obtiene:  Configurar el TIMER2  Configurar el contenido del registro PR2 setup_timer_2 (preescaler, PR2, postscaler);  Para calcular el periodo de la señal PWM se utiliza la siguiente ecuación: PreescalerDescripción T2_DISABLEDHabilitar TIMER2 T1_DIV_BY_1Preescalador 1 T1_DIV_BY_4Preescalador 4 T1_DIV_BY_16Preescalador 16

29 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CPP en C El compilador C suministra una serie de funciones para el manejo del módulo CCP Configuración del módulo CCPx:  Configuración del módulo cpp setup_ccpx (modo);  Modo:Selecciona el modo de operación. ValorDescripción CCP_OFF Deshabilitación CPP_CAPTURE_FE Captura por flanco de bajada CPP_CAPTURE_RE Captura por flanco de subida CPP_CAPTURE_DIV_4 Captura tras 4 pulsos CPP_CPATURE_DIV_16 Captura tras 16 pulsos CPP_COMPARE_SET_ON_MATCH Salida a 1 en comparación CPP_COMPARE_CLR_ON_MATCH Salida a 0 en comparación CPP_COMPARE_INT Interrupción en comparación CPP_COMPARE_RESET_TIMER Reset TMR en comparación CPP_PWM Habilitación PWM

30 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás PWM (Pulse Width Modulation)  Para poner en marcha el modo PWM se deben dar los siguientes pasos:  Configurar el modulo CCP en el modo CCP_PWM  Configurar el periodo PWM mediante la configuración del Timer2.  Configurar el Duty Cycle escribiendo en el registros set_pwmx_duty(Duty_cycle);

31 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo A/D e n C  Definición ciclo de trabajo para el PWM set_pwmx_duty (valor);  Valor: dato de 8 o 16 bits que determina el ciclo de trabajo.  Este valor, junto con el valor del preescaler del TMR2, determina el valor del ciclo de trabajo.  En la configuración del TIMER2, el postscaler debe valer 1.

32 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Ejemplo  Controlar la velocidad de un motor DC mediante el módulo CCP y un valor ADC.  Con el valor ADC obtenido se realizará una conversión DA utilizando el PWM.

33 Fin de la sesión 11


Descargar ppt "Sesión 11: - Comparador, Captura y PWM. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales."

Presentaciones similares


Anuncios Google