Sei sulla pagina 1di 4

1

Prctica 13:
Caracterizacin de Conversores ADC
Jonathan M. Blandn, Anthony J. Velasco, Universidad de Cuenca

ResumenEn este documento se explicara detalladamente como


se realiz termmetro digital basado en un conversor analgico
digital mediante el ADC0804 y conjuntamente se implement un
cdigo en VHDL para poder visualizar en los displays de un FPGA
el nivel de temperatura en que se encuentra.
Palabras ClaveAnlogo, Cdigo, Conversor,
Displays, FPGA, Temperatura, Visualizar, VHDL.

Digital,

I. TEMA

Aracterizacin de Conversores Analgicos a Digital.

II. OBJETIVOS

8 LEDs
8 Cables Dupont Hembra-Macho.
1 Fuente de alimentacin (5V - DC)
1 Tarjeta FPGA Cyclone II de ALTERA modelo DE2
1 Software Quartus II 13 Web Free Edition
1 PC
Manuales de programacin y configuracin
1 Protoboard
1 Plataforma NI-Elvis.
1 Set de cables de conexin (bananas, multipar, lagartos)
1 Pinza

IV. SUSTENTO TERICO


A. Definicin de Trminos

A. Objetivo General
Utilizar un conversor de seal analgica a digital para
implementar un termmetro digital.
B. Objetivos Especficos
Verificar el funcionamiento del dispositivo ADC0804.
Comprobar el principio de operacin de un convertidor
analgico digital.
Conocer y comprender las especificaciones de una ADC,
tales como precisin, tamao de paso, tiempo de
conversin.
Comprender el principio de operacin y utilidad de un
transductor.
Emplear correctamente los dispositivos electrnicos,
mediante la revisin de las hojas caractersticas.

1. Cuantizacin
Consiste en medir el valor de tensin de cada una de las
muestras tomadas de la seal de entrada para el proceso de
conversin.
2. Error de Cuantizacin
Se define como el error en medicin debido al tamao del
paso utilizado para realizar la medicin, aunque se reduzca el
tamao del paso se reduce pero no se elimina este potencial
error.
3. Resolucin
Se define como el cambio ms pequeo que puede ocurrir
en la salida como resultado de un cambio en la entrada.
4. Rango Dinmico
Se define a partir de los valores de tensiones mnima y
mxima que garantiza el funcionamiento del conversor.

III. MATERIALES

1 ADC 0804 (Convertidor Anlogo-Digital)


1 Resistencia de 10K
1 Condensador de 150pF
2 Potencimetros de 5K

Documento recibido el 01 de Febrero de 2015. Este proyecto se realiz en


la Universidad de Cuenca, en la Escuela de Electrnica y
Telecomunicaciones.
J. M. Blandn estudia en la en la Universidad de Cuenca, en la Escuela de
Electrnica y Telecomunicaciones, Av. 12 de Abril y Agustn Cueva, CuencaEcuador (telfono: 593-7 409 2219; e-mail: jonathan.blandin@ucuenca.ec)
A. J. Velasco estudia en la en la Universidad de Cuenca, en la Escuela de
Electrnica y Telecomunicaciones, Av. 12 de Abril y Agustn Cueva, CuencaEcuador (telfono: 593-7 409 2219; e-mail: anthony.velasco@ucuenca.ec)

5. Span
Tambin llamado Rango, es la diferencia entre los valores
analgicos mnimo y mximo.
6. Tiempo de Adquisicin
Es el tiempo que el sistema Sample-and-Hold debe
permanecer en estado de muestreo para asegurar que el estado
de retencin se encuentre en el rango de error especificado.
7. Tiempo de Conversin
Es el tiempo que toma realizar la cuantizacin de la seal
de entrada, por tanto depende directamente de la naturaleza de
la seal de entrada.

V. DESARROLLO DE LA PRCTICA
A. Disear e implementar un termmetro digital, de 0 a
99C.
1.

Diagrama de bloques para el sistema diseado

Para nuestro sistema de temperatura tenemos bloques como:


El transductor de temperatura, el convertidor anlogo-digital y
el sistema de visualizacin.

Fig. 1. Diagrama de bloques para el diseo de un Frecuencmetro.

2.

de ese tipo y lo que todos los Datasheets, tutoriales, foros y


personas dedicadas a esto recomendaban utilizar un
microprocesador para lograr la manipulacin de esos bits.
Segn esto nosotros utilizamos el FPGA como procesador de
esta seal y as la salida del ADC la pasamos a la misma para
segn el cdigo que se muestra a continuacin.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity term is
port(tempin: in std_logic_vector(7 downto 0);
a1,b1,c1,d1,e1,f1,g1 : out std_logic;
a2,b2,c2,d2,e2,f2,g2 : out std_logic
);
end term;
architecture vhdl of term is
signal unidades, decenas:std_logic_vector(6 downto 0);
signal countu, countd:std_logic_vector(7 downto 0);

Especificacin de los bloques del sistema diseado

El sistema de temperatura cuenta con un transductor


(convertidor de seal anloga en seal elctrica), que para
nuestro caso vamos solamente a emular el mismo mediante un
potencimetro para variar el voltaje asumiendo un cambio en
la seal anloga. Este voltaje va a variar entre 0 y 5V.
Una vez que obtenemos la seal elctrica, la misma la
introducimos en el ADC para que haga su respectivo
procesamiento y poder obtener a la salida una combinacin
digital (palabra binaria de 8-bits). La configuracin del ADC
se la consigui mediante una combinacin de 1 resistencia de
10k, un condensador de 150pF y dos potencimetros de
5k, segn un esquema que se encontr en el datasheet del
ADC0804.

La funcin de uno de los potencimetros es de regular el


voltaje de referencia para que segn ese voltaje se pueda
calibrar el span y con ello la diferencia de valores mximo y
mnimo; en otras palabras se regula el potencimetro para
poder obtener una salida de acuerdo a nuestras necesidades y
segn como queramos que vare nuestro vector de 8-bits.
La funcin del otro potencimetro es hacer de transductor,
con este conseguimos variar el voltaje en los terminales de
entrada del comparador del ADC y consecuentemente variar
los bits de salida.
Otra parte de nuestro sistema es el de visualizacin el
mismo que lo implementamos gracias al FPGA y sus puertos
E/S GPIO. No pudimos implementar la visualizacin ya que
segn investigamos no existen en el mercado decodificadores

begin
process (tempin)
begin
if tempin<"00001010" then
countd<="00000000";
countu<=tempin;
elsif tempin>="00001010" and tempin<"00010100"
then
countd<="00000001";
countu<=tempin-10;
elsif tempin>="00010100" and tempin<"00011110"
then
countd<="00000010";
countu<=tempin-20;
elsif tempin>="00011110" and tempin<"00101000"
then
countd<="00000011";
countu<=tempin-30;
elsif tempin>="00101000" and tempin<"00110010"
then
countd<="00000100";
countu<=tempin-40;
elsif tempin>="00110010" and tempin<"00111100"
then
countd<="00000101";
countu<=tempin-50;
elsif tempin>="00111100" and tempin<"01000110"
then
countd<="00000110";
countu<=tempin-60;
elsif tempin>="01000110" and tempin<"01010000"
then
countd<="00000111";
countu<=tempin-70;

3
elsif tempin>="01010000" and tempin<"01011010"
then
countd<="00001000";
countu<=tempin-80;
elsif tempin>="01011010" and tempin<"01100100"
then
countd<="00001001";
countu<=tempin-90;
end if;
end process;
a1 <= unidades(0);
b1 <= unidades(1);
c1 <= unidades(2);
d1 <= unidades(3);
e1 <= unidades(4);
f1 <= unidades(5);
g1 <= unidades(6);
a2 <= decenas(0);
b2 <= decenas(1);
c2 <= decenas(2);
d2 <= decenas(3);
e2 <= decenas(4);
f2 <= decenas(5);
g2 <= decenas(6);

Fig. 2. Asignacin de Pines para el sistema digital en FPGA.

with countu Select


unidades<= "1000000" when "00000000",
"1111001" when "00000001",
"0100100" when "00000010",
"0110000" when "00000011",
"0011001" when "00000100",
"0010010" when "00000101",
"0000010" when "00000110",
"1111000" when "00000111",
"0000000" when "00001000",
"0010000" when "00001001",
"0010000" when others;
with countd Select
decenas<= "1000000" when "00000000",
"1111001" when "00000001",
"0100100" when "00000010",
"0110000" when "00000011",
"0011001" when "00000100",
"0010010" when "00000101",
"0000010" when "00000110",
"1111000" when "00000111",
"0000000" when "00001000",
"0010000" when "00001001",
"0010000" when others;
end vhdl;

Fig. 3. Esquema fsico del ADC.

Fig. 4. Funcionamiento de la parte de visualizacin en FPGA.

3.

Descripcin
de
implementacin

las

dificultades

en

la

En cuanto a la circuitera no se tuvo dificultades ya que se


sigui esquemas que vienen por defecto para el convertidor

4
analgico a digital pero si se tuvo problemas con la
programacin VHDL ya que no se pudo convertir a decimal
los bits que entraban al FPGA entonces se procedi a realizar
la manipulacin con un vector de 8-bits. Para simplificar el
procesamiento de estos bits nosotros truncamos a la
visualizacin en el estado 99 ya que al tratarse de nmeros
binarios de 8-bits no encontramos la forma de lograr una
funcin lgica para relacionar los 256 estados con la mxima
temperatura de 99. Segn esto nuestro mximo voltaje para 99
era de 2V y despus de esto se mantiene en 99 siempre.

4.

Precisin de diseo

Segn lo que logramos ver y manipular, nuestro diseo basado


en esquemas y cdigos simples tiene una precisin bastante
buena, al variar el potencimetro con un paso moderado
obtuvimos todos los valores desde el cero hasta el 99 en de 0
a 2V respectivamente, lo que nos indica que consta de un alto
grado de precisin ya que cada estado tiene un valor de 0.02V.

VI. BIBLIOGRAFA
[1] R. J. Tocci, Neal S. Widmer., and Gregory L. Moss.,
Sistemas digitales. Principios y aplicaciones, 10th ed. Mxico,
2007.
[2] N. S. Widmer, Sistemas digitales: principios y
aplicaciones. Pearson Educacin, 2003.

VII. CONCLUSIONES
Los circuitos de conversin analgico a digital permiten
ampliar el campo de aplicacin de la electrnica digital, ya
que las variables fsicas tienen un comportamiento
analgico y no digital, por tanto para el procesamiento de
una variable fsica es necesario que la misma sea traducida
a un equivalente digital que pueda ser manejado por los
distintos circuitos digitales.
Uno de los parmetros ms importantes a tener en
consideracin en un ADC es su resolucin, ya que para
ciertas aplicaciones puede requerirse una gran precisin, la
cual aumenta conforme lo hace la resolucin, para este fin
se puede aprovechar el ajuste del span, en caso de que sea
conocido que los valores de entrada se encuentran en un
rango definido, ya que si se toma la escala completa es
posible que pequeos cambios en la variable de entrada no
sean detectados provocando inconvenientes en el sistema.
Se recomienda tener cuidado al realizar las
configuraciones del circuito, por ejemplo en el valor de
Vref/2 o la seal de entrada en el pin WR, ya que de no
estar calibrados correctamente el circuito no funciona
correctamente.

VIII. RECOMENDACIONES
Se recomienda verificar el circuito antes de energizarlo
para poder prever un posible cortocircuito, dao de
materiales o posibles valores errneos en la prctica.
Se recomienda hacer las prcticas con calma para
disminuir los problemas que se pueden producir durante la
misma.
Se recomienda disponer de un esquema de distribucin de
pines para facilitar el armado y posibles fallas.
Para programar en VHDL, se recomienda ver ejemplos
realizados para empezar el cdigo basndose en los
mismos.
Se recomienda tener facilidad al manual de usuario para
poder configurar los puertos de E/S de la FPGA.

Potrebbero piacerti anche