Adquisición de datos; Respuesta de circuitos con tres elementos pasivos
Enviado por Alejandro Ariel Terrado
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 activa | Descripción |
1 | Salida | 0 | Strobe |
2 ~ 9 | E/S | – | Líneas de datos (bit 0/patita 2, bit 7/patita 9) |
10 | Entrada | 0 | Línea acknowledge (activa cuando el sistema remoto toma datos) |
11 | Entrada | 0 | Línea busy (si está activa, el sistema remoto no acepta datos) |
12 | Entrada | 1 | Línea Falta de papel (si está activa, falta papel en la impresora) |
13 | Entrada | 1 | Línea Select (si está activa, la impresora se ha seleccionado) |
14 | Salida | 0 | Línea Autofeed (si está activa, la impresora inserta una nueva línea por cada retorno de carro) |
15 | Entrada | 0 | Línea Error (si está activa, hay un error en la impresora) |
16 | Salida | 0 | Línea Init (Si se mantiene activa por al menos 50 micro-segundos, ésta señal autoinicializa la impresora) |
17 | Salida | 0 | Línea Select input (Cuando está inactiva, obliga a la impresora a salir de línea) |
18 ~ 25 | – | – | Tierra eléctrica |
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