You are on page 1of 4

Universidad Autnoma de Quertaro Campus San Juan del Ro Facultad de Ingeniera Electromecnica

7 Semestre

Microcontroladores

Prctica 4: PWM

Profesor: Dr. Luis Morales Velzquez

Alumno: Galindo Mendoza Nstor Noel

San Juan del Ro, Qro. A 25 de septiembre de 2012

Objetivo: Implementar en un PIC16F877A un PWM para controlar el giro de un motor de DC acoplado a un puente H. Marco terico:
El Modulo PWM del PIC 16F877 tiene una resolucin mxima de 10 bit y su salida se toma del pin RC2, por lo cual debe estar configurado como salida en el registro Tris C.

Periodo PWM El Periodo del Modulo PWM es configurado dando un valor al registro PR2. Este periodo puede ser calculado usando la siguiente formula: PWM Period = [(PR2) + 1] 4 TOSC Prescaler del Timer 2 Como ya es sabido la frecuencia esta determinada por 1/Periodo PWM Cuando el valor del Timer 2 alcanza el valor de PR2, los siguientes eventos ocurren en el siguiente ciclo de tiempo: - TMR2 es limpiado - El pin CCP1 es puesto a 1 - El Periodo de trabajo del PWM es cambiado de CCPR1H a CCPR1L

Ciclo de trabajo del PWM El ciclo de trabajo del PWM es determinado escribiendo al registro CCPR1L y CCP1CON<5:4> (10 bits de resolucin). El ciclo de trabajo se obtiene usando la siguiente formula: Tiempo de Trabajo PWM = (CCPR1L:CCP1CON<5:4>) TOSC (TMR2 Prescaler Value) Para modificar el ciclo de trabajo, en cualquier momento se puede escribir a CCPR1L y CCP1CON<5:4>, pero estos valores no sern tomados en consideracin hasta que el Timer alcance al PR2 y reinicie su operacin tomando en cuenta los nuevos valores. Tiempo de trabajo = % Ciclo de trabajo / Fpwm Para calcular la mxima resolucin del PWM a determinada frecuencia usamos la siguiente formula:

Formula para resolucin del modulo PWM

CONFIGURACION DEL PWM: Pasos para la configuracin del Modulo PWM del PIC 16F877A 1. 2. 3. 4. 5. Configurar el Periodo dando un valor al registro PR2 Configurar el Ciclo de Trabajo escribiendo en: CCPR1L:CCP1CON<5:4> Limpiar el Tris C, 2 para asignar la salida del modulo (CCP1) Asignar el valor del Prescaler del Timer 2 (T2CON) Configurar el modulo CCP1 para operacin PWM.

Materiales: Puente H L298 Motor de DC Micro controlador 16F877A

Metodologa Se realizo el cdigo para la ejecucin del PWM:

void main() { setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_psp(PSP_DISABLED); setup_spi(FALSE); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DIV_BY_16,255,1); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); while(true) {

//derecha output_e(0x1); set_pwm1_duty(512); delay_ms(2000); //izquierda output_e(0x2); set_pwm1_duty(512); delay_ms(2000); } } Resultados: Despus de realizar el cdigo y la conexin del PIC con el motor se procedi a la comprobacin del circuito y si funcion de manera correcta. Estos resultados se pueden mostrar en el video anexo al reporte de la prctica.

En esta imagen se muestra el circuito montado y funcionando. Conclusin: Podemos decir que se cumpli de nuestro objetivo ya pudimos ver de manera fsica el proceso que realiza el micro controlador al ser programado para una funcin especifica se puede ver el funcionamiento al ver el video que se agregan al reporte.

You might also like