MANUAL DE PROGRAMACI�N DE LA T(1)

19
[email protected] MANUAL DE PROGRAMACIÓN DE LA TARJETA DE ADQUISICIÓN DE DATOS EN VISUAL BASIC Y MATLAB Este módulo ha sido desarrollado para hacer tus Proyectos con interface PC de forma sencilla. Además, las PC’s y Laptops actuales ya no incorporan puerto serie, ni puerto paralelo, así éste módulo, te brinda una alternativa para el desarrollo de tus proyectos electrónicos. Este módulo, está dirigido para alumnos y profesionales de las Carreras de Ingeniería Electrónica, Mecatrónica, Informática y ramas afines. En la versión 2, se puede hacer interfase con Visual Basic y en la versión 3, además con Matlab. El hardware es el mismo en las dos versiones, la diferencia está en el software. FIG.TARJETA DE ADQUISICION DE DATOS USB

Transcript of MANUAL DE PROGRAMACI�N DE LA T(1)

Page 1: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

MANUAL DE PROGRAMACIÓN DE LA TARJETA DE ADQUISICIÓN DE DATOS EN VISUAL BASIC Y MATLAB

Este módulo ha sido desarrollado para hacer tus Proyectos con interface PC de forma sencilla. Además, las PC’s y Laptops actuales ya no incorporan puerto serie, ni puerto paralelo, así éste módulo, te brinda una alternativa para el desarrollo de tus proyectos electrónicos.

Este módulo, está dirigido para alumnos y profesionales de las Carreras de Ingeniería Electrónica, Mecatrónica, Informática y ramas afines. En la versión 2, se puede hacer interfase con Visual Basic y en la versión 3, además con Matlab. El hardware es el mismo en las dos versiones, la diferencia está en el software.

FIG.TARJETA DE ADQUISICION DE DATOS USB

Page 2: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

DESCRIPCIÓN DEL MÓDULO VERSIÓN 2:

2 PUERTOS DIGITALES DE 8 BITS CADA UNO, CONFIGURABLES COMO ENTRADA O COMO SALIDA

8 ENTRADAS ANALÓGICAS (Fs = 50 Khz Y RESOLUCIÓN DE 8 BITS) 2 SALIDAS ANALÓGICAS(RESOLUCIÓN DE 8 BITS) NO REQUIERE FUENTE DE PODER EXTERNA FACIL PROGRAMACIÓN: 4 COMANDOS DE COMUNICACIONES CON VISUAL

BASIC SE HA INCORPORADO UN 5TO COMANDO PARA ADQUIRIR UNA SEÑAL,

ESPECIFICANDO FRECUENCIA DE MUESTREO, EL RESULTADO SE OBTIENE EN UN VECTOR.

DESCRIPCIÓN DEL MÓDULO VERSIÓN 3:

ADEMÁS DE LO ANTERIOR (INTERFASE CON VISUAL BASIC), TIENE LAS MISMAS FUNCIONALIDADES PERO CON MATLAB Y CON LOS MISMOS NOMBRES DE COMANDOS QUE SE UTILIZAN EN VISUAL BASIC.

Page 3: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

INSTALACIÓN DEL MÓDULO:

1º PASO:

Conectar el cable USB de la Tarjeta de Adquisición de Datos a un puerto USB de la PC o Laptop y aparecerá en la parte inferior derecha, la siguiente vista:

2ºPASO:

Introducir el CD en la PC, Seleccionar No por el momento y hacer click en Siguiente:

Page 4: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

3º PASO:

Seleccionar Instalar desde una lista o ubicación específica y hacer click en Siguiente:

4º PASO:

Buscar la Unidad del CD, carpeta Driver y hacer click en Siguiente

Page 5: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

Aparecerán las siguientes vistas:

Page 6: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

Si todo está bien, se verá:

Y para verificar que todo esté OK nos vamos a Administrador de dispositivos y nos cercioramos de que aparezca lo del recuadro:

Page 7: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

Después de instalar la tarjeta de Adquisición (Para la versión 3, reemplazar ADQ_Datos_V2.dll por ADQ_Datos_V3.dll ), Hacer lo siguiente:

Del CD, copiar los siguientes archivos a la carpeta C:\WINDOWS\system32:

ADQ_Datos_V2.dll

mpusbapi.dll

Luego, Ir a inicio - Ejecutar, y escribir lo siguiente:

regsvr32 ADQ_Datos_V2.dll

Hacer click en Aceptar

NOTA: Para la implementación de sus circuitos, solamente unir tierra de la tarjeta de adquisición USB con tierra del hardware adicional implementado (de sus proyectos).

Page 8: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

COMENZANDO A PROGRAMAR EN VISUAL BASIC

PROGRAMA EJEMPLO PARA APRENDER A UTILIZAR LA TARJETA DE ADQUISICIÓN USB.

FIG. INTERFASE DEL PROGRAMA. La señal obtenida es de 1000 Hz

Y se muestrea a 20Khz.

1º Paso.

Ir al Menú Proyecto y hacer click en Referencias:

Page 9: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

Seleccionar ADQ_Datos_V2 (o para versión 3: ADQ_Datos_V3, de aquí en adelante)

2º Paso.

Declaramos una variable Objeto y variables que vamos a usar, en Option Explicit:

Option Explicit

Dim DAQ As ADQ_de_Datos_V2, DatoD As Byte, DatoA As Integer

3º Paso.

Creamos una referencia en el evento Load del Formulario y hacemos la conexión con el dispositivo USB (opcionalmente podemos hacer la conexión y desconexión en un command button):

Private Sub Form_Load()

Set DAQ = New ADQ_de_Datos_V2

DAQ.Conectar_USB

End Sub

Desconectamos el USB y Destruimos la referencia en el evento click del menú mnuSalir:

Private Sub mnuSalir_Click()

DAQ.Desconectar_USB

Set DAQ = Nothing

End

End Sub

Page 10: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

4º Paso.

Comenzamos a programar:

ESCRIBIR DATO DIGITAL (ENTRE 0 Y 255)

Entre comillas se especifica el puerto A o B, además del dato.

Private Sub cmdEnviarDigital_Click()

DatoD = Val(Text1.Text)

DAQ.Escribir_Digital "B", DatoD Para enviar un dato digital por el puerto B

End Sub

LEER DATO DIGITAL (ENTRE 0 Y 255)

Entre comillas se especifica el puerto A o B

Private Sub cmdRecibirDigital_Click()

DatoD = DAQ.Leer_Digital("A") Para Recibir un dato digital por el puerto A

Text2.Text = DatoD

End Sub

LEER DATO ANALÓGICO (ENTRE 0 Y 255).

La lectura se hace en tiempo real, para señales de hasta de 25 Hz.

Entre paréntesis se especifica un canal del 0 al 7

Private Sub cmdRecibirAnalogico_Click()

DatoA = DAQ.Leer_Analogico(1) Para Recibir un dato analógico por canal 1

Text3.Text = DatoA

End Sub

Page 11: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

Para señales de hasta 10Khz (10000Hz),, se utilizan solamente los canales 0 y 1, además como segundo parámetro, hay que especificar un número entre 0 y 6 que especifica la frecuencia de muestreo (Teóricamente señales de hasta 50Khz):

0 Fs = 50Khz

1 Fs = 20Khz

2 Fs = 10Khz

3 Fs = 5Khz

4 Fs = 2Khz

5 Fs = 1Khz

6 Fs = 500Hz

El resultado es un vector de 256 muestras, como se muestra en el siguiente ejemplo, se visualizan en un ListBox y además se grafica en un Picture:

Private Sub cmdAnalogTs_Click()

Dim senal() As Byte, i As Integer

senal = DAQ.Leer_Analogico_Ts(0, 1) Para Recibir un dato analógico por canal 0 a Fs=20Khz

Picture1.Scale (0, 256)-(256, -1)

Picture1.Cls

List1.Clear

For i = 0 To 255

List1.AddItem List1.AddItem "[ " & i & " ] = " & senal(i)

Picture1.Line -(i, senal(i))

Next i

End Sub

Page 12: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

ESCRIBIR DATO ANALÓGICO (ENTRE 0 Y 255).

Se especifica canal 0 ó 1, además del dato.

Private Sub cmdEscribirAnalogico_Click()

DatoD = Val(Text4.Text)

DAQ.Escribir_Analogico 0, DatoD Para Enviar un dato analógico por canal 0

End Sub

INFORMACIÓN DEL PROGRAMADOR Y DISEÑADOR DEL MÓDULO

Private Sub mnuAcerca_Click()

DAQ.Acerca_De

End Sub

AUTOR: ING. JUAN MANUEL JACINTO SANDOVAL MSc. Contacto: [email protected] http://www.jmjacintos.blogspot.com Cel. 969949227

Page 13: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

COMENZANDO A PROGRAMAR EN MATLAB

En la siguiente figura, se tienen todos los comandos necesarios para utilizar el módulo de adquisición de datos por USB. La función daqusb, también tiene 7 comandos. Es necesario hacer primero, una conexión con el dispositivo, luego se utilizan los respectivos comandos de transferencia de datos según la aplicación, y por último es necesario hacer la desconexión del dispositivo.

FIG. EDITOR DE MATLAB CON LOS COMANDOS DE ADQUISICIÓN POR USB

NOTA: Tener en la misma carpeta de trabajo los archivos: _mpusbapi.h y daqusb.p, de lo contrario agregar la carpeta al SET PATH… de Matlab. COMANDOS: OBTENIENDO AYUDA DEL COMANDO:

>>help daqusb

Page 14: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

PARA HACER LA CONEXIÓN(1º PASO NECESARIO):

daqusb('Conectar_USB')

Según la operación a realizar ejecutar los siguientes comandos (Todos los datos son de 8 bits):

ESCRIBIR DATO DIGITAL (ENTRE 0 Y 255)

Entre apostrofes se especifica la función 'Escribir_Digital’, el puerto ‘A’ o ‘B’, además del dato tipo byte. Ejemplo:

daqusb('Escribir_Digital','A',uint8(255)) Envía un dato digital por el puerto A

LEER DATO DIGITAL (ENTRE 0 Y 255)

Entre apostrofes se especifica la función 'Leer_Digital’ y el puerto ‘A’ o ‘B’. Ejemplo:

dato = daqusb('Leer_Digital','B') Recibe un dato digital por el puerto B

ESCRIBIR DATO ANALÓGICO (ENTRE 0 Y 255).

Se especifica la función 'Escribir_Analogico', canal 0 ó 1, además del dato (tipos byte). Ejemplo:

daqusb('Escribir_Analogico',uint8(1),uint8(222)) Envía un dato analógico por canal 1

LEER DATO ANALÓGICO (ENTRE 0 Y 255).

La lectura se hace en tiempo real, para señales de hasta de 25 Hz.

Entre paréntesis se especifica un canal del 0 al 5

dato = daqusb('Leer_Analogico',uint8(0)) Recibe un dato analógico por canal 0

Page 15: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

Para señales de hasta 10Khz (10000Hz), se utilizan solamente los canales 0 y 1, además como segundo parámetro, hay que especificar un número entre 0 y 5 (para Matlab) que especifica la frecuencia de muestreo (Teóricamente señales de hasta 25Khz):

0 Fs = 50Khz

1 Fs = 20Khz

2 Fs = 10Khz

3 Fs = 5Khz

4 Fs = 2Khz

5 Fs = 1Khz

El resultado es un vector de 256 muestras, como se muestra en el siguiente ejemplo:

senal = daqusb('Leer_Analogico_Ts', uint8(0), uint8(2)) Recibe un dato analógico por canal 0 a Fs = 10Khz

HACIENDO LA DESCONEXIÓN (ULTIMO PASO Y NECESARIO):

daqusb('Desconectar_USB')

AUTOR: ING. JUAN MANUEL JACINTO SANDOVAL MSc. Contacto: [email protected] http://www.jmjacintos.blogspot.com Cel. 969949227

Page 16: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

PROGRAMA EJEMPLO PARA ENCENDER 8 LEDS EN MATLAB, DESDE 0 A 255, A INTERVALOS DE 200 mS. :

CIRCUITO ESQUEMÁTICO QUE SE CONECTA AL PUERTO “A”. SE UNEN TIERRAS CON EL MÓDULO (NO SE NECESITA FUENTE DE ALIMENTACIÓN ADICIONAL):

Page 17: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

PROGRAMA EJEMPLO EN MATLAB, PARA ADQUIRIR UNA SEÑAL DE 1000 HZ , POR CANAL 0 Y FRECUENCIA DE MUESTREO DE 20Khz:

GRAFICA OBTENIDA DE LA ADQUISICIÓN

Page 18: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

PROGRAMA EJEMPLO EN MATLAB, PARA ADQUIRIR UNA SEÑAL DE 106 HZ , POR CANAL 0 Y FRECUENCIA DE MUESTREO DE 1000Hz:

Resultado:

Page 19: MANUAL DE PROGRAMACI�N DE LA T(1)

[email protected]

IMÁGENES DE ADQUISICIÓN