Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
PLATAFORMA PARA LA ADQUISICIÓN Y PROCESADO DE SEÑALES DE BAJO COSTE CON INSTRUMENTACIÓN VIRTUAL
I.J. OLEAGORDIA
1
, R. URRETABIZKAYA2
, JJ. SAMARTIN3
1Departamento de Tecnología Electrónica. E.U.I.T.I. de Bilbao Universidad del País Vasco
UPV/EHU. España. 2Departamento de Tecnología Electrónica. E.U.I.T.I. de Bilbao Universidad del País Vasco
UPV/EHU. España. 3Departamento de Ingeniería Eléctrica. E.U.I.T.I. de Eibar Universidad del País Vasco
UPV/EHU. España.
En conjunto la plataforma desarrollada consta de dos módulos: uno software que transforma el PC en un instrumento virtual que conectado vía serie RS232 al otro módulo hardware, consistente en una tarjeta de adquisición, permite la adquisición, monitorización y procesado de señales analógicas (máximo 8) y 22 digitales como máximo. Es posible modificar la frecuencia de muestreo hasta un máximo de 8 KHz empleando un solo canal. Por la arquitectura hardware de la tarjeta el método de adquisición es el de Round-Robin. Las señales captadas pueden almacenarse en fichero. Esta alternativa posibilita la monitorización y procesado cuantas veces desee el usuario. El procesado analógico puede realizarse tanto en el dominio del tiempo como de la frecuencia (FFT, Espectro de Potencia, etc).Para la realización de la tarjeta de adquisición se ha empleado el μC T89C51AC2, el software se ha desarrollado con IDE Keil μ-Visión2, para programar el μC, ISP e IAP, el programa Flip 1.8.8. Para implementar el instrumento virtual el entorno LabVIEW 7.0.
1. Introducción En cualquier proceso industrial se monitorizan y controlan una serie de variables que determinan la
operatividad de todo el sistema. Desde la perspectiva didáctica, a nivel universitario, es necesario disponer de entornos de aprendizaje donde se pueda comprobar la funcionalidad de pequeños sistemas que complementados con entornos de simulación ofrezcan una aproximación al mundo real y en los que se pueda llevar a cabo una estrategia de probada eficacia como es la de aprender haciendo tanto en el uso como diseño e implementación del entorno. Con estos propósitos se aborda este trabajo donde además de la propia plataforma se ha implementado diversa instrumentación adicional como generadores de señal analógicos y digitales, placas con transductores y sus circuitos acondicionadores, etc. Esta plataforma está formado por las siguientes unidades básicas:
Dos subsistemas hardware. Una que se encargará del tratamiento y acondicionamiento de las señales a medir para ajustarlas a los requerimientos de tensión del conversor AD del microcontrolador así como de los generadores de funciones y circuitería adicional. Otra parte basada en un microcontrolador que hace de interfase entre los circuitos analógicos y digitales, y que vía serie se conecta al instrumento virtual implementado en el PC. La transmisión es bidireccional ya que la tarjeta envía al PC la señales analógicas y digitales y el PC envía señales de control, por ejemplo para controlar la operatividad el generador de funciones basado en el XR2206.
Dos módulos software. Uno de ellos será el propio programa que almacenado en el microcontrolador y que contendrá el programa monitor con los algoritmos pertinentes para el correcto funcionamiento según los requerimientos funcionales. El otra módulo es el propio instrumento virtual
desarrollado en el entorno LABVIEW en el cual reside toda la capacidad de control, monitorizado y procesado de las señales. En la figura 1 se muestra un diagrama en bloques del sistema.
Fig. 1. Estructura general del entorno
2. Especificaciones del sistema
Las característica funcionales más definitorias de la plataforma son:
Adquisición de hasta un máximo de 8 señales analógicas unipolares para el sistema de adquisición y comprendidas entre 0 y 3v con un ancho de banda de 250 Hz por canal.
Posibilidad de adquisición de hasta 2 señales analógicas bipolares , comprendidas entre 0 y +-15v.
Aplicación de elementos de protección para que las entradas analógicas del microcontrolador (0 a
+3V) queden limitadas y evitar su posible deterioro. Máximo aprovechamiento del puerto serie. El puerto serie del ordenador será una de las mayores
limitaciones que nos vamos a encontrar con respecto a la velocidad de transmisión de la información (muestras), y que realmente va a determinar la potencia del sistema. En este sentido se ha diseñado el sistema para que únicamente se mande la información útil solicitada. Es decir, si se programa la adquisición de unos canales concretos , sean las muestras de estos canales las que se transmitan sin dejar información vacía de los canales no solicitados.
Flexibilidad respecto a su configuración. El rango de trabajo de recepción de los datos dependerá
fundamentalmente de los siguientes aspectos : o numero de canales solicitados. o tiempo destinado a la conversión analógico a digital. o velocidad de transmisión del puerto serie . o numero de instrucciones realizadas por el microcontrolador para el proceso.
En este contexto se ha querido dotar de cierta flexibilidad combinando: la elección del tiempo de conversión (valor ADCLK en el microcontrolador ) y la velocidad de transmisión por el puerto serie ( 57600 o 115200 baudios) .
Elección entre dos formas de adquisición : o Adquisición continua. o Adquisición de un numero de muestras determinado (desde 1 a 65536 muestras).
Posibilidad de archivar en fichero las muestras recibidas, para su posterior tratamiento bajo una
aplicación externa. Así mismo existe la posibilidad de adquirir datos a través de la tarjeta del microcontrolador (hardware) o a través de un fichero (software) con información adquirida de experimentos anteriores.
Alternativa en que el disparo (trigger) de la adquisición de los datos se realice bien desde el propio instrumento virtual o bien bajo la aparición de un evento (flanco o nivel) producido exteriormente.
Posibilidad de elección de un modo de funcionamiento para poder tratar señales de una cierta
frecuencia. El desarrollo de este punto es lo que realmente va a dar potencia al sistema al poder medir señales de hasta 8 kHz. Para ello nos apoyaremos en una memoria XRAM que dispone el microcontrolador, y de un modo de trabajo en el que con las mínimas instrucciones posibles tengamos la posibilidad de adquirir por un solo canal hasta 1024 muestras lo mas rápido posible para que luego finalmente sean transmitidas por el puerto serie a la velocidad requerida.
Posibilidad de realizar operaciones matemáticas con las señales adquiridas en tiempo real,.
Distinta alternativas de aplicar a las señales capturadas filtrado digital FIR o IIR (Butterworth, Chebyshev,
Bessel,..) así como de las topologías paso bajo, paso alto, paso banda y rechazo de banda, y la posibilidad de especificar las características de filtraje como: atenuación, rizado, orden, etc.
Posibilidad de visualizar las distintas señales adquiridas, así como las señales procesadas, con un
alto grado de exactitud respecto a amplitud y periodo de las mismas de forma muy similar a como se representarían en un osciloscopio o analizador lógico.
Representación de las señales tanto en el dominio del tiempo como en el dominio de la frecuencia
de forma similar a un analizador de espectros de bajo coste. Presentar un entorno de aplicación útil y de uso sencillo e intuitivo, de forma que cualquier usuario
no encuentre dificultades a la hora de operar con el sistema.
Desde el instrumento virtual se envían 6 palabras con todos los parámetros de configuración del sistema :modo adquisición, numero de muestras, mascara con canales solicitados, modo ejecución X2, y disparo (trigger). Una vez recibida esta información el microcontrolador ejecutará las instrucciones de las funciones que correspondan para transmitir las muestras con el modo de funcionamiento programado. En la figura 2 se muestra, de una forma resumida la operatividad del sistema. La primera tarea a realizar es la configuración del puerto serie. Puesto que los datos pueden adquirirse en tiempo real desde el puesto serie o procedentes de un experimento anterior almacenados en un fichero, la siguiente acción a realizar es determinar la procedencia de los datos. Una vez configurado el sistema la funcionalidad del mismo es intuitiva.
3. Tarjeta de control del sistema.
La tarjeta de adquisición y control, con todos sus circuitos auxiliares, se encarga de la captura, el control y la visualización de las variables que se desean controlar. El microcontrolador empleado es el T89C51AC2, de Atmel. Dispone de 32Kbytes de memoria FLASH de código, 128 bytes de memoria RAM interna y 1Kbyte de memoria RAM externa, la posibilidad de emplear sólo 6 ciclos pulsos de reloj por ciclo de máquina y un hardware muy completo y variado, entre los que se incluye un convertidor analógico-digital por aproximaciones sucesivas de 10 bits multiplexado, módulos PWM y contadores - temporizadores. El microcontrolador realiza todas las funciones de control de la tarjeta
mediante el empleo de sus interrupciones y módulos hardware. En la figura 3 se muestra el esquema hardware de la tarjeta.
Fig. 2. Esquema operativo del sistema
Fig.3. Esquema hardware de la tarjeta
4. Instrumento virtual.
El panel frontal del instrumento virtual, figura 4, es la interfase de usuario y está dividido en siete secciones cada una de ellas con una funcionalidad específica..
Fig.4. Interfase de usuario
R1220
R28k2
C1+1
VS+2
C1-3
C2+4
C2-5
VS-6
T2OUT7
R2IN8
VCC 16
GND 15
T1OUT 14
R1IN 13
R1OUT 12
T1IN 11
T2IN 10
R2OUT9
U2
MAX232
RESET
12345678910
JP1
PUERTO 0
123456789
10
JP2
PUERTO 1
123456789
10
JP3
PUERTO 3
12345678910
JP4
PUERTO 2
GNDVCC_5
GND
VCC_3.3GND
GND
VCC_5GND
C31u
VCC_5
C41u
C51u
C61u
C71u
C810u
1
2U30
VAGND1
VAREF2
P1.0/AN0/T23
P1.1AN1/T2EX4
P1.2/AN2/ECI5
P1.3/AN3/CEX06
P1.4/AN4/CEX17
P1.5/AN5/CEX28
P1.6/AN6/CEX39
P1.7/AN7/CEX410
EA11
P3.0/RxD12
P3.1/TxD13
P3.2/INT014
P3.3/INT115
P3.4/T016
P3.5/T117
P3.6/WR18
P3.7/RD19
P4.020
P4.121
P2.7/A1522 P2.6/A14 23P2.5/A13 24P2.4/A12 25P2.3/A11 26P2.2/A10 27P2.1/A9 28P2.0/A8 29P0.0/AD0 30P0.1/AD1 31P0.2/AD2 32P0.3/AD3 33P0.4/AD4 34P0.5/AD5 35P0.6/AD636P0.7/AD737PSEN38ALEN39XTAL2 40XTAL1 41VCC 42VSS 43RESET 44
U4
T89C51AC2
VCC_5
VCC_5
GND
123
JP5
HEADER 3
VCC_5VCC_5GNDVCC_3.3
1 2 3
SW1SW_SL_SPDT
VCC_5GND
GNDVCC_5 VCC_5
GND
Y1
CRYSTAL
C1
22p
C2
22p
GND
GND
VCC_5
VCC_5
GND
594837261
P1
CONNECTOR DB9VCC_5GND
RESET
En esta pantalla también se procede a configurar los parámetros de operación del entorno hardware y software. 4.1. Señales analógicas
La pestaña Señales Analógicas se encarga de mostrar en pantalla hasta un máximo de 8 señales analógicas capturadas a través de la tarjeta de adquisición de datos con un ancho de banda de 250Hz.. La adquisición se basa en el método Round-Robin. Así mismo proporciona la posibilidad de configurar los canales que deseamos. Se incorpora también la opción de establecer límites inferiores o superiores, a partir de los cuales se muestre en pantalla si la señal sobrepasa esos valores. También es posible realizar operaciones matemáticas de suma, resta, multiplicación y división entre las señales capturadas. En la gráfica de la figura 4 se muestran diversas señales adquiridas.
4.2. Señales digitales.
Esta sección muestra las señales digitales capturadas a través de la tarjeta de adquisición de datos o almacenadas en un fichero. Como máximo se pueden representa hasta 22 señales. Operativamente se comporta como un analizador lógico de bajo coste. Figura 5
Fig.5. Señales digitales capturadas
4.3. Enviar señales.
El entorno permita la posibilidad de enviar señales digitales a través de la tarjeta de adquisición de datos. Una aplicación inmediata de esta posibilidad es el análisis funcional de un circuito digital.
4.4. Generador de ondas.
En esta sección se generan las señales de control que operan sobre el generador de señales implementado sobre el CI XR2206 seleccionando el tipo de señales y su rango de frecuencia. Así mismo es posible generar señales senoidales, cuadradas y triangulares vía software. En este caso como CDA se emplean los canales PWM del microcontrolador.
4.5. Análisis espectral. El análisis espectral permite estudiar y representar las señales en el dominio de la frecuencia. EL elemento
básico de esta sección es la FFT. Para realizar el correspondiente procesado el usuario dispone de la posibilidad de emplear distintas ventanas tales como: Hanning, Hamming, Blackman-Harris, Exact Blackman, Blackman, Flat Top,4 Term B-Harris, 7 Term B-Harris y Low Sidelob .En la figura 6 se muestra una señal triangular representada tanto en el dominio del tiempo como en el de la frecuencia. Dentro del análisis frecuencial además de calcular y representar los armónicos se puede determinar el Espectro de Potencia de una señal.
Fig.6. Análisis espectral
El diseño de la aplicación se ha realizado con un método “top-down” ya que es el más adecuado a las
características de LabVIEW puesto que el lenguaje G puede enmarcarse dentro de los lenguajes procedurales además de ser un lenguaje concurrente. Entendiendo que un método estructurado “top-down” se basa en la subdivisión de programas complejos en subprogramas sencillos, con esta técnica cualquier aplicación por compleja que resulte se estructura en un árbol jerárquico de procedimientos sencillos que en LabVIEW se implementan mediante subVIs. En la figura 7 un subVI empleado en el análisis espectral.
Fig.7. SubVI empleado en el Análisis espectral.
4.5. Filtros Digitales En el filtrado digital se puede realizar tanto mediante la topologías FIR e IIR. Entre los tipos de
filtro IIR más representativos son: Butterworth:, Chebyshev:, Inverse Chebyshev:, Eliptico y Besse. En esta sección además de comprobarse la acción del filtrado es posible estudiar y conocer las características operativas mas notables del filtro elegido, figura 8. En esta sección también se pueden elegir distintos tipos de ventanas como en el Análisis Espectral.
Fig.8. Filtrado digital
4.6. Valores estadísticos Mediante la pestaña Valores Estadísticos se accede al cálculo y representación de distintos valores
estadísticos de las señales que son capturadas por la tarjeta de adquisición de datos o leídas desde un fichero. Los valores estadísticos de cada canal son: Media, Varianza, Desviación, Máximo y Mínimo 5. Ampliación.
Como ampliación y actualización del entorno se ha optado por el controlador USBN9603, que es un nodo de control USB compatible con las versiones 1.0 y 1.1. El dispositivo incluye soporte DMA, un regulador de 3.3 V, Serial Interface Engine (SIE), modo de funcionamiento paralelo de 8 bits, un generador de reloj y comunicación MICROWIRE/PLUS. Incluye también 7 Endpoints (EP) FIFOs, una de ellas bidireccional de 8 bytes como Endpoint de control y las demás de 64 bytes para la transmisión y recepción. La comunicación de 8 bits paralela soporta tanto Multiplexed Mode como Non-Multiplexed Mode para la comunicación con el microcontrolador. La comunicación MICROWIRE/PLUS permite adaptar la CPU sin buses de direcciones y de datos externos. Una salida de interrupción programable permite adaptarse a diferentes tipos de requerimientos de las señales de interrupción. Utiliza un circuito oscilador con un cristal de 24 MHz, consiguiéndose un reloj interno de 48 MHz. En la figura 9 se muestra el esquema hardware propuesto.
Fig.9 Esquema de la tarjeta con USB
En este contexto otra alternativa es la adaptación RS232 a USB mediante el CI FT232BM. Este CI
operativamente consta de dos secciones, una RS232 y otra USB de forma que se puede sustituir el MAX232 de la figura 2 por el FT232BM, figura 10.
12345
JP1
Conexiones Microcontrolador
TxDRxD
RTS#CTS#
POWERDN#
0VCC_5
C4 33n
0RSOUT
USBDPUSBDM
1 2FB1
TOROIDAL DE FERRITA
R2 27
R3 27
USBDM C510n
VCC_5
EESK1
EEDATA2
VCC13
RESET#4
RSOUT5
3V3OUT6
USBDP7
USBDM8
GND19
SLEEP#10
RXLED#11
TXLED#12
VCCIO13
PWRCTL14
PWREN#15
TXDEN16
EECS32
TEST31
AVCC30
AGND 29
XTOUT28
XTIN27
VCC226
TXD25
RXD24
RTS#23
CTS#22
DTR#21
DSR#20
DCD#19
RI#18
GND217
U3
FT232BM
TxD
0
RxDRTS#CTS#
VCC_5
VCC_5
VCC_5
Y16 MHz
C2 27p
R81k5
C1 27p
RSOUT
USBDPUSBDPUSBDPUSBDPUSBDPUSBDPUSBDPUSBDP
0
0
C30,1u
R1 470
0
VCC_5
0
0
0
GND4
D+3
D-2
VCC1
USB1
Conector USB
Fig.10. Adaptación RS232-USB
CS1RD2WR/SK3
INTR4
DRQ5
DACK6
A0/ALE/SI7
D0/S08
D19
D210
D311
D412
D513
D614
D715
RESET16
V3.318
D+19
D-20
MODE124 MODE025
XIN26
XOUT27
CLKOUT28
U1
USBN9603
VCC_5
VCC_5
VAGND1
VAREF2
P1.0/AN0/T23
P1.1AN1/T2EX4
P1.2/AN2/ECI5
P1.3/AN3/CEX06
P1.4/AN4/CEX17
P1.5/AN5/CEX28
P1.6/AN6/CEX39
P1.7/AN7/CEX410
EA11
P3.0/RxD12
P3.1/TxD13
P3.2/INT014
P3.3/INT115
P3.4/T016
P3.5/T117
P3.6/WR18
P3.7/RD19
P4.020
P4.121
P2.7/A1522
P2.6/A1423P2.5/A1324P2.4/A1225P2.3/A1126P2.2/A1027P2.1/A928P2.0/A829P0.0/AD030P0.1/AD131P0.2/AD232P0.3/AD333P0.4/AD434P0.5/AD535P0.6/AD636P0.7/AD737PSEN38ALEN39XTAL240XTAL141VCC42VSS43RESET44
U2
T89C51AC2
0
VCC_3.3
12345678910
JP2
HEADER 10
0
0
D7D6D5
D3D4
D2
D0D1D2D3D4D5D6D7
Y2CRYSTAL
RST51
X1
0
R110k
VCC_5
R210k
R310k
R410k
X2
R510k
R610k
R710k
VCC_5
X1
R810k
VCC_5
X2
D7D6D5D4D3
PSEN
D2D1
D0
C10
1n
D0
VCC_5
D1
C11
1n
INT
D-
RESET_USB
0
ALEWRRD
RD
VCC_3.3
WR
CS
INT
RESET_USB
R111k
0
D+
0
0
ALE
SW3
SW KEY-Y1011
V3.3
PSENVCC_5
C1+1
VS+2
C1-3
C2+4
C2-5
VS-6
T2OUT7
R2IN8
VCC16
GND15
T1OUT14
R1IN13
R1OUT12
T1IN11
T2IN10
R2OUT9
U3
MAX232
V3.3
CS
TXDRXD
0
RXDTXD
R12220
SW1SW KEY-Y1011
C11u
C21u
R138k2
SW2SW KEY-Y1011
C31u
C4
1uC51u
C910u
VCC_5
C610u
0
VCC_5
D+D-
RST51
0
Y124 MHz
VCC_5
0
VCC_5
C7 22p
C8 22p
0
594837261
P1
CONNECTOR DB9
0
GND4
D+3
D-2
VCC1
USB1
Conector USB
R9 33
123
JP3
HEADER 3
R10 33
123456789
10
JP1
HEADER 10
6. Conclusiones A modo de resumen, el instrumento virtual tiene la siguiente funcionalidad: I) Monitorizar en el
dominio temporal hasta 8 señales analógicas, en este caso el ancho de banda para cada uno de los 8 canales es de 250 Hz. En la adquisición se emplea el método Round-Robin. II) Monitorizar en el dominio del tiempo hasta 22 señales digitales (analizador lógico). III) Generar por software diversas señales analógicas (senoidal, cuadrada, triangular) y señales digitales patrones para test de circuitos. También es posible generar, vía hardware con el CI XR 2206, controlado desde este instrumento virtual, diversas señales analógicas de test y medida IV)Procesado de señales tanto en el dominio del tiempo como en el dominio de la frecuencia (FFT y Espectro de Potencia), V) Operaciones matemáticas y cálculos estadísticos. Toda la información tanto de adquisición como de procesado puede almacenarse en un fichero. A la abundante información gráfica se accede mediante los correspondientes submenús a los que el usuario tiene fácil acceso a través de la correspondiente interfase gráfica.
Se ha diseñado, desarrollado e implementado un entorno de bajo coste donde integrando la funcionalidad de una tarjeta de adquisición basada en un μC y la flexibilidad de la instrumentación virtual se ha logrado crear una aplicación multidisciplinar que permite experimentar sobre una amplia variedad de conceptos teóricos. En este contexto se adopta una estrategia educativa de probada eficacia como es la de aprender haciendo, y un docente debe generar diversas posibilidades de aprendizaje. Aunque dedicado a la docencia, es posible su adecuación al campo industrial por la standarización de su diseño. Este trabajo se ha desarrollado en el marco del proyecto de investigación de la Comunidad Europea dentro del Programa ALFA Nº CRIS 96302, contrato Nº AML/B7-311/97/0666/II-0354-A. Referencias [1] M. Barrón, J. Martínez, Aplicaciones prácticas con el μC-8051.Programación en lenguaje C. ISBN: 84- 699-1512-6. Ed. Artes gráficas Michelena, 1998. [2] J. Essick, Iadvanced LabVIEW Labs, ISBN:0-13-833949-X Ed. Prentice-Hall, S. River USA, 1999. [3] M.L. Chugani, A.R. Samant, and M. Cerna, LabVIEW SignalProcessing, Prentice-Hall, S. River USA, 1998