Modulación Por Ancho de Pulsos PWM
Modulación Por Ancho de Pulsos PWM
Modulación Por Ancho de Pulsos PWM
pulsos PWM
La modulación por ancho de pulsos (MAP o PWM, siglas del ingles Pulse- Width
Modulation) de una señal o fuente de energía es una técnica en la que se modifica el ciclo
de trabajo de una señal periódica (una sinusoidal 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.
Modulación por ancho de pulsos
PWM PIC
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.
Nos centraremos en el PWM. Para nuestro caso en especifico, como
estamos usando el PIC16F877A y PIC18F4550, dichos
microcontroladores tienen 2 módulos 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 8 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.
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 así podemos por ejemplo controlar la
luminosidad de lámparas, o la velocidad de un motor.
MODULO CCP EN C PARA PWM PIC
Modulación por Ancho de Pulso
El compilador nos suministra tres instrucciones básicas para el manejo del PWM.
setup_ccpx(modo);
Donde modo hace referencia a los registros en PIC C y puede ser configurado según la
siguiente tabla
Para generar una señal de Modulación por Ancho de Pulso con el PIC, tenemos que utilizar
el TIMER 2, el cual es un Timer de 8 Bits.
Internamente el PIC, usa el TIMER 2 como base de tiempo para la Modulación por Ancho
de Pulso (PWM) utilizando el módulo CCP
Directivas
Estas incluyen las palabras reservadas. Sirven para configurar la forma de trabajo del
microcontrolador. Estas directivas comienzan con el símbolo # y continúan con una palabra
reservada específica.
FUNCIÓN PRINCIPAL
Esta función se requiere para iniciar el flujo del programa, ya que es llamada cuando inicia
la ejecución de un programa.
INSTRUCCIONES
Las instrucciones determinan las acciones del programa dentro del microcontrolador.
Programación completa
Simulación en Proteus