Está en la página 1de 3

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y 1

ELÉCTRICA UNIDAD CULHUACÁN

Arellano Rosas Fernando, Pérez Sánchez Angel


PRÁCTICA 7. “PWM”

II. MATERIALES
Resumen – En este documento se encontrará la solución
desarrollada de la práctica no. 7 que lleva por título “PWM”, el Cantidad Nombre
cual se desarrollara un programa para variar el ancho de pulso y
la frecuencia de dos señales, esto mediante dos potenciómetros 2 Potenciómetros de 5K
conectados en la protoboard. 1 Pushbotton
1 PIC18F4550
Esta práctica se complementará con los resultados obtenidos 1 Pickit 3
en el programa simulador Proteus, así como la estructura del 1 Fuente de alimentación de 5V
código redactado en lenguaje C desarrollado en el programador
MPLAB y se adjuntarán evidencias fotográficas de su armado III. DESARROLLO
físico.

A. Diagrama.
Índice de Términos – Código, microcontrolador, ancho de pulso,
frecuencia, PWM.

I. INTRODUCCIÓN

E ste método es también llamado a veces modulación por


duración de pulso o modulación por longitud de pulso.
La modulación de ancho de pulso es una técnica utilizada para
controlar dispositivos, o para proveer un voltaje variable de
corriente continua. Algunas aplicaciones en las que se utiliza
PWM son controles de motores, de iluminación y de
temperatura.
La señal generada tendrá frecuencia fija y tiempos de
encendido y apagado variables. En otras palabras, el período
de la señal se mantendrá constante, pero la cantidad de tiempo El diagrama representa el circuito armado con las
que se mantiene en alto y bajo dentro de un período puede conexiones correspondientes a las entradas y salidas
variar. previamente configuradas del microcontrolador PIC18F4550.
La función PWM es algo en lo que posiblemente no
pensemos, un fundamento que desconoceremos si no tenemos B. Código del programa.
amplios conocimientos de informática técnica, pero algo con
lo que estamos más habituados de lo que podemos imaginar. * File: Practica_7
Este tipo de función se lleva a cabo en segundo plano, sin que * Author: Arellano Rosas Fernando
lo sepamos, pero necesitará ventajas importantes a nuestros * Pérez Sánchez Angel
equipos.
#include <xc.h>
Hablamos de la función PWM como abreviatura de la #include "registros.h"
modulación por ancho de pulsos, algo que se ha convertido en #define _XTAL_FREQ 4000000
una práctica habitual de los interruptores de potencia
modernos, controlando la energía de inercia. Esta acción tiene void __interrupt()PWM();
en cuenta la modificación del proceso de trabajo de una señal int canal=0;
de tipo periódico. Puede tener varios objetivos, como tener el void SC(int C);
control de la energía que se proporciona a una carga o llevar a
float frez,CicloT;
cabo la transmisión de datos.
int suma=0;
float PerPWM,PerOsi=1.0/4000000.0;

void main(void) {
OSCCON=0b01110010;
TRISD=0x00;

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y 2
ELÉCTRICA UNIDAD CULHUACÁN
LATD=0x00;
TRISC=0x00;
LATC=0x00;

T2CON=0b00000100; //prescala 1
CCP1CON=0b10001100;

ADCON2=0b10101000;
ADCON1=0b00001110;
ADCON0=0b00000000;

INTCONbits.GIE=1;
INTCONbits.PEIE=1;
PIE1bits.ADIE=1;

ECCP1DEL=(1.0/1000000.0)/(4.0*PerOsi);

while(1)
{
CCPR1L=CicloT/4.0;
CCP1CONbits.DC1B=0b00;
canal=0;
SC(canal);
canal=1;
SC(canal);
}
}

void __interrupt()PWM()
{
if (canal==0)
{
suma=ADRESL+(ADRESH<<8);
frez=7200.0+(suma*55000.0)/1023.0;
PerPWM=1.0/frez;
PR2=(PerPWM/(4.0*PerOsi))-1.0;

else
{
CicloT=(PerPWM/PerOsi)*((ADRESL+
(ADRESH<<8))/1024.0);
}
PIR1bits.ADIF=0;
}
void SC(int C)
{
ADCON0bits.CHS=C;
ADCON0bits.ADON=1;
D. Simulación.
ADCON0bits.GO=1;
while(ADCON0bits.GO);
}

C. Evidencia fotográfica.
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y 3
ELÉCTRICA UNIDAD CULHUACÁN
único que se debe realizar es la conexión del circuito hacia el
osciloscopio que debe estar calibrado, de esta manera
podemos visualizar las señales y mediante los potenciómetros
poder variar la frecuencia y ancho de pulso de las señales, las
cuales deben variar entre 7.2 KHz hasta 21.6 KHz.

Simulación

Posteriormente se procedió a correr la simulación de Proteus


para comprobar que efectivamente el programa este bien
hecho
y cumpla con el objetivo de variar las dos señales o pulsos con
los que trabajaremos y se pueda tener visualmente en el
osciloscopio la señal modulándose.
1) Para comenzar con el armado del circuito se debe
previamente establecer los puertos de entrada y de salida
mediante el código de programación. IV. CONCLUSIÓN

2) Iniciaremos estableciendo los puertos de entrada, los


ARELLANO ROSAS FERNANDO:
cuales serán RA0 y RA1 en este caso, donde nosotros haremos
el uso de estos dos pines para los potenciómetros y de esta
manera poder provocar la modulación que se visualizará en el
PÉREZ SÁNCHEZ ANGEL: En la realización de esta
osciloscopio.
práctica lo que observé fue que al momento de variar con el
potenciómetro la frecuencia no obtenía el resultado esperado,
ya que tenía una frecuencia muy alta y la mínima no se
acercaba ni siquiera a los 21 KHz pedidos en la práctica, por
lo que tuve que hacer algunas modificaciones al programa
para que esos valores bajaran, pero después tuve el problema
de la sensibilidad al momento de realizar las variaciones con
el potenciómetro, ya que se hizo inestable por lo que debía ser
cauteloso al momento de mover el potenciómetro.
Una vez modificada la estructura del programa sólo pude
resolver estos problemas a prueba y error, ya que con el ancho
del pulso no presenté problema alguno, sólo debía probar la
frecuencia y dependiendo de el rango de variación que tuviera,
es como iba modificando el programa.
Al final se obtuvieron los resultados esperados, el armado del
circuito no fue complicado, pero sí la obtención del rango de
 Para RE3 o también llamados MCLR asignaremos frecuencias solicitado en la práctica.
un push-botton que realizará la función de reincio.

REFERENCIAS
[1] Ansi C Programming Language. Brian W. Kernghan / Dennis M.
Ritchie. Prentice hall software series
[2] C: MANUAL DE REFERENCIA Herbert Schildt Ed McGraw-Hill
[3] Electronica Digital Practica. Antonio Hermosa Donar. Marcombo, 1995
- 328 páginas

Una vez realizadas las conexiones y el armado del circuito, lo

También podría gustarte