Está en la página 1de 12

8 Conversión AD y DA 

8.2.1 CONVERSIÓN DA CON PWM 


Conversión AD y DA 
• La conversión análogo digital y digital análogo es un proceso por el cual se puede tomar o
entregar muestras de una señal continua de voltaje. El uso de estás conversiones es de
gran utilidad para realizar procesamiento digital de señales. La conversión análogo digital,
o ADC, se puede realizar con algunos microcontroladores que tienen implícito un
convertidor de este estilo. El proceso de conversión digital análogo es posible con
elementos externos de fácil implementación o, incluso, es posible realizar esta conversión
con los módulos PWM incorporados en algunos microcontroladores.
8.2.1 Conversión DA con PWM 
• La conversión digital análogo, con el módulo PWM, consiste en tomar la señal modulada
por ancho de pulso y realizar la demodulación por medio de un filtro pasa bajas. Este
filtro debe tener como frecuencia de corte un valor mucho menor a la frecuencia de
muestreo en una proporción cercana a 10 veces, dado que su objetivo es eliminar la
frecuencia de muestreo. El cálculo de la frecuencia de corte de este filtro está regido por
la siguiente fórmula: 
Circuito 
• El circuito a implementa de un filtro pasa bajas de primer orden es el siguiente: 

• Implementación del filtro pasa bajas de segundo orden:


Ecuación
• La ecuación para el cálculo en este filtro es:

• La frecuencia que se asigne a la portadora de modulación PWM, debe ser mucho mayor a
la frecuencia de muestreo de la señal moduladora. Para demostrar el funcionamiento en
está conversión se designarán 20 muestras que corresponden a un ciclo de una señal seno.
Las muestras y la forma de onda se pueden apreciar en la siguiente figura:  
Implementación
• La implementación de la librería PWM, se hace por medio de cuatro funciones que son:
PWM1_Init(const long freq);, está función inicializa el módulo PWM, a la frecuencia de la portadora
freq. La función: PWM1_Set_Duty(unsigned short duty_ratio);, está función estáblece el ciclo útil
por medio del parámetro duty_ratio, este parámetro puede tomar valores de 0 a 255, donde 0
representa el 0%, y 255 el 100% del ciclo útil. La siguiente imagen ilustra el comportamiento de una
señal PWM, en función del ciclo útil, la relación Fpwm y Tpwm: 

• Por último se cuenta con las funciones:

 PWM1_Start(); y PWM1_Stop();

 Las cuales activan y desactivan respectivamente la señal PWM. 


Implementación en MikroC PRO
(codigo)
• //Declaración de constantes //para la señal seno.

•  const unsigned short Seno[20] =

•  {      

•  127, 146, 163, 177, 185, 189, 185,       177, 163, 146, 127, 107, 90,  76,       68,  65,  68, 
76,  90,  107 

• };   
• void main( void )

•  {      

• //Declaración de variables.      

• unsigned short n=0;    

•   //Configuración del módulo PWM a Fpwm=15.625K Hz.      PWM1_Init(15625);    

•   //Inicio de señal PWM.      PWM1_Start();    

•   while(1) //Bucle infinito.      

• {              

•  //Bucle para recorres las 20 muestras          

•      //de un ciclo para la onda seno.            

•    for( n=0; n<20; n++ ) 

•               {                 

• //Cambio del ciclo útil del PWM.               

•   PWM1_Set_Duty( Seno[n] );                 

• //Retardo de 50u seg.                 

• delay_us(50);              

•  }   
• Código colocado en la aplicacion de mikro C
Circuito completo 
• La ejecución de la simulación requiere de los dispositivos: 16F877A, RES, CAP, OP1P, y el
instrumento virtual: OSCILLOSCOPE. Este último es un osciloscopio virtual de 4 canales
simultáneos, ideal para visualizar señales análogas e incluso digitales.   
Implementación del código en proteus 
• Colocamos el codigo en proteus, claro que elegiremos el que sea hex. Para que este
funcione.
Funcionamiento 

También podría gustarte