Laboratorio 03 Micro - PWM

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 14

UNIVERSIDAD NACIONAL DE SAN AGUSTIN

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

LABORATORIO DE: MICROCONTROLADORES Y MICROPROGRAMACIÓN

EXPERIENCIA N°: 03

TÍTULO DE LA EXPERIENCIA:

INTRODUCCIÓN AL PC18F4550

Alumno(os): Grupal Indiv. Total


1.Ccoata Huaycho Luis Angel x
2.Caceres Choquepuma Jonathan Andrés x
3.Carcausto Choquepata Miguel Angel x

Grupo: A Docente: Ing William Vladimir


Semestre: 5 Mullisaca Atamari
Fecha de
26/05/2023 Hora:
entrega:
LABORATORIO N° 03

INTRODUCCIÓN AL PC18F4550

I.- OBJETIVOS:

✓ Aplicar los conocimientos aprendidos de Pic 18f4550

✓ Identificar y conocer las características de los microcontroladores de la familia PIC18, en


particular el PIC18F4550.

✓ Ubicar los pines del PIC18F4550 e identificar sus funciones (Puertos, Oscilador, AD,
PWM, Tx, Rx…).

✓ Identificar los pines Vdd, Vss, ~MCLR, PGD y PGC para programar el microcontrolador.

✓ Conocer y manejar el software MPLAB para el desarrollo de proyectos, simular y


programar un microcontrolador.

✓ Realizar un programa en ASM para encender y apagar un LED, conectado a RB0, mediante
un botón pulsador conectado a RB4.

✓ Realizar la simulación del circuito en ISIS Proteus, cargando el *.hex al PIC18F4550.

II.- FUNDAMENTO TEÓRICO:

Para el caso del microcontrolador mencionado este cuenta con dos salidas de PWM. También
el caso de los pines utilizados son el CCP1 y CCP2. El CCP1 se conecta en el pin RC2. Por el
contrario, el pin CCP2 está multiplexado y puede ser configurado en el pin RC1 y RB3. La
modulación por ancho de pulso (PWM) requiere de uno de los timers del microcontrolador.
Una imagen que representa el funcionamiento del PWM se muestra en la Figura:
La modulación por ancho de pulso PWM en el PIC18F4550 ocurre cuando se «cambia» el
ciclo de trabajo de una señal periódica. En la imagen se muestra un ejemplo donde se varía el
ciclo de trabajo del 25% al 50%. Como podrán observar la frecuencia de salida en el ciclo
PWM no cambia, lo que cambia es su ciclo de trabajo.

Registros del PIC18F4550 para el PWM

A continuación, explicaremos el funcionamiento del PWM-1. Este módulo utiliza el Timer 2.

• CCPxCON. Donde la X representa el número 1 o 2, dependiendo de cuál módulo se


quiera usar, en este caso usaremos el CCP1CON. Este registro se encarga de configurar
el modo de funcionamiento y además cuenta con los 2 bits menos significativos de un
registro de 10 bits que permite controlar el ciclo de trabajo del PWM.
• TMR2. Es un registro de 8 bits que permite el funcionamiento del Timer 2.
• PR2. También es una memoria de 8 bits, se utiliza para calcular la frecuencia de
operación del PWM.
• CCPRxL. Es un registro de 8 bits que funciona en conjunto con 2 bits del registro
CCPxCON para funcionar como una memoria de 10 bits. La x se sustituye por 1 o 2
dependiendo del módulo o pin que se quiera usar. En este caso usaremos el CCPR1L.
• T2CON. Memoria de 8 bits que se requiere para controlar el funcionamiento del Timer
2.
• TRISC. Es un registro que permite configurar los pines del puerto C. En este caso se
utilizará para configurar como salida a los pines RC2 y RC1. Estos son los pines
utilizados para el PWM en el PIC18F4550.

Fórmulas para la configuración del PWM

Para controlar el módulo PWM se requiere primero conocer la frecuencia de operación del
Timer 2. Esto para el caso del uso del Timer 1 en el PIC18F4550. La Frecuencia de operación
se puede calcular conociendo la Frecuencia de Oscilación, que llamaremos FOSC.

Ejemplo 1, calcular la frecuencia de oscilación del Timer 2.


Si FOSC = 8 000 000 Hz y usamos una pre-escala de 16, la frecuencia de operación del Timer
2 será:

Frecuencia Timer 2 = 8 Mhz / 4 / 256 / 16 = 488.28125 Hz

Es decir, el periodo de funcionamiento del Timer 2 será:

Periodo = 1/F = 1/488 = 0.00204918 segundos.

Calcular la frecuencia de operación del PWM en el PIC18F4550

La frecuencia de oscilación en el PWM está directamente relacionada con el periodo del Timer
2 y con el valor en el registro PR2. Si configuramos el registro PR2 con el máximo valor (255),
esto permitirá configurar la mínima frecuencia en el PWM. Si por el contrario configuramos
el mínimo valor (0) esto dará pie a configurar la máxima frecuencia en el PWM.

Periodo PWM = (PR2+1)*4*TOSC*(Valor de la pre-escala)

• TOSC = Periodo de oscilación, por ejemplo si FOSC = 8Mhz, entonces TOSC = 125nS
(1/8Mhz).

• Pre-escala. Es el valor configurado

Ejemplo 2: Calcular el valor del periodo mínimo y máximo con FOSC = 8MHZ, Pre-
escala = 16.

Para el valor máximo de frecuencia en el PWM, PR2 = 0, con preescala de 16 Por lo tanto:

Periodo PWM máximo = (0+1)*4*125ns*16 = 0.000008s = 8us, frecuencia Máxima =


125khz.
Periodo PWM mínimo = (255+1)*4*125ns*16 = 0.002048s = 2.048ms, frecuencia mínima =
488Hz.

Ciclo de trabajo en el PWM

El ciclo de trabajo en el PWM se refiere a la relación del tiempo entre la señal en estado lógico
bajo y en estado lógico alto. Por ejemplo, cuando la señal digital pasa el mismo tiempo en
estado bajo que en estado alto, se trata de un ciclo de trabajo (CT) del 50%.

Para calcular el ciclo de trabajo del PWM en el PIC18F4550 se utiliza la siguiente fórmula:

PWM Duty Cycle = (CCPR X L:CCP X CON<5:4>) •


T OSC • (TMR2 Prescale Value)

CT PWM = [CPR1L|(BIT1 | BIT0)]*TOSC*(pre-escala)

Donde el BIT1 y el BIT0, son los últimos dos bits de los 10 bits que se cuentan para controlar
el ciclo de trabajo. Estos 10 bits se logran al unir el registro CCPR1L y dos bits del registro
CCP1CON (los bits DC1B1 y DC1B0).

Ejemplo 3. Calcular el ciclo de trabajo del 50% para un FOSC de 8Mhz, una pre-escala
de 16 y una frecuencia del timer 2 de 488Hz.

Para este ejemplo necesitamos despejar el registro de 10 bits de la fórmula anterior. Esto es:

[CPR1L|(BIT1 | BIT0)] = (CT PWM)/[TOSC*(pre-escala)]

El ciclo de trabajo lo tomaremos en unidades de tiempo. Por ejemplo. Si el periodo para una
señal de 488Hz es de 2.04ms y queremos un CT del 50%, este deberá de ser de 1.02ms. Este
es el valor que sustituiremos en la fórmula.

[CPR1L|(BIT1 | BIT0)] = (1.02ms)/[125ns*(16)] =512.295 o aproximadamente 512. En


hexadecimal y binario 512 corresponde al: 0x0200 o 0b10 0000 0000. Si esto lo trasladamos
a un registro de 8 bits y 2 bits. Tendriámos que colocar la siguiente información:

CCPR1L = 0b1000 0000 //0x80

DC1B1 = 0

DC1B0 = 0
Entonces si queremos variar el ciclo de trabajo del PWM tendriámos que variar el valor de
estos 10 bits en nuestro programa.

III.- RECOMENDACIONES EN SEGURIDAD

3.1. En condiciones de una emergencia Identifique:


• Vías de acceso y evacuación
• Equipos de respuesta a emergencias
• Señalización de seguridad

3.2. Complete el ATS (Anexo 1) y cumpla las condiciones obligatorias para el uso del
ambiente

IV.- EQUIPOS Y MATERIALES A UTILIZAR:

Cantidad Descripción
1 Ordenador de mesa
1 Software Proteus
1 Software MPLAB IDE

V.- PROCEDIMIENTO:
VI.- EJERCICIOS:
Disminuir y aumentar la intensidad de un led conectado al PIC 18F4550
Código en MPLAB
Implementación en proteus para la visualización de PWM en el led

Disminución del led


Aumento del led
VII.- CUESTIONARIO:
7.1.- ¿Qué es PWM?

PWM son las siglas de Pulse Width Modulation (Modulación por ancho de pulso). Para
transmitir una señal, ya sea analógica o digital, se debe modular para que sea transmitida sin
perder potencia o sufrir distorsión por interferencias.
PWM es una técnica que se usa para transmitir señales analógicas cuya señal portadora será
digital. En esta técnica se modifica el ciclo de trabajo de una señal periódica (una senoidal o
una cuadrada, por ejemplo), ya sea para transmitir información a través de un canal de
comunicaciones o para controlar la cantidad de energía que se envía a una carga. El ciclo de
trabajo (duty cycle) de una señal periódica es el ancho de su parte positiva, en relación con el
período. Está expresado en porcentaje, por tanto, un duty cycle de 10% indica que está 10 de
100 a nivel alto.
Básicamente, consiste en activar una salida digital durante un tiempo y mantenerla apagada
durante el resto, generando así pulsos positivos que se repiten de manera constante. Por tanto,
la frecuencia es constante (es decir, el tiempo entre disparo de pulsos), mientras que se hace
variar la anchura del pulso, el duty cycle. El promedio de esta tensión de salida, a lo largo del
tiempo, será igual al valor analógico deseado.
VIII.- OBSERVACIONES Y CONCLUSIONES:
- Dar sus observaciones y conclusiones de forma personal, en forma clara y empleando el
menor número de palabras.
Observaciones
➢ Para poder generar el archivo .hex hay que siempre configurar los bits a utilizar e incluir
si es que se necesita una librería para q el programa funcione bien.
➢ En el programa de proteus siempre ir acorde a lo programado en el código C.
➢ En este caso utilizamos dos swtich uno para aumentar y el otro para disminuir la
intensidad del led.
Conclusiones
➢ Al simular con la ayuda del osciloscopio podemos observar la salida PWM y como varia
al aumentar o disminuir la señal.
➢ De esta manera podemos variar de diferentes maneras el led o en otros casos utilizar
esto por ejemplo con las pantallas lcd nos sirve bastante.
IX.- BIBLIOGRAFIA:
Rubrica:
Desarrollo de experiencias

Observaciones
Conclusiones

Porcentaje %
Cuestionario
Fundamento

Bibliografía
Puntualidad

teórico

Total
6.1
1.0 - 15 2.0 - 2.0 20 15

Ing. Mullisaca, William


Docente DAIE

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy