Adquisición de datos; Respuesta de circuitos con tres elementos pasivos
1. Objetivos
Generales:
El objetivo de
este proyecto es
reforzar los conceptos teóricos de la respuesta de
circuitos con elementos pasivos. Esto se realizará de
forma gráfica utilizando como herramientas
un circuito de adquisición y conversión de datos y
un software de
PC.
Fundamentalmente el fin del proyecto es didáctico
ya que difícilmente se puede visualizar el comportamiento
de estos elementos.
2. Objetivos Específicos:
- Corroborar los conocimientos del comportamiento de
los elementos y su combinación en circuitos. - Utilizar técnicas
de programación en
Labview. - Aprender a controlar el Puerto Paralelo
- Aprender a manipular Conversor Analógico
Digital de 8 bit. - Aprender a diseñar un circuito que cumpla con
los objetivos propuestos.
3. Desarrollo:
- 2 Capacitores Electrolíticos
de 0.1μF 16V. - 1 Capacitor de 150 pF.
- 1 Resistor de 10KΩ
- 1 Micro switch
- 1 Conversor A/D ADC0804LCN
- Conectores Macho/Hembra 90°
- 1 Transistor
BC546A - 1 Relé JZC-32F
- 1 Regulador de Tensión 78L05
Un conversor analógico/digital convierte
magnitudes analógicas en datos binarios (0 y 1). En este
caso, la magnitud es la tensión sobre uno de los elementos
que se quiere examinar.
El ADC0804LCN de National Semiconductores
es capaz de convertir una muestra de 0V a
5V, a un valor binario
de 8 bits. Para conocer la resolución o presición
que tendremos en la lectura
tenemos que saber el valor máximo de medición y el tamaño máximo
de salida en bits.
Esto se entiende de la siguiente manera. El conversor es
capaz de producir 256 combinaciones de valores en
datos binarios. Si a la entrada tenemos como restricción
5V de señal analógica, en la conversión
vamos a tener saltos discretos cada 19.5mV como muestra la
siguiente tabla:
Tension | Valor Binario | Decimal |
0,01953 | 00000000 | 0 |
0,03906 | 00000001 | 1 |
0,05859 | 00000010 | 2 |
0,07813 | 00000011 | 3 |
0,09766 | 00000100 | 4 |
. . . | . . . | . . . |
4,94141 | 11111100 | 252 |
4,96094 | 11111101 | 253 |
4,98047 | 11111110 | 254 |
5,00000 | 11111111 | 255 |
La disposición de los pines en el conversor se
muestra en el gráfico:
Figura 1
Este conversor utiliza el método de
aproximaciones sucesivas y contiene un valor fijo en el tiempo de
conversión. Simplificadamente lo que hace es verificar
qué bit necesita en alto ( 1 ) para mostrar el valor
binario de la magnitud analógica en la entrada. Comienza
desde el bit más significativo para luego continuar con
los 7 restantes y así dejar en nivel alto el bit
correspondiente. Por esta razón el tiempo de
conversión es siempre el mismo y esta dado por una
configuración R C en la entrada de reloj.
Los pines presentan las funciones que se
detallan a continuación:
Vcc: voltaje positivo de alimentación
AGND: tierra del
sistema
análogo
DGND: tierra del sistema digital
Vin(+): terminal positivo del voltaje de entrada
Vin(-): terminal negativo del voltaje de entrada
DB7-DB0: salidas de la conversión digital
CLKin: entrada de reloj
CLKr: salida del reloj cuya frecuencia depende de un
resistor y un capacitor externos
CS: chip select, para que el ACD0804 funciones debe estar
en low
RD: cuando este pin esta en low, las salidas tristate
están activas y se puede leer el dato
WR: cuando va a low, el proceso de
conversión se inicia
INTR: genera una interrupción de nivel low cuando
finaliza el proceso de conversión
Vref/2: este pin debe ser alimentado con la mitad del
rango de voltaje analógico máximo que va a recibir
el ADC0804 por el pin Vin(+). Ejemplo: para un rango de entrada
entre 0,5v y 3,5v el valor de Vref/2 será igual a: (3,5
– 0,5 )/2 o sea 1,5v
El manual de datos
del conversor se encuentra anexado al final del presente informe.
El puerto
paralelo de una típica PC utiliza un conector hembra
de tipo D de 25 patas (DB-25 S), éste es el caso
más común, sin embargo es conveniente mencionar los
tres tipos de conectores definidos por el estándar IEEE
1284, el primero, llamado 1284 tipo A es un conector
hembra de 25 patitas de tipo D, es decir, el que mencionamos al
principio. El orden de las patitas del conector es
éste:
CONECTOR DEL PUERTO
PARALELO
Figura 2
Patita | E/S | Polaridad | Descripción |
1 | Salida | 0 | Strobe |
2 ~ 9 | E/S | – | Líneas de datos |
10 | Entrada | 0 | Línea acknowledge |
11 | Entrada | 0 | Línea busy |
12 | Entrada | 1 | Línea Falta de papel |
13 | Entrada | 1 | Línea Select |
14 | Salida | 0 | Línea Autofeed |
15 | Entrada | 0 | Línea Error |
16 | Salida | 0 | Línea Init |
17 | Salida | 0 | Línea Select input |
18 ~ 25 | – | – | Tierra |
El estándar 1284 proporciona una comunicación bidireccional de alta velocidad
entre un PC y un periférico externo, estableciendo una
comunicación entre 50 y 100 veces más rápida
que el original puerto paralelo. Por supuesto es totalmente
compatible con todos los periféricos existentes para puertos
paralelos.
Este estándar define 5 modos de transferencia de
datos. Cada modo proporciona un método de transferencia de
datos hacia el exterior (PC a periférico), hacia el
interior (periférico a PC) o bidireccional
(dúplex).
Los modos definidos son:
- Sólo hacia el exterior: modo de
compatibilidad "centronics" o modo
estándar. - Sólo hacia el interior:
- Modo nibble, 4 bits a un tiempo empleando las
líneas de estado
para datos. - Modo byte, 8 bits a un tiempo empleando
líneas de datos, a veces referido como puerto
bidireccional. Este modo sólo lo soportan los
ordenadores de IBM (PS/2). - Bidireccional:
- EPP (Enhaced Parallel Port), empleado por
periféricos como CD-ROM,
cintas, discos
duros, adaptadores de red, etc. - ECP (Extended Capability Port), empleado por la
nueva generación de impresoras
y scanners.
Todos los puertos paralelos pueden implementar un enlace
bidireccional empleando los modos "compatible" y "nibble" para
transferencia de datos.
En el presente proyecto, hacemos uso del Puerto de
Datos, que son conectados con los ocho pines de salida del
conversor en forma binaria. Para lograr esto debemos configurar
al puerto paralelo en modo EPP para que funcione de manera
bidireccional y podamos ingresar información a los ocho pines del Puerto de
Datos. En caso contrario si estuviera en modo SPP (Simple
Parallel Port) sería imposible hacerlo ya que el Puerto de
Datos es utilizado solo para enviar información desde la
PC. Cabe recordar que el puerto paralelo fue creado
exclusivamente como puerto de impresora, donde solo se necesitaba
enviar información del archivo por
imprimir, y otros pines como entrada para recibir el estado de
funcionamiento de la impresora. Tiempo después la se le
agregaron funciones o mejor dicho modos de trabajo que
permiten la transmisión bidireccional, de la cual hacemos
uso ahora.
También utilizamos el pin 1, que pertenece al
Puerto de Control. En el podemos escribir datos y lo
manipulamos para mandar a la saturación o al corte un
transistor que sirve como llave de accionamiento para el
relé.
LabVIEW es un ambiente de
desarrollo de programas, el
cual usa un lenguaje de
programación gráfico, denominado G, para
crear diagramas en
forma de bloques.
LabVIEW, como los programas C o BASIC, es un sistema
de programación de propósito general con
librerías extendidas de funciones para cualquier tarea
de programación. LabVIEW incluye librerías para
adquisición de datos, GPIB (Bus de
Interfase para Propósitos Generales) y control de
instrumentos seriales, análisis, presentación y almacenamiento de datos. LabVIEW también
incluye herramientas convencionales de programación, de
tal forma que se puedan colocar puntos de interrupción,
animar la ejecución y ver como pasan los datos a
través del programa lo que
hace de él un programa fácil de depurar y
manejar.
Se desarrollo un programa que cumpla con los objetivos
propuestos. Principalmente posee un visor similar al de un
osciloscopio
donde se grafican los datos obtenidos del conversor por el puerto
paralelo. El programa fue inicialmente creado para evaluar
circuitos con dos elementos, por ejemplo RC. Por eso es que el
titulo muestra Circuito de Carga.
Aquí se muestra una imagen del
programa y su descripción:
Figura 3
- ON: En realidad lo primero que hace el
programa al presionar el botón ON, es enviar
señal al pin 1 del puerto paralelo, que como explicamos
lo que hace es activar el relé, que a su vez éste
sirve como llave del circuito que queremos analizar. Una vez
hecho esto el programa comienza a capturar datos y graficarlos
en el cuadro 9. - STOP: Termina la ejecución del programa
cuando consideremos finalizada la prueba. Todos los datos
quedaran guardados sin borrarse de la pantalla. - Bits de lectura: En esta ventana se visualiza
el valor numérico binario de la señal de entrada
recibida desde el puerto paralelo. - Valor Decimal: Permite ver el valor decimal de
la señal de entrada. Como se vio, este valor va desde 0
(para tensiones de 0 a 19,5mV) hasta 255 (para tensiones desde
4.98 a 5V) - Tensión: Simula un voltímetro
analógico de aguja. Y muestra en tiempo real el valor de
tensión que se encuentra sobre el elemento a prueba. El
valor decimal de entrada es divido (por el programa) por 19.5mV
para conocer el valor de tensión. - Bits en Alto: Es un array de leds, que muestra
los pesos de cada posición de bit. Se encenderá
el bit que esté en alto (high). - Constante de tiempo obtenida: Indica la
constante de tiempo del circuito evaluado. Como se sabe que el
circuito de prueba siempre va a estar alimentado por 5V, la
constante de tiempo es el tiempo transcurrido hasta llegar al
63% de la tensión de alimentación, es
decir 3,15V lo que equivale al valor decimal 161 del conversor.
Entonces el programa lo que hace es una condición por
cada ciclo de adquisición. Si el valor de señal
adquirida es igual a 161 escribirá en la ventana de
Constante de Tiempo, el tiempo transcurrido hasta que se
cumplió la condición. - 10%-90%: Indica el tiempo transcurrido hasta
llegar al 10% y al 90% del valor de la señal. La
diferencia de estos dos valores nos indica el Tiempo de
establecimiento. Los valores
son adquiridos de la misma manera que el caso
anterior. - Tensión en función
del Tiempo: Aquí se grafican los datos adquiridos y
es posible conocer la forma de respuesta del circuito a
prueba. - Tabla de Valores: Esta tabla se llena a medida
que el programa adquiere datos. Se refresca por cada 1ms. Y
muestra el valor de tensión en cada instante de
tiempo.
Figura 4
Esta imagen es el resultado de obtener la
respuesta de un capacitor de un circuito RC serie de valores
10KΩ y 1000μF.
El diagrama de
bloques para el funcionamiento del programa es el de la
figura:
Figura 5
- Crea la condición de que si el botón ON
esta en valor Trae (verdadero) comienza la ejecución del
cuadro. - Indica el Puerto de donde serán tomados los
datos entrantes (Puerto 888 Puerto de Datos), y el valor que
será escrito en el Puerto de Control (Puerto
888+2). - Son las ventanas para mostrar el valor decimal y
binario recibido desde el puerto. - Muestra el valor recibido mediante un array de leds
que indica el bit en high. - Comparación para determinar la constante de
tiempo y el 10% y 90% de la señal. - Numero de veces que se realizo el ciclo de
ejecución completo. - El número de ejecuciones realizada
multiplicado por 0.1 es el tiempo transcurrido en
décimas de segundo. - Metrónomo que indica la velocidad del ciclo de
ejecución en 100ms. - Voltímetro analógico del valor de
tensión obtenido. - Aquí se juntan todas las señales que se grafican en el ventana 9
del programa. - Se unen los valores de tiempo y de tensión
para confeccionar la tabla. - Botón de parada.
La ejecución del programa se realiza de izquierda
a derecha del diagrama de bloques. Se toma el valor de la
señal de entrada se lo convierte y muestra en los display
mencionados. Compara la señal con los valores propuestos
para verificar si se llego a la constante de tiempo o a el
10%-90%. La señal de entrada se multiplica por la
resolución del conversor (19.5mV) para mostrar el valor de
tensión. Y se muestra en las distintas ventas o
gráfico como se comentó. Finalizado el ciclo
completo vuelve a comenzar para obtener un nuevo valor de entrada
y realizar el procedimiento
descrito.
Este es el circuito diseñado para cumplir la
función de conversión-adquisición de
datos:
Figura 6
La alimentación es de 9V de corriente continua,
la cual es reducida a 5V por el regulador 78L05, para alimentar
el conversor. El relé se alimenta con los 9V de la
fuente.
Como se explico en el inciso acerca del conversor, se
elige la frecuencia de conversión mediante la
asociación de resistores y capacitares. En este caso (y
según datos del manual) se utilizaron valores de
10KΩ y 150pF respectivamente que indican un tiempo de
conversión de 100μs. Es decir convierte 10000 valores
por segundo; esto da una gran cantidad de valores para tener
prácticamente en tiempo real los valores
instantáneos de tensión.
Los pin 1 y 2 están a masa, o en estado low
(bajo), y como indica el fabricante es necesario que así
sea para habilitar el funcionamiento del conversor y para
poder leer los
datos en su salida.
Para comenzar el proceso de conversión se debe
poner el pin 3 en low mediante el micro switch S1
momentáneamente. El pin 6 se colocará en el
terminal positivo del elemento bajo ensayo y el
pin 7 en el terminal negativo con el conector J1. De esta manera
esta en condiciones de comenzar a trabajar.
Los ocho pines de salida (11-18) se conectan
directamente al Puerto de datos del puerto paralelo (pines del
2-9) para ingresar el byte de información obtenido desde
el conversor a través del conector J5. A su vez en el
mismo conector se encuentra el pin del Puerto de control del
puerto paralelo, que cuando se le da inicio al programa
éste satura al transistor y enciende el rele, el que a su
vez cierra el circuito bajo prueba por medio del conector J4. Se
decidió hacerlo de esta manera para que
automáticamente al comenzar la ejecución del
programa se cierre el circuito de ensayo.
Como proyecto cumplió con la mayoría de
las expectativas propuestas. No se puedo concretar probar el
circuito con circuitos RLC para poder visualizar respuestas
acordes a la teoría,
pero esto sucedió debido a que es difícil conseguir
inductores con ciertas características o capacitares de
gran capacidad que posibiliten una respuesta por ejemplo senoidal
amortiguada por un resistor. A pesar de este inconveniente el
proyecto dio sus frutos. Sirvió para conocer distintos
temas acerca de la electrónica en general, tales como el
diseño
de circuitos, la búsqueda y utilización de circuitos
integrados que cumplan con el propósito. La
programación en un entorno grafico con muchas
posibilidades de optimización.
En fin, se cumplieron los objetivos fundamentales del
aprendizaje y
de la realización de un proyecto hasta su etapa final con
buenos resultados didácticos y teóricos.
Datos del autor:
Alejandro Ariel Terrado
Estudiante de Ingeniería Electrónica
Río Grande – Tierra del Fuego –
Argentina