Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
PWM con PIC Modulación por Ancho de Pulso República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Universitaria Universidad Politécnica Territorial del Estado Aragua “Federico Brito Figueroa” La Victoria Edo. Aragua Prof. Luis Díaz Alumno (a): Emily Díaz V-28023532 Marzo, 2021 PWM con PIC-Modulación por Ancho de Pulso PWM: consiente en obtener de los pines CCP1 (Pin 17) yCCP2 (Pin 16) una señal periódica, que se puede modificar su ciclo de trabajo y puede obtener una resolución máxima de 10 BITS. Configuración del Módulo CCP en C 1.-setup_ccpx(modo); Donde la x representa al módulo CCP a utilizar, por ejemplo, CCP1. 2.-set_pwmx_duty(valor); · El valor es un dato de 10 BIST que determina el ciclo de trabajo o ancho de pulso. Este valor junto con el valor del preescaler del TMR2 definen el ciclo de trabajo. Preescaler: determina el tiempo de interrupción, puede tomar valores de 1, 4 o 16. Postcaler: es un número de 1-16 que dice cuántas veces el Timer2 tiene que desbordarse para llamar a la interrupción. PWM con PIC16F877 El programa consiste en regular la velocidad de un motor DC por medio de un potenciómetro conectado al terminal RA0 y generar una señal cuadrada de 1Khz utilizando el TIMER 2 y el módulo CCP1 del PIC16F877. Solución Periodo: Periodo del oscilador del PIC (Usando un cristal de cuarzo externo de 4Mhz) Desbordamiento del TIMER 2 Código: #include <16f877.h> #device ADC=10 #fuses XT,NOWDT,NOPROTECT,LVP,NOPUT,BROWNOUT,NODEBUG,NOCPD,NOWRT #use delay (clock=4000000) int16 duty=0; int timer2,Poscaler; void main () { setup_adc_ports(AN0); setup_adc(ADC_CLOCK_DIV_32); Timer2=249; Poscaler=1; setup_timer_2(t2_div_by_4,Timer2,Poscaler); setup_ccp1(ccp_pwm); set_pwm1_duty((int16)0); set_adc_channel(0); delay_us(100); while(TRUE) { duty=read_adc(); set_pwm1_duty(duty); } } Para el circuito en Proteus se utilizo los siguientes componentes: · PIC16F877 · POT-HG · DIODE · RES · MOTOR · IRFZ44N Se inserta un osciloscopio para visualizar la señal del PWM Aparece en pantalla el osciloscopio y configuramos en DC. En la siguiente imagen se puede apreciar como la señal del PWM aumenta cuando el potenciómetro aumente. Y cuando desminnuye el potenciometro tambien lo hará el PWM y respectivamente el motor del circuito tambien lo hará.
Compartir