Professional Documents
Culture Documents
y adquisicin de datos
o
DPTO. DE F
ISICA Y MATEMATICA APLICADA
FACULTAD DE CIENCIAS
UNIVERSIDAD DE NAVARRA
Sistemas de medida
y adquisicin de datos
o
Angel Garcimart Montero
n
Indice general
Introduccin
o
1. Sensores
1.1. Sensores en general. Caracter
sticas . . .
1.2. Medicin de la temperatura . . . . . . .
o
1.2.1. Resistance Temperature Detectors
1.2.2. Termistores . . . . . . . . . . . .
1.2.3. Termopares . . . . . . . . . . . .
1.2.4. Otros mtodos . . . . . . . . . .
e
1.3. Sensores de desplazamiento . . . . . . .
1.4. Transductores de fuerza y de presin . .
o
1.5. Detectores de luz . . . . . . . . . . . . .
1.6. Otros captores . . . . . . . . . . . . . . .
. . . .
. . . .
(RTD)
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
16
17
18
20
23
24
27
29
30
2. Acondicionamiento de la seal
n
2.1. Nociones preliminares . . . . .
2.1.1. Muestreo . . . . . . . .
2.1.2. Preamplicacin . . .
o
2.2. El amplicador operacional .
2.3. Circuitos electrnicos simples
o
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
31
31
33
33
37
.
.
.
.
.
39
39
43
45
46
50
4. Manejo de instrumentos
4.1. Sistemas de instrumentacin programables . . . . . . . . . . . . .
o
4.2. El bus RS-232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
51
53
3. Filtros
3.1. Nociones matemticas .
a
3.2. Funcin de transferencia
o
3.3. Implementacin de ltros
o
3.3.1. Filtros software .
3.3.2. Filtros hardware
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
INDICE GENERAL
II
56
65
Apndices
e
69
A. Programas
A.1. Matlab: puerto RS-232 y IEEE.488
A.2. BASIC . . . . . . . . . . . . . . . .
A.3. H-P Command Library . . . . . . .
A.4. Librer SICL y VISA . . . . . . .
as
69
69
72
74
78
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Introduccin
o
El propsito de estos apuntes es servir de ayuda en los primeros pasos del trao
bajo en el laboratorio. Lo cual consiste, fundamentalmente, en aprender a medir.
Evidentemente, cada experimento tiene sus particularidades; pero en general, la
medicin de una variable de un sistema cualquiera involucra los siguientes eleo
mentos:
- Un sensor que responda a la variable deseada.
- Una etapa electrnica de condicionamiento de la se al.
o
n
- Instrumentacin, para cuanticar la se al.
o
n
- Bus de comunicacin.
o
- Un ordenador que controle los instrumentos y almacene los datos.
Introduccin
o
El siguiente cap
tulo se titula Filtros, porque con ese formalismo pueden describirse los elementos de la cadena de medicin. Y por ultimo se expone el control
o
o a
proporcionan, eso s algunas referencias: [5] [12, 13, 14].
,
Cap
tulo 1
Sensores
El sensor es el primer eslabn del sistema de medida. Con el sensor se pretende
o
obtener una indicacin objetiva acerca de una magnitud f
o
sica. Para ello, el sensor
debe ser un elemento sensible a la magnitud deseada (la entrada) y proporcionar
una salida util, casi siempre elctrica.
e
Se suele reservar el trmino transductor para designar al elemento que cone
vierte un tipo de energ en otro, muchas veces de manera reversible. El sensor,
a
pues, es un tipo especial de transductor que presenta la particularidad de responder a un est
mulo de caracter
sticas f
sicas determinadas. A veces se distingue
entre sensores que dan una salida variable proporcional al est
mulo (captores)
y otros cuya salida pasa de cero al nivel mximo cuando la entrada supera un
a
determinado umbral (detectores). Sin embargo, salvo exigencia de rigor, en lo
sucesivo se emplearn indistintamente los trminos sensor, transductor, captor y
a
e
detector.
1.1.
Para comenzar, clasicaremos de manera general los sensores segn dos criu
terios: la interaccin con el sistema en el que se desea realizar la medida, y el
o
principio f
sico en el que se basa su mecanismo.
A. Clasicacin segn la interaccin con el sistema
o
u
o
Las posibles disposiciones de los sensores, atendiendo a su relacin f
o sica con
el sistema sobre el que se realiza la medida, quedan esquematizadas en la Fig.
1.1.
Al sensor que est en contacto f
a
sico con el sistema se le llama invasivo; en
caso contrario, se denomina sensor no invasivo. Por ejemplo, un termmetro de
o
3
CAP
ITULO 1. SENSORES
MX
P
ADC
mP
DAC
CAP
ITULO 1. SENSORES
6
Sensores resistivos.
R
l
V
dR
= Se e
R
e
reversible: aplicando un voltaje al cristal, se produce una deformacin. As
o
,
un micrfono piezoelctrico se puede emplear tambin como emisor de ulo
e
e
trasonidos. Se utilizan actuadores piezoelctricos para producir peque os
e
n
desplazamientos namente controlados.
Sensores semiconductores.
Algunas caracter
sticas de las uniones semiconductoras dependen fuertemente de ciertos parmetros externos. Uno de ellos es la temperatura, y
a
por ello se pueden emplear como termmetros, aunque su calibracin suele
o
o
resultar complicada porque las leyes por las que se rigen no son lineales.
Se pueden fabricar dispositivos semiconductores sensibles a la luz (fotodiodos, fototransistores) o a la radiacin electromagntica no visible.
o
e
Sensores de efecto Hall.
El efecto Hall tiene lugar como resultado de la interaccin entre una corrio
ente elctrica y un campo magntico externo. La fuerza de Lorentz desv
e
e
a
las trayectorias de los electrones y aparece una diferencia de potencial. Los
sensores de efecto Hall tienen cuatro terminales: dos de control, para establecer la corriente, y dos de salida, entre las que se mide la diferencia
de potencial. Asociados a un campo magntico conocido por ejemplo el
e
producido por un imn se pueden emplear para medir la permeabilidad
a
magntica de un medio. Muchos sensores de proximidad se basan en el
e
efecto Hall.
Efecto Seebeck, efecto Peltier, efecto Thomson.
El funcionamiento de los termopares, de uso generalizado para medir temperaturas, se basa en estos efectos, que tienen como resultado la aparicin
o
de una diferencia de potencial o una redistribucin de las cargas al aplicar
o
al metal un gradiente de temperatura.
Aparte de estos mecanismos f
sicos, hay otros muchos procesos que pueden
emplearse para fabricar sensores, incluso algunos de carcter qu
a
mico o biolgio
co. Otras tcnicas se fundan en fenmenos particulares, como la resonancia
e
o
magntica. Dejamos tambin de lado la medicin del tiempo. Y el empleo de la
e
e
o
luz como sonda, muy interesante por su carcter no invasivo, slo se tratar cira
o
a
cunstancialmente.
Caracter
sticas de los sensores
Los sensores se pueden considerar como sistemas que reciben una se al de
n
entrada, la transforman y producen una se al de salida. Desde este punto de
n
vista, se pueden tratar con el formalismo general de los ltros, con la ayuda de
una funcin de transferencia. Ms adelante, en el cap
o
a
tulo dedicado a los ltros, se
expondr ms detalladamente este enfoque. En la presente seccin nos valdremos
a a
o
unicamente de una descripcin basada en la funcin de Entrada/Salida (E/S, o
o
o
Input/Output, I/O), S = S(s), que determina un
vocamente el comportamiento
CAP
ITULO 1. SENSORES
=b
s=s0
s=s0
mximo del rango de entrada como fondo de escala (full scale, abreviadamente
a
FS). El rango de entrada se da a veces en dcadas, o en decibelios. A partir
e
del fondo de escala, el sensor no proporciona una salida util. Es normal que los
Figura 1.2: Los disparos de cuatro tiradores ilustran los conceptos de precisin,
o
resolucin y exactitud
o
CAP
ITULO 1. SENSORES
10
o
exactitud as 1 C el 5 %FS, la que sea mayor ). La mejora de la exactitud de un
:
determinado sensor puede obtenerse calibrando el sensor frente al patrn o con el
o
mtodo ejemplar, para obtener la funcin de transferencia real. El inconveniente
e
o
de las calibraciones es que por denicin slo son vlidas para cada sensor
o
o
a
particular.
La exactitud, dicho de otra manera, es la suma de todos los errores, y frecuentemente se designa con la letra . Ello nos lleva a la consideracin de que los
o
errores se pueden clasicar en sistemticos y aleatorios. Estos ultimos siguen una
a
distribucin estad
o
stica; los primeros, en cambio, no se pueden describir correctamente mediante la estad
stica. Los errores sistemticos permanecen constantes
a
o bien se rigen por leyes bien denidas de una medida a otra; es lo que se denomina un sesgo (bias en ingls). Los errores estad
e
sticos, por el contrario, no
son repetibles de una medicin a otra, aunque medie entre ambas un tiempo
o
muy corto. Se agrupan simtricamente en torno a la media, que converge hacia
e
un valor bien denido cuando el n mero de mediciones es muy grande, y los eru
rores son menos probables cuanto mayor sea su desviacin: siguen una estad
o
stica
gaussiana. En la siguiente tabla se indican algunos tipos de error:
Errores sistemticos
a
Errores aleatorios
error de calibracin
o
envejecimiento del sensor
inercia del sensor
condiciones de la medicin (p.ej.: humedad)
o
ruido (electrnico, trmico, ...)
o
e
inestabilidad del sensor
ruido de amplicacin
o
falta de repetibilidad
11
12
CAP
ITULO 1. SENSORES
a
de los casos el primer d
gito slo toma los valores 0 o 1).
o
13
S
o
agrama de Bode: un grco logar
a
tmico de S0 en funcin de la frecuencia, donde
S0 es la amplitud de la salida para una cierta entrada usada como normalizacin.
o
Es frecuente encontrarse con un diagrama de Bode como el indicado; por ejemplo:
un osciloscopio o un mult
metro responden adecuadamente a una se al de entran
da hasta una determinada frecuencia, a partir de la cual la amplitud comienza a
decaer (muchas veces como una recta en escala logar
tmica). A la frecuencia para
la cual la amplitud de salida cae en 3 dB o sea, un 30 % aproximadamente se
le llama frecuencia de corte (cut-o frequency). El tiempo caracter
stico de un
1
sensor determina un
vocamente su frecuencia de corte: fc = 2 .
Ms generalmente, puede que un sensor responda a la seal de entrada slo a
a
n
o
partir de una determinada frecuencia. Un acelermetro, por ejemplo (pinsese en
o
e
un sismmetro, que consta de una masa s
o
smica y otra masa mucho ms peque a
a
n
vinculada a la anterior mediante un resorte) es incapaz de detectar una aceleracin
o
constante; slo responde a partir de una frecuencia de corte inferior (fL ) y hasta
o
a
una frecuencia de corte superior (fH ). Adems, puede presentar resonancia a una
determinada frecuencia. Se denomina ancho de banda (bandwidth) al intervalo
de frecuencias para el cual la amplitud de la se al de salida es constante si la
n
amplitud de la se al de entrada tambin lo es.
n
e
Como se ver ms adelante, el comportamiento dinmico de un sensor queda
a a
a
totalmente determinado por la respuesta a un escaln. En el cap
o
tulo sobre los
ltros se explicita esta idea. Aqu podemos considerar brevemente un modelo
CAP
ITULO 1. SENSORES
14
dinmico del sensor descrito por la funcin de E/S. Muchas veces esta funcin
a
o
o
viene dada por una ecuacin diferencial ordinaria, cuyo orden dene los tres
o
modelos dinmicos bsicos.
a
a
b) Primer orden
Se rigen por una ecuacin diferencial de primer orden: a1 dS + a0 S = s . En este
o
dt
caso, el sensor consta de dos elementos: uno que almacena energ y otro que la
a
disipa (f
sicamente pueden ser el mismo). La solucin de la ecuacin diferencial
o
o
con las condiciones iniciales apropiadas proporciona la respuesta a un escaln:
o
t
Este modelo caracteriza a los sensores lentos respecto del sistema (el tiempo
caracter
stico del sensor es mayor que el de las variaciones de la se al a medir).
n
Consideremos, por ejemplo, un sensor de temperatura de tamao nito que inn
tercambia calor con el sistema del que se quiere conocer la temperatura. Sea m
co, A el rea en contacto con el sistema y
a
la masa del sensor, ce su calor espec
el coeciente de transmisin de calor a travs de la supercie 1 . Llamemos Te a
o
e
la temperatura del sistema (la se al de entrada) y Ts a la temperatura del sensor
n
(que ja la se al de salida). El intercambio de calor del sensor con el sistema
n
1
o la difusividad = ce
15
Q = A(Te Ts ) =
dTs
(Te Ts )
dTs
1
1
=
esto es
+
Ts =
Te
dt
R
dt
RC
RC
caracter
stico), con las condiciones iniciales correspondientes a un escaln en la
o
t
Lce
L2
mce
=
=
A
CAP
ITULO 1. SENSORES
16
la deexin de una lmina liviana ligada a una masa inercial, que vibra al ser
o
a
sometida a una aceleracin. Este sensor se puede asimilar a un sistema mecnico
o
a
compuesto por una masa inercial, un muelle y un elemento disipador. Igualando
n
las fuerzas, y llamando a la aceleracin externa aext (que es la se al de entrada)
o
d2 x
dx
, se obtiene que Ma = kx bv, es decir, M dt2 a + b dt + kx = Maext , de
modo que la se al de salida, x, queda denida por una ecuacin diferencial de
n
o
segundo orden en funcin de la entrada aext . En estos sensores es habitual ajustar
o
los parmetros de modo que se encuentren en una situacin de amortiguamiento
a
o
cr
tico (b = 1) para que la sensibilidad sea mxima.
a
1.2.
Medicin de la temperatura
o
1.2. MEDICION DE LA TEMPERATURA
17
1.2.1.
Debido al buen comportamiento del platino, se usa este metal casi exclusivamente en la fabricacin de RTD, salvo en casos especiales, aleado con peque as
o
n
cantidades de otros metales para mejorar sus caracter
sticas. Por eso se suele
hablar indistintamente de RTD y sondas de platino.
El principio f
sico subyacente es que al subir la temperatura, el n mero de
u
electrones en la banda de conduccin no cambia, pero las vibraciones atmicas
o
o
de la red los dispersan ms, dicultando su movimiento ordenado; de ah que
a
a 100 C. Para obtener una exactitud de 0.01 C entre 0 y 200 C se necesitan dos
coecientes.
Las sondas de platino comerciales vienen caracterizadas habitualmente por
dos parmetros: la resistencia a 0 C, R0 , y el coeciente . Hay dos normas de
a
CAP
ITULO 1. SENSORES
18
0 C; por ejemplo, una sonda Pt100 norma europea es una resistencia con R0 =
100 y = 0,00385C 1 .
Las sondas de platino se fabrican bsicamente en dos formas: las de hilo
a
(un alambre no enrollado y encapsulado en vidrio o cermica) y las de pel
a
cula (una pel
cula delgada depositada sobre un substrato). Estas ultimas, por su
menor masa, suelen ofrecer tiempos de respuesta ms peque os, mientras que las
a
n
primeras son menos sensibles a deformaciones mecnicas.
a
Para medir la resistencia de los RTD se puede emplear un puente de Wheatstone, amplicando la salida del galvanmetro. Si se mide con un volt
o
metro, para
e
minimizar la inuencia de la resistencia de los cables Rh se emplea la tcnica de
medida de 3 o 4 hilos. Otra posibilidad es hacer circular una pequea intensidad
n
constante a travs de la resistencia y amplicar el voltaje.
e
Un problema de los RTD es que son sensores activos (para medir una resistencia hay que hacer circular por ella una corriente). Por pequea que sea la
n
excitacin, se libera algo de calor por efecto Joule que puede llegar a calentar
o
el sensor y adulterar la medida. El factor de autocalentamiento C de las sondas
de platino es un dato que suelen proporcionar los fabricantes y con l se calcula
e
2
el error introducido en la medida de la temperatura: T = I R/C. Este factor
depende del l
quido o del gas en el que se introduzca la sonda y de la velocidad
con que se mueve. T
picamente, una sonda de platino puede sufrir un autocalentamiento de pocas centsimas de grado al medir la temperatura de un ba o de
e
n
agua agitado, si se hacen circular por ella como es habitual del orden de 10mA.
Pero este error puede llegar a ser de medio grado en el aire quieto.
El tiempo de respuesta y el autocalentamiento se pueden estudiar con ayuda
del circuito equivalente de la Fig. 1.4, donde se ha empleado la analog antes
a
mencionada entre calor e intensidad, temperatura y voltaje. Se obtiene inmediT
0
1
atamente que P = Cs Ts + TsRs a . Al aplicar un escaln de voltaje Ta Ta T ,
o
t
0
la solucin de la ecuacin proporciona Ts (t) = Ta + Rs P + T e Rs Cs . El autocao
o
lentamiento corresponde al sumando Rs P .
Las principales ventajas de las sondas de platino son la linealidad y la exactitud, que les coneren simplicidad de uso y las hace idneas para emplearlas como
o
sensores de referencia.
t
1.2.2.
Termistores
1.2. MEDICION DE LA TEMPERATURA
19
kB T
.
q
B
o
De aqu se obtiene que V = kq T ln(1 + IIs ), pero la relacin entre el voltaje
CAP
ITULO 1. SENSORES
20
1.2.3.
Termopares
Los termopares son uniones de dos metales en las que se produce un voltaje que depende de la temperatura (mejor, de una diferencia de temperaturas).
Consideremos en primer lugar tres efectos necesarios para comprender su funcionamiento: el efecto Thomson, el efecto Peltier y el efecto Seebeck. Ninguno de
ellos est relacionado con el efecto Joule, pues son todos reversibles.
a
Efecto Thomson En un metal en el cual se establece un gradiente de temperatura aparece una redistribucin de cargas que da lugar a un campo
o
elctrico. Ello es debido a la difusin de los electrones. Lo descubri lord
e
o
o
Kelvin en 1854, quien lo deni de esta manera: absorcin o liberacin de
o
o
o
calor que se produce si una corriente uye a la vez que el calor por un conductor; si ambas corrientes uyen en el mismo sentido se libera calor, y si
uyen en sentido contrario se absorbe.
El efecto es proporcional a la corriente. El campo elctrico que se establece
e
T
como resultado de un gradiente de temperatura es E = zT V T12 z dT .
A z se le llama coeciente Thomson, y se da a t
tulo de ejemplo para algunos
metales:
constantn
a
platino
cobre
-23 V /C
-9 V /C
+2 V /C
1.2. MEDICION DE LA TEMPERATURA
21
Efecto Seebeck Fue descubierto antes que el efecto Thomson y el efecto Peltier
(en 1821), pero puede considerarse simplemente como la suma de ambos.
Es el que dene el funcionamiento de los termopares. En el circuito formado
por dos metales A y B soldados cuyas uniones se encuentren a temperate
uras diferentes T1 = T2 se establece una corriente elctrica proporcional
a la diferencia de temperaturas. A tal unin se le denomina un termopar.
o
Como el efecto es reversible, nos encontramos ante un transductor en sentido estricto, un dispositivo que transforma energ trmica en elctrica (y
a e
e
viceversa).
Para medir la diferencia de temperatura es necesario abrir el circuito y medir
el voltaje, que ser VAB = AB |T1 AB |T2 + zB (T1 T2 ) zA (T1 T2 ).
a
Pero con ello se introduce un tercer metal, el del circuito del instrumento de
medida, y las uniones forman otro termopar. El voltaje registrado ser una funcin
a
o
no slo de la diferencia de la temperatura a la que se encuentre la unin A-B,
o
o
sino tambin de las uniones formadas en los bornes del instrumento de medida.
e
Puede ser que el metal del circuito de medida sea el mismo que uno de los dos
con los que est fabricado el termopar, en cuyo caso slo se introduce un nuevo
a
o
termopar y no dos. A esta unin se le llama la junta fra. En cualquier caso, es
o
CAP
ITULO 1. SENSORES
22
V / C .
- Tipo J: Hierro (+) constantn (-) . Proporciona una fem elevada: la sensia
bilidad es de 51.7 V / C .
- Existen otros muchos pares que se emplean en circunstancias especiales:
el tipo E, de chromel (+) y constantn (-), o el tipo S, platino-rodio (+)
a
y platino(-), que se utiliza en entornos corrosivos, u otras que soportan
temperaturas muy elevadas, etc.
Las calibraciones se distinguen por el color de los cables y de la funda. Pero
cada pa sigue su propio cdigo de colores, lo cual introduce confusin.
s
o
o
La fabricacin de los termopares es problemtica a causa de los xidos que se
o
a
o
pueden formar durante la soldadura y que falsean la medida porque introducen
una resistencia esp rea. Es de se alar que para obtener una se al que dependa
u
n
n
de la temperatura basta con retorcer los cables entre s Pero las impurezas de la
.
supercie de los metales y la oxidacin de la interfaz afectan mucho la medida.
o
La manera correcta de soldar los cables es al oxacetileno o mejor an con un
u
arco lser. El tama o de la perla (bead ) depende del mtodo. Se obtiene una
a
n
e
2
1.2. MEDICION DE LA TEMPERATURA
23
1.2.4.
Otros mtodos
e
CAP
ITULO 1. SENSORES
24
1.3.
Sensores de desplazamiento
25
26
CAP
ITULO 1. SENSORES
1.4. TRANSDUCTORES DE FUERZA Y DE PRESION
27
1.4.
28
CAP
ITULO 1. SENSORES
100 euros) pero son sensores activos, y para excitarlos se necesita una electrnica o lo que es ms normal una interfaz que provea la excitacin y a
o
a
o
la vez acondicione la se al de salida.
n
29
1.5.
Detectores de luz
CAP
ITULO 1. SENSORES
30
1.6.
Otros captores
Cap
tulo 2
Acondicionamiento de la seal *
n
La salida que proporciona el sensor no siempre se puede conectar directamente
al aparato de medida. Los motivos son variados: ya sea porque la salida del sensor
es dbil y el instrumento no es capaz de detectarla, ya porque interesa convertir
e
la se al de intensidad o frecuencia a voltaje, o por otras razones diversas. Es
n
necesario entonces preprocesar la seal antes de que llegue al instrumento.
n
Considrese el caso de una se al dbil. Aunque su nivel est dentro del rango
e
n
e
e
de medida del aparato, el lapso de tiempo que ste necesita para tomar la medida
e
(llamado tiempo de apertura) depende de la magnitud de la se al: para medir
n
una se al dbil, el tiempo de apertura es mayor. Si se quieren realizar muchas
n
e
mediciones seguidas (una salva) es necesario amplicar la se al antes de que
n
llegue al aparato. En la primera seccin se plantea esta situacin, para determinar
o
o
las necesidades de condicionamiento de la se al. Posteriormente, se trata del
n
amplicador operacional y se describe el montaje de algunos circuitos electrnicos
o
simples con los que llevar a cabo ese cometido.
2.1.
2.1.1.
Nociones preliminares
Muestreo
Este cap
tulo puede ser omitido por quien ya posea conocimientos de electrnica
o
31
CAP
ITULO 2. ACONDICIONAMIENTO DE LA SENAL
32
se puede escribir
x=
n
1
> 2fs
T
33
2.1.2.
Preamplicacin
o
2.2.
El amplicador operacional
CAP
ITULO 2. ACONDICIONAMIENTO DE LA SENAL
34
35
Figura 2.1: Conexiones del OP07. Oset: 1,8;V : 2;V+ : 3;VCC : 4;VCC+ : 7;Vs : 6
Ejemplo: Comparador Estudiemos un amplicador operacional en el cual se
conecta a la entrada no inversora un voltaje de referencia V2 :
36
CAP
ITULO 2. ACONDICIONAMIENTO DE LA SENAL
2.3. CIRCUITOS ELECTRONICOS SIMPLES
37
2.3.
V1
V2
R2
Vs
=
+
Vs = (V1 + V2 )
R2
R1 R1
R1
R2
(V2
R1
V1 )
q
C
I dt
C
pero como
q
C
Conversor I V
I dt
,
C
(Fig 2.5.i)
Conversor V I
(Fig 2.5.j)
Estos y otros muchos circuitos se encuentran descritos con todo lujo de detalles
en [2].
CAP
ITULO 2. ACONDICIONAMIENTO DE LA SENAL
38
I1
R1
Ve
b)
a)
I2
R2
I1
R1
Ve
Vs
c)
I1
I2
R1
R2
I1
R2
V1
Vs
V2
d)
R1
R2
Vs
R1
e)
R2
f)
Ve
Vs
R1
Vs
R1 R
2
Vs
I3
I2
Ve
V1
V2
I2
R2
R1
g)
Ve
h)
C
Ve
i)
Vs
R
Vs
Vs
j)
Ve
Is
Cap
tulo 3
Filtros
Un sistema que transforma una se al de entrada en una se al de salida: tal
n
n
es la nocin ms general de ltro. En sentido amplio, es un ltro un sensor
o
a
como se indic en el apartado 1.1; un instrumento de medida; un amplicador;
o
y tambin un ltro propiamente dicho que quita ruido de la seal en la etapa de
e
n
preamplicacin.
o
La caracterizacin de los ltros se lleva a cabo con la funcin de transferencia.
o
o
Aunque el ltro queda denido con la funcin de E/S (la salida en funcin de la
o
o
entrada), el formalismo de la funcin de transferencia es mucho ms potente y
o
a
elegante. Para poder denir la funcin de transferencia, se repasan en una primera
o
seccin las matemticas necesarias.
o
a
3.1.
Nociones matemticas
a
n =
CAP
ITULO 3. FILTROS
40
Escaln.- (Fig. 3.1.b)
o
un =
1 n0
0 n<0
Para a > 1 se obtiene una exponencial creciente, para 0 < a < 1 una
exponencial decreciente (Fig. 3.1.c) y si el valor de a es negativo se dan
oscilaciones (Fig. 3.1.d).
1
b)
a)
0.5
0
10
0.5
10
20
30
40
50
0
10
10
20
30
40
50
1
d)
0.5
c)
0.5
0
0.5
0
0
10
20
30
40
50
1
0
10
20
30
40
50
1
f)
20
e)
0.5
10
0
10
10
20
30
40
50
20
40
60
80
100
120
3.1. NOCIONES MATEMATICAS
41
e
Filtro invariante temporal.- (en ingls, time invariant o shift invariant): si
cumple que
xn yn xnd ynd
Filtro causal.- El que no responde antes de que llegue la se al:
n
si x[n] = 0 para n < 0 y[n] = 0 para n < 0
Los ltros que operan sobre secuencias ya almacenadas en un ordenador, por
ejemplo, pueden empezar a responder a la se al de entrada antes de que sta
n
e
llegue, pues ya se conoce toda la secuencia de antemano.
Convolucin Se denomina convolucin (o producto de convolucin) de dos
o
o
o
vectores, y se representa c = x y, a la operacin denida por
o
ci =
xik yk
k=
CAP
ITULO 3. FILTROS
42
k=
impulso [n] es h[n], entonces la respuesta a [n k] es h[n k], por ser invariante
temporal. Adems, por linealidad, la respuesta a x[k] [x k] ser x[k] h[n k].
a
a
Por tanto, la salida correspondiente a la se al de entrada x[n] se puede escribir
n
x[k] h[n k] =
y[n] =
k=
k=
o bien, abreviadamente, y = x h = h x.
Supongamos conocida h[n]: sea por ejemplo h[n] = an u[n] con a (0, 1) (una
exponencial decreciente). La respuesta a un escaln es entonces y[n] = u[n]h[n] =
o
a
u[n] an u[n]. Se deja su clculo como ejercicio.
Transformada z Sea una secuencia x[n]. Se llama transformada z de x y se
denota por X a
x[n] z n
X(z) =
n=
1 z n =
X(z) =
n=0
1
1
=
n
1
n=0 z
1
z
X(z) =
n=0
an z n =
n=0
a
z
z
|z| > a
za
3.2. FUNCION DE TRANSFERENCIA
3.2.
43
Funcin de transferencia
o
k=
Y (z)
X(z)
z k1 dz =
1 k=0
0 k=0
n
x[n] z , se tiene que
Como X(z) =
n=
1
2i
1
X(z)z k1 dz =
2i
1
x[n]z n z k1 dz =
x[n]
2i
n=
n=
z kn1 dz
e
teorema de Cauchy); en consecuencia,
1
2i
X(z)z k1 dz = x[k]
dk1 i (z)
1
(k 1)! d z k1
z=pi
CAP
ITULO 3. FILTROS
44
y[n] =
x[n k] h[k] =
k=
h[k]ei(nk)T = einT
k=
h[k]eikT
k=
F () =
f (t) eit dt
t=0
f (k) eikT
k=0
3.3. IMPLEMENTACION DE FILTROS
Ecuaciones en diferencias
cumplen que
N
45
ak y[n k] =
bm x[n m]
m=0
k=0
bm x[n m]
y[n] =
m=0
ak y[n k]
k=1
a
transformada z (operacin que designaremos por el operador Z) a ambos lados
o
de la igualdad
N
k=0
ak y[n k] =
N
M
m=0
bm x[n m]:
ak Z(y[n k]) =
bm Z(x[n m])
m=0
k=0
ak z
Y (z) =
bm z m X(z)
m=0
k=0
H(z) =
m=0
N
k=0
bm z m
=
ak z k
b0 + b1 z 1 + b2 z 2 + . . . + bM z M
a0 + a1 z 1 + a2 z 2 + . . . + aN z N
3.3.
Implementacin de ltros
o
CAP
ITULO 3. FILTROS
46
1. Deniendo la funcin de E/S.
o
2. Con la respuesta a un impulso h[n].
3. Especicando la respuesta en frecuencia H ().
3.3.1.
Filtros software
(1 cm z 1 )
m=1
N
a0
(1
k=1
pk z 1 )
Si se pone
(z cm ) = Bm ei m y (z pk ) = Ak ei k
se tiene que
H(z) = z
N M
b0
a0
m
k
Bm exp i
Ak exp i
m
k
m
k
Como H () es H(z) en el c
rculo unidad, pues H () = H(eiT ), se tiene que
|H ()| =
b0
a0
m
k
Bm
Ak
3.3. IMPLEMENTACION DE FILTROS
47
y[n] =
bm x[n m]
m=0
1
1 1
, ,...,
L L
L
(con L componentes)
m=0
bm z m .
Los ltros cuya respuesta a un impulso sean diferentes de cero slo durante un
o
intervalo de tiempo nito (como el caso presente: la respuesta a un impulso es un
pulso rectangular de anchura L) se llaman ltros FIR (Finite Impulse Response).
En caso contrario, se llaman ltros IIR (Innite Impulse Response).
Integrador Es un ltro recursivo:
y[n] = x[n] + ay[n 1] con |a| < 1
Tomando la transformada z, se obtiene que Y (z) = X(Z) + az 1 Y (z), por lo
tanto
1
H(z) =
1 az 1
lo cual como se ha visto corresponde a una respuesta al impulso h[n] = an u[n].
Por lo tanto, el integrador es un IIR. Los ltros recursivos suelen ser IIR, y los
no recursivos FIR.
CAP
ITULO 3. FILTROS
48
Filtros pasabajos y pasaaltos
Filtro pasabajos de un polo:
b0 = 1
a0 = 1 a1 = a
H(z) =
1
1az 1
1 + z 1
1 az 1
1 z 1
1 az 1
3.3. IMPLEMENTACION DE FILTROS
49
1
0.8
0.6
Imaginary Part
0.4
0.2
3
0
0.2
0.4
0.6
0.8
1
1
0.5
0
Real Part
0.5
CAP
ITULO 3. FILTROS
50
Magnitude (dB)
50
100
150
200
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Normalized Frequency ( rad/sample)
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Normalized Frequency ( rad/sample)
0.8
0.9
Phase (degrees)
50
100
150
200
250
300
3.3.2.
Filtros hardware
R1
C
Ve
Vs
R1
R2
Vs
Cap
tulo 4
Manejo de instrumentos
4.1.
Una vez que la se al est preparada para ser aceptada por un instrumento,
n
a
hay que atender a la correcta conguracin de ste. La naturaleza de la se al
o
e
n
dicta el instrumento de medida adecuado. Los dos primeros parmetros a tena
er en cuenta son la frecuencia y el nivel de la se al. Desde el punto de vista
n
de la instrumentacin, una se al es rpida o lenta si sus variaciones son de una
o
n
a
frecuencia superior o inferior a 2 Hz respectivamente. En el primer caso, el instrumento bsico es el osciloscopio (en sentido amplio; puede ser un analizador
a
dinmico de se al, un analizador de espectro, un digitalizador, etc.) Su banda
a
n
pasante puede llegar a ser del orden de 1 GHz y son habituales tasas de muestreo
de 1 Gmuestra/seg. Si la se al es lenta se puede emplear un volt
n
metro (tambin
e
entendido en sentido amplio: puede ser un mult
metro digital, un medidor RLC,
etc.). El volt
metro es un instrumento ms lento (frecuencia de muestreo t
a
pica:
10 muestras/seg). Pero a cambio suele ofrecer una exactitud, una precisin y una
o
resolucin mucho mayor que la de un osciloscopio (llegan con facilidad a medir
o
1 V , mientras que los osciloscopios comienzan en el rango de los milivoltios).
En resumen: los mult
metros son adecuados para seales lentas, de bajo nivel,
n
mientras que los osciloscopios son apropiados para seales rpidas, pero de alto
n
a
nivel. Siempre queda la opcin de preamplicar una se al de bajo nivel que var
o
n
a
rpidamente para poderla medir con un osciloscopio; o emplear un mult
a
metro en
una conguracin especial para medir salvas o rfagas (bursts).
o
a
Pero la instrumentacin necesita frecuentemente un componente adicional.
o
Por un lado, las mediciones que toma un instrumento no son fcilmente accesia
bles (salvo en la pantalla) ni almacenables. Por otro, muchas veces es necesario
llevar a cabo tareas adicionales: sincronizar varios instrumentos que concurren a
la medida; controlar el estado de otros aparatos (como fuentes de alimentacin o
o
51
CAP
ITULO 4. MANEJO DE INSTRUMENTOS
52
Propiedades f
sicas
mecnicas
a
conectores
cables
elctricas
e
voltajes
niveles lgicos
o
Propiedades informticas
a
funcionales
operaciones realizables
operacionales
f ormato de datos
lenguaje
protocolo
4.2.
53
El bus RS-232
CAP
ITULO 4. MANEJO DE INSTRUMENTOS
54
nea
entre s dos dispositivos del tipo DTE1 . En este caso, hay que conectar la l
del bit menos signicativo hasta el ms signicativo; son los bits de datos (data
a
bits). En el caso de la gura hay 8 bits de datos, es decir, un byte, pero se
permiten entre 5 y 8. Tras los bits de datos puede ir opcionalmente un bit de
comprobacin llamado bit de paridad ( parity bit) y nalmente se env un bit
o
a
1, que es el bit de parada (stop bit), aunque en algunos casos pueden ser dos
bits o ninguno. Tras ello, la l
nea queda de nuevo en espera (iddle) en 1.
LSB
0
1
mark state
start
bit
MSB
1
3 4
2
1 byte
7 P
3
parity stop
bit
bit
iddle
Para saber si un dispositivo es de tipo DTE o DCE se puede hacer uso de una de las normas
del bus: el transmisor siempre est a voltaje negativo si no se transmiten datos. Basta entonces
a
medir el voltaje de las patillas 2 y 3 para decidir si el dispositivo es de tipo DTE (l
nea TXD
negativa) o DCE (l
nea RXD negativa).
55
de parada.
paridad.- El bit de paridad se pone a 1 o a 0 segn el n mero de bits de
u
u
datos a 1 sea par o impar. Ello permite al menos una comprobacin de la
o
transmisin por parte del receptor. Evidentemente, si durante la transmisin
o
o
cambiaran dos bits la comprobacin quedar falseada, pero la probabilidad
o
a
es peque a. La paridad se puede denir como par (even) o impar (odd).
n
En el primer caso el bit de paridad est a 1 si el n mero de bits de datos a 1
a
u
es par, y a 0 si es impar; y al revs en el segundo caso. Se puede prescindir
e
del bit de paridad.
Funciones de E/S Para enviar y recibir comandos y datos a travs del bus, es
e
necesario disponer de alguna funcin que realice este cometido e invocarla desde
o
un lenguaje de programacin de alto nivel.
o
Los puertos COM1: y COM2: estn presentes en todos los PC. Estos puertos
a
se comunican con el bus interno del ordenador mediante una tarjeta insertada
en una de las ranuras disponibles, que sigue la normativa UART ( Universal
Asynchronous Receiver/Transmiter ) o alguna otra compatible. A veces esta funcionalidad se integra en la placa madre. Los drivers (es decir, la informtica que
a
permite establecer la comunicacin a travs de esos dispositivos) forman parte
o
e
del sistema operativo. Ello permite una forma muy simple de enviar un comando
a travs del puerto serie. Basta escribir el comando en un archivo y enviar ste
e
e
al puerto. En DOS se puede hacer as
:
COPY archivo.txt COM2:
Para establecer la comunicacin desde un lenguaje de programacin de alto
o
o
nivel, se puede escribir directamente en el puerto; pero resulta complicado. Existen, sin embargo, funciones simples que permiten enviar y recibir cadenas de
caracteres al puerto serie. El inconveniente que presentan es que no son standard
del lenguaje, sino que dependen del compilador. En los compiladores Microsoft C
a
y Borland C existe una funcin llamada bios serialcom. Ms simple es utilizar
o
la interfaz de Matlab, que contiene algunas funciones de alto nivel para acceder
al puerto serie. En el apndice A1 se ofrece un ejemplo.
e
Las ventajas y los inconvenientes de este bus se desprenden de lo dicho. Por un
lado, al venir de serie en los ordenadores y en muchos aparatos, el gasto necesario
es muy peque o. Cualquier lenguaje informtico permite adems una comunin
a
a
CAP
ITULO 4. MANEJO DE INSTRUMENTOS
56
cacin a travs del puerto serie. Pero hay que tener en cuenta las desventajas:
o
e
slo se puede comunicar el ordenador con un aparato; la velocidad es muy lenta;
o
y aunque las especicaciones tanto f
sicas como informticas son sencillas, el
a
dise o es endeble frente a fallos.
n
4.3.
El bus GPIB
El consorcio SCPI estaba originalmente formado por Hewlett-Packard que desde hac un
a
tiempo preconizaba la idea, Tektronix, Fluke/Philips, Wavetek, Racal-Dana, Keithley, Brel
u
57
58
CAP
ITULO 4. MANEJO DE INSTRUMENTOS
a una l
nea baja (voltaje menor que 0.8 V). Las especicaciones elctricas son
e
compatibles TTL.
Propiedades informticas A travs de las 8 l
a
e
neas de datos se transmiten
por el bus los bytes en formato ASCII de 7 bits (128 caracteres) ms otro bit
a
reservado a la paridad, que puede emplearse opcionalmente, o en formato binario
(con dos posibilidades: formato binario de 32 bits o de 64 bits). El protocolo de
emisin/recepcin se realiza para cada byte a travs de las 3 l
o
o
e
neas de control de
ujo (handshake lines): DAV (Data Valid ), NRFD (Not Ready For Data) y NDAC
(Not Data Accepted ). Al revs de lo que ocurre en el bus RS-232, este protocolo
e
est estrictamente determinado, lo que permite pasar por alto los detalles puesto
a
que no se deja nada a la intervencin del usuario. Baste decir que con esas l
o
neas de
control de ujo se env tres mensajes que podr resumirse como ((preparado)),
an
an
((aqu estn los datos)), ((recibido)).
a
Las l
neas de control del bus (bus management lines) se emplean para organizar la comunicacin entre los dispositivos. A continuacin se explica en pocas
o
o
palabras el cometido bsico de cada una:
a
- ATN (attention).- Indica si se env comandos o datos.
an
- IFC (interface clear ).- Inicializa el bus y se hace con el control.
- REN (remote enable).- Los aparatos pasan a ser controlados por el bus y
se inhabilita su panel frontal.
- EOI (end or identify).- Final de mensaje (del talker ) o identicacin (en un
o
Parallel Poll ).
- SRQ (service request).- Solicitud as
ncrona de servicio.
Al haber varios dispositivos conectados al bus, es necesario establecer una
identicacin particular para poder dirigirse a cada uno. Eso se hace a travs
o
e
de una direccin. Cada dispositivo contiene esa informacin almacenada en 7
o
o
bits. Los dos primeros indican si el dispositivo transmite o recibe ( listen, talk ).
Con los otros 5 bits se pueden numerar los dispositivos del 0 al 31. Teniendo en
cuenta que hay dos bits reservados (uno de ellos para el ordenador), quedan 30
direcciones vlidas para los equipos: del 1 al 30.
a
A un mismo ordenador pueden conectarse varios buses GPIB, cada uno de
ellos con su tarjeta correspondiente. Por eso, la identicacin completa incluye
o
59
nea SRQ del bus. Como se indic, la peticin de servicio puede ser realizada de forma as
o
o
ncrona (en cualquier
momento). Cuando el aparato acaba de medir, o en otras situaciones espec
cas,
CAP
ITULO 4. MANEJO DE INSTRUMENTOS
60
cos
que hacen referencia a ellos. Comencemos por el Standard Event Status Register
(abreviadamente, SESR). Los bits de este registro se denen de la siguiente
manera:
3
7
6
Power User
On Request
61
5
4
3
2
1
0
Command Execution DeviceQuery Request Operation
Error
Error
Dependent Error Control Complete
Error
7
N/A
6
SRQ
MSS
5
ESB
4
MAV
3
N/A
2
N/A
1
N/A
0
N/A
62
CAP
ITULO 4. MANEJO DE INSTRUMENTOS
mscara estn activados, es decir, si el OR lgico del AND lgico del Status Byte
a
a
o
o
y su mscara da uno. En ese caso, como se indic, se activa la peticin de servicio.
a
o
o
El esquema resumido de los bytes de estado denidos por la normativa
IEEE.488.2 se muestra en la Figura 4.2.
63
Solicitud de identicacin
o
Reset
Operacin completa
o
Demanda de operacin completa
o
Espera a que la operacin acabe
o
Borra los bytes de estado
Demanda el SESR (Standard Event Status
Register )
Enable Standard Event Status Register
(mscara del SESR)
a
Demanda de la mscara del SESR
a
Status Register Enable (mscara del Status
a
Register )
Demanda la mscara del Status Byte
a
Demanda el Status Byte
Trigger (orden de disparo para todos los
aparatos)
Cada una de esas categor (a veces se les llama tambin sistemas) se subdias
e
vide a su vez en otras: por ejemplo, dentro de TRIGGER se encuentra SOURCE,
TIMER y COUNT. No todos los aparatos cuentan con todas esas categor (por
as
ejemplo, una fuente de alimentacin que no mida nada no tendr la categor
o
a
a
MEASURE ). Los comandos SCPI consisten simplemente en enunciados de esas
categor con sus ramicaciones, y opcionalmente parmetros. La ventaja que
as,
a
tiene este esquema es que si dos aparatos son capaces de realizar la misma accin
o
(por ejemplo: recibir un trigger del bus) entonces el comando SCPI es el mismo
para ambos:
:TRIGger:SOURce BUS
CAP
ITULO 4. MANEJO DE INSTRUMENTOS
64
La sintaxis de los comandos SCPI guarda ciertas reglas. Para pasar un comando se da la categor y la ramicacin completa separando cada rama por
a
o
dos puntos (:). As
,
:SENSe:VOLTage:RANGe:AUTO
congura un mult
metro para medir voltaje con seleccin del rango automtica5 .
o
a
La categor SENSe incluye una subcategor llamada VOLTage a la que pertenece
a
a
RANGe. Como se puede observar, este lenguaje es menos cr
ptico que los sistemas
de comandos propios de cada aparato usados hasta entonces.
Las convenciones usadas para la sintaxis de los comandos son las siguientes:
Los corchetes ([ ]) indican parmetros opcionales.
a
Las llaves ({ }) indican conjuntos de parmetros entre los que se debe elegir
a
uno.
La barra vertical (|) separa las diferentes elecciones que se pueden escoger.
Un parmetro entre los s
a
mbolos <> signica que se debe proporcionar su
valor o su nombre.
Algunas instrucciones admiten al nal un signo de interrogacin. La demanda
o
(query) provoca que el aparato responda poniendo en las l
neas de datos del bus la
respuesta; el controlador debe encargarse de leerla antes de enviar otro comando.
Los comandos se pueden abreviar; en los manuales aparece en may sculas la
u
forma corta, completada en min sculas con la forma larga.
u
La mayor de los comandos SCPI son autoexplicativos; el lenguaje es de
a
alto nivel (prximo al lenguaje humano). Si se busca en un manual la orden que
o
aparece en la categor TRIGGER para poner en marcha un cronmetro que deje
a
o
pasar un lapso de tiempo entre barrido y barrido se encuentra
TRIGger:TIMer[?] {<seconds >| MIN | MAX }
Eso signica que el comando TRIGGER:TIMER admite forma de query (es decir:
al recibir la demanda TRIGGER:TIMER? el aparato responde indicando los segundos
que va a dejar pasar entre el comienzo de dos barridos consecutivos), y que se
puede congurar el cronmetro para que provoque un disparo indicando el nmero
o
u
de segundos, el m
nimo lapso posible y el mximo. Por ejemplo: TRIG:TIM 10
a
(forma abreviada) congura el cronmetro para que dispare el trigger de modo
o
que los barridos comiencen cada 10 segundos.
Como los comandos SCPI no son propios del bus, sino del instrumento, pueden
emplearse sea cual sea el sistema de comunicacin, siempre que el aparato sea
o
compatible con la normativa SCPI.
5
4.4. PROGRAMACION DE INSTRUMENTOS POR GPIB
4.4.
65
Las ventajas del bus GPIB sobre el RS-232 son evidentes, seg n se desprende
u
de la seccin anterior: se pueden conectar muchos aparatos al mismo bus; la
o
comunicacin llega a ser 100 veces ms rpida; y las propiedades ms robustas
o
a a
a
tanto f
sicas como informticas aseguran una transmisin ms able.
a
o
a
Pero el bus IEEE.488 presenta una complicacin, a saber, que no est incluo
a
ido en el sistema operativo, al revs de lo que ocurre con los puertos serie. Por
e
consiguiente, para instalarlo hay que realizar las siguientes operaciones.
- Instalar la interfaz, que consiste en una tarjeta colocada en un slot del
ordenador con un conector IEEE.488 de salida. Como el puerto IEEE.488
no est gestionado por el sistema operativo, hay que instalar adems un
a
a
programa, llamado controlador (driver ), que se ocupe de las comunicaciones
entre el ordenador y la tarjeta. El controlador es un peque o programa,
n
proporcionado por el fabricante de la interfaz, que a travs de los registros
e
de Entrada/Salida del microprocesador abre un canal de comunicacin con
o
el puerto IEEE.488. A partir de entonces el puerto queda disponible para
otras aplicaciones.
- Instalar las librer con las funciones que permitan comunicarse por el
as
bus. Empleando estas funciones, escritas en un lenguaje de alto nivel (como
C, Basic, etc.), se pueden enviar y recibir mensajes a travs del puerto
e
IEEE.488 a partir de un programa escrito en ese lenguaje. Tambin las
e
proporciona el fabricante de la interfaz.
- Congurar la interfaz de usuario elegida. Se pueden distinguir dos grandes
tipos de ambientes de programacin. Por un lado, el propio de los lenguao
jes de alto nivel (como C, VisualBasic, Matlab, etc.). Y por otro, el de
interfaces grcas de usuario espec
a
cas (como LabView, HP-VEE, HPITG, TestPoint, etc.) en las cuales no hace falta ((programar)) en el sentido
tradicional, porque los instrumentos y las acciones estn representadas por
a
iconos y elementos grcos. Las primeras tienen como ventaja una mayor
a
velocidad de comunicacin; la exibilidad para integrar otras funcionalio
dades y recursos adems de la adquisicin de datos; y la portabilidad. Sin
a
o
embargo, la programacin requiere ms esfuerzo. Las interfaces grcas de
o
a
a
usuario, por su parte, aportan una gran simplicidad de manejo, la capacidad de organizar rpidamente un sistema automatizado de adquisicin de
a
o
datos y un entorno robusto. Pero son ms caras, la portabilidad es incierta
a
y el ambiente grco suele suponer una merma de la velocidad de comunia
cacin. La eleccin entre una u otra opcin la determinan adems de las
o
o
o
a
66
CAP
ITULO 4. MANEJO DE INSTRUMENTOS
particularidades de la aplicacin las preferencias del usuario.
o
4.4. PROGRAMACION DE INSTRUMENTOS POR GPIB
67
Para ello es necesario que con la tarjeta se incluya un servidor DDE asociado; slo la HP-IB
o
82335, considerada obsoleta, se vende con uno.
7
Con controles ActiveX se puede realizar una adquisicin de datos directamente a una hoja
o
de clculo Excel, por poner un caso.
a
68
CAP
ITULO 4. MANEJO DE INSTRUMENTOS
Apndice A
e
Programas
A.1.
Con este programa se controlan dos instrumentos: una balanza, conectada por
el puerto RS-232, y un mult
metro HP34970 conectado por un puerto IEEE.488.
Algunos comentarios:
- Para abrir un puerto serie se utiliza la funcin serial, que devuelve un
o
handle (especie de puntero), al que se da el nombre de balanza. Posteriormente, con la funcin set, se congura el puerto. Ntese la especicacin
o
o
o
de los parmetros.
a
- El puerto IEEE.488 es muy fcil de abrir: se utiliza la funcin gpib, que
a
o
toma como argumentos un driver y la direccin del aparato (en este caso,
o
el mult
metro est en la direccin 709).
a
o
- El cuerpo del programa incluye el bucle de medida. Se realizan tres tareas
cada vez, a saber: abrir un actuador conectado al mult
metroy cerrarlo,
obtener el peso de la balanza, y guardar los datos.
- Para escribir y leer en los puertos se utiliza fprintf y fscanf. La balanza
requiere un formato de datos dif de interpretar; la funcin pesar contiene
cil
o
esas instrucciones, pero se omite aqu Son parecidas a las que se incluyen
.
tras la tara de la balanza.
- En las ultimas l
70
APENDICE A. PROGRAMAS
balanza=serial(com1);
set(balanza, baudrate, 9600);
set(balanza, terminator, cr/lf);
set(balanza, parity, odd);
set(balanza, databits, 7);
set(balanza, flowcontrol, hardware);
set(balanza, stopbits,1);
set(balanza, timeout, 5);
%definir multimetro
multimetro=gpib(agilent, 7, 9);
%abrir e identificar multimetro
fopen(multimetro)
fprintf(multimetro,%s,*idn?)
fscanf(multimetro, %s)
%abrir y tarar balanza
fopen(balanza)
fprintf(balanza,%s,sprintf(\033T))
%%%%%%%%%%%%%%%%
clear muestra ar contador m
% parmetros
a
t_soplado=0.4;
p_bolas=0.03468; %para d=3
t_espera=5;
peso_max=3600;
%variables
contador=0;
nada=0;
%Tara de la balanza
disp(Tara)
fprintf(balanza,%s,sprintf(\033T))
pause(1)
fprintf(balanza,%s,sprintf(\033P))
pause(0.1)
m=fscanf(balanza,%s)
pesada=str2num(m(1:end-1));
%comprobar que el fichero no existe y crearlo
71
presente=fopen(peso.dat,r);
if(presente~=-1)
fclose(presente);
disp(Cambie de nombre peso.dat)
error(El fichero peso.dat ya existe)
else
clear presente
ar=fopen(peso.dat,wt);
fclose(ar);
end
%bucle de medida
p_ant=0;
while(pesada<peso_max)
contador=contador+1;
%soplar
fprintf(multimetro,%s,route:close (@304))
pause(t_soplado)
fprintf(multimetro,%s,route:open (@304))
%pesar
pause(t_espera)
contador
pesada=pesar(balanza)
%guardar datos
p_ava=pesada-p_ant;
n_bolas=p_ava/p_bolas;
ar=fopen(peso.dat,at);
fprintf(ar,%d\t%6.2f\t%6.2f\t%5.1f\n,contador,pesada,p_ava,n_bolas);
fclose(ar);
p_ant=pesada;
end
fclose(balanza)
freeserial(balanza)
clear balanza
fclose(multimetro)
delete(multimetro)
clear multimetro
APENDICE A. PROGRAMAS
72
A.2.
BASIC
CLS
DIM Resp$[80],Cmd1$[80],Cmd2$[80]
ASSIGN @Tek TO 708
CLEAR @Tek
ASSIGN @Lecroy TO 713
CLEAR @Lecroy
OUTPUT @Lecroy;"*IDN?"
ENTER @Lecroy;Resp$
PRINT Resp$
OUTPUT @Lecroy;"TRSE STD,SR,LINE;:TRMD AUTO"
OUTPUT @Lecroy;"C1:CPL D50; OFST 0V; TRA ON"
OUTPUT @Lecroy;"C2:CPL D1M; OFST 0V; TRA OFF"
OUTPUT @Tek;"SELECT:CH1 ON; CH2 ON; CH3 ON; CH4 ON"
OUTPUT @Tek;"ACQUIRE:STATE RUN;:TRIGGER FORCE"
!
PRINT "Mettre loffset a 0 avec le potentiometre"
PRINT "Tapez ENTREE pour continuer"
ENTER 2
!input from keyboard: enter, intro
!
OUTPUT @Lecroy;"C1:TRA ON; VDIV 10MV; OFST -35MV"
OUTPUT @Lecroy;"C2:TRA ON; VDIV 200MV; OFST -760MV"
OUTPUT @Lecroy;"TDIV 50US"
OUTPUT @Lecroy;"BWL ON"
!
!
OUTPUT @Tek;"*IDN?"
ENTER @Tek;Resp$
A.2. BASIC
280
290
300
310
320
330
340
350
360
370
380
390
400
410
420
430
440
450
460
470
480
490
500
510
520
530
540
550
560
570
580
590
600
610
620
630
640
73
PRINT Resp$
OUTPUT @Tek;"CLEARMenu"
OUTPUT @Tek;"ZOOM:STATE OFF"
!
OUTPUT @Tek;"CH1:BAN TWE;COUP DC;IMP MEG;OFFS 0;SCA 100E-03;POS 3E01"
OUTPUT @Tek;"CH2:BAN TWE;COUP DC;IMP MEG;OFFS 0;SCA 100E-03;POS 2E01"
OUTPUT @Tek;"CH3:BAN TWE;COUP DC;IMP MEG;OFFS 0;SCA 10E-03;POS -3E-01"
OUTPUT @Tek;"CH4:BAN TWE;COUP DC;IMP MEG;OFFS 0;SCA 1E+0;POS 3E+0"
OUTPUT @Tek;"HORIZONTAL:SCALE 5E-6; RECORDLENGTH 5000"
OUTPUT @Tek;"HORIZONTAL:TRIGGER:POSITION 40"
OUTPUT @Tek;"ACQ:MODE HIR;:ACQ:REPE OFF"
!
!
INPUT "Trigger level? (Set in Volts with one decimal place)",Triglev$
Cmd1$="EX10:TRCP DC; TRSL POS; TRLV "&Triglev$&"V"
Cmd2$="TRIG:MAIN:LEVEL "&Triglev$&"E+0; MODE NORM"
OUTPUT @Lecroy;Cmd1$
OUTPUT @Lecroy;"TRDL 40PCT"
OUTPUT @Lecroy;"TRSE STD,SR,EX10"
OUTPUT @Lecroy;"TRMD SINGLE"
WAIT 0.5
OUTPUT @Lecroy;"ARM"
OUTPUT @Tek;"TRIG:MAIN:EDGE:COUP DC; SLO RIS; SOU CH4"
OUTPUT @Tek;Cmd2$
OUTPUT @Tek;"ACQUIRE:STOPAFTER SEQ"
OUTPUT @Tek;"ACQUIRE:STATE RUN"
!
PRINT "Trigger set to level=",Triglev$," V, 40%, single"
PRINT "Enlever le chanel ext. pour voire si le trigger marche"
PRINT "Tapez sur ENTREE pour continuer"
ENTER 2
! input from keyboard: enter, intro
!
OUTPUT @Lecroy;"ARM"
OUTPUT @Tek;"ACQUIRE:STATE RUN"
PRINT "***
ready
***"
STOP
END
APENDICE A. PROGRAMAS
74
A.3.
<stdio.h>
<stdlib.h>
<dos.h>
<time.h>
"c:\hpib\chpib.h"
"c:\hpib\cfunc.h"
#define
#define
#define
IHP
MULTI
SRQLINE
int
char
float
int
error, mensaje;
*llamada;
medida;
contador;
int
int
int
void
void
void
7L
/* cdigo interfaz HPIB */
o
723L /* direccin HPIB multmetro */
o
1
/* lnea SRQ para STATUS */
void main()
{
if(ini_tarjeta_hpib()==1)
printf("Inicializacin de la tarjeta HPIB : OK \n");
o
if(inicializar_multi()==1)
printf("Inicializacin del multmetro : OK \n");
o
75
APENDICE A. PROGRAMAS
76
/**********************************/
int error_handler(error, llamada)
int
char
error;
*llamada;
{
char
ch;
if (error != NOERR)
{
printf("Error en la orden %s \n", llamada);
printf(" Error = %d : %s \n", error, errstr(error));
printf("Apretar <ENTER> : el programa va a finalizar\n");
scanf("%c", &ch);
exit(0);
return(0);
}
else return(1);
}
/*************************************/
int ini_tarjeta_hpib()
{
error = IORESET(IHP);
error_handler(error, "IORESET");
error = IOTIMEOUT(IHP, 5.0);
error_handler(error, "IOTIMEOUT");
error = IOCLEAR(IHP);
error_handler(error, "IOCLEAR");
return(1);
}
/*************************************/
int inicializar_multi()
{
*codigo;
77
APENDICE A. PROGRAMAS
78
A.4.
79
80
APENDICE A. PROGRAMAS
espera(1);
viScanf (tektro, "%t",&buf_tek);
printf("Horizontal Scale of Tektro: %s\n",buf_tek);
viPrintf (tektro, "ACQUIRE:STOPAFTER SEQUENCE\n");
}
void lecture(ViSession inst)
{
char
fichero[12], nm[20];
char
rep[12], resp[12];
short
PUNTOS[1000];
unsigned long
actual;
int
mes,mes_a_enreg;
clock_t
inicial, final, tempo[n_mes];
double
duracion;
inicial=clock();
printf ("Misure del TEKTRO\n");
for (mes=1;mes <=n_mes;++mes)
{
viWrite (inst, (ViBuf)"ACQUIRE:STATE RUN\n", 18,&actual);
do
{
viQueryf (inst, "ACQUIRE:STATE?\n","%t", &rep);
} while(rep[0]==1);
tempo[mes-1]=clock();
viWrite (inst, (ViBuf)"DATA:SOURCE CH1,CH2,CH3,CH4\n",28,&actual);
viWrite (inst, (ViBuf)"Curve?\n",7,&actual);
viRead (inst, (ViBuf)lecin[mes-1],4028,&actual);
printf ("%d\n",mes);
}
final=clock();
duracion=(double)(final-inicial)/CLOCKS_PER_SEC;
}
Bibliograf
a
[1] J. Fraden, Handbook of Modern Sensors, AIP Press. FIS(4) 1269.
Principios f
sicos de los sensores. Expone el funcionamiento de muchos de ellos.
Libro de referencia. Nivel avanzado. En lo que se reere a los sensores de
temperatura, hay otros textos ms sencillos y detallados.
a
[2] P. Horowitz & W. Hill, The art of electronics, Cambridge University Press.
FIS(4) 1262.
Explicaciones tericas y detalles prcticos sobre los circuitos electrnicos. Es
o
a
o
una obra muy completa donde se suelen encontrar las respuestas adecuadas a
los problemas que se plantean en el laboratorio. Contiene muchos ejemplos de
circuitos con las especicaciones de los componentes.
[3] T.P. Morrison, The art of computerized measurement, Oxford University Press. FIS(2) 1678.
Una obra muy atinada sobre el uso del ordenador en el laboratorio. No se
detiene en detalles, pero s que es muy util para comprender la jerga tcnica,
e
para entender los conceptos, para hacerse una idea de la manera de utilizar
los aparatos en conexin con los ordenadores. La ultima parte, que trata de
o
pocas palabras lo que hace un determinado ltro, por poner un caso. Es de muy
fcil comprensin.
a
o
81
BIBLIOGRAF
IA
82
Bibliograf adicional
a
[6] R. Palls, Sensores y acondicionadores de seal, Ed. Marcombo. FIS(4)
a
n
1276.
Trae unas secciones muy bien cuidadas sobre el acondicionamiento de se al.
n
[7] A.V. Oppenheim & R.W. Schafer, Discrete-Time Signal Processing,
Prentice Hall. MAT 2754.
Un libro muy bueno sobre se ales discretas y ltros. Nivel avanzado. Trata
n
tambin sobre la transformada de Fourier.
e
[8] Catlogos de Omega Eng.
a
Una amplia coleccin de sensores (temperatura, presin, fuerza, posicin, ujo)
o
o
o
de diferentes tipos, con sus especicaciones y precios. Las secciones tcnicas,
e
donde se cuenta, por ejemplo, el funcionamiento de los sensores, la realizacin
o
de montajes prcticos o cmo ajustar un bucle PID, pueden ser muy utiles.
a
o