Laboratorio 16: Proyecto Pastillero - Parte B

Laboratorio 10: PWM con PIC (Modulación por ancho de pulso)

CURSO DE PROGRAMACIÓN DE MICROCONTROLADORES PIC
PARTE A: Programación de Microcontroladores PIC de MICROCHIP.
PWM CON PIC (MODULACIÓN POR ANCHO DE PULSO)

CAPACIDAD TERMINAL
  • Utilizar al microcontrolador en aplicaciones de control electrónico.
  • Desarrollar y ejecutar programas en un microcontrolador PIC.
  • Programar y configurar interfaces básicas del microcontrolador.
COMPETENCIA ESPECIFICA DE LA SESIÓN
  • Conocer el funcionamiento y la configuración del módulo PWM
  • Aplicar estos conocimientos para el control de velocidad de un motor.
CONTENIDOS A TRATAR
  • Funcionamiento del módulo PWM
  • Programa de aplicación PWM.
RESULTADOS
  • Diseñan y optimizan sistemas y procesos para cumplir con las condiciones establecidas y gestionando adecuadamente los recursos materiales y humanos.
MATERIALES Y EQUIPO
  • CCS Compiler instalado.
  • Entrenador de PICS
  • PIC16F877A
  • Guía de Laboratorio. El trabajo se desarrolla de manera GRUPAL.
  • PC con Software de simulación.
MARCO TEÓRICO:

Para poder generar esta señal con nuestro PIC, se hace uso de los módulos CCP (Comparador, Captura y PWM). Dicho módulo permite realizar tres funciones básicas.

Comparar: Compara el valor del temporizador con el valor de un registro y provoca una acción en el PIC.

Captura: Obtiene el valor del temporizador en un momento dado, fijado por la acción de un terminal del PIC.

PWM: Genera una señal modulada por ancho de pulso.

En esta entrada, nos vamos a centrar en esta ultima, en el PWM. Para nuestro caso en especifico, como estamos usando el PIC16F887, dicho microcontrolador tiene 2 modulos CCP como se puede apreciar en la siguiente figura, los cuales corresponden a los PINES 16 y 17 (Correspondientes al puerto C, RC1 y RC2).


El módulo PWM (Pulse Width Modulation), permite obtener de los pines CCP1 (Pin 17) y CCP2 (Pin 16) una señal periódica (Es decir que se repite en el tiempo) la cual podemos modificar su ciclo de trabajo (Duty Cycle en ingles). Dicho PWM o Modulación por Ancho de Pulso, puede tener una resolución máxima de 10 BITS. En otras palabras. Como sabemos que el PIC trabaja con voltajes binarios (0V o +5V), podemos configurar el PWM para que trabaje un determinado tiempo en +5V (Ton) frente al tiempo que está en nivel bajo 0V (Toff), tal y como lo podemos apreciar en la siguiente figura.

Modulación por Ancho de Pulso

De esta manera, la tensión media aplicada a la carga, es proporcional al tiempo en que la señal estuvo en +5V (Ton) y asi podemos por ejemplo controlar la luminosidad de lamparas, o la velocidad de un motor.

PWM – Modulación por Ancho de Pulso

La resolución de salida del modulo CCP es de 10 bits, y para que funcione correctamente, no debemos olvidar configurarlo como salida en el TRIS C.

Esta señal PWM funcina igual en cualquier microcontrolador, lo único que cambia es la forma como se configura en cada plataforma. 

Para entender el funcionamiento de forma práctica, realizar el siguiente proyecto:

DIAGRAMA ESQUEMÁTICO:


CÓDIGO 01 DE PROGRAMACIÓN EN PIC C COMPILER (WIZARD):


CÓDIGO 02 DE PROGRAMACIÓN EN PIC C COMPILER:


VÍDEO EXPLICATIVO:


FUNCIONAMIENTO DEL AVANCE:


RETO DE LA SEMANA:

1. Configurar potenciómetro para que funcione en el rango de 0 a 385.

2. Mostrar en pantalla:

    PWM= XXX

    MAXIMO= XXX // configurado mediante pulsadores de 10 en 10

3. Si PWM supera MAXIMO, entonces encender LED en B0 y mostrar mensaje FATAL ERROR.

CÓDIGO DEL RETO DE PROGRAMACIÓN EN PIC C COMPILER:



IMÁGENES DEL FUNCIONAMIENTO DEL RETO




VÍDEO DEL RETO

 

OBSERVACIONES:
  • La simulación en proteus no se realizo en tiempo real ya que el procesamiento de este exigía bastantes recursos, es también por eso que algunas interacciones como al usar los pulsadores fueron afectadas con retraso. 
  • Podemos realizar una programación más rápida y sencilla al hacer uso de project wizard en el software CCS C Compiler.
  • Haciendo clic derecho encima de una linea de código dedicada a un archivo y seleccionamos "Open File at cursor", podemos visualizar lo que hay dentro de este en CCS C Compiler.
CONCLUSIONES:
  • Aprendí el funcionamiento y configuración del modulo PWM.
  • Aplique los conocimientos adquiridos en este laboratorio para programar el control de velocidad de un motor.
  • Concluyo que hay varias maneras de dar uso al modulo PWM y que este se puede programar realizando cálculos o haciendo uso de softwares. 

Comentarios