PWM - 1
PWM - 1
PWM - 1
puede crear una señal con determinada frecuencia que se determinará por la
periodicidad de los pulsos de una señal. Un ciclo de trabajo muestra la cantidad de
tiempo de la señal que se encuentra en un estado lógico alto lo cual consiste en
introducir una serie de pulsos y no de manera continua, formando una señal digital
cuadrada en las que se modifica parte del periodo en el que la señal está activa.
DESARROLLO
Para emular una señal analógica se cambia el ciclo de trabajo (duty cicle en
inglés) de tal manera que el valor promedio de la señal sea el voltaje aproximado
que se desea obtener, pudiendo entonces enviar voltajes entre 0[V] y el máximo
que soporte el dispositivo PWM utilizado, en el caso de algún microcontrolador es
5[V].
La modulación de ancho de pulso está formada por una señal de onda cuadrada
que no siempre tiene la misma relación entre el tiempo que está en alto y el tiempo
que está en bajo.
En la siguiente figura 3 vemos una señal que varía entre 5V y 0V. A lo largo del
tiempo la señal varía entre dos valores de tensión. Durante un tiempo determinado
la señal se encuentra en el nivel alto (en este caso 5V) y durante otro periodo de
tiempo se encuentra en el segundo valor de tensión (en este caso 0V).
Figura 1 - Desplazamiento de los flancos descendentes en una señal PWM, en función de la amplitud de la señal
moduladora.
Código
#INCULE <16f887.h>
#USE DELAY(CLOCK=4000000)
#FUSES NOWDT
int valor; //se declara valor como entero es el que lleva el valor de pwm
void main() { //función principal
valor=0; //se le asigna al inicio el 0 a valor
PWM1_init(5000); //el pwm1 inicia a una frecuencia de 5khz
PWM1_start(); //el pwm1 empieza a trabajar