ELECTRONICA Y TELECOMUNICACIONES
MARCO TEORICO
PWM es el acrnimo de "Pulse Width Modulation", expresin que designa un modo concreto de modulacin, la llamada "Modulacin de impulsos en anchura". Inicialmente, esta tcnica se utilizaba casi exclusivamente para el control de potencia y velocidad de motores de corriente continua, pero con el tiempo se ha ido ampliando el campo de aplicacin, por ejemplo, en las fuentes de alimentacin conmutadas, onduladores c.c.-c.a., etc.; con ella se ha conseguido realizar dispositivos mucho ms eficientes, ms compactos y ms ligeros. El presente artculo se destina a describir en qu forma puede utilizarse un microcontrolador PIC16F88 para generar una seal del tipo PWM con la que se regular la emisin luminosa de un Led y se controlar la velocidad de un pequeo motor de corriente continua: con esta base, el lector estar capacitado para desarrollas sus propias aplicaciones. En lo referente a los modos Captura o Comparacin algunas tpicas aplicaciones son la generacin de un pulso de ancho programado o medida del ancho de un pulso externo. En ambos casos los mdulos CCP1 y CCP2 trabajan con el Timer1. Nuestro inters por ahora es el estudio del modo PWM. El modo PWM tiene una operacin y un control que son compatibles en todos los PIC16 con mdulos CCPx y se conoce como Standard PWM. Los PWM en los PIC18 son ms potentes y variados, destacando el llamado Enhanced PWM. Con todo, en muchos casos todava cuentan con el Standard y en otros, un modo compatible con l. Cada mdulo CCPx puede generar una onda PWM de hasta 10 bits de resolucin con una frecuencia y duty cycle configurables. Ambas ondas son semi independientes, esto es, pueden tener diferente duty cycle pero comparten la misma frecuencia. Cada CCPx se puede habilitar o inhabilitar independientemente. La salida PWM del mdulo CCP1 es el pin RC2/CCP1 y del mdulo CCP2 es el pin RC1/CCP2. Dichos pines deben ser configurados como salidas. Registros de los mdulos CCPx Los registros de duty cycle presentados en seguida tienen diferente funcin en los modos Captura o Comparacin. El Timer2 se ala con los modulos CCPx solo en modo PWM.
Pgina 1
Dado que en modo PWM ambos mdulos CCPx son completamente indnticos en control y configuracin, estara de ms describir cada mdulo por separado o al mismo tiempo. Bastar con discutir la operacin de CCP1 y se entender que lo mismo es vlido para CCP2.
Qu es la modulacin PWM?
Antes de la puesta a punto de la tcnica PWM, la velocidad de un motor de corriente continua se regulaba mediante un potencimetro o reostato en serie. Este "poco fino" mtodo comportaba un gran gasto de energa, con mucha generacin de calor. Cuanta ms potencia, mayor desperdicio de energa. Un buen da alguien tuvo una idea feliz: aplicar toda la potencia disponible, pero no continuadamente sino en forma de impulsos ms o menos breves. As fue como nacieron los circuitos "chopper", que en un primer momento se realizaron a base de semiconductores discretos.
Puede hacerse un sencillo experimento con una pila y una bombillita de filamento, como las de las linternas de bolsillo. Soldar un polo de la pila a la bombillita con un tramo de hilo conductor y cerrar el circuito aproximando a mano el otro polo, a travs de otro tramo de hilo.
Pgina 2
Dentro de un cierto periodo de tiempo, cuanto menor sea la suma de tiempos en que la bombillita queda sin alimentar, mayor es la intensidad luminosa emitida. De aqu sale la definicin de "ciclo de trabajo" (duty cycle): es el porcentaje que indica el tiempo durante el cual la seal permanece a nivel alto, durante un periodo dado. El ejemplo tpico de un ciclo de trabajo del 50 % es una seal perfectamente cuadrada, como las que entregan los generadores de seal. Una tensin de cero voltios corresponde a un ciclo de trabajo del 0 %. En la fig. 1, Ton representa el periodo durante el cual la bombillita recibe la tensin mxima y Toff es el tiempo en que no recibe tensin alguna. Modificando la duracin relativa de estos tiempos se consigue modificar la tensin media que llega a los contactos de la lmpara y, por consiguiente, se regula su luminosidad. En la prctica, se acta sobre Ton y se mantiene constante la duracin del ciclo (Ton + Toff). O sea que slo se modifica el porcentaje relativo de Ton y Toff respecto al diclo total. As, la seal PWM puede definirse como una seal de tensin rectangular en la cual se ha previsto una determinada distribucin temporal entre impulso alto e impulso bajo. Admitiendo que Ttot no vara, al alargar la duracin de Ton, la de Toff se acorta necesariamente. Aplicando una PWM a la alimentacin de un motor, si Ton representa el 10 % del ciclo, la tensin aparece en bornes del motor a intervalos muy cortos y el ciclo de trabajo es bajo. Pero si Ton representa el 90 % del ciclo, el motor recibe tensin a intervalos proporcionalmente muy largos y el ciclo de trabajo es elevado.
Pgina 3
Qu ventajas ofrece la modulacin PWM? Si para la generacin de ondas PWM se recurre a un microcontrolador, basta con un solo bit de salida para comandar el paso de On a Off; resulta un circuito sumamente sencillo y muy econmico. Por otra parte, para pilotar cargas con variacin de potencia, la seal PWM permite elevados rendimientos reduciendo a un nivel mnimo el calor generado por el sistema de control y por la carga, mientras que sta trabaja siempre en condiciones ptimas: todo abierto o todo cerrado. Pero la ventaja principal de la modulacin PWM es poder utilizar impulsos de ataque de frecuencia constante: este concepto prefigura el uso de sistemas sincronizados por un reloj (clock), es decir, por sistemas digitales. Actualmente, la generacin de seales PWM se realiza con circuitos basados en puertas lgicas (dispositivos TTL y CMOS) y microprocesadores o microcontroladores programables (por ejemplo, el PIC16F88) que integran circuitos capaces de generar de forma autnoma seales moduladas con la tcnica PWM, con la ayuda de muy pocos componentes perifricos especficos. Frecuencia de modulacin Aunque el porcentaje relativo entre Ton y Toff pueda variar, y que, en cierto sentido, este valor pueda considerarse un dato analgico, la seal PWM es una seal digital dado que la tensin de salida slo puede asumir uno de los dos valores digitales posibles: o mximo o nulo. Y eso, independientemente del instante considerado. Tensin o corriente se entregan a la carga en forma de impulsos repetitivos. Como el ancho de banda es considerable, la tcnica PWM permite obtener a la salida cualquier valor de tensin comprendido entre cero voltios y la tensin de alimentacin. VANESA RIVERA GONZA Pgina 4
Dnde: PR2 = Valor del registro PR2 (entre 0 y 255). Fosc = Frecuencia del XTAL. Prescaler = Prescaler del Timer2 (1, 4 16). Se configura en el registro T2CON.
Recordemos que el Timer2 tambin tiene un Postscaler, pero es una etapa posterior y no interviene directamente en el avance del Timer2.
Pgina 5
Duty cycle de la onda PWM El duty cycle es la cantidad de tiempo que en un periodo la salida PWM permanece en estado alto. Este tiempo queda determinado por el valor del registro CCPR1L. Mientras TMR2 sea menor que CCPR1L la salida PWM ser un 1 lgico. Apenas TMR2 alcance a CCPR1L, la salida ser 0. En caso de que este tope sea superior al periodo, la salida ya no conmutar a 0. En consecuencia, el duty cycle se controla variando el valor del registro CCPR1L. La frmula que da su valor en tiempo es:
Donde: CCPR1L = Valor del registro CCPR1L (entre 0 y 255). Fosc = Frecuencia del XTAL. Prescaler = Prescaler del Timer2 (1, 4 16).
Tambin es mucho ms ilustrativo hablar del duty cycle en trminos de porcentajes. Un 0% significa que la salida es siempre bajo, 100% es un alto continuo, un 50% significa una onda cuadrada simtrica, y as. Para esto solo hay que dividir el duty cycle (en tiempo) entre el periodo y multiplicarlo por 100%. Realizando esta operacin con las frmulas presentadas anteriormente llegaremos a:
Esta frmula es fcil de interpretar: el numerador CCPR1L representa al duty cycle y el denominador PR2+1, al periodo. La siguiente figura indica que cada periodo se divide en PR2+1 tramos equitativos y que CCPR1L es la cantidad de tramos que estn en alto. Eso es una PWM.
Pgina 6
En el PIC 16F88 se ha configurado el pin A0 como entrada analgica utilizando un generador de funciones (seal senoidal) se ha ingresado una seal de 5 voltios a una frecuencia de 60hz y el pin B0 es la salida de la seal PWM,a la salida del pin B0 se implement un circuito RC para que simule el DAC ya que el PIC no cuenta con el DAC. En el osciloscopio el puerto A esta conectado al pin A0 del pic donde tiene que mostrar la seal de 5 v que est saliendo del generador de funciones; el puerto B est conectado a la salida del RC nos va mostrar la seal de salida despus que se ha muestreado, el puerto C esta conectado al puerto B0 del pic esta nos mostrara la seal PWM.
Pgina 7
En la simulacin se obtuvieron los siguientes grficos tanto de la seal de entrada analgica como la seal de salida PWM:
Pgina 8
Esta es la seal de 5 v a una frecuencia de 60 Hz que est entrando al puerto A0 del pic para que sea ledo por ADC interno del pic para sacar una seal PWM se puede comprobar que es de 60 hz con los cursores en el cual el periodo nos da 16 ms. Esta seal se va a muestrear a 600 Hz que su tiempo de muestreo ser de 1.6 ms
Pgina 9
A la salida de la unidad PWM es necesario conectar un filtro RC (Pasa Bajas) para determinar el nivel analgico propuesto por el filtro. La relacin de los valores del filtro est dada por:
A la salida del filtro RC conectada al puerto B del osciloscopio se obtuvo la siguiente salida
Pgina 10
El mdulo PWM del micro genera una onda cuadrada con una frecuencia dada (tpicamente bastante alta, por ejemplo 10 KHz). Luego nosotros podemos ir cambiando el ciclo de trabajo (% del periodo en ON) de la seal. Si usamos un dispositivo externo con un ancho de banda suficiente (osciloscopio) veremos la seal al completo, esto es, la modulacin rpida (o portadora) de 10 KHz y las variaciones ms lentas (seal a transmitir) del ciclo de trabajo. Si por el contrario aplicamos un filtro paso-bajo a la seal PWM, los cambios rpidos (10 KHz) de la seal se eliminarn y simplemente veremos los cambios lentos del ciclo de trabajo, observando un voltaje "medio" entre 0 y 5V dependiendo del ciclo de trabajo (0% -> 100%) programado. Lo que hemos conseguido es una especie de conversor digital analgico que nos permite traducir una orden digital (ciclo de trabajo del periodo PWM) en una variable analgica (el voltaje medio a la salida entre 0 y 5V). Tendremos algunas limitaciones. Como queremos que desaparezca la frecuencia de modulacin (los 10 KHz), la seal que queremos transmitir debe de ser lo suficientemente lenta (frecuencia baja) para que no desaparezcan tambin en el filtrado paso-bajo.
Pgina 11
Pgina 12