Estoy tratando de automatizar el uso de un osciloscopio digital Tektronix TBS 1052B para obtener la forma de onda de una señal de voltaje analógico. O, en otras palabras, obtenga una cantidad de muestras de medición de voltaje a lo largo del tiempo.
Parece que hay al menos dos modos de medición para configurar el osciloscopio para realizar la medición, MEASurement y WAVFrm . Aquí es donde estoy teniendo algunos problemas. Según la forma en que funciona WAVFrm , parece que solo se usa para interpretar datos binarios (aquí es donde podría estar equivocado), por lo que parece ser la configuración que no debería usar . Por otro lado, la documentación de MEASurement no describe una forma de tomar una cantidad específica de muestras (que es lo que necesito hacer para obtener la forma de onda analógica), por lo que tampoco parece una configuración razonable.
Parece que no importa qué configuración elija, ¡no me dará el resultado que estoy buscando! Debo estar confundido por su documentación [aquí] .
¿Alguien puede ayudarme a aclarar qué configuración debo usar, MEASurement o WAVFrm ?
Nunca he usado este osciloscopio en particular, pero lo intentaré. Tenga en cuenta que deberá averiguar cómo incorporar la secuencia de comandos que he recomendado a continuación en cualquier paquete de software de adquisición de datos que esté utilizando (LabVIEW, MATLAB, VEE, etc.).
Comience restableciendo los controles y la configuración del osciloscopio a sus "configuraciones predeterminadas de fábrica" (consulte también el apéndice B "Configuración de fábrica" en el manual del programador TBS1000 [sugerencia: busque "manual del programador tbs1000" en tek.com]). Esto se hace emitiendo el comando SCPI "*RST":
*RST
Mostrar el canal 1 Y apagar el canal 2:
SELECT:CH1 ON;CH2 OFF
Configure los controles de activación horizontal, vertical, etc. como desee, por ejemplo, tiempo horizontal/div = 1 ms/div; canal 1 voltios/div = 1V/div:
HORIZONTAL:MAIN:SCALE 1E-3
CH1:SCALE 1
Configure el osciloscopio para adquirir una sola forma de onda cuando el osciloscopio detecta que se cumplen las condiciones de disparo:
ACQUIRE:STATE STOP
ACQUIRE:STOPAFTER SEQUENCE
Adquirir una sola forma de onda ("ejecutar una vez"):
ACQUIRE:STATE RUN
Espere a que se complete la adquisición de datos. Esto se hace emitiendo la consulta SCPI "*OPC?" (operación completa?). Como se indica en el manual del programador del osciloscopio, "[l]a respuesta *OPC? no está disponible para leer hasta que finalicen todas las operaciones pendientes", lo que significa que la respuesta *OPC? bloques de invocación hasta que el osciloscopio termina la tarea de adquisición de datos.
*OPC?
En el grupo de comandos FORMA DE ONDA, utilice el botón CURVA? consulta para transferir los datos de forma de onda del Canal 1 desde el osciloscopio a su computadora:
DATA:SOURCE CH1
CURVE?
Tenga en cuenta que la "CURVA?" query devuelve un flujo de bytes que normalmente se almacenan en un búfer que su programa crea para este propósito (por ejemplo, una matriz de caracteres o una matriz de bytes). Luego, su programa analiza la información deseada de los datos almacenados en el búfer. Exactamente cómo se hace esto depende totalmente del lenguaje de programación y de las bibliotecas de E/S de instrumentos que esté utilizando, por ejemplo, LabVIEW, MATLAB, VEE, etc., y se deja como ejercicio para el lector.
PD: si necesita ayuda para escribir el código para un lenguaje de programación específico, le recomiendo que busque/utilice foros dedicados al lenguaje de programación particular con el que está trabajando, por ejemplo, foros de programación de E/S de instrumentos de LabVIEW; Foros de programación de E/S de instrumentos de MATLAB, etc. Esas personas serían mucho más adecuadas para responder preguntas específicas del lenguaje de programación que las personas en un foro de electrónica. (<- No me quejo/lloriqueo, solo digo...)
Solo pensé en agregar mi respuesta (que funcionó para mí) aquí en caso de que alguien necesite ayuda en el futuro.
Obtención de la forma de onda
Aunque no es obligatorio, lo primero que hago es borrar el registro de estado del evento de la siguiente manera:
*ESR?
A continuación, le digo al osciloscopio que comience a adquirir la forma de onda:
ACQUIRE:STATE ON
Luego espero a que se complete la adquisición, observando el estado de la operación.
*OPC?
Luego, para dar sentido a los datos que regresan de la forma de onda, cambio al formato ASCII de la siguiente manera:
DATA:ENC ASCI
Ahora, estoy listo para obtener la forma de onda:
CURVE?
Recopilación de muestras de voltaje
Ahora viene la parte complicada, que me tomó un tiempo. Se requiere la siguiente fórmula ( extraída del manual de referencia del programador ) para convertir los valores del digitalizador en valores de voltaje:
Entonces, en esta ecuación yn simboliza los valores de nuestro digitalizador (puntos en la forma de onda), y no entraré en demasiados detalles sobre cuáles son las otras variables porque están en el manual. Las variables se pueden obtener de la siguiente manera y tenga en cuenta que es más fácil mantener el osciloscopio en modo ASCII porque entonces podemos insertar los valores directamente en la fórmula.
Para YZEro:
WFMPre:YZEro?
Para YMUlty:
WFMPre:YMUlty?
Para YOFF:
WFMPre:YOFf?
Ahora, inserte todos estos valores en la fórmula y luego calcule el voltaje (Yn) para cada uno de los valores del digitalizador (yn).
holamundo922
JRE
Fisgonear
Fisgonear
Fisgonear