Mostrando entradas con la etiqueta osciloscopio. Mostrar todas las entradas
Mostrando entradas con la etiqueta osciloscopio. Mostrar todas las entradas

domingo, 5 de abril de 2020

Osciloscopio Arduino JAVA - Processing - 183000 M/S


Osciloscopio

Arduino

JAVA - Processing


En uno de mis artículos anteriores había mostrado varios analizadores digitales - analógicos .
Entre ellos mostraba Arduinoscope que era un visualizador de 6 señales analógicas utilizando el arduino.

Era bastante útil para visualizar señales en baja velocidad, pero el arduino podía convertir señales A/D bastante mas rápido.
El programa arduinoscope estaba programado en JAVA utilizando una biblioteca llamada Processing. processing
Processing es un potente software dedicado a la producción de imágenes, animaciones e interactivos.
Processing está compuesto de todo un entorno de programación en JAVA, (muy similar al del arduino), incluidas un montón de librerías para el tratamiento de imágenes.
Se puede descargar de su própia página, y funciona en Windows, Linux y Mac, además de ser Open Source.

Mis conocimientos en JAVA son bastante limitados, y en muchos casos me vuelvo loco utilizando funciones que en C o C++ están permitidas y en JAVA no.
Me puse manos a la obra para transformar el Arduinoscope en un Osciloscopio de un solo canal, pero con muestreo de 180000 m/S.
En varios artículos había realizado un osciloscopio similar realizado en diferentes lenguajes de programación, Gambas, SDL, Xwin, wxwidgets.
Para mi es un reto programar en JAVA, pero los retos me gustan.

Como soy un tanto particular en la programación, he utilizado el editor Geany y la línea de comandos linux (Debian 10) para compilación (copile) y ejecución (run).
También he colocado todos los archivos en un solo directorio, incluidas las fuentes (un formato de fuentes de lo mas particular formato vlw) .
Los purista me meterían a la cárcel, pero bueno soy autodidacta, y se me puede perdonar.
Forma de onda en mi osciloscópio. En un oscilocópio comercial.

Señal de 5000 Hz.

El muestreo máximo que permite el arduino en modo Fast es de 183000 m/S , con una resolución de 8 bits.
A esta velocidad la exactitud de la conversión A/D no es muy precisa, pero suficiente.



Como se puede ver he colocado una resistencia entre la entrada A1 y los 3,3V, y esto tiene un motivo.
Resultaba que al hacer pruebas de medida en DC, las medidas no eran correctas, eran algo inferiores.
Revisando voltajes por el circuito descubrí que la tensión en el arduino nano  no era de 5V , era de 4,7V y alteraba todas las mediciones.
Mirando los esquemas del arduino UNO y el arduino NANO , había diferentes formas de alimentar el micro. El primero utilizaba un transistor sin caída de tensión, y el segundo un diodo que hacia caer la tensión entre 0,3V a 0,7V . Este cambio en la alimentación produce errores de lectura .
Para solucionar este problema, realizo una lectura de referencia de los 3,3V en el pin A1. Con esta lectura de referencia calculo la lectura real de la entrada A0.

Espero que le haya gustado este proyecto.
Ha sido mas una lucha por aprender JAVA que por realizar el osciloscopio.

VIDEO

PROGRAMA

Saludos.
Juan Galaz




Bibliografía:
https://github.com/konsumer/arduinoscope
https://processing.org/download/

miércoles, 18 de marzo de 2020

Nueva versión de osciloscopio con Arduino, portable.

18/03/2020 _ portable
Estaba el otro día viendo este antiguo montaje, y pensando en una mejora, he añadido una nueva opción, cambiar el voltaje de referencia a 1.1V, lo cual produce una ganancia de x4,5.
Además aprovechando la oportunidad he realizado una nueva versión de Linux,  versión portable.
Esta versión funciona tanto en 32bits como en la versión 64bits.
Para entender como se realiza la versión portable, mirar este artículo. wxport.html

Funcionando la versión portable de Linux.

También el programa detecta automáticamente el puerto USB donde está conectado el Arduino.
En algunos Windows, el puerto virtual Serie lo coloca muy alto, me encontrado en algunas ocasiones que estaba en Com23, el programa solo mira si existe entre el Com1 y Com5. Si es vuestro caso deberéis cambiar el lugar  para que este en el rango buscado. Se hace como administrador y en configuración de los puertos serie.
Para esta versión deberéis instalar el programa arduino que viene en el archivo comprimido.

PROGRAMA LINUX -WINDOWS

martes, 5 de junio de 2018

Osciloscopio - Arduino - wxwidgets

Página principal

Osciloscopio
Arduino
wxwidgets

Hace tiempo había realizado un pequeño osciloscopio con un arduino. arosc.html
El programa que manejaba el osciloscopio lo había realizado con las librerías SDL, una librería especializada para juegos. Funciona bien y es multiplataforma, habiendo compilado en Windows y Linux.
Ahora como estaba en la época de la librería wxwidgets, era una buena ocasión de realizar el programa con esta librería.

Programa realizado con la librería wxwidgets.

Se ha mejorado bastantes cosas, una de ellas es la muestra real del voltaje en modo auto.
En el programa que hice bajo SDL la detección de la placa era automática, en este caso solo detecta los posibles puertos serie, nosotros debemos de seleccionar el adecuado. La rutina que me funcionaba en SDL no me funciona bajo wxwidgets, es curioso pero es así, no he querido profundizar de momento.
Otra cosa que me ha ocurrido es la diferencia entre versiones de librerías wxwidgets entre 2.8.12 y 3.1.1. Algunas rutinas funcionan y otras no, por lo que he tenido que retocar el código. Ahora funciona perfectamente en Linux y Windows (librería estatica o DLL), aunque veo que es algo más rápido bajo Linux.


PROGRAMA
Debian 9.4  y windows XP

Hasta pronto.
JUAN GALAZ


Bibliografía:
wxtutor.html
wxtem.html


lunes, 2 de abril de 2018

Osciloscopio Hantek6022BL en Linux OpenHantek y PulseView

Página principal
Osciloscopio Hantek6022BL
en
Linux

OpenHantek y PulseView
xsetaseta@gmail.com

Después de medio año con mi osciloscopio digital Hantek6022BL me surgió el tener que analizar unas señales digitales.
En un anterior artículo realizaba mi experiencia tras una semana utilizando el osciloscopio.
Primera-semana-con-el-osciloscopio.html
Como hacía tiempo que no había mirado sobre algún programa que bajo linux se pudiese hacer uso del osciloscopio, me puse a mirar.
Efectivamente, había novedades:
En primer lugar era el http://openhantek.org/ , ya tenía soporte para el Hantek6022BL .
El programa openhantek es un programa que realiza el soporte de varios osciloscopios digitales USB, hasta hace poco no soportaba el Hantek6022BL, pero ahora lo soporta bastante bien.
Desde la página web solo podemos bajar el código fuente, no existen binarios.
Después de muchas pruebas, descubrí que debido a las dependencias en la librería QT ("Minimum supported Qt5 version is 5.4.0!"), debemos tener un Debian9,  Mint18, Ubuntu 17.10 . Intente por todos los medios intentar compilarlo en Debian 8, pero me fué imposible. Con anteriores versiones de openhantek si se podía compilar para Debian 8, pero no tenía soporte para el Hantek6022BL.
Para la compilación debemos seguir los siguientes pasos:
Después de ver como compila sin errores, no habrá creado el ejecutable en  el directorio openhantek .
Si intentamos ejecutarlo, veremos que nuestro osciloscopio no es detectado.
Deberemos añadir al directorio /lib/udev/rules.d/ algunos ficheros para que nuestro Hantek6022BL  USB sea reconocido.
Debemos copiar el fichero  firmware/60-hantek.rules a  /lib/udev/rules.d/
Volvemos a ejecutar el programa con el USB desconectamos.
Una vez con el programa funcionando, conectamos el USB y veremos como nos aparece nuestro 6022BL.
Ya podemos ver como nos funciona el programa con nuestro Hantek6022BL. Tendremos que activar un canal.
Para que nos reconozca el osciloscopio debemos tener el botón que se encuentra al lado del conector USB, metido (modo H) antes de conectar el USB.


Hantek6022BL funcionando en linux bajo openhantek

Para el que no quiera complicarse en compilar tengo los ficheros en:
https://drive.google.com/drive/folders/1zfv4cq8lpocLDWRQydqtaIDuZbndaVit?usp=sharing

He compilado OpenHantek para Mint18 64bits , Ubuntu 17.10 64bits, Debian 9.4 32bits.
Debemos de dar permisos de ejecución a los ficheros ejecutables.


Para analizar señales digitales con el Hantek6022BL teníamos saleae  desde la página  https://www.saleae.com/downloads , pero solo funcionaba en 64bits.
Como normalmente trabajo en Debian 32bits, este programa no me servia, debía encontrar una solución.
Buscando encontré un programa PulseView ,que hacía uso del programa sigrok para capturar señales digitales , https://sigrok.org/wiki/Main_Page.
Este es un interface gráfico para representar señales digitales y analizar protocolos.
Para este caso no me he complicado mucho, he bajado los ficheros binarios que se encuentran en https://sigrok.org/wiki/Downloads. existen versiones para 32bits y 64bits.
Para que nos reconozca el osciloscopio debemos tener el botón que se encuentra al lado del conector USB, sacado (modo L) antes de conectar el USB.
Al igual que en el modo analógico, deberemos añadir al directorio /lib/udev/rules.d/ algunos ficheros para que nuestro Hantek6022BL  USB sea reconocido. Los tengo recopilados en https://drive.google.com/drive/folders/1zfv4cq8lpocLDWRQydqtaIDuZbndaVit?usp=sharing , son todos los que terminan en *.rules .
Aquí me he encontrado un error en el reconocimiento de dispositivo, tarde algún tiempo en encontrar la solución.
Arrancamos el programa  ./PulseView-NIGHTLY-i686.AppImage
Veremos que no detecta el Hantek6022BL.
Sin salir del programa desconecte el USB del osciloscopio y vuelva a conectar.
Ahora salir del programa y volver a entra, verás que ahora si lo detecta y funciona.


Pulseview funcionando con  Hantek6022BL

Espero que le haya ayudado a alguien.

Hasta pronto.
JUAN GALAZ

Bibliografía:
http://openhantek.org/
https://sigrok.org/wiki/Main_Page
https://sigrok.org/wiki/PulseView

jueves, 3 de agosto de 2017

OSCILOSCOPIO Arduino Versión 3



OSCILOSCOPIO
Arduino
Versión 3


En mi anterior montaje había realizado un osciloscopio con arduino.
En este montaje lo perfecciono y meto todos los componentes en una pequeña caja de plástico.
En la caja de plástico coloco 4 interruptores  para seleccionar los diferentes tipos de medidas .
Se puede seleccionar entre mediciones DC directas, mediciones de AC, y mediciones de DC con escala de x3.

Esquema electrico del circuito.


Diferentes combinaciones de los micro-interruptores.

Como se puede ver he colocado una resistencia entre la entrada A1 y los 3,3V, y esto tiene un motivo.
Resultaba que al hacer pruebas de medida en DC, las medidas no eran correctas, eran algo inferiores.
Revisando voltajes por el circuito descubrí que la tensión en el arduino nano  no era de 5V , era de 4,7V y alteraba todas las mediciones.
Mirando los esquemas del arduino UNO y el arduino NANO , había diferentes formas de alimentar el micro. El primero utilizaba un transistor sin caída de tensión, y el segundo un diodo que hacia caer la tensión entre 0,3V a 0,7V . Este cambio en la alimentación produce errores de lectura .
Para solucionar este problema, realizo una lectura de referencia de los 3,3V en el pin A1. Con esta lectura de referencia calculo la lectura real de la entrada A0.



Montaje de todos los componentes en la caja de plástico.


Nueva interface

Después de prueba y pruebas, he descubierto que la tasa real  de muestreo es la siguiente:
212.000 m/s
124.000 m/s
66.000 m/s 
35.500 m/s
17.900 m/s
8.880 m/s

PROGRAMA


Para que funcione el programa windows debemos copiar las librerías al directorio donde se encuentra el programa o una sola vez en el directorio system32 del directorio windows.
Librerías necesarias SDL de Windows


Creo que es un buen montaje para todos los que no dispongan de un osciloscopio, y muy barato 3€.
Como medidor de tensión en la escala de x3 podemos medir hasta 15V.

Saludos
Juan Galaz



Bibliografía:
ardu_os.html
http://real2electronics.blogspot.com/2011/09/arduino-adc-muestreo-alta-velocidad.html


sábado, 22 de julio de 2017

OSCILOSCOPIO- Arduino - STM32F103C8T6



OSCILOSCOPIO
Arduino

STM32F103C8T6
640000 muestras segundo
Fast A/D


En mi anterior montaje había realizado un osciloscopio con un arduino. Había conseguido una tasa máxima de muestreo de 250000 muestras por segundo. El programa estaba realizado utilizando la librería SDL en la parte del PC.
Como tenía un arduino basado en un STM32F103C8T6 , un  procesador  bastante mas potente que el ATmega 328 , investigue si podía conseguir una tasa de muestreo algo mas elevada.
Según la tabla de características del  STM32F103xx  performance line devices: 1 μs at 56 MHz (1.17 μs at 72 MHz).
Se raro que indique mas rapidez de conversión a 56 MHz que a 72 MHz , pero el caso es que en teoría podría llegar a una tasa de muestreo de 854000 muestras por segundo.
Mi idea era mantener el interface SDL del anterior montaje y cambiar el programa arduino de obtención de datos en la placa STM32F103, ajustándolo al nuevo procesador.
Lo primero que intente con éxito era cambiar la orden del conversor A/D  y utilice la orden: adc_read(ADC2, 0) , donde el 0 es el pin A0 que corresponde al PA0 en el programa.
El programa funcionaba, pero no se conseguía un aumento significativo en la tasa de conversión.
Mirando por internet encontré una fórmula para cambiar el reloj del conversor A/D con la orden: adc_set_prescaler(ADC_PRE_PCLK2_DIV_4) .
Puede tener tres opciones:
  ADC_PRE_PCLK2_DIV_2
  ADC_PRE_PCLK2_DIV_4
  ADC_PRE_PCLK2_DIV_6
  ADC_PRE_PCLK2_DIV_8

Con este cambio en la frecuencia de reloj, cambiamos la tasa de muestreo.

Clock configuration register (RCC_CFGR)
Address offset: 0x04
Reset value: 0x0000 0000
Access: 0 ≤ wait state ≤ 2, word, half-word and byte access
1 or 2 wait states inserted only if the access occurs during clock source switch.

Bits 15:14 ADCPRE: ADC prescaler
Set and cleared by software to select the frequency of the clock to the ADCs.
00: PCLK2 divided by 2
01: PCLK2 divided by 4
10: PCLK2 divided by 6
11: PCLK2 divided by 8


Pero aún así no llegábamos a la tasa de muestreo que prometían las especificaciones del procesador.
Buscando por internet encontré en un foro http://www.stm32duino.com/viewtopic.php?t=847  la forma de aumentar la tasa de muestreo.
La forma era con el comando: adc_set_sample_rate(ADC2, ADC_SMPR_13_5);
Efectivamente, aumento la tasa de muestreo a mas de 600000 muestras por segundo.
Las opciones posibles son:
    ADC_SMPR_1_5,               /**< 1.5 ADC cycles */
    ADC_SMPR_7_5,               /**< 7.5 ADC cycles */
    ADC_SMPR_13_5,              /**< 13.5 ADC cycles */
    ADC_SMPR_28_5,              /**< 28.5 ADC cycles */
    ADC_SMPR_41_5,              /**< 41.5 ADC cycles */
    ADC_SMPR_55_5,              /**< 55.5 ADC cycles */
    ADC_SMPR_71_5,              /**< 71.5 ADC cycles */
    ADC_SMPR_239_5,             /**< 239.5 ADC cycles */
Aunque no entiendo muy bien lo que realmente hace, el manual del registro dice:
ADC sample time register 2 (ADC_SMPR2)
Address offset: 0x10
Reset value: 0x0000 0000

Bits 29:0 SMPx[2:0]: Channel x Sample time selection
These bits are written by software to select the sample time individually for each channel.
During sample cycles channel selection bits must remain unchanged.

De las prueba realizadas la mejor combinación para dar una tasa de muestreo de 640000 muestras/segundo  es :
adc_set_prescaler(ADC_PRE_PCLK2_DIV_2) ;
adc_set_sample_rate(ADC2, ADC_SMPR_7_5);


Visualización de una frecuencia de 16000Hz . Muestreo de 640000 muestras/seg.

Para poder visualizar y medir mejor las ondas, he incorporado botones de zoom y de desplazamiento de onda.

Visualización de la onda 16KHz con zoom x4 modo puntos.

 
Visualización de la onda 16KHz con zoom x4 modo lineas.

Podemos observar 40 muestreos en un ciclo de onda de 16KHz.
Si calculamos 16000x40=640000 muestras/segundo.



PROGRAMA

Nota:
Debemos tener en cuenta que la máxima tensión de entrada es de 3.3V , que también es la tensión de alimentación del procesador.
La impedancia de entrada es mucho mas baja que en un arduino convencional,  lo que debemos tener en cuenta.
La propia sonda del osciloscopio me producía ruido en el propio chip.



Saludos
Juan Galaz



Bibliografía:
oscisdl.html
http://www.stm32duino.com/viewtopic.php?t=847
https://github.com/leaflabs/leaflabs-docs/blob/master/source/libmaple/overview.rst
https://hackaday.io/project/425-arduino-oscilloscope-688000-samplessec


www.000webhost.com

sábado, 8 de julio de 2017

OSCILOSCOPIO con el arduino Arduino



OSCILOSCOPIO
Arduino



Hace tiempo hice un osciloscopio con arduino en el entorno  de programación Gambas. El entorno gambas es una especie de VB que solo funciona en Linux. El que solo funcione en Linux tiene el inconveniente de eliminar bastantes usuarios que solo usan Windows.
Mi idea era era volver hacer el osciloscopio mejorándolo y que además funcionase  en Windows.
Había dos opciones hacerlo con las librerías SDL o con las librerías wxWidgets. Está claro que hubiese quedado mucho mejor el aspecto con las librerías wxWidgets, pero me decidí por las SDL por un motivo un tanto personal que no viene al caso. Igual en un futuro lo realice en wxWidgets , pero eso es otro proyecto.
Lo que me satisface más, es el poder compilar para las dos plataformas, Linux o Windows, con solo cambiar la directiva YesWindows 0 por #define YesWindows 1 en el fichero define.h.

En lado del arduino la entrada la toma del pin A0 con valores de 0 a 5V.
El arduino lee continuamente el puerto serie esperando ordenes.
En el caso de recibir la cadena "VOL="  , el devuelve una cabecera de 10 bytes "VOL     " + los retornos de carro , 10 valores (0-255) digitalizados de la entrada A0, y 10 bytes con la cadena "FIN     " + los retornos de carro. Un total de 30 bytes.
En caso de recibir "GETUP=" , el devuelve una cabecera de 10 bytes "DAT     " + los retornos de carro , 800 valores (0-255) digitalizados de la entrada A0, y 10 bytes con la cadena "FIN     " + los retornos de carro. Un total de 830 bytes.
En caso de recibir "DIV16" cambia el divisor del convertidor A/D del arduino a 62500 muestras por segundo.

En el lado del PC nos encontramos un entorno en el que podemos representar y controlar los datos que nos envía  el arduino.
Podemos estar en el modo Vol  ( Voltímetro ) , captura continuamente datos digitalizados del pin A0 representándolos en una gráfica continua. Se puede cambiar la velocidad de captura de datos.
El modo de osciloscopio muestra continuamente datos mandados por el arduino, 800 datos digitalizados a una velocidad que podemos modificar a nuestro gusto.

Al iniciar el programa se busca la conexión  del arduino con el programa del osciloscopio en todos los puertos serie que existan en el PC.
Este es el motivo por el cual tarda unos 6 segundos en arrancar

Para calcular la frecuencia de la onda debemos dividir las muestras por segundo entre las muestras de cada onda.
En la imagen siguiente la onda mide alrededor de 200 muestras.
Si estamos en el modo de 125000 muestras por segundo, la frecuencia será 125000/200=625Hz
Este cálculo no es totalmente exacto, pero la mayoría de las veces funciona bien.
En un principio lo incluí en el código, pero después de muchos ensayos lo descarté por no ser totalmente exacto.


Señal de 625Hz


Montaje del circuito.

En las siguientes imágenes se puede comparar entre las de un osciloscopio normal y mi montaje.



Señal de 5000Hz



Señal de 625 Hz

Para medir señales continuas o de niveles positivos se conecta la señal directamente a A0.
Pero si queremos medir corrientes alternas, debemos realizar un adaptador para elevar la señal a mitad de la máxima señal de entrada, 2.5V.
Como no quiero complicar el montaje, utilizo un par de resistencias y un condensador.

Adaptador de AC.

Para los que no disponen de un osciloscopio, este montaje puede ser interesante además de barato.

PROGRAMAS
Librerías necesarias SDL


Nota:
He tenido serios problemas con los diferentes arduinos. Cuando funcionaba bien el programa en una placa arduino clásica, luego al probar el programa en un arduino nano, dejaba de funcionar.  A velocidades de 115200bps no todo se comporta como debería.
He tenido que colocar retardos para que sea lo mas compatible posible.
La compilación en arduino se hizo en la versión 1.0.5 .
También he visto que la velocidad del programa es más rápida en la versión Linux.


Saludos
Juan Galaz



Bibliografía:
ardu_os.html
http://real2electronics.blogspot.com/2011/09/arduino-adc-muestreo-alta-velocidad.html


miércoles, 14 de junio de 2017

Arduino - Analizadores de señal digital - analógico

Página principal

Arduino
Analizadores de señal
digital - analógico
xsetaseta@gmail.com

En un afán de ver soluciones fáciles y baratas para analizar señales tanto digitales como analógicas mediante la placa arduino, he realizado una búsqueda  en internet.
Seguro que hay muchas,  pero estas son la que yo he encontrado a primera vista.

LogicAnalyzer


Señal de 798Hz visto en el programa y en mi osciloscopio .

PROGRAMA
Este programa hecho por Raul Navarro http://raulnd.blogspot.com.es/ funciona solo en Windows bajo plataforma NET v4.
Funciona de dos modos:
-Como un analizador lógico de varios canales.
-Como analizador analógico de un solo canal.
Tiene la posibilidad de medida de tiempos, de esta forma se puede calcular la frecuencia.
Se puede medir mediante el cursor el voltaje en cada parte de la onda.
Para captar  una nueva señal hay que pulsar sobre el icono en forma de rayo.



Arduinoscope



PROGRAMA versión linux
Programa realizado por David Konsumer <david.konsumer@gmail.com> , realizado en java , funciona tanto en Linux como en Windows, y disponemos del código fuente.
Funciona como un analizador continuo de señal analógico señales A0-A5.


Para hacer publicidad propia  mostraré varios programas hechos por mi.

Arduino - Control de 12 salidas y 6 entradas analógicas mediante rs232- Librería SDL

Funciona en Linux y Windows.
Enlace


ARDUINO - OSCILOSCOPIO 66K MUESTRAS

Solo funciona en Linux bajo Gambas (VB)
Enlace


Un saludo.
Juan Galaz

jueves, 1 de junio de 2017

Primera semana con el osciloscopio Hantek6022BL

Página principal

Primera semana
con el osciloscopio
Hantek6022BL
xsetaseta@gmail.com

El otro día vi un anuncio de un osciloscopio que se conectaba al ordenador mediante el USB y tenía un precio bastante bajo, alrededor de 60€. Yo tengo un osciloscopio Hameg  HM203-5 de 20Mhz desde hace 30 años. Me ha servido muy bien para todos los montajes que he hecho hasta ahora. Pero ya llega su tiempo de renovación, y para los montajes digitales se queda ya muy corto.
Mi duda era entre el Hantek6022BE y el Hantek6022BL, el uno es solo un osciloscopio de dos canales y con una tasa de muestreo de 48Msa/S , el otro además dispone de un analizador lógico de 16 canales, pero es 11€ mas caro.
Como yo pretendía ver los buses de los distintos interfaces del arduino, he comprado el Hantek6022BL por 71€.
He de comentar que por ese precio no se puede conseguir uno mejor. Existen numerosos osciloscopios mucho mejores, pero como mínimo el precio es el doble, y como aficionado no me puedo permitir gastar mucho dinero.


Osciloscopio Hantek6022BL

Características:
Dos canales analógicos.
Analizador lógico de  16 canales.
Muestreo de 48Msa/S
Ancho de banda de 20 MHz.
Impedancia de entrada: 1 M , 25pf
Resolución vertical: 8 bits
Las características son modestas, pero para un aficionado creo que la relación Calidad/Precio es buena.

Empezamos con la instalación del software mediante un mini CD , y los drivers del propio CD. También en el directorio de instalación del programa existe un directorio donde también se encuentran los drivers.
Para que nos reconozca el osciloscopio debemos tener el boton que se encuentra al lado del conector USB metido (modo H)
Solo existen programas para el entorno Windows, por lo que los que utilizamos Linux nos tenemos que aguantar.
Se instalan dos programas, uno es un osciloscopio de doble canal y otro es el analizador lógico.

En esta imagen vemos el programa de osciloscopio analógico de doble canal funcionando.

El programa tiene un poco de todo, pero es un poco simplón y poco cuidado en los detalles.

La misma onda en mi viejo osciloscopio.

No se puede comparar uno con otro.
El osciloscopio Hantek6022BL no dispone de selección de DC/AC por lo que si queremos medir corriente alterna debemos colocar un condensador.
La máxima tensión de entrada es de 5.5V, aunque con la sonda colocada a x10 podría llegar hasta 50V , pero no me fio.
Las ventajas del Hantek6022BL son varias, la medida automática de frecuencia y voltaje, además de poder exportar todos los datos e imágenes a ficheros.


Programa de analizador lógico.

El programa de analizador lógico es demasiado simple, poco mas de lo que se ve en la imagen hace.
El desplazamiento  a través de la línea de tiempo es aún peor.

Aquí tenemos una solución un tanto curiosa. Si apretamos el boton que se encuentra al lado del conector USB y lo sacamos (modo P), transformamos el analizador lógico del Hantek6022BL en otro modelo de analizador gráfico, el logic analyzer de la compañía Saleae Logic.
De la página  https://www.saleae.com/downloads descargamos el programa y lo instalamos. Los drivers se encuentran en el directorio donde se instala el programa.

Programa de la casa Saleae Logic funcionando con el Hantek6022BL.

Tiene analizador del tipo de bus, en el caso de la imagen de un puerto serie.
Se puede ver hasta el código de los caracteres y los tiempos de cada pulso.

Analizando los 3 buses del Chip DS1302.

Y para los que usamos Linux, también dispone de una versión para este sistema operativo.

Funcionando en Linux  con la distribución Mint 18  64bits


Ahora vamos a probar distintos programas alternativos.


Programa  Open6022BE

Desde la dirección  ftp://pididu.com/OpenHantek/  podemos bajar el programa de osciloscopio que parece un clon de oficial. Posee alguna opción que no dispone el oficial, y además se dispone del código fuente.
Para que me funcionase he tenido que copiar la librería HTMarch.dll que venía en el programa original al directorio del programa open6022, sustituyendo el que viene. Según alguna información esta realizando mediante ingeniería inversa.


Programa BasicScope.

Desde la dirección http://pididu.com/wordpress/basicscope/ se baja el programa y se instala.
Es un programa simple que funciona, probarlo y que cada uno opine.
Se dispone del código fuente, por si alguno se le ocurre hacer alguna modificación.

Como curiosidad he probado el programa de osciloscopio bajo VirtualBox en linux.
En principio funciona, pero al cambiar de escala se cuelga, creo que es debido a que a tasas de muestreo altas,  el controlador USB de la máquina virtual se cuelga. A tasas de muestreo bajas he conseguido que funcione.

Conclusión:
Por el precio que cuesta no se puede pedir mas.

Hasta pronto.
JUAN GALAZ

Bibliografía:
ftp://pididu.com/OpenHantek/
http://pididu.com/wordpress/basicscope/
https://www.saleae.com/downloads
http://www.hantek.com/en/ProductDetail_2_153.html