miércoles, 23 de agosto de 2017

Instalar Debian GNU/Linux Stretch 9.0


Para los usuarios que no tengan demasiada idea de como instalar Debian os recomiento la página:

UsuarioDebian: Instalar Debian GNU/Linux Stretch 9.0

Es de la mejores que he visto a la hora de explicar paso por paso, la forma de instalar Debian.

Saludos
SETA43

lunes, 21 de agosto de 2017

Bitácora de una instalación de Debian 9

Página principal

Bitácora de una instalación de Debian 9

xsetaseta@gmail.com
21/08/2017

Voy a intentar explicar todos los paso que he seguido para instalar Debian 9, con su problemas y soluciones.
Mi equipo:
AMD Athlon(tm) 64 X2 Dual Core Processor 5200+
4G de RAM
Tarjeta gráfica integrada NVIDIA Corporation C61 [GeForce 7025 / nForce 630a]
Lo único que tengo un poco diferente es la cantidad de particiones en el disco duro para poder
tener varios sistemas operativo:

Device     Boot      Start        End    Sectors   Size Id Type
/dev/sda1  *            63  102398309  102398247  48,8G  7 HPFS/NTFS/exFAT
/dev/sda2        102398371 1502961663 1400563293 667,9G  f W95 Ext'd (LBA)
/dev/sda3       1502963712 1682286591  179322880  85,5G 83 Linux
/dev/sda4       1682286592 1953523711  271237120 129,3G 83 Linux
/dev/sda5        102398373  204796619  102398247  48,8G  7 HPFS/NTFS/exFAT
/dev/sda6        204796683  753946514  549149832 261,9G  b W95 FAT32
/dev/sda7        753946578 1269633014  515686437 245,9G  7 HPFS/NTFS/exFAT
/dev/sda8       1269633024 1318461439   48828416  23,3G 83 Linux
/dev/sda9       1318463488 1320415231    1951744   953M 82 Linux swap / Solaris
/dev/sda10      1320417280 1369634815   49217536  23,5G 83 Linux
/dev/sda11      1369636864 1398931455   29294592    14G 83 Linux
/dev/sda12      1398933504 1428228425   29294922    14G 83 Linux
/dev/sda13      1428230144 1502961663   74731520  35,7G 83 Linux


Como se puede observar son muchas las particiones que tengo, en este caso voy a instalarlo en la partición /dev/sda13.
En la pagina  debian8.html  había realizado una bitácora de la instalación de Debian 8 . Esta es una continuación con las diferencias entre la versión 8 y 9.
Yo he elegido MATE y XFCE como entornos de trabajo, uno debido a que me gusta y el otro por su simplicidad.
En primer lugar debemos bajar la primera imagen iso  de la distribución.
https://cdimage.debian.org/debian-cd/current/i386/iso-dvd/
Esta es la versión de 32 bits, si tenemos 4G o mas, nos conviene bajar la imagen  de 64 bits
https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/
Ahora quemamos un disco DVD con la imagen.
Si instalamos muchos ordenadores nos conviene instalar la distribución desde un USB.
Crear un usb para instalar Debian9
Siendo administrador.
su
Localizar donde está la memoria usb
fdisk -l
Desmontamos la memoria usb
umount /dev/sdc
Cuando estemos seguro de donde está (cuidado si nos equivocamos formateamos el disco duro)
Copiamos la ISO en nuestra memoria usb
dd if=debian-9.1.0-i386-DVD-1.iso of=/dev/sdc
Terminamos de copiar los datos que puedan quedar en cache por si las moscas...
sync

En un artículo anterior Instalación de Debian 8 desde usb había explicado todos los pasos.
Para poder aprovechar parte de la memoria USB para colocar repositorio de paquetes, utilizaba  el programa unetbootin . Ahora no funciona, incluso en la propia instalación nos muestra un aviso por posibles incompatibilidades con este programa.
Si utilizamos una memoria de 8G desaprovechamos 4G , una pena.

Aclaremos que para poder arrancar desde el usb o desde DVD debemos pulsar una tecla (F1 al F12 dependiendo de nuestro ordenador)  cuando arranca el ordenador, en mi caso es F11.
Por no repetir todos los pasos recomiendo la página:
http://blog.desdelinux.net/instalacion-configuracion-Debian-8-gnome/
donde viene muy bien explicado los pasos para la instalación de Debian 8 que es muy parecida a la Debian 9 .
El  display manager que se instala por defecto en la instalación de Xfce es  lightdm. Si instalamos otros escritorios nos preguntara que display manager queremos instalar.

Después de unos 30 minutos tendremos el sistema instalado. Si instalamos todos escritorios  posibles kde, gnome, etc , se puede tardar unos 50 minutos en instalar todo.
Si instalamos desde una USB y luego queremos instalar alguna cosa mas, no podremos utilizar el USB, deberemos utilizar el DVD o la red para instalar mas paquetes. En Debian 8  se podía modificando el fichero  /etc/apt/sources.list  añadiendo  deb file:/media/seta/8G2/     main/
Ahora no funciona, si alguien lo sabe que haga el favor de decírmelo.

Todos los pasos siguientes podemos obviarlos si funciona vuestra tarjeta gráfica.
El driver nouveau es incompatible  mi tarjeta gráfica [GeForce 7025 / nForce 630a], el ordenador se bloquea quedando la pantalla con líneas raras y la única forma de desbloquear el ordenador es resetear a lo bruto el PC. En versiones anteriores de MATE se podía entrar, pero ahora resulta que utiliza aceleración gráfica  y se cuelga el ordenador. Si queremos arrancar la sesión gráfica sin aceleración gráfica podemos entrar con Xfce que funciona perfectamente, y podemos utilizar todos los programas que no utilicen aceleración gráfica.
Instalar los driver propietarios de mi tarjeta gráfica GeForce 7025 / nForce 630a.
En la versión de Debian 8  yo instalaba los drivers desde el fichero que bajaba desde Nvidia. En Debian 9 me ha sido imposible, da error , y por mucho que he probado diferentes soluciones que aparecían en foros no lo he conseguido.
Para todos los pasos siguiente debemos entrar en consola y ser root con la orden su y luego ponemos la contraseña.
Para poder utilizar mi tarjeta he hecho uso de los repositorios de Debian 9.
Lo primero es deshabilitar el driver nouveau .
echo -e "blacklist nouveau"  > /etc/modprobe.d/fbdev-blacklist.conf
echo -e "options nouveau modeset=0" > /etc/modprobe.d/modesetting.conf

Cambiamos los repositorios editando el fichero /etc/apt/sources.list
mousepad /etc/apt/sources.list
Ahora ponemos los repositorios oficiales.
deb  http://deb.debian.org/debian stretch main contrib non-free
deb-src  http://deb.debian.org/debian stretch main

Reiniciamos el ordenador y comprobaremos que arrancamos con con el driver de SVGA y podemos entrar en cualquier escritorio sin que se cuelgue el ordenador.
En una consola y siendo root tecleamos lo siguiente:
apt-get update
apt-get install nvidia-detect
nvidia-detect

Nos indicara el driver para nuestra tarjeta gráfica,  en mi caso legacy-304xx .
Detected NVIDIA GPUs:
00:0d.0 VGA compatible controller [0300]: NVIDIA Corporation C61 [GeForce 7025 / nForce 630a] [10de:03d6] (rev a2)

Checking card:  NVIDIA Corporation C61 [GeForce 7025 / nForce 630a] (rev a2)
Your card is only supported up to the 304 legacy drivers series.
It is recommended to install the
    nvidia-legacy-304xx-driver
package.
Instalamos el driver que lo compilará.
apt-get install linux-headers-$(uname -r) nvidia-legacy-304xx-driver
Después de un rato...no mucho, habrá terminado, y deberemos reiniciar nuestro ordenador.
Si todo ha ido bien, tendremos la tarjeta funcionado bien y con aceleración gráfica.

Si instalamos  varios distribuciones linux, la última cambia el nombre de la partición swap. Si nos aparece el error :
A start job is running for dev-disk-by\x2uuid-f782f311\<more numbers>.device [1min 30s]
A start job is running for dev-disk-by\x2uuid-f782f311\<more numbers>.device [1min 30s]
Se tira 90 segundos hasta que arranca, como buscando algo. Mirando por internet he encontrado la solución. En el fichero de configuración /etc/fstab  hay comentar la línea donde se especifica la partición swap y cambiarlo para que monte la swap en un lugar fijo.
En mi caso es de la siguiente forma:
#UUID=201cea1e-d980-43b9-8d9d-fc2badcfa051 none            swap    sw              0       0
/dev/sda9          swap         swap         defaults     0     0


Repositorios
Si no quieres bajar los 3 DVD de Debian 9, te recomiendo que añadas en el archivo
 /etc/apt/sources.list    la siguiente línea:
    deb  http://deb.debian.org/debian stretch main contrib non-free
    deb-src  http://deb.debian.org/debian stretch main

La selección de paquetes que se incluyen los DVD es de lo mas extraño, siempre lo he criticado por su aleatoriedad, en mi caso la mayoría de los paquetes que utilizo no vienen en ninguno de los 3 DVD, por lo cual tengo que recurrir a la RED , he tenido que hacer mi propios repositorios. En el artículo debusb.html explico como hacerlo.
También han hecho cambios...a peor, me costo descubrirlo.
Antes servía con  crear el paquete comprimido y su colocación junto a los paquetes:
    dpkg-scanpackages archives /dev/null | gzip >archives/Packages.gz
En la versión de Debian 9 debemos tener 3 ficheros en vez de uno y los creamos con:
dpkg-scanpackages archives /dev/null | gzip >archives/Packages.gz
gunzip  -k Packages.gz
bzip2 -k Packages

Mi opinión es que se podían quedar quietos con este tipo de cambios.
Ahora solo se tiene que colocar el nuevo repositorio en el fichero de configuración
   /etc/apt/sources.list  .
Por ejemplo si tengo la memoria usb nombre 8G2 que se monta en    /media/usuario/8G2  , y el repositorio de archivos está en  /debian9/archives  .
Mis repositorios quedan como sigue:

deb file: /media/usuario/8G2S/debian9/     archives/

deb cdrom:[Debian GNU/Linux 9.1.0 _Stretch_ - Official i386 DVD Binary-1 20170722-12:45]/ stretch contrib main

deb  http://deb.debian.org/debian stretch main contrib non-free
deb-src  http://deb.debian.org/debian stretch main

Curiosidades:
El repositorio «cdrom://[Debian GNU/Linux 9.1.0 _Stretch_ - Official i386 DVD Binary-1 20170722-12:45] stretch Release» no tiene un fichero de Publicación.
N: Los datos de un repositorio como este no se pueden autenticar y por tanto su uso es potencialmente peligroso.
Es el propio DVD que se baja de Debian.¿¿¿!!!!???


DISPOSITIVOS


Impresoras  HP Deskjet F300 y Canon LBP2900

TVISTO - ID 15a4:9016 Afatech Technologies, Inc. AF9015 DVB-T USB2.0

NPG-nano - ID 187f:0201 Siano Mobile Silicon Nova B

ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T

Para estos dispositivos empleo el mismo método que en Debian 8 , ver artículo   debian8.html .
Procurar instalar las mayoría de los firmwares del repositorio oficial de debian, os asegurara que funcionan muchos dispositivos.


PROGRAMAS
Abiword que era un programa sencillo editor de textos, ahora funciona raramente. En la versión de Debian 8 funcionaba peor y tuve que instalar la versión de Debian 7.
Amule a regresado, ahora se instala desde los repositorios oficiales de Debian.
Code::Blocks Ya está recopilado para la versión de la librería 3.0 wx.
VirtualBox . No se puede instalar desde los repositorios de Debian 9. Debemos Ir a:  http://download.virtualbox.org/virtualbox/
Descargar la versión que quieras y lo instalas.
Eagle. Es un programa para dibujar circuito. No se puede instalar desde los repositorios de Debian 9. Si lo bajas de la pagina del fabricante e intentas instalarlo y ejecutarlo te dará error en las librerías. La solución es:
cd /usr/lib/i386-linux-gnu
ln -s -T libssl.so.1.0.2  libssl.so.1.0.0
ln -s -T libcrypto.so.1.0.2  libcrypto.so.1.0.0



Espero que le sirva a alguien

SETA43

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