OSCILOSCOPIO-VOLTIMETRO USB PARA PC MULTIPROPOSITO


osci1

 

Es sabido que existe una multitud de programas que explotan las capacidades de adquisición de datos de las tarjetas de sonido para convertir nuestro PC en un osciloscopio virtual, pero si bien es cierto que podemos ver el aspecto de la señal, no podemos cuantificar el nivel de esta, tanto en corriente alterna, como en corriente continua, siendo esto realmente una seria limitación si lo que realmente se pretende emular un verdadero osciloscopio.

Sirviéndonos de la reingeniería inversa, por muy poco dinero se propone realizar un pequeño cambio bien en su tarjeta de sonido o bien en un modulo usb de bajo coste para solventar esta grave limitación y realmente poder cuantificar el nivel de cualquier señal aplicada a su entrada y por tanto obtener un verdadero sistema de adquisición de datos y de muy bajo coste.
Gracias a la técnica descrita en estas líneas y un pequeño circuito, el lector podrá cuantificar de una manera muy precisa cualquier variable física susceptible de ser transformada en una variación de voltaje como pueden ser: intensidad, resistencia, capacidad, inductancia, temperatura, humedad, luminosidad, presión y un largo etcétera.
Como complemento al circuito se presenta un pequeño programa escrito por el autor (cuya código  fuente esta disponibe   para su  descarga en https://github.com/soloelectronicos/Oscivolt/blob/master/README.md) que el lector podrá utilizar de forma multidisciplinar tanto en modo osciloscopio de doble trazo como sistema de adquisición de datos pues mediante un pequeño fichero de control es posibles la conversión realizar la conversión.

Adquisición de señales cc/ca a través de una tarjeta de sonido

Las tarjetas de sonido se han convertido en un componente estándar de prácticamente todos los ordenadores personales corrientes, estando prácticamente todas constituidas como mínimo de dos partes: un mezclador cuya misión es unir diferentes fuentes de señal gracias a un control por software de ganancia y nivel en una única señal (que será entregada al conversor) y un convertidor A/D doble( es decir un convertidor analógico a digital y un convertidor digital analógico) usualmente de alta precisión de 16bits con una frecuencia máxima de muestreo entre 44.1khz o 48khz .A estos dos bloques básicos, pueden añadirse otros bloques más, como por ejemplo otro conversor digital analógico para obtener una salida de audio estereo, pero desde el punto de vista de la conversión A/D estos dos citados son los más importantes.

Casi todas las tarjetas de sonido desgraciadamente están aisladas de corriente continua por medio de un condensador interno de desacople que se sitúa cerca de sus entradas, lo cual como el lector imaginara no solo nos imposibilita tomar medidas de CC, sino que tampoco podemos hacer mediciones fiables y cuantificadas respecto a una referencia dada (el motivo de semejante medida es claramente la de ajustar el nivel cero de la señal de sonido procesada y utilizar esta como referencia de masa).

Normalmente este aislamiento de CC nunca ha sido un problema dado que el uso de las tarjetas de sonido ha sido siempre la de capturar señales analógicas sin grandes pretensiones (normalmente la captura de un micrófono JFET) por lo que la presencia de estos condensadores solo aislaban el nivel de CC, pasando al conversor solo el nivel de CA sin que esto afectase a un uso normal de estas.

Ahora bien si lo que se desea es utilizar el conversor A/D de la tarjeta de sonido para medidas de mayor precisión ( como ejemplo para un osciloscopio ) es evidente que estos condensadores son una seria limitación para utilizar las tarjetas de sonido como medio de adquisición de datos, motivo por el cual habrá que estudiar otra forma de referenciar el nivel cero sin recurrir a la solucion drástica de eliminar su componente de continua por medio de un condensador de desacople.
En las líneas siguientes se mostraran dos soluciones de ingeniería inversa que resuelven de un modo rápido, fiable y muy económico con total satisfacción este problema usando sin embargo dos perspectivas diferentes:

  • Modificando una tarjeta de sonido tipo PCI estándar
  • Utilizando una pequeña unidad externa USB de bajo coste que basa su funcionamiento en único Circuito Integrado

Posibilidad de modificación de una tarjeta de sonido estándar PCI para medida de tensiones de continua

Si analizamos la entrada de línea de un Creative modelo CT4810, estudiado el circuito asociado al conector azul de entrada será similar al siguiente:

osci2

Ampliación entrada línea de CT4810 1

Como podemos ver esbozar viendo la fotografía adjunta, es fácil deducir el circuito asociado, el cual no conlleva dificultad alguna, especialmente si nos fijamos en los grandes condensadores electrolíticos c18 y c19 (lo cuales claramente nos están anulando el paso de continua a las etapas posteriores),el cual consiste en un condensador en paralelo con la entrada, y tras el un divisor de tensión y en su punto medio un condensador en serie de desacople electrolítico.
Este esquema esta lógicamente repetido para el otro canal.

 

Esquema circuito de entrada CT4801 1

osci3
Es fácil comprender que si analizamos otras tarjetas el circuito será similar a este si bien la red previa a los condensadores de desacoplo (en nuestro caso formado c1-r2-r3 y c2-r3-r6) puede cambiar, por ejemplo como apreciar en las siguientes otras tarjetas:

  • En la SB 16 es idéntica a la anterior (si bien los valores de los componentes pueden no coincidir).
  • En la CMI 8738SX por cada canal solo hay una resistencia y un condensador en paralelo y después el condensador de desacople
  • En la Audio PCI5000 es simplemente una red RC previa por canal
  • En la AWE64 es la mas compleja pues hay un operacional TL074 a la entrada en modo inversor, y a su salida ya podemos encontrar el condensador de desacople. Esta configuración serviría para realizar el ajuste que se describirá mas adelante a continuación (podemos seguir el esquema de mas abajo pues el Amplificador operacional nos serviría y solo tendríamos que modificar sus componentes externos)

Localizado el origen del problema, para poder hace mediciones de DC pues solo nos bastaría con reemplazar C18 o c19 por un o unos puente, pero aun tendríamos el problema de la referencia de tierra (en este caso rondaría en torno a las 2.5v),
Para solucionar nuestro problema podemos, tras eliminar o cortocircuitar C18 y/o c19 de la tarjeta original, podemos utilizar el siguiente sencillísimo esquema de un AO usado en modo diferencial, cuya salida viene dado por la conocida formula:

osci4

Un análisis de la citada formula nos muestra que la salida vout puede ser un cierto nivel de continua negativo de vref si la tensión de entrada vin llega a ser un valor aproximo a cero, es decir

osci5

Es decir con esta configuración previa conseguimos restar de la señal de entrada un cierto nivel de continua de modo que la lectura tomada final este compensada por ese valor y de ese modo el convertidor A/D nos da el valor real de la señal a medir, para lo cual nos ayudaremos de la red r4-r6-r5, la cual nos servirá para añadir el nivel justo de continua para compensar que la lectura del circuito sea cero.

osci6

Esquema de circuito de corrección 1
Del esquema final solo no queda mencionar la pequeña red de atenuación formada por los divisores de tensión r9/j1a y r10/j2b junto con r8,la cual nos servirá apara atenuar la medida a un valor que no pueda dañar a este, siendo la primera aproximadamente 1/10 y la segunda en torno a 1/100
Por ultimo, en cuanto la alimentación del circuito al ser simétrica de +-5v no podemos tomarla de un conector Molex , por lo que podemos tomarla directamente del conector ATX en los pines 17(negro) ,18 (blanco) y 19(rojo)

osci7

Esquema conector ATX 1

Una solución integrada: el circuito integrado CM108

Aunque se ha visto que añadiendo un pequeño circuito basado en un simple Amplificador Operacional podemos adaptar cualquier tarjeta de sonido PCI para medir tensiones continuas , no siempre es posible hacer esto, pues modernamente casi todas las tarjetas de sonido suelen estar integradas en la placa madre ( mas aun si se trata de un ordenador portátil) siendo estas engorrosas de desmontar y por tanto difíciles de modificar en el aspecto que se he explicado en las líneas anteriores.
Por tanto para aquellas personas que no puedan modificar la tarjeta de sonido de su PC, la utilización del chip CM-108 es perfecto para una simple aplicación de adquisición de datos, pues por un bajísimo precio integra en una sola pastilla con unos poquísimos componentes discretos asociados, el interfaz USB, la fuente, el convertidor A/D y en definitiva para realizar adquisición de señales analógicas en nuestro PC.
En efecto pues, el circuito integrado CM108 es una solución de audio con interfaz USB de muy bajo coste cuyo diseño se ha basado en un único chip, conteniendo en su interior todos los módulos analógicos esenciales incluyendo un doble conversor digital-analógico y etapa de potencia para auriculares, un PLL, un pre-amplificador para una entrada analógica, regulador de 3.3 voltios, así como un transceptor USB.

 

osci0

Este chip es muy usado en aplicaciones para convertir muy fácilmente cualquier PC o ordenador portátil en un sistema de sonido y también para hacer llamadas por Internet por VoIP ( Skype, Messenger, etc.)

Muchas de las carastericticas de este chip son programables bien con puentes o bien a través de una EEPROM externa. Además los ajustes de audio pueden ser mas fácilmente controlados por unas patillas especificáis del chip.
A continuación se destacan algunas de las magnificas carastericticas este chip:

  •  Encapsulado en LQFO de 48 patas
  •  Configuración de ancho de banda cero para relevar el ancho de banda del bus USB cuando este esta inactivo
  •  Soporta los formatos AES/EBU, IEC60958, S/PDIF para datos esterero PCM sobre salida S/PDIF
  •  Patilla de mute en grabación con patilla de salida para Led de indicación de estado
  •  Interfaz externo en EEPROM para datos de fabricantes como USB VID, PID ,y numero de serie
  •  Función de escritura en EEPROM por especificación del consumidor final para producción en masa
  •  VID, PID, y cadena de producto por petición del fabricante
  •  4 patillas de GPIO con interfaz de lectura/escritura vía interfaz HID
  •  Patillas para configurar el voltaje salida (3.5V o 2.5V)
  •  Patilla para configurar el modo de ahorro de energía (100mA o 500mA, alimentado por el propio Bus USB o autoalimentado)
  •  Transferencia sincrónica usando modo adoptivo por medio de un PLL interno para sincronización
  •  Rango de muestreo de 48K / 44. para reproducción y grabación
  •  Función de Mute
  •  DAC embebido de latas prestación de 16-Bit Audio con salida amplificada de auriculares
  •  Función de reducción de ruido
  •  Convesor analógico/digital (ADC) de 16-Bit con preamplificador
  •  Bloque embebido de encendido en el reinicio
  •  Regulador de 5V a 3.3V para funcionamiento con 5 voltios
  •  Compatible con Win98 SE / Win ME / Win 2000 / Win XP y Mac OS9 / OS X sin driver adicional

osci10

Pin # Symbol Type Description
1 SPDIFO DO, 8mA, SR SPDIF Output
2 DW DIO, 8mA, EEPROM Interface Data read from EEPROM
PD, 5VT
3 DR DO, 4mA, SR EEPROM Interface Data write to EEPROM
4 SK DO, 4mA, SR EEPROM Interface Clock
5 CS DO, 4mA, SR EEPROM Interface Chip Select
6 MUTER DI, ST, PU Mute Recording (Edge Trigger with de-Bouncing)
7 PWRSEL DI, ST Chip Power Select Pin, worked with MODE Pin
Speaker Mode H:Self Power with 100mA
L:Bus Power with 500mA
Headset Mode H:Bus Power with 100mA
L:Bus Power with 500mA
( H: Pull Up to 3.3V; L: Pull Down to Ground )
8 XI DI Input Pin for 12MHz Oscillator
9 XO DO Output Pin for 12MHz Oscillator
10 MODE DI, ST Operating mode select
H:Speaker Mode – Playback Only
L:Headset Mode – Playback & Recording
( H: Pull Up to 3.3V; L: Pull Down to Ground )
11 GPIO2 DIO, 8mA, GPIO Pin
PD, 5VT
12 LEDO DO, SR, 8mA LED for Operation;
Output H for Power On; Toggling for Data Transmit
13 GPIO3 DIO, 8mA, GPIO Pin
PD, 5VT
14 DVSS1 P Digital Ground
15 GPIO4 DIO, 8mA, GPIO Pin
PD, 5VT
16 SDIN DIO, 8mA, ADC I2S Data Input
PD, 5VT
17 ADSCLK DIO, 4mA, SR ADC I2S Serial Clock
18 MUTEP DI, ST, PU Mute Playback (Edge Trigger with de-Bouncing)
19 ADLRCK DO, 4mA, SR ADC I2S Left / Right Clock
20 ADMCLK DIO, 4mA, SR 11.2896MHz Output for 44.1KHz Sampled Data and
12.288MHz Output for 48KHz Sampled Data
21 LEDR DO, SR, 8mA LED for Mute Recording Indicator;
Output H when Recording is Muted
22 ADSEL DI, ST, PD ADC Input Source Select Pin
H: Use external (via I2S) ADC
L: Use internal ADC
( H: Pull Up to 3.3V; L: Pull Down to Ground )
23 TEST DI, ST, PD Test Mode Select Pin;
H: Test Mode
L: Normal Operation
( H: Pull Up to 3.3V; L: Pull Down to Ground )
24 AVSS1 P Analog Ground
25 VBIAS AO Microphone Bias Voltage Supply (4.5V), with a small Driving Capability
26 VREF AO Connecting to External Decoupling Capacitor for Embedded Bandgap Circuit; 2.25V Output
27 MICIN AI Microphone Input
28 VSEL AI Line Out Voltage Swing Select
H: Line out Vpp = 3.5 Volts
L: Line out Vpp = 2.5 Volts
( H: Pull Up to 5V; L: Pull Down to Ground )
29 AVDD1 P 5V Analog Power for Analog Circuit
30 LOL AO Line Out Left Channel
31 LOBS AO DC 2.25V Output for Line Out Bias
32 LOR AO Line Out Right Channel
33 AVSS2 P Analog Ground
34 AVDD2 P 5V Power Supply for Analog Circuit
35 DVDD P 5V Power Supply for Internal Regulator
36 DVSS2 P Digital Ground
37 REGV AO 3.3V Reference Output for Internal 5V 􀃆3.3V Regulator
38 MSEL DI, ST Mixer Enable Select, worked with MODE pin
H: With Mixer / AA-Path Enable (With Default Mute)
L: Without Mixer / AA-Path Disable
( H: Pull Up to 3.3V, L: Pull Down to Ground )
USB Descriptors will also be changed accordingly
39 VOLUP DI, ST, PU Volume Up (Edge Trigger with de-Bouncing)
40 PDSW DO, 4mA , OD Power Down Switch Control Signal (for PMOS Polarity)
0: Normal Operation,
1: Power Down Mode (Suspend Mode)
41 USBDP AIO USB Data D+
42 USBDM AIO USB Data D-
43 GPIO1 DIO, 8mA, GPIO Pin
PD, 5VT
44 SDOUT DO, 4mA, SR DAC I2S Data Output
45 DAMCLK DO, 4mA, SR 11.2896 MHz Output for 44.1KHz Sampled Data and
12.288 MHz Output for 48KHz Sampled Data
46 DALRCK DO, 4mA, SR DAC I2S Left/Right Clock
47 DASCLK DO, 4mA, SR DAC I2S Serial Clock
48 VOLDN DI, ST, PU Volume Down (Edge Trigger with de-Bouncing)

 

 

 

 

Descripción de las patillas del CM108

El modulo SL-8850

osci11

Si bien en las líneas anteriores se ha visto como el circuito integrado CM108 es perfecto para el cometido de adquisición de señal, este circuito integrado viene en montaje LFQP lo cual implica una cierta complicación en el montaje y lo más grave: nos arriesgamos a que el circuito no termine de funcionar correctamente.
Una solución mucho más sencilla que realizar nosotros el propio circuito soldando en el chip CM108, es la de utilizar un montaje comercial (en este caso se ha usado el modulo SL -8850 del fabricante Speed Link,) y practicar reingeniería inversa con el: es decir estudiar su configuración y modificarlo posteriormente para conseguir nuestro cometido.
El modulo SL-8850 es muy fácilmente localizable por la red (por ejemplo en el portal de http://www.ebay.es) y en las tiendas especializadas, tal y como se vera mas adelante el esquema adaptado por el fabricante sigue al pie de la letra la nota de aplicación del fabricante del chip CM-108, su coste es muy bajo (por unos 10 € ) y sobre todo ya esta montado ,ajustado y probado y por supuesto ¡ listo para funcionar!

 

osci12

Aspecto de la placa de circuito impreso 1

Las carastericticas de este modulo son:

  •  1 entrada mono de micrófono con praemplificador
  •  2 salida de audio para auriculares
  •  Conversor de 16-bit A/D
  •  Rango de muestreo de 48K/44.1KHz tanto para reproducción como para captura
  •  Compatible con USB 2.

El esquema de este circuito tal y como se había adelantado sigue casi al pie de la letra la hoja de aplicación del citado circuito eliminando tan solo la eeprom, los pulsadores para el volumen y de mute, el led de mute y el transceptor de infrarrojos, quedando el circuito prácticamente con las conexiones de los jacks, el conector USB y el cristal de cuarzo.
Además en la serigrafía de la placa los componentes SMD instalados coinciden con los del esquema del fabricante del chip

 

osci13

Esquema CMI108

En la parte superior del esquema esta la parte de alimentación y transmisión a través del bus USB en los pines 41 y 42 por medio de dos circuitos C formados L1,L2,C3 Y C4 y las resistencias en serie R1,R2,R3.
Si bien la entrada de micrófono esta conectada de modo estándar, la salida para auriculares es un poco atípica al no incluir condensadores electrolíticos de desacople ni la señal de masa, usando como novedad una patilla especial del chip llamada LOBS (pin31), la cual proporciona unos 2.25 voltios de salida, es decir Vcc/2, Además experimentalmente se pudo comprobar que la patilla MCIN ( pin 27) puede aceptar niveles de tensión continua y requiere aproximadamente unos 2.2 Voltios de tensión para conseguir el nivel cero de continua, de esta forma casi sin darnos cuenta tenemos en el propio chip tenemos todos los componente necesarios para poder hacer mediciones de continua casi sin necesitar componentes externos ( que por otro lado hubiese sido dificultosa ya que necesitaríamos -5v que no podemos sacar del puerto usb).

Dado pues que el circuito integrado ya contiene una referencia externa en la patilla LOBS, lo que intentaremos es utilizar esta como referencia interna de modo que la señal de entrada este referida a esta.
Para este cometido: conectaremos las masas de los jacks entre si y todos a la señal LOBS, después eliminaremos el condensador de desacople C11, el cual sustituiremos por una resistencia de pequeño valor y por ultimo con objeto de proteger la entrada ante señales mayores conectaremos un par de diodos rápidos en paralelo con la señal de entrada
Por ultimo conectaremos un condensador electrolítico a modo de filtro entre la masa general y la masa ficticia creada con la señal LOBS
El esquema final con las modificaciones últimas, quedaría de la siguiente forma :

osci14

Modificación propuesta al modulo CM108 1

Circuito de control
Se podría conectar la señal a medir directamente al jack de micrófono e incluso prescindir de los diodos en antiparalelo que mas a delante se comentaran y el condensador de filtrado de vREF y no necesitaríamos comprar nada mas realizando simplemente las mínimas modificaciones ya apuntadas (eliminando R10y R13 ,substituyendo C11 por R10 y cortando la línea de masa del jack de micrófono que va al interior y uniendo las masas de ambos jacks ) ,pero con objeto de proteger el circuito y añadir bastantes funcionalidades más ,se ha diseñado una simplísima red de atenuación ,aislamiento y de desvió basándonos simplemente enun simple y económico conmutador DIP de 16 pines ( 8 microinterruptores) y unos pocos componentes asociados.
Efectivamente con un mínimo coste y poco esfuerzo a nuestro conversor a/d basado en el modulo CM108 podemos añadirle las siguientes prestaciones:

  • Protección por sobre-tensión
  • Protección ante transitorios
  • Medidas de AC
  • Diferentes escalas de atenuación
  • Inyección o entrada de señal

El circuito como se puede apreciar mas abajo , basa su funcionamiento en 8 microinterruptores encapsulados en un mismo encapsulado 8 interruptores DIP(se ha elegido este por precio, tamaño y número de conexiones ), y asociado a estos se conectan una simple red de resistencias en forma de divisores de tensión formadas todas por R1 como elemento común y R2,R3,R4,R5,R6 como elementos variables ,calculadas todas para una reducción aproximada de aproximadamente 1000,100,50,10 o 50 veces el valor de la tensión a su entrada.
El circuito se completa con un pequeño circuito de protección formado por los dos diodos rápidos en configuración antiparalelo D1 y D2 lo cuales harán las veces de protección frente a sobretensiones y transitorios (debido a que ambos no dejaran pasar un tensión mayor a unos 0.7V ) y un condensador C1 para impedir el paso de continua si así se desea ( modo AC)
Por ultimo para facilitar la inyección de señales a través de l a misma sonda se han conectado los dos últimos interruptores lo cuales o bien conectan la sonda a un canal de la salida de la t. de sonido o bien conectan la entrada la salida de la red al jack de micrófono y la punta de prueba al otro extremo de la red

 

osci15

Esquema red auxiliar 1
Las funciones del conmutador dip de 8 conexiones de izquierda a derecha son las siguientes:

  • S1 on=escala 1/5 (conexiones 8 y 9)
  • S2 on =escala 1/10 (conexiones 7 y 10)
  • S2 on=escala 1/50 (conexiones 6 y 11)
  • S3 on=Escala 1/100 (conexiones 5 y 12)
  • S4 on=Escala1/1000 (conexiones 4 y 13)
  • S5= on dc s5= off ac ( connexions 3 y 14)
  • S6 on =sonda osciloscopio (conexiones 2 y 15)
  • S7on =sonda inyectora (conexiones 1 y 16)

Lista de componentes

  • D1,D2= diodos rápidos de media señal 1N4148
  • R1=910K
  • R2=100K
  • R3=10K
  • R4=1K
  • R5=200k
  • C1=22 nf
  • C2=10mF/25V
  • S1 =conmutador DIP de 16 pines ( 8 micro-interruptores)
  • Modulo CMI108 (ver texto)

Varios:
1 pequeña placa de puntos
1 cajita sonda ( se reutilizó de un bolígrafo linterna)
1 cable usb a usb
1 pinza de cocodrilo

(*)Todas las resistencias de ¼ W 5%
Construcción práctica

Dado que trabajaremos con un montaje en smd deberemos extremar la precaución de no sobrecalentar los componentes que debemos añadir y eliminar sobre todo por no dañar los que están cerca o estropear pistas cercanas , para lo cual nos deberíamos de ayudar de una buena lente y un soldador de 15W o menos con un punta lo mas fina posible
Una vez desmontada la carcasa de CMI108, observando muy atentamente la fotografía adjunta así como el esquema final que pretendemos, seguiremos lo siguientes pasos
• Eliminar resistencias R10, R13
• Sustituir el condensador C11 por una resistencia de 1k (puede emplearse r11)
• Cortar la línea de masa del jack de micrófono que va la interior ( pues le conectaremos una nueva masa procedente de LOBS)
• Hacer un Puente para unir las masas de ambos jacks

Realizadas estas modificaciones pasaremos a montar la plaquita auxiliar, para lo cual nos basaremos de una pequeña placa de circuito impreso de fibra de vidrio de aproximadamente 100 x 400mm con paso de 2 mm y siguiendo el esquema de más arriba y la fotografia de mas abajo ,seguiremos los siguientes pasos:
• Montaremos un pequeño conmutador dip
• Soldaremos el condensador de desacople C1
• Soldaremos los dos diodos en antiparalelo
• Soldaremos las resistencias por detrás del circuito impreso siguiendo el esquema
• Conectaremos la sonda y un cablecillo al que conectemos una pequeña punta de cocodrilo
• Conectaremos este circuito con los jacks de entrada y salida con cablecillos
• Añadir un condensador electrolíticos de 10mf /50v entre la placa y el cmi180

osci16

Revisado y comprobado con el polímetro que el circuito es correcto, antes de encerrarlo en la caja conectaremos la sonda un cable usb y este a nuestro PC

osci17

Una vez conectada la sonda a nuestro PC, veremos como el led rojo del CMI830 luce , es buen señal, empezáremos por configurar este dispositivo de audio como predeterminado a efectos de captura,para ello en Windows vista o nos iremos a Iniciopanel de controlhardware y sonido sonidopestaña grabar
Pulsaremos con el botón derecho sobre el icono de micrófono c-media usb-headphone set y elegiremos establece como dispositivo predeterminado

osci18

Una vez definida por defecto el dispositivo ‘c-media usb headphone’, nos descargaremos       el programa diseñado para esta ocasión el programa gratuito Oscilloscope4 (escrito por el autor que escribe estas líneas y cuyo codigo fuente esta aqui : https://github.com/soloelectronicos/Oscivolt/blob/master/README.md)
Nótese que obviamente puede usarse cualquier otro programa comercial o no que maneje la tarjeta de sonido, pero el programa que se propone además de ser gratuito y funcionar sobre Windows vista , traducirá a una magnitud eléctrica el valor del pico de la seña que introduzcamos

En teoría solo nos queda descomprimir el paquete en un directorio y ejecutar el programa Oscilloscope4.exe y si todo ha ido bien se iniciara el programa

Arrancaremos el osciloscopio pulsando sobre el botón “comenzar/parar” y si hemos instalado el sw correctamente y si tanto el cmi830 como el circuito auxiliar están bien realizados, desde ese momento el programa debería de marcar la tensión presente en su primer canal :en este caso debería ser sobre los 0 Voltios (debido a las tolerancias de los componentes puede que esto varie para lo cual deberemos ajustarlo como se describirá mas adelante )

 

osci19

Para comprobar que el circuito responde bien ,seleccionaremos la ganancia del canal 1 al máximo (6),conmutaremos la escala 1/1000 ,el offset centrado y la base de tiempos en 4ms/división .ganancia horizontal al mínimo (1) y finalmente seleccionaremos el disparador (trigger ) en la posición central el circuito al tocar la sonda debería responder simplemente tocando con un dedo la sonda pues veremos como se muestran en pantalla los transitorios producidos .
Dadas las tolerancias de la redes de atenuación aquí empleadas, se hace necesario un ajuste de cada escala en función del valor obtenido en la conversión, para ello nos serviremos de un polímetro digital y una fuente de alimentación variable.
El proceso es muy simple y simplemente se trata de aplicar pequeñas tensión continuas no superiores de 5v , seleccionando la misma escala tanto en el sw del osciloscopio como en la sonda,e e ir anotando las lecturas binarias que aparecen en el display( para ello deberemos pulsar pulsar el botón Ignorar INI)
Para casa escala se anotaran pues tres valores:

  •  Cero= es el valor binario que nos da la pantalla cuando en esa escala tenemos la punta conectada a masa
  •  Valoran= valor binario que nos muestra el programa
  •  Valordig= valor de la lectura del polímetro multiplicado por 100
  •  Tipo pondremos 1 si la magnitud que queremos que muestre son voltios,2 si se desea amperios ,3 en ohmios y 4 binario

Estos valores se anotaran en el fichero osc.ini debajo de cada escala ([div1000],[div100],[div50],[div10],[div5]) cumplimentando los epígrafes antes comentados borrando el valor por defecto y anotando los nuevos valores ,
Para facilitar las cosas si se maximiza la pantalla se mostrara en la parte inferior izquierda precisamente estos valores (que se haran cero si se pulsa el boton ignorar INI)

Como ejemplo si para la escala de 1/1000, obtenemos un valor binario de 128 para los 0 voltios y el valor de 145 para 1,425voltios, deberíamos buscar la sección [div1000] y cumplimentar cero=128, valoran=145, valordig=1425,tipo=1
…….
[div1000]
cero=128
valoran=145
valordig=1425
tipo=1

Con ayuda de estos valores en cada escala el programa automáticamente interpolara ( por interpolación líneas) el valor y la magnitud final que se mostrará en pantalla

El circuito tal y como se ha descrito funciona bastante bien. Con el dispositivo se hizo una serie de medidas encontrando que la sensibilidad máxima es aproximadamente +/-120 mV sin el preamplificador de micrófono conectado ( si se conecta este la ganancia es de aproximadaemente de s +20bB (10x), qué quiere decir unos +/-12 mV,lo cual parece demasiado bajo para objetivos prácticos .por lo que no fue probado

A continuación se describirán las funciones mas importantes del sw del osciloscopio:

Comenzar/parar: Con este botón encendemos o apagamos el osciloscopio. Un vez este arrancado un led rojo a lai zquierda de dicho botón comenzara a parpadear y además aparcera un rotulo debajo de la barra de menús con el cartel “Capturando”
Doble canal: la sonda propuesta es monocanal, pero el sw propuesto acepta ambos canales por lo que si se necesitan los dos canales se puede pulsar este botón.
On: Independientemente de la señal de entrada, si no esta pulsado , la señal siempre vale 0V. Se utiliza muchas veces para ver la posición central de la señal.
1/1000 : escala para dividir la seña por 1000 ( se debe seleccionar el conmutador del circuito también en esta posición)
1/100: escala para dividir la seña por 100 (se debe seleccionar el conmutador del circuito también en esta posición)
1/50 :escala para dividir la seña por 50 ( se debe seleccionar el conmutador del circuito también en esta posición)
1/10 :escala para dividir la seña por 10 ( se debe seleccionar el conmutador del circuito también en esta posición)
1/5 :escala para dividir la seña por 5 ( se debe seleccionar el conmutador del circuito también en esta posición)
Ganancia vertical :modifica la ganacia del amplificador vertical desde 1 hasta 6
Offeset:(( PosY):Indica la posición central de la señal tanto para el canal derecho como del izquierdo.
Intens: Regula la intensidad de las señales.
Foco: Aumenta o disminuye el grosor de las señales.
Escala : aumenta o disminuye la luz de fondo de la pantalla

Disparador
Cambia el nivel del disparo cuando este está en manual.

Tiempo: Indica cuanto tiempo hay entre cada cuadro de la pantalla
11.025: establece la escala de tiempos en 4ms por división
22,050:establece la escala de tiempos en 2ms por división
44,100: establece la escala de tiempos en 1 ms por división
Ganancia horizontal: establece la ganancia del amplificador horizontal.^Puede variar desde q hasta 8

:(( XPos)
La pantalla tiene unos márgenes no visibles en los cuales la señal se dibuja pero no aparece. Con este botón podemos indicar si queremos más margen en la parte izquierda o en la derecha
Menú fichero
Nos permite capturar una imagen a ficheroo salir de la apliccion

Menú pantalla
Nos permite variar el color de la pantalla y presentar o no en pantalla la escala ms por division
manejo básico del osciloscopio

La pantalla
Fijate en la siguiente figura que representa la pantalla de un osciloscopio. Deberás notar que existen unas marcas en la pantalla que la dividen tanto en vertical como en horizontal, forman lo que se denomina reticula ó rejilla. La separación entre dos lineas consecutivas de la rejilla constituye lo que se denomina una división. Normalmente la rejilla posee 10 divisiones horizontales por 8 verticales del mismo tamaño (cercano al cm), lo que forma una pantalla más ancha que alta. En la lineas centrales, tanto en horizontal como en vertical, cada división ó cuadro posee unas marcas que la dividen en 5 partes iguales (utilizadas como veremos más tarde para afinar las medidas)

 

osci20
Algunos osciloscopios poseen marcas horizontales de 0%, 10%, 90% y 100% para facilitar la medida de tiempos de subida y bajada en los flancos (se mide entre el 10% y el 90% de la amplitud de pico a pico). Algunos osciloscopios también visualizan en su pantalla cuantos voltios representa cada división vertical y cuantos segundos representa cada división horizontal.
Medida de voltajes
Generalmente cuando hablamos de voltaje queremos realmente expresar la diferencia de potencial eléctrico, expresado en voltios, entre dos puntos de un circuito. Pero normalmente uno de los puntos esta conectado a masa (0 voltios) y entonces simplificamos hablando del voltaje en el punto A ( cuando en realidad es la diferencia de potencial entre el punto A y GND). Los voltajes pueden también medirse de pico a pico (entre el valor máximo y mínimo de la señal). Es muy importante que especifiquemos al realizar una medida que tipo de voltaje estamos midiendo.
El osciloscopio es un dispositivo para medir el voltaje de forma directa. Otros medidas se pueden realizar a partir de esta por simple cálculo (por ejemplo, la de la intensidad ó la potencia). Los cálculos para señales CA pueden ser complicados, pero siempre el primer paso para medir otras magnitudes es empezar por el voltaje.

 

osci21
En la figura anterior se ha señalado el valor de pico Vp, el valor de pico a pico Vpp, normalmente el doble de Vp y el valor eficaz Vef ó VRMS (root-mean-square, es decir la raiz de la media de los valores instantáneos elevados al cuadrado) utilizada para calcular la potencia de la señal CA.
Realizar la medida de voltajes con un osciloscopio es fácil, simplemente se trata de contar el número de divisiones verticales que ocupa la señal en la pantalla. Ajustando la señal con el mando de posicionamiento horizontal podemos utilizar las subdivisiones de la rejilla para realizar una medida más precisa. (recordar que una subdivisión equivale generalmente a 1/5 de lo que represente una división completa). Es importante que la señal ocupe el máximo espacio de la pantalla para realizar medidas fiables, para ello actuaremos sobre el conmutador del amplificador vertical.

osci22
Algunos osciloscopios poseen en la pantalla un cursor que permite tomar las medidas de tensión sin contar el número de divisiones que ocupa la señal. Basicamente el cursor son dos lineas horizontales para la medida de voltajes y dos lineas verticales para la medida de tiempos que podemos desplazar individualmente por la pantalla. La medida se visualiza de forma automática en la pantalla del osciloscopio.
Medida de tiempo y frecuencia
Para realizar medidas de tiempo se utiliza la escala horizontal del osciloscopio. Esto incluye la medida de periodos, anchura de impulsos y tiempo de subida y bajada de impulsos. La frecuencia es una medida indirecta y se realiza calculando la inversa del periodo. Al igual que ocurría con los voltajes, la medida de tiempos será más precisa si el tiempo a objeto de medida ocupa la mayor parte de la pantalla, para ello actuaremos sobre el conmutador de la base de tiempos. Si centramos la señal utilizando el mando de posicionamiento vertical podemos utilizar las subdivisiones para realizar una medida más precisa.

osci23
Medida de tiempos de subida y bajada en los flancos
En muchas aplicaciones es importante conocer los detalles de un pulso, en particular los tiempos de subida ó bajada de estos.
Las medidas estandar en un pulso son su anchura y los tiempos de subida y bajada. El tiempo de subida de un pulso es la transición del nivel bajo al nivel alto de voltaje. Por convenio, se mide el tiempo entre el momento que el pulso alcanza el 10% de la tensión total hasta que llega al 90%. Esto elimina las irregularidades en las bordes del impulso. Esto explica las marcas que se observan en algunos osciloscopios ( algunas veces simplemente unas lineas punteadas ).
La medida en los pulsos requiere un fino ajuste en los mandos de disparo. Para convertirse en un experto en la captura de pulsos es importante conocer el uso de los mandos de disparo que posea nuestro osciloscopio. Una vez capturado el pulso, el proceso de medida es el siguiente: se ajusta actuando sobre el conmutador del amplificador vertical y el y el mando variable asociado hasta que la amplitud pico a pico del pulso coincida con las lineas punteadas (ó las señaladas como 0% y 100%). Se mide el intervalo de tiempo que existe entre que el impulso corta a la linea señalada como 10% y el 90%, ajustando el conmutador de la base de tiempos para que dicho tiempo ocupe el máximo de la pantalla del osciloscopio.

osci24

 

 

 

Configuración fichero osc.ini
Los primeros parámetros salvan el ultimo estado del osciloscopio de modo , que al arrnacarlo nuevamente no haya que modificar otra vez los controles
A continuación se detallan los diferentes parámetros que aparecen en el mismo fichero ini
[Mode]
Dual=0    //define el funcionamiento en modo monocanal o en modo dual
[Channel1]    //a continuación se definen todas los parámetros del canal 1
Gain=6 // ganancia (de 0 a 6)
ofset=-2 //offset (desde -160 a 160)
On=1  // procesa o no ese canal

[Channel2]
Gain=6
ofset=58
Gnd=0
On=0

[Trigger]
Level=0

[Time]
Scale=11
Gain=10

[Screen]
Scale=120
Beam=30
focus=1
color=clBlack

[ScreenData]
Time=1

Mejoras futuras
Las nuevas posibilidades que ofrece poder el circuito para realizar mediciones de corriente continua al margen de la presentación de su forma de onda como si de un osciloscopio se tratase, son casi infinitas dado que excepto en sistemas específicamente diseñados para ello ,no es mu y habital encontrar sistemas de adquisición de datos de una manera tan sencilla y econmica

-Captura de temperaturas externas
-Captura de humedad
-Captura de luminosidad
-Monitoreo de señales
-Captura de presión

 

DESCARGA  DEL SOFTWARE  AQUI

Anuncios

16 comentarios el “OSCILOSCOPIO-VOLTIMETRO USB PARA PC MULTIPROPOSITO

    • cristhian dice:

      Buenas…como puedo hacer el mismo programa…uno le sea solo para corriente
      O si me desis que herramientas tengo que utilizar

      Me gusta

      • Smplemente haciendo pasar una resistencia de valor conocida de alta disipación esa tensión y aplicando la ley de ohnm I =R x V.

        Eso es básicamente lo que hacen los polimetros en las escala de intensidad

        El codigo fuente ya sabe que lo tiene disponible en el enlace del post

        Me gusta

  1. aburastas dice:

    Hola. He intentado bajarme el programa oscilloscope4 del enlace propuesto pero lo unico que puedo bajarme es el codigo fuente. Me podrias dar el enlace del ejecutable? Gracias por el aporte.

    Me gusta

  2. […] propuesta muy interesante podría ser utilizar una tarjeta dongle   de sonido usb  y por ingeneria inversa  modificarla para  convertirla en osciloscopio   como vimos  en este […]

    Me gusta

  3. DAgo Oran dice:

    Hola buen dia/noche quisiera que me pudieran decir si podrian hacer uno para uso automotriz soy mecanico y aqui en El Salvador cuesta demasiado dienero hacerse de un osciloscopio para diagnostico automotriz.

    Me gusta

  4. Hola buen día muchas gracias por la información, en mi caso no tengo el modulo SL 850 en su lugar tengo otro adaptador de marca kai ping, mi duda es si podre construir el circuito de red de atenuación con el DIP de 16 pines y usar mi adaptador de micrófono kai ping. muchas gracias de antemano.

    Me gusta

  5. dynocontrol dice:

    Buenas tardes. Ante todo felicitaciones por su trabajo. Se ve realmente impecable. Muchas gracias por compartirlo. En mi caso, estoy tratando de hacer algo similar, pero el software lo elaboraré bajo LabView. Por lo visto, el esquema propuesto no tiene una impedancia de entrada elevada (Como en el caso de osciloscopios de alrededor de 1Mohm), quizás con una etapa previa pueda solucionarse esto, y por un bajísimo costo, se tiene un instrumento realmente útil.
    Compararlo en hacer algo similar con conversores A/D ultrarápidos o rápidos y microcontroladores, llevaría mucho tiempo y dolores de cabeza. Simplemente impecable su solución. Prometo probarlo y comentar mis experiencias. Desde ya muchísimas gracias desde Neuquén, Argentina.

    Me gusta

  6. Carlos dice:

    Buenas tardes

    Felicidades por el proyecto, me gustaría saber los rangos de voltaje DC y AC máximos que pueden aplicarse en la entrada, gracias

    Me gusta

  7. NIXON CASTAÑEDA dice:

    buenas noches colegas estaba esperando la respuesta a la pregunta de don Carlos
    es un excelente proyecto felicitaciones

    Me gusta

  8. Este circuito no deberia menejar tensiones mas altas de 48V sobre todo si no esta seleccionada la escala de division mas alta pues corre el riesgo de quemar el Convertidor A/D.

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s