desktop

Osciloscopio USB

Un tema que salio al armarla es el miniplug... inicialmente le puse uno mono pero se ve que el jack de la placa mete voltaje por el segundo anillo asi que le puse uno estereo y solo use la punta y la masa.

Buen trabajo, la tensión que estás notando en los contactos del miniplug es para alimentación de micrófonos, sería el conector rosa, el azul (o celeste) es entrada de línea y no debería tener tensión, también te permite una señal con nivel mas alto por lo que quizás te convenga usar esa entrada.

Por otro lado yo tampoco entiendo la parte de la tierra fantasma, se supone que las señales de audio también pueden ser tensiones negativas (como si fuese corriente alterna) así que la placa no tendría que tener problemas en manejar tensiones negativas.

saludos!
 
Hola les cuento que estoy intentando hacer una especie de osciloscopio USB, jajaja muy ambicioso para alguien con mis pocos conocimientos de electronica.

Estoy utilizando un PIC24FJ64GB002 y C# para dibujar, la idea es utilizar comandos SCPI.

Para la transmisión por USB me base en el MLA de Microchip USB hid_custom

Voy avanzando hasta el momento puedo configurar un par de velocidades, cambiar la cantidad de puntos a capturar y solicitar los datos de la memoria.

Ahora si envío por ejemplo 2 mil bytes (un byte por punto ADC en 8 bits) todo perfecto :)

Mi problema es que cuando quiero enviar por ejemplo 4 mil bytes, se pierden paquetes.

la transmición la realizo en la función APP_DeviceCustomHIDTasks() cada vez que entra tan solo envio 64 bytes y espera entrar otra vez para enviar otros 64 bytes hasta completar la cantidad de puntos.

Los bytes del buffer que tiene los puntos los copio en la variable ToSendDataBuffer y antes de enviar siempre hay un while esperando que este desocupado así:

while(HIDTxHandleBusy(USBInHandle));
USBInHandle = HIDTxPacket(CUSTOM_DEVICE_HID_EP, ToSendDataBuffer,64);


Por favor podrán ayudarme a quitar este interrogante de mi cabeza :confused:
 
Hola DOSMETROS subo lo que hice y una imagen de algunos comandos que envio y como se ve.

nota: la onda de la imagen es cuadrada pero pasa que para depurar y detectar que se me saltean paquetes cada 64 bytes envio un contador que es la linea
ToSendDataBuffer[63] = (idxBufferTransmit - 64) / 64 + 48;
en la función T:LOL:ata, con comentarla se ve una onda cuadrada que es lo correcto.

saludos
 

Adjuntos

  • Osciloscopio.rar
    957.3 KB · Visitas: 39
  • OsciloscopioWin.PNG
    OsciloscopioWin.PNG
    53.8 KB · Visitas: 45
Prueba al revés.

En lugar de...
while(HIDTxHandleBusy(USBInHandle));
USBInHandle = HIDTxPacket(CUSTOM_DEVICE_HID_EP, ToSendDataBuffer,64);

Pon:
USBInHandle = HIDTxPacket(CUSTOM_DEVICE_HID_EP, ToSendDataBuffer,64);
while(HIDTxHandleBusy(USBInHandle));

O sea, que continúe el programa hasta que el buffer esté enviado.
 
Última edición por un moderador:
Hola Papirrin. Me gustó tu idea pero sigue pasando lo mismo.:rolleyes:

En el programa hago esto para ver los paquetes que recibe:

System.Diagnostics.Debug.Write(respuesta[1]);
System.Diagnostics.Debug.Write(':');
System.Diagnostics.Debug.WriteLine(respuesta[64]);

El carácter 64 es el contador que envío desde el PIC, comienza en 48 hasta 255, vuelve a comenzar y siempre se saltan muchos paquetes, principalmente al comienzo.

Recibe el primero pero luego se saltea muchos (varía la cantidad)
Por ejemplo: 48, 95, 96, 97... Etc. Se salta unas decenas y luego sigue bien.
 
Última edición por un moderador:
:unsure: Pues descomprimí tu archivo para ver si veía algo raro en el código del PIC,
pero no encontré dónde está el archivo entre tantas carpetas.
Supongo que usas mikroC. ¿Por qué no pones el código fuente del PIC, aquí?
 
Última edición por un moderador:
Hola, Papirrin. Uso XC16 y esa cantidad impresionante de carpetas lo hizo el MPLABX al empaquetar el ejemplo HID custom del MLA de Microchip.

El proyecto del firmware está en: Osciloscopio\OsciloscopioPic\apps\usb\device\hid_custom\firmware\MPLAB.X\

El de Windows está en: OsciloscopioWin es en C# con Visual Studio 2010

¿Puede ser que los paquetes se pierdan porque uso HID? ¿Debería utilizar algún otro tipo como CDC?
 
Última edición por un moderador:
¿puede ser que los paquetes se pierdan porque uso HID?

yo estoy haciendo un analizador logico con HID y manda paquetes de 64bytes uno tras otro y no tengo ningun problema, yo estoy utilizando Basic en el pic y java para un androide ...pero no creo que el lenguaje tenga algo que ver con el protocolo.

en pocas palabras no creo que sea eso, aunque podrias probar haciendo un pequeño retardo entre el envio de paquetes.
 
Última edición:
Buenas Tardes,

Me gustaría comprar un osciloscopio para hacer pruebas en mi casa.

Estaba pensando algo sencillo como un osciloscopio USB que se conecte a la PC.

Mi pregunta es si ¿alguien ha usado alguno de estos equipos? y ¿cual me pueden recomendar?

Muchas Gracias.

Saludos,
 
pero si es para algo serio un osciloscopio via sonido no es muy practico, para aficionado tal vez.

yo nunca he usado uno USB veo que son baratos, pero de anchos de banda reducidos, en ese caso optaria por uno usado analogico.

pero si lo quiero digital pues haria un esfuerzo y me compraria uno digital un poco mas modesto, pues ya es semi portatil, almacenas datos en una USB y son USB mas que solo 1 vez use el modo USB.
 
Actualmente solo estoy haciendo unos circuitos sencillos basados en arduino. Pero a medida que vaya haciendo circuitos mas complejos me gustaría tener un osciloscopio sencillo con el cual tomar medidas.

Me gustaría que fue USB por el espacio y la portabilidad. En caso de que requiera hacer medidas fuera del laboratorio. En amazon vi unos digitales que rondan de $450 a $650 tektronix, pero eso sería para mas adelante.

También vi la opción que nombro mdchaparror, la cual me pareció atractiva y queria saber que tan bien funcionan.

Muchas Gracias
 
Un amigo tiene uno de 50€ comprado en ebay y va razonablemente bien.
Creo que es este o muy parecido, osciloscopio hanteck en ebay está mas barato, pero ahora no tengo ganas de buscar, hay uno en Toledo España que se ve que los vende levemente mas caros que comprados de china, pero en tu caso creo que será mejor de china, no se.
Es relativamente grande y limitado en funcionalidades, pero bueno, hace su trabajo.

Uno analógico, a estas alturas... conmigo que no cuenten no los quiero ni gratis.
 
No te fijaste el que publico. mnicolau aca en el foro? lo puedes armar tu mismo.
osciloscopio-pc-pcb

Dicho osciloscopio me parece mas un adaptador de impedancias, para proteger la tarjeta de sonido. La frecuencia máxima de trabajo seria de unos 10kHz, ya que a mayor frecuencia la señal se distorsiona (debido a la capacidad de muestreo de las tarjetas de sonido convencionales), y también tiene que ver el sofware para visualizar la señal.

Hay que calibrarlo muy bien, protecciones contra ruido eléctrico, y no lo utilizaría para medir la corriente domestica, al menos sin un transformador 1:1 :oops: .Nada como un buen oscilocopio analógico.
 
Última edición:
Atrás
Arriba