Sistema de Adquisición de Datos y de Control Externo para PC

Todo cuanto tiene que ver con la obtención, almacenamiento y proceso de la información digital, sus aplicaciones y el software y hardware utilizado.
Mensaje
Autor
GS3
Mensajes: 501
Registrado: Vie Sep 08, 2006 6:58 am
Ubicación: Madrid, España

#11 Mensaje por GS3 »

El K8055 lo compré hará un año por unos 38 euros en una tienda de electrónica del barrio de Salamanca de Madrid. No recuerdo exactamente el nombre pero estaba en una calle ancha, quizá Juan Bravo o paralela, más bien hacia la parte de arriba, subiendo a la derecha. Ahí fue donde encontré el mejor precio pero también la tenían en Electrónica embajadores y otras tiendas.

Luego modifiqué el interface usando VB. Lo bueno de esto es que no necesitas programar ni entender el PIC que ya viene programado. El inconveniente es el que dices, que estás limitado pero para aplicaciones sencillas la relación prestaciones/precio y trabajo/precio es inmejorale. Para aplicaciones más exigentes puedes meterte a diseñar tus propios circuitos y programar tus propios PICS pero el trabajo será muchísimo mayor..

GS3
Mensajes: 501
Registrado: Vie Sep 08, 2006 6:58 am
Ubicación: Madrid, España

#12 Mensaje por GS3 »

Los encontré , también tienen tienda en Barcelona
www.diotronic.com Juan Bravo 58, Madrid , tel. 913095172
Tienen mucho en kits y electrónica

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

#13 Mensaje por Anilandro »

Reflexionando, he llegado a la conclusión de que las entradas pueden ser perfectamente de 8 bits (una resolución de 256 pasos es aceptable), pero en cambio, para las salidas necesito un mínimo de 10 y mejor si son 12.

El problema es que no son fáciles de encontrar integrados que igualen o superen esta cifra. Hablando con los de Diotronic, me comentan que el AD7541 está ya descatalogado, y que el último lo vendieron en 2002. Y que no saben muy bien el porquè, pero prácticamente todos los DAC's de 12 bits están desapareciendo.

Les quedan algunos en stock, como el AD7542 (19 €) y AD7545 (29 €).
Hojeando las hojas de características, veo que tal vez el AD7542 me serviría, e incluso tiene la ventaja de tener un bus de datos de 4 bits y uno de direcciones de 2 bits, lo cual permite cargar de manera alternativa tres registros internos de 4 bits, totalizando los 12 finales. Esto se adapta bastante bien a una salida de 8 bits digitales, ya sea directamente del conector CENTRONICS, o del K8055 (si se prefiere que el acceso al ordenador sea por USB).
El problema puede ser una velocidad de proceso, como mínimo, tres veces menor. Puesto que serán necesarios 3 ciclos para enviar la información al DAC.

La historia de los DAC's parece que tiene que ver en que funcionan conmutando interiormente una red en "pi" de resistencias, de valores R y 2R. Parece que cuando se supera los 12 bits, la corriente es tan baja que el ruido térmico de las resistencias "enmascara" la señal.
Es posible que los haya especiales de más precisión (siempre estoy hablando de los conversores Digital-Analógico, no de los Analógico-Digital), pero el precio se dispara entonces de forma geométrica.

Avatar de Usuario
heli
Mensajes: 1961
Registrado: Mié Sep 06, 2006 7:28 am
País: España
Ciudad: Alcalá de Henares
Ubicación: Alcala de Henares (Madrid, España)
Contactar:

#14 Mensaje por heli »

No es de estrañar que esos AD estén descatalogados, yo los uso porque tengo stock de las sobras de proyectos desde el año 1992...
Busca las palabras clave "DAC" y "ADC" en amidata:
http://www.amidata.es/
Encontrarás cosas muy chulas como ADC de precisión de 24 bit y DAC 8 bit con micro incorporado i8051 por 11 euros (los precios de amidata suelen ser el doble que comprandolo en otro comercio).
También tienes por 10 euros convertidores DAC de 14 bit e interface SPI..
¡Hay que ponerse al día cada vez que se quiere hacer algo, la tecnología electrónica avanza a velocidad de vértigo!!

Avatar de Usuario
fusion
Mensajes: 4573
Registrado: Lun Feb 20, 2006 1:12 pm
País: Madrid
Ciudad: Alcobendas
Ubicación: Madrid

#15 Mensaje por fusion »

Pues a mi me valdria uno de 4 canales tipo USB para conectar a portatil pero que adquiera a 10 Mhz y con al menos 10kbytes por canal de memoria, pero por lo que veo a casi nadie se le ha ocurrido meterles memoria, estando limitados por la velocidad de lectura del USB :-(
A lo mejor con una dio usb podria programar una tarjeta que me haga a medida. He visto algunas terjetas de fpga que se programan por USB. Me gusta mucho el AD7621 que es paralelo y de 16 bits.
Se pueden poner varios ADCs en paralelo empleando el output enable (OEn)

Si alguien intentara hacer algo con el bus PCI le puedo dar algunas ideas, pero que vaya preparando como 100€ minimo. Te puedes hacer dios hasta 80Mhz con un bus de 32 bits de ancho.

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

#16 Mensaje por Anilandro »

Tienes mucha razón Heli, todo avanza muy rápido. Yo me he dedicado 28 años a la reparación de video y tv, tuve varios servicios técnicos oficiales, y decidí dejarlo cuando los componentes (y las ganancias) comenzaron a menguar hasta convertirse en invisibles.
A parte del trabajo, al principio hice algunos "inventillos", montajes con el ZX81 y el Spectrum, ese controlador, que utilicé para controlar un sistema de imágenes térmicas realizado con un sensor PIR, bastantes circuitos para aeromodelismo, en especial un alimentador inteligente para bujías glow que arrancaba los motores más imposibles, un altímetro de ultrasonidos para helicópteros, detectores de metales, selectores eléctronicos de monedas, un sistema de telemetría de 9 canales, una cámara de tv miniatura de cuando las normales eran del tamaño de una caja de zapatos, emisoras de todos los colores (al principio con lámparas) etc...
En fin, llevo un largo camino recorrido. Aunque reconozco que me he quedado desfasado, especialmente desde que la informática cogió auge y decidí cambiar de trabajo.

Este mediodía he hecho el pedido a Diotronic, supongo que en una semana tendré el material en casa (en donde vivo estamos un poco aislados). Tengo ya un par de ideas para montar los 7542 y acoplarlos al K8055, si puedo, más tarde os pongo un croquis.

Por cierto, Fusión, he leído cuatro posts del Z-Pinch y has llegado a asustarme, lo tuyo es un peligro, chico. Aunque no entiendo muy bien que pretendes con tus explosiones de plasma, supongo que la piedra filosofal que persigue media humanidad, la energía de fusión.

Saludos a todos

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

#17 Mensaje por Anilandro »

Esta sencilla rutina de Visual Basic permite leer los valores del joystick conectado al puerto de juegos del PC.
La estabilidad de la conversión analógico-digital del hardvare del PC no es ninguna maravilla, pero puede servir para entrar magnitudes analógicas que no sean muy críticas.

' Control del joystick a través de las API de Windows

' Objetos a insertar en el formulario:
' Timer con la propiedad Interval = 500 (0,5 seg.)
' 3 Textbox, el 1 y 2 sin valor en la propiedad Text, el tercero con valor 500

Private Declare Function joyGetPos Lib "winmm.dll" (ByVal uJoyID As Long, pji As JOYINFO) As Long

Private Type JOYINFO 'define estructura tipo JOYINFO que contiene 4 variables
wXpos As Long
wYpos As Long
wZpos As Long
wButtons As Long
End Type

Dim pos As JOYINFO ' crea una variable pos para leer las coordenadas x e y

Private Sub Timer1_Timer()
x = joyGetPos(0, pos) ' llama a la función de la API
Text1.Text = Int(pos.wXpos / 100) ' muestra valor de x
Text2.Text = Int(pos.wYpos / 100) ' muestra valor de y
End Sub

Private Sub Text3_Change() ' cambio de tiempo de refresco
If Text3.Text <> "" Then Timer1.Interval = Text3.Text
End Sub

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

#18 Mensaje por Anilandro »

Este es un croquis de un módulo de 3 salidas analógicas de 12 bits, a partir de un bus de 8 bits digitales, directamente del puerto paralelo, o bien de la salida del módulo Velleman K8055

[img=http://img412.imageshack.us/img412/2318/esquema01hg1.jpg]

Los bits 0-3 componen el bus de datos, el 4 y 5 el de direccionamiento de los tres registros de 4 bits que tienen cada uno de los DAC's, y el 6 y 7 seleccionan qué DAC va a ser escrito con los datos en cada momento (utilizando para ello una lógica formada por un 7404 y un 7408)

En este dibujo no he incluído la parte analógica y, además no es un circuito definitivo, pero ya se aproxima bastante a los que quería conseguir.

Sigo en ello.

Saludos a todos

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

#19 Mensaje por Anilandro »

Veo que la imagen no aparece, aunque no se el porqué. Me he limitado a copiar lo que dice la web "imageshack" para los foros.

En todo caso, hago cuatro pruebas, espero que alguna de ellas la muestre, y si no, la última es un link directo a la imagen.

Imagen

Imagen<a
href="http://imageshack.us"><img

src="http://img412.imageshack.us/img412/2318 ... a01hg1.jpg" border="0" alt="Image Hosted by ImageShack.us" /></a>

http://img412.imageshack.us/my.php?imag ... a01hg1.jpg

http://img412.imageshack.us/img412/2318 ... a01hg1.jpg

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

#20 Mensaje por Anilandro »

Esta es otra prueba utilizando la conexión del joystick como entrada de datos analógicos.
Los resultados no son muy brillantes, hecho derivado, como ya me informó un compañero de este foro, por el sistema que tiene el hardware para calcular la tensión de entrada mediante la medición del tiempo de carga de un condensador.
En la imagen adjunta pueden verse dos canales de datos (en rojo y azul), aunque los saltos entre valores son extraños, sobre un margen aproximado de 64.000, a veces salta 273 y otras 456. Otro problema es la falta de precisión de la lectura, ya que sin variar la tensión de entrada, el valor leído suele oscilar entre el central y +/-2 saltos (dos arriba y dos abajo).
A parte de esto, se detecta una falta de linealidad en un cierto punto de los dos canales, en que, sin motivo aparente, salta unos 3.000.

Imagen

Esta segunda imagen es un zoom vertical de la lectura normal, en él puede apreciarse claramente la oscilación arriba y abajo respecto al valor central.

Imagen

Otro problema tiene que ver con el objeto Timer del Visual Basic, el cual, en teoría, puede provocar un evento y en este caso realizar una lectura cada milisegundo. En realidad y con independencia del valor de intervalo que se le entre, raramente se obtienen intervalos de medición inferiores a los 100 milisegundos.

Seguiré informando de lo que descubra.

Saludos a todos

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado