Logo Studenta

AdquisiciAn-de-seAales1

Vista previa del material en texto

Adquisición de datos
Comunicación de dispositivos
2do cuatrimestre 2021
Sistema de adquisición de datos (DAQ)
Dispositivo de adquisición
https://www.ni.com/data-acquisition/what-is/esa/
https://marceluda.github.io/python-para-fisicos/tuto/labo2/05_instrumentacion/
ProcesadorDetector
https://www.ni.com/data-acquisition/what-is/esa/
https://marceluda.github.io/python-para-fisicos/tuto/labo2/05_instrumentacion/
Sensor
Convierten las magnitudes 
físicas en señales eléctricas.
Entrega una señal eléctrica 
analógica ( o digital)
Instrumento de adquisición
Dispositivo que digitaliza señales 
analógicas entrantes para que una PC 
pueda interpretarlas. 
Componentes principales :
•Circuito de acondicionamiento de 
señales 
•Convertidor analógico-digital (ADC) 
Circuito de acondicionamiento de señales :
manipula una señal de tal forma que sea 
apropiada para entrada a un ADC
Detector
Convierten las magnitudes 
físicas en señales eléctricas.
Entrega una señal eléctrica 
analógica.
Instrumento de adquisición
Dispositivo que digitaliza señales 
analógicas entrantes para que una PC 
pueda interpretarlas. 
Componentes principales :
•Circuito de acondicionamiento de 
señales 
•Convertidor analógico-digital (ADC) 
Conversor analógico-digital (ADC) :
Convierte las señales analógicas acondicionadas en valores digitales. 
Realiza "muestras" periódicas de la señal a una frecuencia predefinida
Interface de conexión 
Comunicación entre Instrumento y PC
Universal Serial Bus 
(USB)
RS-232 
(vulg. puerto serie)
Local Area Network 
(LAN)
Gral. Purpose Instrumentation Bus 
(GPIB)
Los dispositivos se conectan a una PC a través de un puerto. 
Cada uno de estas interfaces, además de ser físicamente distintas, tiene su propio protocolo
de comunicación
Procesador (PC)
Desde el procesador se puede configurar el instrumento y adquirir los datos.
La señal original es reconstruida desde los datos adquiridos por el software
Permite procesar, visualizar y almacenar datos de medida
Componentes del Software
Controlador 
permite que el sistema operativo de la PC pueda reconocer el dispositivo y 
dar así a los programas acceso al instrumento para escritura y lectura. 
Aplicación
facilita la interacción entre la PC y el usuario 
Permite configurar el instrumento, adquirir, analizar y presentar 
datos de las mediciones
Eje: C++, Fortran (?), Python, Matlab, Labview, etc
En general se SCPI para la sintaxis de los comandos
VISA
Virtual instrument 
software architecture
SCPI
Standard Commands for 
Programming Instruments
https://en.wikipedia.org/wiki/Virtual_instrument_software_architecture
https://en.wikipedia.org/wiki/Standard_Commands_for_Programmable_Instruments
Amplificación: las señales de bajo voltaje deben ser amplificadas para
mejorar la resolución y disminuir el ruido. Se debe tener en cuenta que el
rango de no amplificación no supere el rango de entrada del hardware.
(amplificadores operacionales  no se estudiarán en este curso)
Aislamiento: por cuestiones de seguridad la señal generada por el
transductor es aislada. La señal puede contener picos de alto voltaje
capaces de dañar al conversor. (Uso de transformadores)
Filtrado: las señales no deseadas (“ruido”) son eliminadas seleccionando
la banda de frecuencia en la que se encuentra la señal de interés (filtros 
pasa-banda, pasa-altos y pasabajos). 
Acondicionamiento
Medición de múltiples señales
Multiplexor
Permite medir múltiples señales 
provenientes de diferentes 
entradas (sensores) y poder 
procesarlas con un mismo ADC
Puede ser externo al Dispositivo DAQ
o interno, en este caso se ubica 
después del acondicionamiento de la 
señal
Multiplexor
Tiempo [seg]
V
o
lt
a
je
 [
V
]
7
6
5
4
3
2
1
0
3 bits: 
23 = 8 valores
Conversión Analógica-Digital(ADC)
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
202122
1 10
Discretización de la señal
V=f (t) {V1 ,⋯,V N}
{t1 ,⋯,t N}
Tiempo [seg]
V
o
lt
a
je
 [
V
]
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
111
110
101
100
011
010
001
000
Codificación en binario
Tiempo [seg]
V
o
lt
a
je
 [
V
]
7
6
5
4
3
2
1
0
• Rango operativo
Es el rango de valores de voltaje
en que el ADC puede operar
 Resolución
La resolución de un ADC es el 
número de bits que posee
 Sensibilidad (Resolucón en voltaje)
3 bits: 23 = 8 valores
Determina la magnitud mínima que debe tener
un cambio en la señal para ser detectado
Rango operativo
2Nº bits-1
Conversión Analógica-Digital(ADC)
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
111
110
101
100
011
010
001
000
Sensibilidad = 
LSB en voltaje (least significant bit voltaje)
• 8 bits? 
• 10 bits?
28 = 256 (0 255, -128 127) 
210 = 1024
LSB = Escala Total / (2N-1) = 5 V / 1023 = 4.9 mV
Sensibilidad?
Precisión?
Exactitud?
Repetibilidad de las mediciones  Ruido  5 LSB
Requiere una calibración contra patrones!
Ejemplos de Resolución / Precisión
Sensibilidad / Exactitud
Resolución?
Cantidad de estados para 
representar la señal analógica

Mínima variación detectable

Influencia de factores externos sobre 
la capacidad de detección

Proximidad con el valor real
Errores de la conversión analógica-digital(ADC)
Offset Proporcionalidad
linealidad Monotonicidad
Depto. de Física - FCEyN - UBA - Lab. 3 – 1er cuatrimestre de 2021 
Conversor Analógico-Digital (ADC) de 1 bit
ADC Flash (comparativo)
ADC de aproximaciones sucesivas
Vin
HOROWITZ, Paul; HILL, Winfield. The art of electronics. 
Cambridge: Cambridge University press, 2002.
• Velocidad de Muestreo [Sampling Rate]
Dada una señal, 
Cuál es la mínima frecuencia de 
muestreo que debo utilizar para no 
observar una frecuencia aparente?
Teorema de Nyquist : 
para reconstruir adecuadamente una 
señal, debo emplear una frecuencia de 
muestreo tal que
fS 2 fmax
fS = 4 fgen
Conversión Analógica-Digital
(ADC)
Depto. de Física - FCEyN - UBA - Lab. 3 – 1er cuatrimestre de 2021 
- Amplitud
• rango de entrada (Volts)
• tipo entrada: diferencial/modo común
• cantidad de canales
• resolución (bits)
• Sensibilidad (Volts/bit)
• errores
 no-linealidad integral
 no-linealidad diferencial
 ganancia
 offset
Conversores Analógico Digitales - Especificaciones -¿Qué tener en cuenta?
- Temporales
• tiempo de medición
• frecuencia de sampleo
• tipo: sampleo/promediado
• ruido
 signal-to-noise ratio
 noise floor
 jitter
 -etc.
- Comunicación
• serie/paralelo/i2c/USB/PCI/etc.
• codificación
• memoria
ref: Texas Instruments
Application Note SBAA147B
Conociendo el instrumental
Analizar la terna de instrumentos que figuran a continuación (de acuerdo al número de grupo), completar el cuadro de 
la mejor manera posible con las especificaciones requeridas usando la hoja de datos o el manual de usuario de cada 
equipo, y discutir cual sería el o los equipos más adecuados (o el o los menos adecuados) de la terna para realizar la 
tarea mencionada.
G1. Tektronix TDS1002B // NI-DAQ 6210 // Agilent 
HP 34401A
Registrar la forma de un pulso eléctrico de unos 100 ns de 
duración (ancho de banda 10MHz).
G2. Tektronix TDS1002B // NI-DAQ 6210 // Agilent 
34970A + 34904A
Medir 7 valores de temperatura de un proceso usando 
termocuplas (ΔV~2mV). Ancho de banda ~0.5Hz
G3. Tektronix TDS1002B // NI-DAQ 6212 // Agilent 
HP 34401A 
Registrar la posición angular en la oscilación amortiguada de 
un péndulo. Ancho de banda ~10Hz
G4. Tektronix TDS1002B // Agilent 34970A + 34904A 
// NI-DAQ 6210
Registrar 5 valores de voltaje correspondientes a señales 
eléctricas de ~1V RMS. Ancho de banda ~2kHz
G5. Tektronix TDS1002B // Agilent HP 34401A // 
Arduino UNO 
Registrar la posición angular en la oscilación amortiguada de 
un péndulo. Ancho de banda ~10Hz
G6. Tektronix TDS1002B // NI-DAQ 6210 // Agilent 
34970A + 34904A
Registrar 5 valores de voltaje correspondientes a señales 
eléctricasde ~1V RMS. Ancho de banda ~2kHz
G7. Tektronix TDS1002B // Agilent HP 34401A // 
Arduino UNO
Medir la temperatura de un proceso de enfriamiento con 
una termocupla (ΔV~2mV). Ancho de banda ~0.5Hz
Actividad 0.1
Mediciones digitales
Si el instrumento 
tiene pantalla,
a veces con el 
instrumento 
alcanza …
Comunicación con instrumentos
SCPI
Comunicación con instrumentos
Comunicándonos con Python
Usamos el paquete PyVisa
(https://pyvisa.readthedocs.io/en/latest/)
Ejemplo de comunicación con un instrumento
osc es un objeto que representa a la 
comunicación con el instrumento
query: enviar mensaje y leer respuesta luego
¿Qué comandos entiende VISA?
write: le enviamos un mensaje al instrumento
read: si el instrumento mandó un mensaje, lo leemos
(si no mandó nada, obtendremos un timeout)
¿Qué comandos entiende VISA?
Podemos especificar el encoding
● query_ascii_values
● query_binary_values
MEASUrement:IMMed:SOUrce[1] Set or query the channel for immediate measurement 
Ej.: osc.write(‘MEAS:INM:SOU CH1’)
MEASUrement:IMMed:TYPe Set or query the immediate measurement to be taken 
MEASUrement:IMMed:UNIts? Return the immediate measurement units 
MEASUrement:IMMed:VALue? Return the immediate measurement result
http://materias.df.uba.ar/l4a2021c2/files/2021/02/TBS1000-B-EDU-TDS2000-B-C-TDS1000-B-C-EDU-TDS200-TPS2000-
Programmer_EN-US-RevA.pdf
¿Qué comandos entiende VISA?
LEER EL MANUAL DEL INSTRUMENTO!!!!
Scripts con comandos básicos para el osciloscopio y el generador de ondas:
https://nube.df.uba.ar/index.php/s/Ma6cJ4mkPxNRwxJ
http://materias.df.uba.ar/l4a2021c2/files/2021/02/TBS1000-B-EDU-TDS2000-B-C-TDS1000-B-C-EDU-TDS200-TPS2000-Programmer_EN-US-RevA.pdf
https://nube.df.uba.ar/index.php/s/Ma6cJ4mkPxNRwxJ
“Clases” en Python (intro no exhaustiva!)
• Python es un lenguaje de programación orientado a objetos
Object Oriented Programming (OOP)
https://docs.python.org/3/tutorial/classes.html
¿Qué significa?
Que tiene funcionalidades que le dan ciertas ventajas para 
organizar el código.
Sirve para vincular datos con comportamiento/funcionalidad
(veremos ejemplos más adelante)
https://docs.python.org/3/tutorial/classes.html
¿De verdad está orientado a objetos?
¡Desde el principio!
O sea, tanto a como b son instancias de las clases “Entero” y “Lista” respectivamente
 Eso es lo que define a a y b como objetos
OBJETO = INSTANCIA DE UNA CLASE
Por ejemplo, puedo tener una clase “Instrumento”, que uso
para crear los objetos “Osciloscopio” o “Generador”
En esencia, si hay Clases, entonces está orientado a objetos
Una Clase por dentro
Dato (attribute o property
o data o variable) “Variables”
Método (method)
“Funciones”
• Cuando creo una clase, creo un nuevo TIPO de objeto.
• Una clase es una estructura más compleja que un simple tipo de dato.
• Agrupa atributos (datos y métodos) en una unidad conceptual. 
DATOS
FUNCIONALIDAD
Accedo a los atributos con un PUNTO: >> objeto.dato o bien >> objeto.metodo()
Attributes
Un ejemplo: ndarray
Tomado de
https://numpy.org/doc/stable/reference/arrays.ndarray.html#the-n-dimensional-array-ndarray
https://numpy.org/doc/stable/reference/arrays.ndarray.html#the-n-dimensional-array-ndarray
Cuando creo un objeto, llamo a una clase (instantiate an object). 
En Python, las clases suelen tener un método __init__ que es invocado por defecto en el momento en el
que se crea el objeto. 
 Eso convierte a esta función un constructor.
Aplicación: adquirir V(t) del Osciloscopio
La forma que ya vimos:
Aplicación: adquirir V(t) del Osciloscopio
La nueva (creamos una Clase TDS1002B):
Acá se ve el poder de haber creado una clase específica:
 Está escondido cómo se implementa la comunicación para obtener los valores 
(ENCAPSULATION)
Por ejemplo, los comandos de control, las cuentas para obtener el voltaje y el tiempo, etc.
 Es más fácil de leer y programar
PERO require conocer la clase TDS1002B para poder usarla
TDS1002B es una Clase en el archivo
instrumental.py de ese directorio
Aplicación: adquirir V(t) del Osciloscopio
La Clase TDS1002B
En la pág. de la materia (link): Scripts para control de instrumentos > python > instrumentos.py
(...SIGUE...)
http://materias.df.uba.ar/l4a2021c2/practicas/practica-00/
Aplicación: adquirir V(t) del Osciloscopio
(...SIGUE...)
Algunos conceptos extra
• INHERITANCE
• Cuando creo una clase dentro de una clase (“Subclass”), esta comparte los métodos
de la clase madre (relación child/parent).
Ejemplos: un electrón es un tipo de partícula subatómica
• POLYMORPHISM
• Los métodos pueden ser adaptados a cada sub clase (cambian de forma) pero 
conservan mucho del método original.
Clase Partícula Subatómica
Atributos: masa, carga, spin
Método: cambiar energía
Clase Quark
Métodos: formar núcleo
Clase Leptón
Clase Sustancia
Atributos: número atómico, composición
Métodos: calentar
Clase Gas
Métodos: condensar
Clase Líquido
Métodos: Solidificar
Resumen/glosario
• Clase
• Objeto
• Instancia
• Atributo
• Método
• “Instanciar” instantiate
• __init__

Otros materiales