Programación pwm en microcontroladores
PWM MODULACION DE ANCHURA DE PULSO
INTRODUCCIÓN
Seguidamente comenzamos el estudio de la modulación por anchura de impulsos PWM, como ya conocemos el PIC 16F876 dispone de dos módulosCCP captura/comparación/modulación de anchura de impulsos. Comenzaremos con el estudio del CCP1, este módulo se multiplexa con el latch del puerto C y en particular nos da la señal por el pin RC2. Elrecurso que se utiliza es el TIMER2, por lo que deberemos programarlo. Cuando generamos un PWM, y realizamos la programación en C y en concreto con el compilador CCS, deberemos utilizar lassiguientes funciones : setup_timer_2(mode,period,postscale); set_pwm1_duty(duty) que pasamos a comentar
CCFF D.P.E. MÓDULO DE PROYECTOS 2
setup_timer_2 (mode, period, postscale) Su función es inicializarel el TIMER2 (T2 es un contador temporizador de 8 bits), los parámetros que incluye esta función son: MODO: especifica el divisor para el reloj del microprocesador, tiene 4 opciones: T2_DISABLEDT2_DIV_BY_1 T2_DIV_BY_4 T2_DIV_BY_16 → → → → T2_Desactivado Se divide por 1 Se divide por 4 Se divide por 16
PERIOD (periodo): Es un INT de 0 a 255, que nos indica el número de impulsos necesarios parael overflov del timer recordemos que T2 es un contador CCFF D.P.E. MÓDULO DE PROYECTOS 3 de 8 bits.
POSTSCALE (postescaler): es un número de 1 a 16 que especifica el número de desbordamientos delT2 que se deben producir para que se solicite una interrupción. En el modo PWM no tiene significado y se suele poner a 1 . Los parámetros que introduzcamos en esta función, será los que determinen lafrecuencia de del PWM. Veamos un ejemplo: Dispositivo 16F876, con un reloj a 20 MHz, o lo que es lo mismo, un periodo de oscilador de 0,05 μs. La función está definida:setup_timer_2(T2_DIV_BY_4,191,1);
CCFF D.P.E. MÓDULO DE PROYECTOS 4
Sin divisor de frecuencia, El contador (T2) aumentaría su cuenta cada 4 ciclos de reloj o sea cada 0,2 μs, pero como el mode indica que está divido por 4,...
Regístrate para leer el documento completo.