DAC y ADC
DAC y ADC
DAC y ADC
6.1 INTRODUCCIN
Las seales analgicas tambin son llamadas seales del mundo real, debido a que muchas
seales fsicas son analgicas por naturaleza. Actualmente gran cantidad de aplicaciones
para computadoras y otros sistemas digitales, requieren de seales de entrada del mundo
real, tales como temperatura, presin, flujo, nivel. Incluso seales que pueden incluir
imgenes y voz.
Actualmente los sistemas digitales estn siendo usados para controlar o manipular
seales en el mundo real, ya sea, en la industria, en autotransportes o en electrodomsticos
entre otros.
6.1.1Seales analgicas y digitales
Una seal analgica es aquella que tiene valores continuos sobre un rango dado, en
contraste al nmero determinado de valores discretos que presentara una seal digital para
el mismo rango.
Ejemplo 6 - 1
Tengamos en cuenta una fuente variable de voltaje, que tiene un voltaje de salida en
un rango de escala de 0 a 12 Volts, ajustable con un potencimetro. Luego entonces ser
posible tener un voltaje de salida con un nmero infinito de valores continuos. Una fuente
de voltaje digital con el mismo rango de escala pero con valores especficos de salida 0, 5,
10, y 12 V tendr solamente 4 valores discretos.
Ejemplo 6 - 2
Consideremos la grafica de una seal analgica de entre 0 y 5 volts y veamos la diferencia
con la misma seal pero con una representacin digital de 4 bits. Se puede observar que en
la grafica analgica la curva tiene un numero infinito de valores entre 0 y 5 Volts tanto en el
eje vertical como en el horizontal que representa el tiempo en segundos. Mientras que en la
representacin digital solamente se tienen 16 valores diferentes para mostrar el eje
vertical y 36 instantes de toma de lectura o medicin lo que da como resultado solamente
algunos puntos discretos sobre la curva analgica obviamente si se usara una representacin
digital de mas Bits, digamos 8 , se tendra en el eje vertical hasta 256 valores diferente , es
decir , el numero de valores depende directamente del numero de n bits que se usen.
Numero de valores diferentes = 2n
Figura 6-3 Diagrama a bloques de un termostato para el control de temperatura que usa un
ADC.
La temperatura del cuarto produce en un sensor de termopar un voltaje que
es proporcional a la temperatura del cuarto, este voltaje es acondicionado por un
amplificador operacional y aplicado a la entrada de un ADC, donde es convertida a una
seal digital y peridicamente muestreada por un microprocesador . Por ejemplo
supongamos que la temperatura del cuarto es de 17 C . Un voltaje especifico a esta
temperatura aparece a la entrada del convertidor ADC de 8 bits y en su salida el
convertidor da una seal digital correspondiente digamos de 01000011 en cdigo binario
de 8 bits.
Internamente, el microprocesador compara este numero binario con un numero, tambin
binario, que representa la temperatura deseada supngase 01001000 para 23 C, Que es el
valor deseado de temperatura que previamente se ha introducido a travs de un teclado y
almacenado en un registro. Como resultado de la comparacin, en que para este ejemplo el
el cuarto tiene una temperatura actual menor que el valor deseado, el microprocesador
comanda a la unidad de control a que se encienda el dispositivo calentador del cuarto.
Como el microprocesador continuara monitoreando la temperatura del cuarto va el
convertidor ADC , cuando la temperatura del cuarto iguale exceda la temperatura deseada
el microcontrolador apagar el dispositivo calentador.
Ejemplo 6 - 4
Grabadora / Reproductora Digital de Audio (GDA)
En este ejemplo se usan ambos convertidores DAC y ADC, con un diagrama muy
elemental explicaremos este ejemplo.
Figura 6-4 Diagrama a bloques de una Grabadora / Reproductora Digital de Audio (GDA)
Una seal de audio, es desde luego una seal analgica. Cuando se est en el modo de
grabacin esta seal de audio que puede provenir de un micrfono algn otro dispositivo,
se acondiciona con amplificadores operacionales y se pasa a travs del ADC con lo cual se
produce una seal digital susceptible de ser grabada en una cinta digital. En el modo de
reproduccin cuando la seal proviene de una cinta de grabacin digital, la seal es
procesada con un microcontrolador, convertida con un DAC y finalmente amplificada para
ser enviada al sistema de bocinas de reproduccin del audio.
6.2 Convertidores Digital / Analgico DAC.
En esta seccin examinaremos las caractersticas bsicas de los convertidores DAC que es,
el dispositivo que transduce informacin digital a una cantidad continua, es decir un ADC
acepta una palabra digital y entrega una cantidad proporcional al valor numrico
representado por la palabra.
6.2.1 El ADC bsico.
Figura 7-7 6-ADC con entradas de resistencia binaria ponderada con un amplificador
operacional como elemento sumador
Una desventaja de este tipo de convertidor es la gran cantidad de resistores con valor
diferente que se requieren, adems que su estabilidad y rango de tolerancia deber ser
mejor del 0.5 %.
Ejemplo 6 6.
Determinar el voltaje de salida para el DAC mostrado en la figura 6-8(a) Si se aplica ,a las
entradas una secuencia de nmeros binarios de 4 bits representados con las formas de onda
mostradas en la figura 6-8(b).
Figura 6-9. Grafica del voltaje de salida para el circuito del ejemplo 6-6 ---.
6.2.3 Caractersticas de comportamiento para los convertidores D/A.
6.2.3.1 Factor de Multiplicacin
Como la salida de un DAC es directamente proporcional al VREF Para obtener un voltaje
de salida preciso entre V SALIDA y la entrada digital se requiere que el VREF sea fijo y
estable. Sin embargo supngase que VREF es una fuente de voltaje analgica cambiante.
En tal caso el voltaje de salida del DAC es proporcional al producto de una entrada
analgica y una entrada digital. Por lo tanto se puede usar el DAC como un amplificador o
atenuador controlado digitalmente, en el cual la ganancia ser determinada por la entrada
digital. En la referencia bibliogrfica (revista UPIICSA de tecnologa) se publica una
aplicacin muy interesante de esta cualidad de los DAC en el diseo de un sistema en el
que el dispositivo se usa como modulador de amplitud para transmitir de seales.
6.2.3.1
Resolucin
Ejemplo 6-7
Determinar la resolucin de un DAC de 4 bits de entrada.
Solucin
Resolucin = 1 / (24 - 1 ) = 1 / 15 que tambin puede ser expresada en
porcentaje
como % de resolucin = (1/15)100 = 6.67%
6.2.3.2 Exactitud.
La exactitud es la comparacin de la salida real de DAC con la salida esperadas expresa
como un porcentaje del voltaje de salida a escala completa, o mximo voltaje de salida. Por
ejemplo si el convertidor tiene un voltaje de salida a escala completa de 10 V y la exactitud
es de 0.1 %, entonces el mximo error de cualquier voltaje de salida es igual a (10 V)
(0.001) = 10 mV. Idealmente, la exactitud deber ser, a lo ms, + o - del bit menos
significativo bms. Para un DAC de 8 bits , 1 bms es 1/256 = 0.0039 (0.39 %de la escala
completa ) . La exactitud debiera ser de + o 0.2 %.
6.2.3.3 Linealidad
El error por linealidad o mas propiamente por la no linealidad, es una medida de cmo la
linealidad de la salida analgica se relaciona con la entrada digital en todo el intervalo de
operacin. Es la desviacin de la recta esperada, como se muestra en la figura pag.
447 fig 15 12 libro copias.
Figura 6-10 (a) No linealidad de 1 bms con la ganancia ajustada para un error cero en la
escala completa.
Figura 6-10 (b) No linealidad de + o bms con la ganancia ajustada a un mnimo
error pico.
6.2.3.4 Linealidad diferencial
La no linealidad diferencial es una medida del cambio en la salida analgica por cada
cambio de 1 bit en la entrada digital. Idealmente, cada paso debe ser de la misma magnitud
en todo el intervalo de la operacin, pero debido a las imperfecciones del circuito, los
cambios reales no son iguales, lo que se ilustra en la figura 6-11.
Figura 6-14 diagrama del DAC AD7524 fabricado por Analog Devices
Un DAC multiplicador es un DAC diseado para operar no solamente con un voltaje fijo de
referencia VREF sino tambin con una entrada analgica Vi en lugar de la entrada fija de
VREF; El CAD AD7524 puede ser configurado como se muestra en la figura 6-14.
Cambiando el circuito externo. La salida del DAC Multiplicador estar representada
por Vo = Vi X donde Vi es la seal de entrada y X es la fraccin asociada con la entrada
digital. Si se sume que tanto Vi como X pueden tener polaridad, a esta forma de operacin
se le llama de cuarto cuadrante. En contraste cuando Vi = Vref. es decir un Voltaje fijo se
llama operacin en segundo cuadrante.
6.4 Un DAC prctico
El CAD de Nacional Semiconductors AD0808.
El AD0808 es un convertidor digital a analgico de 8 bits el cual muestra dentro de sus
caractersticas principales un tiempo de asentamiento (settling time) de 150 nS con
una presicin de +0.19 %.. Este convertidor es de tipo DIP y posee 16 pines que se
distribuyen de la siguiente manera
Este dispositivo AD0808 es muy sencillo de operar pues nicamente se debe de tener
cuidado en dos cosas; primero que los valores de entrada VIH y VIL para el 1 y 0
lgicos estn dentro de los valores especificados, y segundo que el voltaje de salida Vo este
debidamente acoplado en su impedancia de salida.
En la figura se muestra como se puede conectar un AD0808 de Nacional Semiconductors
Otro tipo de DAC que se fabrica ms comnmente es el que se llama de redes escalonadas
resistivas R/2R. En la figura 6-19 se muestra un DAC de resistencia ponderada binaria con
6 bits y amplificador operacional como elemento sumador de corriente. Los conmutadores
muestran una entrada binaria de 101010. En este ejemplo el valor de la resistencia para
el bit bMs es de 5 k, mientras que el del bit bms es de 160 k. Debido a que el valor de las
resistencias cambia en un factor de 2 para cada bit, un DAC de alta resolucin tendra una
gran gama de diferentes valores de resistencias para el bMs y el bms. En tal DAC se
presentaran algunas dificultades. En primer lugar, sera difcil fabricar un conjunto de
resistencias de tan amplio intervalo de resistencias que no obstante, contara con razones
exactas y que no alteren su valor con los cambios de temperatura. Segundo, las corrientes
en las posiciones cercanas al bms seran muy bajas debido a las altas resistencias. Tales
corrientes bajas Hacen muy sensible al DAC a corrientes de ruido que pudieran ser de la
misma magnitud.
Figura 6-19 Diagrama de un DAC de resistencia ponderada binaria con 6 bits de resolucin
Otro mtodo para realizar la conversin D/A es utilizar la red escalonada R/2R, como se
muestra en la
Figura 6-20 para el caso de 4 bits, este
mtodo resuelve uno de los problemas del DAC con ponderacin binaria pues solo requiere
dos valores de resistencias. Asumiendo que la entrada D, esta a nivel alto (+5V) y las
dems a nivel BAJO (tierra, 0 V) esta condicin representa el cdigo binario 1000 y
haciendo un anlisis del circuito se puede observar que cada entrada de menor peso
sucesiva produce una tensin de salida que es la mitad de la anterior, por lo que la tensin
de salida es proporcional al peso binario de los bits de entrada. El DAC AD 0808 mostrado
en el punto anterior es un ejemplo de un DAC en escalera R/2R .
6.6 Convertidor Analgico / Digital ADC.
La conversin analgica a digital es el proceso por el cual una seal analgica se convierte
a cdigo digital. La conversin A/D es necesaria cuando se requiere expresar una magnitud
analgica producto de una medicin en un cdigo digital para poder ser procesada en una
computadora, presentarla en un display o almacenarla en un archivo digital.
A continuacin se analizaran varios tipos de convertidores analgico / digitales
6.7 Parmetros de rendimiento del ADC
Entre las caractersticas de los convertidores A/D destacan las siguientes:
6.7.1 Resolucin
La resolucin de un ADC es el ms pequeo paso digital con el cual es posible aproximar el
voltaje analgico de entrada.
Ejemplo 6-8
El voltaje de entrada de escala completa de un ADC de 8 bits es +5 V. Calcular el menor
paso de voltaje analgico que puede reconocer el convertidor.
Solucin . Ocho bits representan 28= 256 pasos. Un paso en un voltaje de entrada de escala
completa de 5 V representa 5 / 256 V = 19.53 mV
6.7.2 Tiempo de Conversin
La conversin de un valor sobre una forma de onda analgica a una cantidad digital, no es
instantnea, esta requiere de un tiempo de conversin que va de algunos uS para las
conversiones ms rpidas a mSpara los dispositivos ms lentos. Este concepto se ilustra en
la figura 6-21
entrada variante con el tiempo puede reproducirse con fidelidad si la velocidad de muestreo es por
lo menos dos veces tan alta como la mayor componente de la frecuencia de la seal.
El ADC 0809
Figura
6-35
Esquema
de
la
arquitectura
de
Circuito de reloj
Temporizadores
Estado de reposo.
Reinicio (Reset)
Comparadores analgicos
Figura 6-38 Una tabla con las principales caractersticas de la familia PIC12CXXX
sus pines las lneas de los buses de datos, direcciones y control, a las que se conectan
memorias o controladores de perifricos. Figura 6-42 se Muestra una tabla con las
principales caractersticas de la familia alta
Un borrador de EPROM
propsito,
el
compilador
conocido
como
FED
C;
desarrollado
por Forest Electronic Developments (www.fored.co.uk y con e-mail: info@fored.co.uk).
Compilador FED C
Algunas de las razones para escoger este compilador son
Incluye un simulador.
*
Describir lo que el programa hace
*
*
*************************************************
***
#include <P16f84.h>
#include..
int i , j , .
char x, ..
void func( )
{
// comentarios
.
}
void main ( )
{
// comentarios.
..
..
}
// incluir enunciados
// variables globales
// uso de funciones
// programa principal
Ejemplo 6 - 11
Escribir un programa con FED C que prenda y apague un LED conectado al bit 0 del
puerto B de un PIC16F84 . Deber mantenerse un segundo en cada estado de salida.
Solucion.
El diagrama del circuito para este ejemplo se muestra en la figura 6-43. El reloj se genera
usando un cristal de 4Mhz. Un LED se conecta al bit 0 del puerto B a travs de una
resistencia de 470 ohm, como limitadora de corriente.
#include <delays.h>..
void main ( )
{
TRISB=0;
while(1)
{
PB.B0=0 ;
Wait(1000) ;
PB.B0=1;
Wait(1000) ;
}
}
// programa principal
//pone los pines del puerto B como salida
// loop sin fin
// pone el bit 0 del puerto B OFF
//retrazo de 1000 mS
// pone el bit 0 del puerto B ON
// retrazo 1000 mS
Los microcontroladores tipo PIC pueden ser directamente conectados a travs de sus
puertos de salida ya sea con una PC con algn display LCD segn se requiera; ya sea
almacenar los datos adquiridos para su posterior anlisis y procesamiento, y/o exhibir el
resultado directamente en un display LCD. Para este propsito se puede usar un diseo
basado en el siguiente diagrama de bloques, en el que se muestra un sistema para la
medicin de temperatura con termopar tipo K .
Asumir que se usar un PIC 16F84 como base de un proyecto, y que se desea enviar
mensajes tipo texto a un display marca HITACHI modelo HD44780 tipo LCD. Conectar
el display al puerto B del microcontrolador y desarrollar un programa en C para enviar el
mensaje PIC LCD a la lnea 1 del LCD.
Solucin.
El diagrama del circuito para este proyecto se muestra en la figura 6-46, el LCD se conecta
al PIC de acuerdo con su configuracin que se muestra en la tabla de la figura 6-45. El reloj
se proporciona con un cristal de cuarzo de 4 MHz . Un potenciometro de 20 k se usa para
ajustar el contraste en el LCD.
Listado del programa para el ejemplo 6-12, elaborado con el compilador FED C
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
*
*
PROYECTO:
Proyecto 2
*
ARCHIVO:
proye2.C
*
FECHA:
enero 2003
*
PROCESADOR:
PIC16F84
*
COMPILADOR:
FED C
*
*
*
Este programa enva el mensaje de texto PIC LCD a la linea 1 de un display
*LCD conectado al puerto B de un PIC16F84.
*
*
*************************************************
#include <P16f84.h>
#include <displays.h>..
const int LCDPORT=&PORTB;
void main ( )
{
LCD(-1) ;
LCD(257) ;
LCDString (*PIC LCD*) ;
// programa principal
while(1)
{
}
0 C a +100 C
menor que 0.5 C
LCD
nn.m C
1 lectura cada segundo
Basado en Microcontrolador
Figura
el termistor KED103BY
6-49
grafica
temperatura
resistencia
Se asume que se usa una fuente constante de voltaje para el circuito del termistor.
De la grafica de relacin temperatura resistencia de este termistor se obtiene
A 0 C la resistencia de RT = 40 K
A 100 C La RT = 500 ohm
Disipacin por autocalentamiento
para
esto es
a 100 C, RT = 500 ohm y asumiendo una fuente constante de voltaje de +5, el voltaje
a traves del termistor es:
VT = VS ( RT / ( RS + RT) )
esto es, VT = 5 ( (0.5 / (0.5 +40) ) = 0.0617 que es el
mnimo voltaje a travs del termistor.
Si se usa un convertidor A / D de 8 bit con una fuente de 5 V entonces un 1 mbs = 5000 /
256 = 19.6mV. que supera fcilmente el voltaje mnimo requerido por el termistor.
Diagrama del circuito propuesto:
El diagrama a bloque del circuito propuesto para este proyecto se muestra en la figura 650 . Se usara un microcontrolador PIC 16f877.
void main ( )
{
float tv, tr, temp, y;
int msd, lsd;
char temperatura[6];
/* Inicializando el LCD
// programa principal
LCD(-1) ;
LCD(257) ;
/*
*/
//Inicializa LCD en lnea 1
//Limpia cursor y lo manda a home
Inicializando el microcontrolador
ADCON1 = 0x80 ;
ADCON0 = 0 ;
ADCON0 = 0x41 ;
while(1)
*/
{
/* Inicia la conversin A/D */
ADCON0 = 0x45 ;
// inicia la conversin A/D
while(ADCON0 & 1 == 0) ;
// espera la conversin
tv = 256*ADRESH + ADRESHL ; // Captura el voltaje del termistor
tv=tv*LSB ;
// escala del voltaje del termistor
/* Calculo de la resistencia del termistor tr */
tr = 5.0*tv*10000.0/(5.0-tv) ;
/* calculo de la temperatura temp */
y = log (0.0001*tr) ;
y = 3.354*1e-3+y*2.272*1e-4 ;
temp = 1.0/y ;
/* Formato para el display LCD */
LCD(257) ;
//Limpia LCD y pone cursor en home
msd=temp ;
//digito msd
lsd=10.0*(temp-lsd) ;
// digito lsd
iPrtSring(temperatura,msd) ;
//msd
/*
temperatura[2] = . ;
cPrtString(temperatura+3) ;
temperatura[4] = ;
temperatura[5] = C ;
/* Muestra la temperatura como nn.m C
LCDString(temperatura) ;
/* Una segunda espera de un segundo */
wait(1000) ;
}
}
Ejercicios
//ENDDO
*/
BIBLIOGRAFIA
1.-MICROCONTROLLER BASED TEMPERATURE MONITORING AND
CONTROL Dogan Ibrain
Editorial Newnes 2002
2.- ANALOG AND DIGITAL CONTROL SYSTEMS Gayakwod, Ramakant editorial Prentice
Hall 1988
2.- BASIC OPERATIONAL AMPLIFIERS AN LINEAR INTEGRATED CIRCUITS Floyd,
Thomas L. Editorial Merrill Mc Millan 1994
3 DATA ADQUISITION AND PROCESS CONTROL WITH THE M68HC.11
Driscoll, Frederick F.editorial Merrill Mc Millan 1994