Arme su osciloscopio (analógico ó digital)

#21
Hola:

Hace poco empecé a diseñar un sistema de captura de datos con "aspiraciones"
de osciloscopio digital. El sistema proyectado tiene como característica principal
la posibilidad de ser construido con materiales no críticos. Esto es, principalmente,
en lo que se refiere al reloj de captura, y la velocidad de acceso de componentes
como memorias, compuertas, etc.
Trabajando con lógica TTL, y usando la serie HC, es posible pensar en gatillar un
conversor digital con un reloj de 32 MHz. A esta velocidad es relativamente sencillo
manejar contadores digitales TTL y memorias RAM de 12 ns de tiempo de grabación.

Sin embargo, con 32 MSPS el ancho de banda nominal según el teorema de Nyquist
sería de no más de 16 MHz, y teniendo en cuenta consideraciones más prácticas, en
realidad nunca se verían demasiado bien, señales de más de 3 MHz. Para una
herramienta de laboratorio, esto limitaba las aplicaciones a algunas mediciones en
audio, pero no mucho más.

Averiguando acerca de cómo se las arreglan los osciloscopios digitales para gestionar
las enormes cantidades de datos que generan los conversores A/D de más de 1 GSPS,
encuentro una agradable noticia (ver referencias 1 y 2).
Resulta que los osc. digitales no necesariamente trabajan siempre a tiempo real.

No es novedad que se suele componer un barrido de mayor resolución a partir de varios
barridos efectuados con retrasos prestablecidos. Este método de compaginación es sólo
aplicable a señales repetitivas y se denomina de "tiempo equivalente".

Lo que sí es novedad, al menos para mí, es que habiendo conversores más que rápidos
(> 1 GSPS) algunos osciloscopios muy conocidos como Tektronix y Agilent, trabajen con
conversores de 200 kSPS y 40 kSPS, y aún así logren anchos de banda de 70 y 65 GHz,
respectivamente.

Esto muestra a las claras que la mayor énfasis del circuito se pone en generar los retrasos
entre dos barridos consecutivos. La precisión debe ser alta ya que, para un mismo barrido,
el valor del retraso debe mantenerse constante dentro del margen de tiempo admitido por
el jitter (aleatoriedad de fase del disparo del trigger).
Asimismo, la diferencia de retraso entre dos barridos sucesivos debe establecerse con la
misma precisión a fin de no complicar el compaginado que le sigue.
Por si faltaba algo, tengamos en cuenta que para lograr anchos de banda del orden de los
60-70 GHz es necesario separar dos barridos varias decenas de ps. Este tiempo debe ser
ajustado como mínimo al 1 por mil, ya que los números de muestras tomadas en el barrido
rondan los varios miles. Estamos hablando de precisiones del orden del femtosegundo
(10^-15 seg).!!!!

Todo esto no hace más que alentarme a continuar mi desarrollo de un sistema de 32 MSPS
de tasa de captura, que ahora ya no me parece tan baja. Aunque simple en principio, en un
futuro no tan lejano, este sistema podría mejorarse sustancialmente con un mecanismo de
tiempo equivalente, gestionado en baja frecuencia por un micro. A todo esto recordemos la
propuesta de retardo variable (RVAR) en mi diseño original, en especial la figura 2. ;)

Armando un barrido compuesto con apenas 8 barridos simples retrasados, se alcanzaría un
ancho de banda de aprox. 25 MHz (250 MSPS). Los retrasos necesarios entre cada dos
barridos deberían ser de aprox. 4 ns.
La cosa pasa entonces por generar digitalmente, retardos idénticos del orden de unos pocos
ns, y con precisiones de ps. Casi nada!
Lo bueno del método de tiempo equivalente es que para lograr buenos anchos de banda no
se requieren componentes demasiado rápidos. (y)

Últimamente Tektronix ha resuelto el problema de otra forma (ver Ref. 2) definiendo el
Tiempo Real Digital (DRT): en lugar de hacer digamos 200 barridos diferentes y desfasados,
para luego superponer las muestras en tiempo equivalente, directamente pone (no lo dice
explícitamente) 200 conversores desfasados a trabajar en paralelo sobre el mismo barrido
y obtiene ancho de banda en tiempo real. :aplauso:

El otro detalle que queda para considerar con mayor cuidado es la respuesta en frecuencia
de la parte analógica. Por rápida y bien gestionada que sea la conversión AD, si la circuitería
analógica distorsiona la señal, entonces la calidad del sistema se viene irremediablemente
abajo.

Hasta pronto.


Referencias:


1.- SEQUENTIAL EQUIVALENT-TIME SAMPLING WITH AN ASYNCHRONOUS REFERENCE CLOCK - U. S. Patent Application 20090237072

2.- Tecnología digital de tiempo real Tektronix y mercado de osciloscopios de bajo costo

3.- DESARROLLO DE UN SISTEMA AUTÓNOMO DE CAPTURA DIGITAL A 32 MHz


Lecturas adicionales:


Osciloscopios con Memoria Digital (DSO)
 
Última edición:
#25
Sigo atentamente todos los comentarios hechos en el tema ..... si avanzan en algo mas o precisan algo de Buenos Aires avisen.....

Tambien ando con un proyecto de Osciloscopio Digital e hicimos una placa pensada desde el desarrollo en este link... ( a mi no me convence para nada pero bueno ya le tenemos montada... falta que alguien la ponga en marcha pero tiene horrores el proyecto en algunos lados ya que no funciona del todo.....)
Paso link http://pablohoffman.com/cgi-bin/twiki/bin/view/Oscusb/WebHome
y tambien compramos este http://www.justblair.co.uk/seeed-studio-dso-nano-pocket-digital-storage-oscilloscope-review.html
que para las tonterias esta bueno ya que es autonomo y chico... pero nada mas, nada profesional....

Un saludo Diego
 
Última edición por un moderador:
#26
hola muchachos...soy fanatico de la electronica tambien y me gustan mucho estos aparatos como osciloscopios etc...pero...hago 2 preguntas:

1) por qué en vez de intentar diseñar un osciloscopio rompiendonos la cabeza...mejor no buscamos planos de uno comercial??

2) por otro lado, no sería mas facil digitalizar las señales y trabajarlas digitalmente a alta velocidad, y luego de ahi manejar un LCD o pantallita??

obviamente creo que un osciloscopio es uno de los instrumentos mas complejos y útiles en el ambito de la electronica...y que su construccion no es nada simple...

saludos.
 
#27
Sigo atentamente todos los comentarios hechos en el tema ..... si avanzan en algo mas o precisan algo de Buenos Aires avisen.....

Tambien ando con un proyecto de Osciloscopio Digital e hicimos una placa pensada desde el desarrollo en este link... ( a mi no me convence para nada pero bueno ya le tenemos montada... falta que alguien la ponga en marcha pero tiene horrores el proyecto en algunos lados ya que no funciona del todo.....)
...

Un saludo Diego
Te agradeceré que me hagas notar cualquier "horror" que le encuentres a mi
proyecto. Seguramente me va a doler en el orgullo pero, si es para aprender,
igualmente te daré las gracias.

PD: Si tus comentarios caen demasiado fuera de las normas del foro, podés
hacerlos por la vía del mensaje privado. En el peor de los casos te responderán
en el mismo tono.

1) por qué en vez de intentar diseñar un osciloscopio rompiendonos la cabeza...mejor no buscamos planos de uno comercial??
Creeme que en los últimos años he buscado pero no he podido encontrar nada simple,
completo, accesible y profesional. Además: me gusta romperme la cabeza ...

2) por otro lado, no sería mas facil digitalizar las señales y trabajarlas digitalmente a alta velocidad, y luego de ahi manejar un LCD o pantallita??
Eso es lo que entiendo por "la alternativa profesional", lo que yo intento es algo más
artesanal, con componentes accesibles para cualquier hobbista, y que requiera algo
de ingenio y mucho trabajo.

Saludos
 
Última edición:
#28
Para Alejandro Sherar

Este proyecto es muy bueno he tratado de desarrollar mi propio osciloscopio digital y quisiera compartir de igual forma mi proyecto, adicionalmente quisiera saber si tienes la parte del conformador y sistema de borrado del osciloscopio analogo que publicaste de la revista Radio Técnica.

Gracias de antemano
 
#29
Yo estoy tratando de hacer un osciloscopio de cero, bastante precario diriamos :) .

Mi idea es bastante simplona:

Código:
Entrada => Atenuador -------> Amplificador Variable ----> Conversor A/D ---> uP
                    |
                    ----- Trigger (usando Schmitt)---> uP
El uP se encarga de obtener niveles de tension y los tiempos en los que estos fueron tomados, luego por puerto serie mando los datos a una Pc y realizo todos los calculos complicados (en numero flotante y demas) en ella, obviamente tambien grafico la señal (programa hecho en Java).

El uP es un 89s52 ($8 a $9 en Argentina, se banca un cristal hasta 33 MHz => clk=2,75 MHz, lento), el A/D un 0804 (10 kHz max, una lenteja tambien), la idea es tratar de llevarlo hasta 100 kHz lo cual parece complicado con las velocidades de las de los componentes, pero aprovechando que la señal es periodica, me puedo dar el lujo de tomar una sola muestra por periodo e ir armando la señal con c/ periodo.

Hasta ahora hice el programa en java que se comunica con el 8051, el graficador ya estaria hecho, hice prueba basicas con el 8051 y el AD para ver si podia graficar un nivel de continua y hasta ahi habia llegado. Lamentablemente por falta de tiempo lo tengo parado, pero la idea era ir un paso mas y probar señales de baja frecuencia para luego ir aumentando y ver hasta donde llegaria.

Ademas faltaria toda la parte de adaptacion de los niveles, ver si en lo posible se puede trabajar con fuente simple, etc.

El proyecto en si facil no es, pero para aprender esta bueno, ademas siendo realistas dudo que la precision de las medidas sea buena en altas frecuencias, y habria que ver que sucede en bajas. Pero tenia planeado agregar una funcion en el programa en java que me permita calibrarlo a partir de un osciloscopio profesional.
 
#33
En ningún lado dije que haya construido el analógico.

El sistema de captura digital contra el que estoy peleando "aspira" a funcionar como osciloscopio, pero para eso falta ...
 
#34
Hola amigos. Me interesa el tema del osciloscopio, pero fundamentalmente algo que leí en un poster anterior sobre usar la PC como instrumento por la entrada de audio.

El problema es que los Software que he encontrado para esto, no graban la señal, solo el espacio en pantalla. Si alguien tiene alguna referencia a un Soft que me permita guardar la medición y verla en otro momento o con otra herramienta se lo agradeseria.
 
#35
Si bien hay retardos de ns y fracción como los de ELMEC o los DS1045 de MAXIM, estoy
buscando una forma práctica (sencilla, poco voluminosa y barata) de generar un conjunto
de retardos iguales para incorporar el método de tiempo equivalente al muestreo.
En esta figura iría en el módulo denominado RVAR.

Los retardos consisten en subdivisiones del tiempo mínimo entre dos muestras sucesivas,
debido a la máxima frecuencia de muestreo.
Para un CLK de 32MHz se tiene un período de 31.25 ns.
Ajustando el retardo con los mismos 4 bits más altos de la RAM, estaría
generando automáticamente un banco de RAM separado para cada barrido.

Una idea es, con los 4 bits disponibles del contador de desborde conmutar entre
16 retardos fijos RC, para asignarlos al tren de pulsos que proviene del trigger.
Este método requiere tener al menos 4 retardos fijos: 1 T, 2 T, 4 T, 8 T, todos
calibrados al 1 %.
Para 16 intervalos en 31 ns, esto da aprox. T = 2 ns, (1.95 ns) con precisión de 20 ps.
Para valores de R del orden de 100 Ohm se requiere valores de los C cercanos a las
capacidades parásitas. Esta idea es cuanto menos impracticable con
componentes "normales". No cumple la premisa de "sencilla".

Otra idea es, con los 4 bits conmutar un arreglo de resistencias, para que la
resultante defina la R de una subida o bajada tipo RC. Una idea parecida a la anterior
pero con un solo capacitor. Solo que ahora el retardo se ajustaría mediante una tensión
fija que entra a un comparador junto con la rampa. Al disparar siempre a la misma tensión,
variando el RC se obtendría un retardo diferente para cada valor de los 4 bits.
La ventaja de esta forma está en que los componentes RC pueden ser más
razonables (R y C mayores), dado que el disparo es indirecto por comparación
de tensiones.
Había empezado a complicarme armando algo con esta idea, pero se me ocurrió
otra más simple aún.

La tercera idea se trata de controlar un transistor 3904 en conmutación, aprovechando
que su tiempo de retardo depende de las corrientes de base y de colector.
Estuve probando con un emisor-común variando la R de base, y también levantando
el emisor con una R variable, y al menos en baja frecuencia parece funcionar.
Como la rampa de subida (o bajada) de colector cambia su pendiente, al disparar un
comparador contra una referencia de tensión fija, cambia el retardo respecto del
disparo de la señal en la base.
Como simple es muy simple. Ahora veré si resulta práctico por cuestiones de rangos
y precisión.
 
Última edición:
#37
Hola:

Revivo este tema para subir un enlace que encontré, de un sistema de captura digital que se conecta al puerto paralelo de la compu (yo no lo he armado aún).
Aquí está el esquemático y la placa que, según dice allí, puede armarse por menos de 6 U$S.
http://sites.google.com/site/scopeonpc/scopeonpc4

ConversorAD_para_PC_B&N.JPG
PCB_convAD.JPG

También se puede bajar el programa que lo completa para tener un osciloscopio en la PC. Todos los detalles se pueden bajar del sitio original.
http://sites.google.com/site/scopeonpc/scopeonpc6

Finalmente un esquema de un muestreador para sincronizar la captura digital.
Realmente no recuerdo de dónde lo bajé.
Muestreador.JPG

A experimentar !
 
Última edición:
#38
Alejandro:

Tengo la experiencia de un amigo que armo un osc con el ADC conectado derecho al puerto paralelo. No sirvio ya que si bien el ADC era de 1.5us por sample, la posterior captura y procesamiento para poder recibir el siguiente dato hacia muy lento todo. No pudo samplear aceptablemente señales senoidales de mas de 10khz segun recuerdo.

Personalmente, yo hice uno tambien por puerto paralelo, pero con un conversor de 80msps funcionando a 40msps (mas alla era erratico por diseño de placa supongo) con una memoria sram de lectora de CD entre el conversor y el puerto paralelo.

Funcionaba por paginas, cuando el trigger disparaba activaba la captura a 40mhz hacia la memoria. Cuando esta estaba llena, comenzaba una transferencia desde la memoria al puerto paralelo, controlada por un uC 16F628A.

Como el tiempo de sample era constante, el t/Div del mismo lo hacia visualizando: 1)- todas las muestras (max. resolucion) 2)- Una muestra cada 2, 3)- Etc.

Despues lo abandone por otros problemas y tengo rondando en la cabeza hacer lo mismo pero USB con uC 18F2550.

Y cuando termine unos proyectos, para tener algo minimo funcional voy a hacer uno por usb, utilizando un ADC no tan rapido como para poder usar la memoria del mismo uC. La entrada es la que adjunto, quitandole el ADC ese.

Aqui esta el esquematico de esa entrada.
Ver el archivo adjunto 41833
https://www.forosdeelectronica.com/f24/dudas-consejos-hacer-pic-osciloscopio-45184/#post385080
 
#39
Hola:

Hace poco empecé a diseñar un sistema de captura de datos con "aspiraciones"
de osciloscopio digital. El sistema proyectado tiene como característica principal
la posibilidad de ser construido con materiales no críticos. Esto es, principalmente,
en lo que se refiere al reloj de captura, y la velocidad de acceso de componentes
como memorias, compuertas, etc.
Trabajando con lógica TTL, y usando la serie HC, es posible pensar en gatillar un
conversor digital con un reloj de 32 MHz. A esta velocidad es relativamente sencillo
manejar contadores digitales TTL y memorias RAM de 12 ns de tiempo de grabación.

Sin embargo, con 32 MSPS el ancho de banda nominal según el teorema de Nyquist
sería de no más de 16 MHz, y teniendo en cuenta consideraciones más prácticas, en
realidad nunca se verían demasiado bien, señales de más de 3 MHz. Para una
herramienta de laboratorio, esto limitaba las aplicaciones a algunas mediciones en
audio, pero no mucho más.

Averiguando acerca de cómo se las arreglan los osciloscopios digitales para gestionar
las enormes cantidades de datos que generan los conversores A/D de más de 1 GSPS,
encuentro una agradable noticia (ver referencias 1 y 2).
Resulta que los osc. digitales no necesariamente trabajan siempre a tiempo real.

No es novedad que se suele componer un barrido de mayor resolución a partir de varios
barridos efectuados con retrasos prestablecidos. Este método de compaginación es sólo
aplicable a señales repetitivas y se denomina de "tiempo equivalente".

Lo que sí es novedad, al menos para mí, es que habiendo conversores más que rápidos
(> 1 GSPS) algunos osciloscopios muy conocidos como Tektronix y Agilent, trabajen con
conversores de 200 kSPS y 40 kSPS, y aún así logren anchos de banda de 70 y 65 GHz,
respectivamente.

Esto muestra a las claras que la mayor énfasis del circuito se pone en generar los retrasos
entre dos barridos consecutivos. La precisión debe ser alta ya que, para un mismo barrido,
el valor del retraso debe mantenerse constante dentro del margen de tiempo admitido por
el jitter (aleatoriedad de fase del disparo del trigger).
Asimismo, la diferencia de retraso entre dos barridos sucesivos debe establecerse con la
misma precisión a fin de no complicar el compaginado que le sigue.
Por si faltaba algo, tengamos en cuenta que para lograr anchos de banda del orden de los
60-70 GHz es necesario separar dos barridos varias decenas de ps. Este tiempo debe ser
ajustado como mínimo al 1 por mil, ya que los números de muestras tomadas en el barrido
rondan los varios miles. Estamos hablando de precisiones del orden del femtosegundo
(10^-15 seg).!!!!

Todo esto no hace más que alentarme a continuar mi desarrollo de un sistema de 32 MSPS
de tasa de captura, que ahora ya no me parece tan baja. Aunque simple en principio, en un
futuro no tan lejano, este sistema podría mejorarse sustancialmente con un mecanismo de
tiempo equivalente, gestionado en baja frecuencia por un micro. A todo esto recordemos la
propuesta de retardo variable (RVAR) en mi diseño original, en especial la figura 2. ;)

Armando un barrido compuesto con apenas 8 barridos simples retrasados, se alcanzaría un
ancho de banda de aprox. 25 MHz (250 MSPS). Los retrasos necesarios entre cada dos
barridos deberían ser de aprox. 4 ns.
La cosa pasa entonces por generar digitalmente, retardos idénticos del orden de unos pocos
ns, y con precisiones de ps. Casi nada!
Lo bueno del método de tiempo equivalente es que para lograr buenos anchos de banda no
se requieren componentes demasiado rápidos. (y)

Últimamente Tektronix ha resuelto el problema de otra forma (ver Ref. 2) definiendo el
Tiempo Real Digital (DRT): en lugar de hacer digamos 200 barridos diferentes y desfasados,
para luego superponer las muestras en tiempo equivalente, directamente pone (no lo dice
explícitamente) 200 conversores desfasados a trabajar en paralelo sobre el mismo barrido
y obtiene ancho de banda en tiempo real. :aplauso:

El otro detalle que queda para considerar con mayor cuidado es la respuesta en frecuencia
de la parte analógica. Por rápida y bien gestionada que sea la conversión AD, si la circuitería
analógica distorsiona la señal, entonces la calidad del sistema se viene irremediablemente
abajo.

Hasta pronto.


Referencias:


1.- SEQUENTIAL EQUIVALENT-TIME SAMPLING WITH AN ASYNCHRONOUS REFERENCE CLOCK - U. S. Patent Application 20090237072

2.- Tecnología digital de tiempo real Tektronix y mercado de osciloscopios de bajo costo

3.- DESARROLLO DE UN SISTEMA AUTÓNOMO DE CAPTURA DIGITAL A 32 MHz


Lecturas adicionales:


Osciloscopios con Memoria Digital (DSO)
asherar dejame ver si entendí, lo que hace básicamente es tomar una muestra y como la señal es periódica se espera a llegar al mismo punto donde se tomo el muestreo anterior pero se espera por ejemplo 1nS mas asi se obtiene otro punto y así sucesivamente hasta muestrear toda la señal?
Te hago una pregunta porque estoy siguiendo el tema y estoy en el desarrollo de un osciloscopio sobre un LCD TFT Touchscreen. No encuentro cual es la función del trigger en el osciloscopio, deduzco que es el que da la base de tiempo de la señal ya que en cierto voltaje de la señal el trigger se dispara (se pone a 1) y al caer la señal se pone a 0 y se cuenta el tiempo entre esos dos puntos, es así? Sino de qué modo se crea la base de tiempos?
Como haces para tomar un señal negativa? La desplazas con un operacional hacia un valor positivo y en algún pin del micro indicas que es negativa y luego se la corrige por software?

Saludos y gracias!!
 
#40
seaarg:
A mi también me pasó lo mismo con una placa comprada basada en el AD0808 (no recuerdo
bien el nro, pero era uno muy conocido de Motorola),
Con un conversor más rápido (fs=25 MHz) y una placa hecha por mí, llegué a 100 KSPS por
el LPT.

dragondgold
1.- Exactamente.
2.- El trigger sincroniza el inicio del barrido en la pantalla, con el instante que la señal
pasa por una condición dada de amplitud y pendiente.
3.- Como dices, el rango de amplitud de entrada del conversor determina el rango de
salida que debe ajustarse al Opamp. Los conversores rápidos tienen rangos de entrada
de 0V a 1V ó de -1V a +1V.

Además, todas estas cosas se complican a medida que uno trabaja con señales de
frecuencia mayor a 1 MHz, por los desfasajes que ocurren adentro de los opamp.
 

Temas similares