Practicas Lab VIEW2019

March 1, 2024 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Practicas Lab VIEW2019...

Description

Centro Nacional de Actualizaci´ on Docente

Documento Pr´ acticas de LabVIEW-Arduino-LINX M.I.E. Alberto Trujillo Rivera ´ CIUDAD VICTORIA, TAMAULIPAS, MEXICO

Agosto, 2019

´Indice General

1. Conceptos

1

1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.3. Conceptos de Sistema de Medida . . . . . . . . . . . . .

4

1.4. Transductores . . . . . . . . . . . . . . . . . . . . . . . .

7

1.4.1. Principios de Transducci´on . . . . . . . . . . . . .

8

1.4.1.1. Calibraci´on . . . . . . . . . . . . . . . .

12

1.4.1.2. Clasificaci´on de los sensores . . . . . . .

13

1.4.1.3. Clasificaci´on de Actuadores . . . . . . .

15

1.4.2. Acondicionamiento y presentaci´on . . . . . . . . .

16

1.5. Instrumentaci´on Virtual . . . . . . . . . . . . . . . . . .

17

1.6. Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2. Instalaci´ on

20

2.1. Instalaci´on de LabVIEW-Arduino-LINX . . . . . . . . .

20

2.1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

20

2.1.1.1. Instalaci´on Arduino IDE . . . . . . . . .

20

2.1.1.2. Instalaci´on LabVIEW . . . . . . . . . .

22

2.1.1.3. Instalaci´on del paquete NI-Visa . . . . .

26

2.1.1.4. Instalaci´on del paquete Digilent LINX .

28

2.1.1.5. Instalaci´on y grabado de c´odigo para la Interfaz NI-Arduino . . . . . . . . . . . ii

30

iii 3. Introducci´ on a LabVIEW

33

3.0.1. Entorno . . . . . . . . . . . . . . . . . . . . . . .

33

3.0.2. Tipo de Datos . . . . . . . . . . . . . . . . . . . .

37

3.0.3. Herramientas Adicionales

37

. . . . . . . . . . . . .

4. Pr´ actica 0

42

4.1. Operaciones Aritm´eticas B´asicas . . . . . . . . . . . . . .

42

4.1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

42

4.1.2. Material . . . . . . . . . . . . . . . . . . . . . . .

42

4.1.3. Trabajo a realizar . . . . . . . . . . . . . . . . . .

42

4.1.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . .

42

4.2. Operaciones L´ogicas B´asicas . . . . . . . . . . . . . . . .

45

4.2.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

45

4.2.2. Material . . . . . . . . . . . . . . . . . . . . . . .

45

4.2.3. Trabajo a realizar . . . . . . . . . . . . . . . . . .

45

4.2.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . .

46

5. Pr´ actica 1

48

5.1. Parpadeo de LED en LabVIEW-Arduino . . . . . . . . .

48

5.1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

48

5.1.2. Material . . . . . . . . . . . . . . . . . . . . . . .

48

5.1.3. Trabajo a realizar . . . . . . . . . . . . . . . . . .

48

5.1.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . .

49

6. Pr´ actica 2

52

6.1. Lectura de se˜ nales Digitales . . . . . . . . . . . . . . . .

52

6.1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

52

6.1.2. Material . . . . . . . . . . . . . . . . . . . . . . .

52

6.1.3. Trabajo a realizar . . . . . . . . . . . . . . . . . .

52

6.1.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . .

53

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

iv 6.2. Lectura de se˜ nales anal´ogicas . . . . . . . . . . . . . . .

55

6.2.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

55

6.2.2. Material . . . . . . . . . . . . . . . . . . . . . . .

55

6.2.3. Trabajo a realizar . . . . . . . . . . . . . . . . . .

55

6.2.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . .

55

7. Pr´ actica 3

58

7.1. Uso del sensor LM35 para medir temperaturas . . . . . .

58

7.1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

58

7.1.2. Material . . . . . . . . . . . . . . . . . . . . . . .

58

7.1.3. Trabajo a realizar . . . . . . . . . . . . . . . . . .

58

7.1.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . .

59

7.2. Control de salida Digital con LM35 . . . . . . . . . . . .

60

7.2.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

60

7.2.2. Material . . . . . . . . . . . . . . . . . . . . . . .

60

7.2.3. Trabajo a realizar . . . . . . . . . . . . . . . . . .

62

7.2.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . .

62

7.3. Control de Relevador dependiente de la temperatura LM35 64 7.3.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

64

7.3.2. Material . . . . . . . . . . . . . . . . . . . . . . .

64

7.3.3. Trabajo a realizar . . . . . . . . . . . . . . . . . .

66

7.3.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . .

67

8. Pr´ actica 4

70

8.1. Temporizado de un sem´aforo . . . . . . . . . . . . . . . .

70

8.1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

70

8.1.2. Material . . . . . . . . . . . . . . . . . . . . . . .

70

8.1.3. Trabajo a realizar . . . . . . . . . . . . . . . . . .

70

8.1.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . .

71

8.2. Temporizado de cuatro sem´aforos . . . . . . . . . . . . .

75

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

v 8.2.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

75

8.2.2. Material . . . . . . . . . . . . . . . . . . . . . . .

75

8.2.3. Trabajo a realizar . . . . . . . . . . . . . . . . . .

75

8.2.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . .

76

9. Pr´ actica 5

81

9.1. Control On/Off de Luminarias mediante MOC y TRIAC

81

9.1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

81

9.1.2. Material . . . . . . . . . . . . . . . . . . . . . . .

81

9.1.3. Trabajo a realizar . . . . . . . . . . . . . . . . . .

82

9.1.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . .

82

10.Pr´ actica 6

86

10.1. Control de Motor DC . . . . . . . . . . . . . . . . . . . .

86

10.1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

86

10.1.2. Material . . . . . . . . . . . . . . . . . . . . . . .

86

10.1.3. Trabajo a realizar . . . . . . . . . . . . . . . . . .

87

10.1.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . .

87

11.Pr´ actica 7

93

11.1. Control del a´ngulo de posici´on de un Servomotor

. . . .

93

11.1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . .

93

11.1.2. Material . . . . . . . . . . . . . . . . . . . . . . .

93

11.1.3. Trabajo a realizar . . . . . . . . . . . . . . . . . .

94

11.1.4. Desarrollo . . . . . . . . . . . . . . . . . . . . . .

94

12.Contacto

Pr´acticas LabVIEW-Arduino-LINX

98

CNAD Noreste

Conceptos

1.1.

Objetivos

El Presente curso esta dividido en tres secciones, en la primera secci´on se aclaran los conceptos de instrumentaci´on virtual, sensores y actuadores como parte de mediciones y control autom´atico de procesos. Posteriormente, se aborda la instalaci´on de LabVIEW y las opciones m´as b´asicas de operaciones dentro de la instrumentaci´on virtual con LabVIEW. La tercera secci´on, se enfoca en las pr´acticas a realizar con LabVIEW, Arduino y LINX. Dichas pr´acticas se enuncian a continuaci´on: Instalaci´ on de LabVIEW-Arduino-LINX y Funciones b´asicas de LabVIEW. Pr´actica 0.- Calculadora aritm´etica y l´ogica. Pr´actica 1.- Parpadeo de LED en LabVIEW-Arduino. Pr´actica 2.- Lectura de se˜ nales Digitales y Anal´ogicas. Sensores, actuadores y controles de LabVIEW. Pr´actica 3.- Uso del sensor LM35 para medir temperaturas, encendido de LED y relevador al detectarse un nivel de temperatura seleccionado. Funciones de temporizado e interfaz de potencia. 1

2 Pr´actica 4.- Encendido de uno y cuatro sem´aforos. Pr´actica 5.- Encendido de luminarias AC. Pr´actica 6.- Encendido de motores DC, control sentido de giro y variaci´on de velocidad. Pr´actica 7.- Control del ´angulo de posici´on de un Servomotor.

1.2.

Introducci´ on

En la actualidad, “...Los procesos industriales exigen el control de la fabricaci´on de los diversos productos obtenidos. Los procesos son muy variados y abarcan muchos tipos de productos: la fabricaci´on de los productos derivados del petr´oleo, de los productos alimenticios, la industria cer´amica, las centrales generadoras de energ´ıa, la siderurgia, los tratamientos t´ermicos, la industria papelera, la industria textil, etc. En todos estos procesos es absolutamente necesario controlar y mantener constantes algunas magnitudes, tales como la presi´on, el caudal, el nivel, la temperatura, el PH, la conductividad, la velocidad, la humedad, el punto de roc´ıo, etc.” [Creus-Sol´e, 1997]. La instrumentaci´on podr´ıa definirse entonces como la acci´on de monitoreo y control de las variables f´ısicas involucradas en un proceso. Los instrumentos para medir dichas variables han evolucionado conforme la tecnolog´ıa se ha desarrollado. Comenzando por sistemas de control como el de la fig. 1.1 en donde se aprecia un operador sensando la se˜ nal mediante su vista y ejecutando una accion de ajuste de nivel. Hasta llegar a sistemas complejos como los originados “...en los laboratorios de Texas Instruments, donde Jack Kilby elaboro el primer circuito integrado (Fig. 1.2) el 12 de septiembre de 1958 y por el cual gano el Nobel en el a˜ no 2000.” [Floyd, 2008]. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

3

Figura 1.1: Sistema de control usando un tubo de mirilla y la vista de un operador como sensor. Sistema que convierte informaci´on en se˜ nales el´ectricas o mec´anicas [Fraden, 2010]

Figura 1.2: Primer Circuito Integrado (Texas Instruments) [Floyd, 2008]

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

4

1.3.

Conceptos de Sistema de Medida

“...Se denomina Sistema a la combinaci´on de dos o m´as elementos, subconjuntos y partes necesarias para realizar una o varias funciones. El resultado de la medida debe ser: independiente del observador (objetiva), basada en la experimentaci´on (Emp´ırica), y de tal forma que exista una correspondencia entre las relaciones num´ericas y las relaciones entre las propiedades descritas.” [Areny, 2004]. “...El campo de medida o rango, es el espectro o conjunto de valores de la variable medida que est´an comprendidos dentro de los l´ımites superior e inferior de la capacidad de medida o de transmisi´on del instrumento; viene expresado estableciendo los dos valores extremos. Por ejemplo: el campo de medida del instrumento de temperatura de la figura 1.3 es de 100-300 o C.” [Creus-Sol´e, 1997]. Otro concepto, es el de alcance (span), que puede definirse como la diferencia algebr´aica entre los valores super´ıor e inferior del campo de medida del instrumento. En el instrumento de temperatura de la figura 1.3 , su valor es de 200 o C. [Creus-Sol´e, 1997] “...La Zona Muerta(Dead Zone), es el campo de valores de la variable que no hace variar la indicaci´on o la se˜ nal de salida del instrumento, es decir, que no produce su respuesta. Viene dada en tanto por ciento del alcance de la medida. Por ejemplo: en el instrumento de la figura 1.3 es de ± 0.1 %, es decir”: [Creus-Sol´e, 1997] 0.1 % · 200◦ C = ±0.20◦ C 100 %

(1.1)

“...El error, es la diferencia algebraica entre el valor le´ıdo o transmitido por el instrumento y el valor real de la variable medida. Cuando una medici´on se realiza con la participaci´on de varios instrumentos, colocados unos a continuaci´on de otros, el valor final de la medici´on estar´a constituiPr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

5

Figura 1.3: Definiciones de los instrumentos [Creus-Sol´e, 1997]

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

6 do por los errores inherentes a cada uno de los instrumentos. Si el l´ımite del error relativo de cada instrumento es ±a, ±b, ±c, ±d, etc., el m´aximo error posible en la medici´on ser´a la suma de los valores anteriores, es decir: ±(a + b + c + d)

(1.2)

Ahora bien, como es improbable que todos los instrumentos tengan al mismo tiempo su error m´aximo en todas las circunstancias de la medida, suele tomarse como error total de una medici´on la ra´ız cuadrada de la suma algebraica de los cuadrados de los errores m´aximos de los instrumentos, es decir, la expresi´on:“ [Creus-Sol´e, 1997] p ± a2 + b2 + c2 + d2

(1.3)

“...Hist´eresis es un error que genera una desviaci´on en la salida del sensor en un punto especifico de la se˜ nal de entrada; es una desviaci´on de la salida del sensor en un punto especifico de la se˜ nal de salida cuando es medido en la direcci´on opuesta. Por ejemplo cuando un sensor de desplazamiento mide 20mV m´as de izquierda a derecha, que de derecha a izquierda. Si la sensibilidad del sensor, es de 10mV/mm, el error de histeresis en funci´on del desplazamiento seria de 2mm.” [Fraden, 2010] “...La Precisi´ on (Accuracy), es la tolerancia de medida o de transmisi´on del instrumento (intervalo donde es admisible que se sit´ ue la magnitud de la medida), y define los l´ımites de los errores cometidos cuando el instrumento se emplea en condiciones normales de servicio durante un per´ıodo de tiempo determinado (normalmente 1 a˜ no).” [Creus-Sol´e, 1997] “...Exactitud, es la cualidad de un instrumento de medida por la que tiende a dar lecturas pr´oximas al verdadero valor de la magnitud medida.” [Creus-Sol´e, 1997] Un instrumento que mida n veces una variable, tendr´a una distribuci´on con forma de campana (curva de Gauss). Ser´a m´as exacto cuanto m´as Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

7 pr´oximo est´e el valor medio de las medidas al valor verdadero y ser´a m´as preciso cuanto menor sea la dispersi´on de las medidas.

1.4.

Transductores

“La representaci´on de un par´ametro de un fen´omeno f´ısico,mediante el cual, a su vez, se describa su comportamiento, se conoce como una variable f´ısica. Por otra parte, el resultado de cuantificar un atributo f´ısico, asignando valores num´ericos a estos a trav´es de una variable o constante f´ısica, se conoce como magnitud f´ısica. En general un sistema de ingenier´ıa moderno est´a compuesto por un sensor, una unidad procesadora y un sistema de actuaci´on. De este modo se puede afirmar que de acuerdo con su funci´on, los sensores son dispositivos que permiten cuantificar una variable f´ısica, mientras que los actuadores, a partir de la variable f´ısica medida por el sensor, tienen la tarea de realizar una acci´on.” [Corona et al., 2014] Otra definici´on de sensor, seria que ...un sensor es un dispositivo que, a partir de la energ´ıa del medio donde se mide, da una se˜ nal de salida transducible que es funci´on de la variable medida” [Areny, 2004]. Un transdustor se define como un dispositivo que es capaz de convertir una variable f´ısica en otra que tiene un dominio diferente. De manera muy general los transductores se dividen en dos grandes ramas: transductores de entrada y transductores de salida. Cuando un transductor se usa para un sistema de sensado, se dice que el transductor es de entrada. Por tanto un transductor de entrada es aquel que se usa para medir una variable f´ısica cuya salida es usada por un sistema de procesamiento de informaci´on. Por otra lado, cuando el transductor es parte de un sistema de actuaci´on se dice que es un transductor de salida. As´ı, un transductor de salida es aquel dispositivo que convierte la se˜ nal del sistema de procesamiento de la informaci´on en una acci´on tangible Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

8

Figura 1.4: Un sensor puede incorporar varios transductores. s1 , s2 y as´ı de varios tipos de energ´ıa. Note que la ultima parte, es un sensor directo produciendo una salida de energ´ıa el´ectrica e. [Fraden, 2010] en el entorno; por ejemplo el movimiento de un motor, la activaci´on de una v´alvula etc´etera.” [Corona et al., 2014]. “Adicionalmente, los transductores pueden ser parte de sensores complejos(fig.1.4). Por ejemplo, un sensor quimico, puede tener una parte, que convierte la energ´ıa qu´ımica de una reacci´on en calor (transductor) y otra parte, una termopila, que convierte el calor en una se˜ nal el´ectrica. La combinaci´on de los dos hace un sensor qu´ımico, un dispositivo que produce una se˜ nal el´ectrica en respuesta a una reacci´on qu´ımica.” [Fraden, 2010].

1.4.1.

Principios de Transducci´ on

Para m´as informaci´on, se recomienda que consulte [Corona et al., 2014]. Debido a que, el presente tema fue tomado principalmente de esa referencia. Para llevar a cabo su funci´on un transductor se vale de alg´ un principio f´ısico de transformaci´on de energ´ıa, al que se denomina principio de transducci´on como los que se muestran en la figura 1.5. Los principios de transducci´on se enumeran a continuaci´on Principio de transducci´on Piezoresistivo. La piezoresistividad, se dePr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

9

Figura 1.5: Principios de Transducci´on fine como la relaci´on entre la resistencia el´ectrica y la deformaci´on. Dependiente de la temperatura Principio de transducci´on Capacitivo. Funcionan al detectar un cambio en su capacitancia inducido por el movimiento relativo entre el sensor y un objeto. Baja dependencia de la temperatura. Algunas aplicaciones t´ıpicas son: • Sensores de presi´on • Micr´ofonos • Sensores MEMS • Posici´on lineal • Sensado de nivel • Sensores touch • Aceler´ometros • Sensado de proximidad • interruptores Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

10 Principio de transducci´on Piezoel´ectrico. Algunos materiales generan carga el´ectrica cuando una presi´on externa es aplicada sobre ellos. Es decir existe una variaci´on de voltaje cuando el material es sometido a una deformaci´on. Principio de transducci´on Ultras´onico Una onda ultras´onica se define como aquella que se encuentra por encima de la frecuencia audible. El principio de transducci´on ultras´onico se basa en la conversi´on de la energ´ıa mec´anica que posee la onda ultras´onica en otro tipo de energ´ıa; por tanto, si esta onda mec´anica incide sobre un objeto, una parte ser´a absorbida, otra reflejada y otra transmitida. Debido a este fen´omeno, los transductores ultras´onicos, se utilizan para medir la velocidad con la que la onda regresa, el tiempo de su propagaci´on su atenuaci´on o si la onda reflejada es o no interrumpida por alg´ un objeto. Esta t´ecnica es empleada en: • Imagenolog´ıa • Diagn´ostico m´edico • Sonar (del ingl´es Sound Navigation and Ranging ) • Giroscopios de vibraci´on • Deteccion de fallas en metales • Microscopios ultras´onicos • Mecanizado, soldadura y limpieza Principio de transducci´on Magn´etico. El principio b´asico de su funcionamiento consiste en convertir un campo magn´etico a un voltaje equivalente mediante el efecto Hall. En la industria automotriz es usado en los siguientes casos: • Sensores de posici´on Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

11 • Detecci´on de arranque de motor • Cinturones de seguridad • Cierre de puertas • Posici´on del cig¨ ue˜ nal Adicionalmente al efecto Hall, la inductancia, es una propiedad de los conductores el´ectricos. Siempre que existe una corriente fluyendo en un medio conductor, existe un campo magn´etico asociado. de este modo, la Inductancia (L) del conductor, es la capacidad que tiene dicho conductor para almacenar la energ´ıa electromagn´etica presente en el campo. Sensores de Reluctancia variable son empleados para la conversi´on de desplazamiento lineal en voltaje. Principio de transducci´on T´ermico La temperatura es la medida del nivel de calor presente en un objeto. para definir la temperatura por sus efectos se puede clasificar de la siguiente manera: • Efecto Joule. Relaciona el calor generado cuando una corriente el´ectrica pasa por un conductor • Efecto Seebek. Es cuando dos conductores distintos, que est´an a temperaturas diferentes, se ponen en contacto y generan una corriente. • Efecto Peltier. Cuando dos metales absorben o emiten calor, esta absorci´on o emisi´on de calor ser´a proporcional a la corriente el´ectrica presente en el circuito. • Efecto Thomson. Si una corriente fluye a trav´es de un conductor y dicho conductor se encuentra inmerso en un gradiente de temperatura, el calor generado o absorbido, ser´a proporcional al producto de la corriente y el gradiente de temperatura. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

12 Principio de transducci´on Fotoel´ectrico Se dice que un efecto fotoel´ectrico ocurre cuando se hace incidir un fot´on en un material y dicho material emite un electr´on. La energ´ıa contenida en un fot´on esta relacionada con su longitud de onda; as´ı, entre m´as corta sea la longitud de onda, mayor energ´ıa tendr´a el fot´on. Principio de transducci´on Qu´ımico-El´ectrico Se basa en la idea de generar una se˜ nal el´ectrica manipulable a partir de una actividad qu´ımica. 1.4.1.1.

Calibraci´ on

“La calibraci´on significa la determinaci´on de variables especificas que describen la totalidad de la funci´on de transferencia. Incluyendo todo el circuito, el sensor, el circuito de interfaz y el conversor A/D. El modelo matem´atico de la funci´on de transferencia debe de ser conocido antes de la calibraci´on.” [Fraden, 2010] Otra definici´on seria, “...Calibrar significa fijar el valor m´ınimo y m´aximo del rango de posibles valores a leer.” [Torrente-Artero, 2013] “...Uno de los m´etodos empleados para la calibraci´on; se realiza mediante una aproximaci´on lineal, en donde se localizan dos puntos de la funci´on de transferencia cercanos al rango de los valores a medir. En la figura 1.6 se aprecia como se puede determinar un valor P5 entre dos puntos medidos P1 y P4 . Un triangulo grande se forma con las esquinas en los puntos P1 , P3 y P4 . El estimulo desconocido sx corresponde a los valores de la medici´on nx . Estos valores corresponden a los puntos P5 en la linea de aproximaci´on; en consecuencia, forman un triangulo m´as chico en los puntos P1 , P2 y P5 . Ambos tri´angulos son semejantes, lo que nos permite derivar una ecuaci´on lineal 1.7 para el calculo del estimulo desconocido sx del valor medido nx . “ [Fraden, 2010]. Otra forma de explicar la linealizacion por segmentos, es explicando la ecuaci´on de la recta. Podr´ıamos Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

13 decir, que al ser una linea recta, cada uno de los puntos que la componen tiene la misma pendiente. Y la pendiente mrecta la podr´ıamos definir como la raz´on ∆n entre ∆s 1.4. Si consideramos la pendiente del segmentoP1 a P4 y del segmento propuesto P1 a P5 , obtendr´ıamos las pendientes 1.5 y 1.6. Debido a que estas pendientes se encuentran sobre la misma linea podemos igualarlas y obtener la ecuaci´on 1.7 con lo que se obtendr´ıa el estimulo desconocido sx , a partir de un valor medido nx . mrecta =

m1 =

∆n ∆s

(1.4)

ni+1 − ni si+1 − si

(1.5)

nx − ni sx − si

(1.6)

m2 = 

 nx − ni sx = si + (si+1 − si ) ni+1 − ni 1.4.1.2.

(1.7)

Clasificaci´ on de los sensores

”...Hay dos tipos de sensores, directos y complejos; los sensores directos son aquellos que emplean cierto efecto f´ısico, para hacer una conversi´on de energ´ıa directa en la generaci´on o modificaci´on de una se˜ nal el´ectrica. En contraparte, los sensores complejos; requieren de uno o m´as transductores de energ´ıa, antes de que un sensor directo pueda ser empleado para generar una salida el´ectrica. Adicionalmente a lo anterior, todos los sensores pueden clasificarse en dos tipos: pasivos y activos. Los sensores pasivos no requieren de una fuente adicional de energ´ıa y directamente generan una se˜ nal el´ectrica en respuesta a una estimulaci´on externa. Eso es que la energ´ıa del estimulo de entrada, es convertido por el sensor en la se˜ nal de salida. Los ejemplos son, termocupula, fotodiodo y el sensor Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

14

Figura 1.6: Calculo del estimulo (sx ) desde una aproximaci´on de segmento lineal. [Fraden, 2010]

piezoel´ectrico. La mayor´ıa de los sensores pasivos son sensores directos. Los sensores activos requieren de una fuente externa de energ´ıa para su operaci´on, que es llamada se˜ nal de exitaci´on. Esa se˜ nal es modificada por el sensor para producir la se˜ nal de salida. Se podr´ıa aseverar, que los par´ametros del sensor modulan la se˜ nal de exitaci´on y esa modulaci´on lleva informaci´on del valor medido. Por ejemplo un termistor, es un resistor sensible a la temperatura. No genera ninguna se˜ nal el´ectrica, pero al pasar una corriente el´ectrica por el (se˜ nal de exitaci´on), su resistencia puede ser mediada al detectar su variaci´on de corriente y/o voltaje a trav´es del termistor...”[Fraden, 2010]. Otro ejemplo semejante es el de las celdas de carga, que emplean galgas extenciometricas que var´ıan su resistencia proporcionalmente al esfuerzo aplicado a ellas y de forma semejante hay que emplear una fuente de alimentaci´on externa para leer el voltaje en funci´on de la corriente que permite pasar la galga. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

15

Figura 1.7: Clasificaci´on de los Actuadores [Corona et al., 2014] 1.4.1.3.

Clasificaci´ on de Actuadores

Un actuador es un dispositivo con la capacidad de generar una fuerza que ejerce un cambio de posici´on, velocidad o estado de alg´ un tipo sobre un elemento mec´anico, a partir de la transformaci´on de la energ´ıa. Por lo general se clasifican en dos tipos, por el tipo de energ´ıa usada 1.7 y por el tipo de movimiento que generan, actuador lineal y rotatorio. Podemos describir los tres grupos principales: Actuadores Neum´aticos. Estos, transforma la energ´ıa acumulada del aire comprimido en trabajo mec´anico de movimiento rotatorio o movimiento rectil´ıneo. Actuadores Hidr´aulicos Estos al igual que los Actuadores Neum´aticos transforman la energ´ıa almacenada en un fluido a presi´on en Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

16 movimiento mec´anico circular o rectil´ıneo. la diferencia es que los actuadores Hidr´aulicos emplean aceite en lugar de aire.

Actuadores El´ectricos Estos transforman la energ´ıa el´ectrica en mec´anica ya sea rotacional o lineal

1.4.2.

Acondicionamiento y presentaci´ on

”...Los acondicionadores de se˜ nal, adaptadores o amplificadores, en sentido amplio, son los elementos del sistema de medida que ofrecen, a partir de la se˜ nal de salida de un sensor electr´onico, una se˜ nal apta para ser presentada o registrada que simplemente permita un procesamiento posterior mediante un equipo o instrumento est´andar. Consisten normalmente en circuitos electr´onicos que ofrecen entre otras funciones, las siguientes: amplificaci´on, filtrado, adaptaci´on de impedancias y modulaci´on o demodulaci´on....”[Areny, 2004]. Adicionalmente,”...En general, los sensores generan se˜ nales anal´ogicas en respuesta a varios fen´omenos f´ısicos que ocurren de una manera anal´ogica (en tiempo y amplitud continua). El procesamiento de se˜ nales puede ser ya sea en el dominio anal´ogico o digital. Para realizar el proceso de una se˜ nal anal´ogica en el dominio digital, se requiere que una se˜ nal digital se forme mediante el muestreo y cuantizaci´on (digitalizaci´on) de la se˜ nal anal´ogica. En consecuencia, en contraste con una se˜ nal anal´ogica, una se˜ nal digital es discreta tanto en tiempo como en amplitud. El proceso de digitalizaci´on se logra mediante una conversi´on anal´ogica-digital (A/D). El Campo de DSP involucra la manipulaci´on de se˜ nales digitales para la extracci´on de informaci´on u ´til de ellas...”[Kehtarnavaz and Kim, 2011]. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

17

1.5.

Instrumentaci´ on Virtual

“...Un Instrumento es un dispositivo dise˜ nado para recolectar datos de un ambiente, o de una unidad bajo prueba, y para desplegar informaci´on al usuario basado en los datos recogidos. Dicho instrumento puede emplear un transductor para sensar cambios en un par´ametro f´ısico, tales como temperatura o presi´on, y en convertir la informaci´on sensada en se˜ nales el´ectricas, tales como voltaje o variaciones en frecuencia. El termino instrumento virtual, puede tambi´en ser definido como un dispositivo f´ısico con software que realiza an´alisis en los datos adquiridos por otro instrumento y despu´es arroja los datos procesados como salida en un visualizador o en dispositivos de grabaci´on. La segunda categor´ıa de instrumentos de almacenamiento puede incluir osciloscopios, analizadores de espectro y medidores milimetricos digitales. Los tipos de fuentes de datos colectados y analizados por los instrumentos puede variar ampliamente, incluyendo par´ametros f´ısicos tales como temperatura, presi´on, distancia, frecuencia y amplitudes de luz y sonido, y tambi´en par´ametros el´ectricos incluyendo voltaje, corriente y frecuencia. La Instrumentaci´on Virtual es un campo interdisiplinario que combina tecnolog´ıas de sensado, hardware, y software para crear instrumentos flexibles y sofisticados para el control y monitoreo de aplicaciones. El concepto de instrumentaci´on virtual naci´o a finales de 1970, cuando la tecnolog´ıa de microprocesadores embebida permiti´o cambiar mas f´acilmente la funci´on de una maquinaria mediante el cambio de su software. ”[Sumathi and Surekha, 2007] ”...LabVIEWTM es el Acr´onimo para Laboratory Virtual Instrument Engineering Workbench. Es un Lenguaje y a la vez un entorno de programaci´on gr´afica en el que se pueden crear aplicaciones de una forma r´apida y sencilla. National Instruments es la empresa desarrolladora y propietaria de LabVIEW, comenz´o en 1976 en Austin, Texas. LabPr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

18 VIEW sale a la Luz en 1986 con su producto estrella LabVIEW 1.0 para macintosh...”[Vizca´ıno and Sebasti´a, 2011]. ”...En el pasado, LabVIEW era solo un lenguaje de programaci´on gr´afico, que fue desarrollado para hacer m´as sencilla la recopilaci´on de datos de instrumentos de laboratorio usando sistemas de adquisici´on de datos.”[Larsen, 2011]. Actualmente, National Instruments es de las m´as grandes empresas de instrumentaci´on virtual; ”...para la industria y la academia, LabVIEW es una de las m´as importantes plataformas de software para el desarrollo de aplicaciones de ingenier´ıa y puede ser conectado con diferentes sistemas de hardware...”[Ponce-Cruz and Rami´ırez-Figueroa, 2010]. Uno de estos sistemas de hardware, es la plataforma de desarrollo ARDUINO, que debido a su bajo costo ha ganado popularidad en los u ´ltimos a˜ nos, como una herramienta did´actica para el aprendizaje de la electr´onica.

1.6.

Arduino

“... Actualmente, los sistemas DSP tales como celulares y modems de alta velocidad se han convertido en una parte integral de nuestras vidas. El Campo del procesamiento digital (DSP) ha experimentado un considerable crecimiento en la ultimas dos d´ecadas, primordialmente debido a la disponibilidad y avances en el procesamiento digital de se˜ nales (tambi´en llamados DSPs).” [Kehtarnavaz and Kim, 2011]. ”La tarjeta Arduino Uno, es una tarjeta basada en la familia de microcontroladores Atmel y tiene un controlador ATmega328. Tiene un converso an´alogo a digital de 10 bits. Tiene 14 pines de entradas/salidas (de los cuales 6 pueden ser usados como salidas PWM), 6 entradas anal´ogicas, con un cristal de cuarzo a 16MHz, Una conexi´on USB, Un jack de alimentaci´on, un conector ICSP (In Chip Serial Programmer), y un bot´on de reset. Es m´as f´acil de operar que otros microcontoladores ya que su programaci´on Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

19

Figura 1.8: Arduino UNO [Singh et al., 2018] esta basada en la programaci´on l´ogica de C...”[Angalaeswari et al., 2016]. Esta tarjeta es de bajo costo, multi plataforma, amistosa con el usuario y de c´odigo libre. Se aprecia en la fig. 1.8.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

Instalaci´ on

2.1.

Instalaci´ on de LabVIEW-Arduino-LINX

2.1.1.

Objetivo

Se Instalaran correctamente los programas necesarios para las pr´acticas de Instrumentaci´on Virtual (LabVIEW, LINX, VI Pakage Manager y Arduino IDE). Instalaci´on Arduino IDE Instalaci´on LabVIEW Instalaci´on LINX 2.1.1.1.

Instalaci´ on Arduino IDE

Para la instalaci´on del Arduino IDE, se acceder´a a la pagina WEB de Arduino. www.arduino.cc; donde se descargara el paquete Arduino IDE como en la Fig. 2.1. Posteriormente, se ejecutara el instalador como administrador con lo que se vera algo semejante a la Fig. 2.2.

20

21

Figura 2.1: Pagina de Descarga de Arduino

Figura 2.2: Arduino Setup

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

22

Figura 2.3: Pagina Web de National Instruments

Figura 2.4: Acceso a Cuenta Existente 2.1.1.2.

Instalaci´ on LabVIEW

Ahora, se descargara el programa LabVIEW; para lo cual, se ingresara a la pagina de National Instruments (www.ni.com) como en la Fig. 2.3. Posteriormente, se ingresara a la cuenta (Fig. 2.4) o se creara una nueva cuenta (Fig. 2.5) en caso de no contar con una. Una vez registrados, se buscara ”Descarga Prueba Gratis de LabVIEW 2018”, con lo que aparecer´a una ventana semejante a la de la Fig. 2.6. Al acceder, se mostrara una venta semejante a la de la Fig. 2.7 con lo que se descargara “LabVIEW prueba de 7 d´ıas” al seleccionar Descargue LabVIEW(1.54GB). Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

23

Figura 2.5: Crear Cuenta de Usuario

Figura 2.6: Descarga Prueba Gratis de LabVIEW 2018

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

24

Figura 2.7: Descargar LabVIEW 2018 (1.54GB)

Figura 2.8: Instalaci´on Microsoft .NET Framework Posteriormente, se proceder´a a instalar LabVIEW. Al abrir el programa, es probable que sea necesaria la Instalaci´on de Microsoft .NET Framework. Se Ejecutara el instalador de Microsoft .NET Framework como en la Fig. 2.8. Posteriormente se ejecutara, como administrador el instalador de LabVIEW; con lo que, se mostrara en pantalla la Fig. 2.9.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

25

Figura 2.9: Instalaci´on de LabVIEW 2018

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

26

Figura 2.10: Descarga del paquete NI-Visa 2.1.1.3.

Instalaci´ on del paquete NI-Visa

Este paquete sirve para que LabVIEW reconozca los puertos de las interfaces a conectarse. Por lo que deberemos de acceder nuevamente a la pagina de National Instruments (www.ni.com). Una vez hecho lo anterior, nos desplazaremos al buscador y teclearemos NI Visa con lo que deberemos de encontrar la opci´on semejante a la de la Fig. 2.10. Posteriormente descargaremos el paquete. A continuaci´on, con una conexi´on a internet ejecutaremos el instalador. Al ejecutar el instalador se mostrara algo semejante la Fig. 2.11, donde se consumir´an cerca de 700MB de datos. Posteriormente, seguiremos las instrucciones del instalador aceptando las licencias correspondientes. Al finalizar tendremos que reiniciar el sistema como en la Fig. 2.12.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

27

Figura 2.11: Paquete NI-Visa ejecutandose.

Figura 2.12: Final de la instalaci´on del paquete NI-Visa

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

28

Figura 2.13: VI Package Manager 2018 2.1.1.4.

Instalaci´ on del paquete Digilent LINX

Una vez instalado LabVIEW, procederemos a abrirlo y en seleccionaremos TOOLS → “VI Package Manager”. En el caso de no estar tendremos que descargarlo e instalarlo desde la pagina de National Instruments. Posteriormente, se abrira el VI Package Manager desplegando una ventana semejante a la Fig. 2.13 deberemos de estar conectados a internet ya que se consumir´an 23MB de datos aproximadamente. A continuaci´on, en el buscador de VI Package Manager buscaremos Linx con lo que se desplegar´a algo semejante a la Fig. 2.14. Posteriormente, seleccionaremos INSTALAR , con lo que se descargaran los paquetes correspondientes a Digilent Linx de aproximadamente 50MB. Seguiremos las instrucciones de instalaci´on aceptando las licencias correspondientes como en la Fig. 2.15.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

29

Figura 2.14: Instalaci´on de Digilent Linx en el VI Package Manager.

Figura 2.15: Licencias de Instalaci´on de Digilent Linx en el VI Package Manager. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

30 2.1.1.5.

Instalaci´ on y grabado de c´ odigo para la Interfaz NIArduino

Ahora se Instalara el firmware de LINX en Arduino. Para esto, se abrir´a LabVIEW. En la opci´on de herramientas(Tools) se seleccionara MakerHub, LINX y se seleccionara LINX Firmware Wizard como en la Fig. 2.16. Posteriormente, se seleccionara el tipo de tarjeta de desarrollo. Los arduinos soportados por la plataforma LINX son, Arduino Leonardo, Arduino Mega2560, Arduino Nano, Arduino Pro Micro y Arduino Uno. De las tarjetas de Digilent, soporta la chipKIT Max32, chipKIT uC32, chipKIT Uno32, chipKIT WF32 y chipKIT Wifire. De las tarjetas de PJRC, soporta PJRC Teensy 3.0 y PJRC Teensy 3.1. Finalmente, de Sparkfun soporta la tarjeta RedBoard. Para las pr´acticas, se podr´a usar cualquiera de las tarjetas anteriores , siempre y cuando tengan la cantidad de PINs requeridos en cada pr´actica. Para los fines de estas pr´acticas, se seleccionara la tarjeta de desarrollo Arduino UNO como en la Fig. 2.17. A continuaci´on, se seleccionara el puerto en el que se encuentra la tarjeta de desarrollo, como se muestra en la Fig. 2.18. Al finalizar, se podr´a seleccionar la opci´on Lanzar Ejemplo (Launch Example), en donde se verificara el funcionamiento del Firmware instalado en la tarjeta. Para esto, se seleccionara el PIN 13 y el Puerto Correspondiente (COM 4 en este caso). Al seleccionar correr el programa(RUN VI); se apreciara que el LED en la tarjeta de desarrollo enciende y apaga cuando se presiona el bot´on de LED del VI. Una vista del programa ser´a semejante a la Fig. 2.19.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

31

Figura 2.16: Apertura del Paquete LINX

Figura 2.17: LINX Firmware Wizard - Selecci´on de tarjeta de desarrollo

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

32

Figura 2.18: LINX Firmware Wizard - Selecci´on de Puerto

Figura 2.19: Launch Example - Manual Blink Example

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

Introducci´ on a LabVIEW

3.0.1.

Entorno

“...Originalmente este programa (LabVIEW) estaba orientado a aplicaciones de control de Instrumentos electr´onicos usados en el desarrollo de sistemas de instrumentaci´on, lo que se conoce como instrumentaci´on virtual. Por ese motivo los programas creados en LabVIEW se guardar´an en ficheros llamados VI con la misma extensi´on, que significa instrumento virtual (Virtual Instruments) ”[Vizca´ıno and Sebasti´a, 2011]. Existen dos ventanas principales, el panel frontal y el diagrama de bloques. Donde el primero, es la interfaz que vera el usuario, y el segundo ser´a la programaci´on del instrumento virtual en la Fig. 3.1, se aprecian ambas ventanas. As´ı mismo,al dar click secundario en el Panel Frontal , podemos localizar el Panel de Controles, que es la interfaz gr´afica que vera el usuario. Estos controles se ven semejantes a los de la Fig. 3.2. En el diagrama de bloques podemos observar el panel de funciones para la programaci´on como el de la Fig. 3.3. Tanto en el Panel de control como en el Diagrama de Bloques, podemos fijarlas, al seleccionar la peque˜ na tachuela que se encuentra en la esquina superior izquierda. Ahora conoceremos las funciones de las barras de herramientas de estado de la Fig. 3.4. En donde, el bot´on A corresponde al bot´on de ejecuci´on (Run), mismo que se pone en negro cuando se esta ejecutando el progra33

34

Figura 3.1: Panel Frontal (izquierda) y diagrama de bloques (derecha)

Figura 3.2: Controles de la interfaz de usuario en el Panel Frontal Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

35

Figura 3.3: Funciones de programaci´on del Block Diagram

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

36

Figura 3.4: Barra de herramientas de Estado del Block Diagram

ma y aparece como roto cuando hay errores en el programa. El bot´on B, hace referencia a la ejecuci´on continua (Continuos Run). El bot´on C de Cancelaci´on de ejecuci´on (Abort Execution). El bot´on D de pausa o continuaci´on(Pause). El bot´on E de ejecuci´on resaltada (Highlight Execution). El bot´on F de retener los valores de los cables (Retain Wire Values). El bot´on G de entrada al ciclo (Step Into). El bot´on H sobre (Step Over). El bot´on I de salida del ciclo (Step Out). El selector J de Configuraci´on de textos (Text Settings). El bot´on K Alineamiento de objetos (Align Objects). El bot´on L Distribuci´on de objetos (Distribute Objects). El bot´on M Reordenamiento (Reorder). Finalmente podemos mencionar el icono de ayuda (Show Context Help Window) como un s´ımbolo de interrogaci´on localizado en la esquina superior derecha. Al presionarlo nos dar´a la informaci´on del icono por el que pasemos el cursor. As´ı mismo en la secci´on de herramientas (Tools) podemos localizar la paleta de herramientas como la de la Fig. 3.5. podemos ver en la parte superior la herramienta de selecci´on autom´atica. Mas abajo, si avanzamos por columnas en la primera columna se encuentra, la herramienta de operaci´on, la herramienta de cableado, la herramienta de punto de paro; en la segunda columna esta la herramienta de posicionamiento y redimensionamiento,la herramienta de men´ u (atajo) y la herramienta de prueba; en la tercera columna esta, la herramienta de etiquetado, la herramienta de desplazamiento, la herramienta para copia de color y finalmente en la parte de abajo esta la herramienta para colorear. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

37

Figura 3.5: Barra de herramientas de Estado del Block Diagram

3.0.2.

Tipo de Datos

En LabVIEW, dependiendo del tipo de dato; las lineas se ver´an con diversos estilos y colores como en la Fig. 3.6. Los datos Booleanos se representan con el color verde y solo tienen los valores l´ogicos de verdadero y falso. Los N´ umeros Enteros con el color azul solo aceptan valores enteros. Los N´ umeros Dobles con el color naranja aceptan n´ umeros con decimales. Finalmente,el color rosado para las Cadenas de caracteres. En la Fig. 3.6, podemos apreciar que existen datos escalares Booleanos, Num´ericos Dobles, Num´ericos Enteros y Cadenas de datos. As´ı mismo, hay datos como arreglos (Array) de una fila donde se ve mas grueso el cableado. De forma semejante el cableado se hace aun mas grueso como dos lineas paralelas, cuando son arreglos de dos filas. La interfaz de este programa se muestra en la Fig. 3.7. De ah´ı, podemos deducir que en un Array seleccionamos la fila y despu´es la columna, por ejemplo en el array naranja al seleccionar la columna cero y la fila uno obtenemos el valor de 5.5.

3.0.3.

Herramientas Adicionales

Adicionalmente podemos limpiar nuestra programaci´on seleccionando N en la Fig. 3.4, con lo que se reacomodaria nuestro VI. Adicionalmente Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

38

Figura 3.6: Variables Escalares y de arreglos(Array) de datos : Booleanos, Num´ericos dobles, Num´ericos Enteros y Cadenas

Figura 3.7: Interfaz con los resultados de las variables

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

39

Figura 3.8: Click secundario para l selecci´on Clean Up Wire podemos dar clic secundario a un cable y seleccionar Limpiar Cable(Clean Up Wire)Fig.3.8 con lo que se arreglara la distribuci´on del mismo como se ve en la Fig.3.9. Tambi´en, podemos cambiar el control por un indicador o por una constante al dar click secundario sobre la conexi´on como se muestra en la Fig.3.10. En la Fig. 3.11, se aprecia como al seleccionar uno de los puertos y hacer

Figura 3.9: Alambre Limpio Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

40

Figura 3.10: Click secundario para cambiar a indicador

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

41

Figura 3.11: Agregar una constante, un control o un Indicador click secundario, se despliega el men´ u para agregar una constante, un control o un Indicador. Hay algunas teclas de acceso r´apido para trabajar m´as eficientemente se muestran a continuaci´on. Ctrl+h Activa/Desactiva la Ventana de Ayuda. Ctrl+b Elimina los cables rotos del Block Diagram. Ctrl+e Cambia entre el Panel Frontal (Front Panel) y el Diagrama de Bloques (Block Diagram). Ctr+z Eliminar Cambios.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

Pr´ actica 0

4.1.

Operaciones Aritm´ eticas B´ asicas

4.1.1.

Objetivo

El alumno comprender´a las funciones aritm´eticas b´asicas expresadas en LabVIEW. As´ı mismo, el alumno creara la interfaz gr´afica en LabVIEW.

4.1.2.

Material

1 Computadora port´atil con LabVIEW instalado.

4.1.3.

Trabajo a realizar

Comprobar el funcionamiento de las operaciones aritm´eticas b´asicas. Se dise˜ nara en LabVIEW la interfaz gr´afica y se programaran las operaciones correspondientes.

4.1.4.

Desarrollo

Para esto, Abrimos el programa de LabVIEW, creamos un nuevo VI. En el Diagrama de Bloques, a˜ nadimos un ciclo While Loop (Programming → Structures → While Loop) y en el Panel Frontal creamos el bot´on de paro (Silver → Boolean → Stop Button). En el Diagrama de Bloques, creamos 42

43 cuatro botones (Silver → Boolean → Blank Button(Silver)) a los cuales les asignamos etiquetas de sumar, restar, multiplicar y dividir. As´ı mismo, creamos dos controles num´ericos y un indicador num´erico (Silver → Numeric → Numeric Control(Silver) / Numeric Indicator(Silver)). Posteriormente creamos un arreglo con Build Array (Programming → Array → Build Array) y conectamos cada bot´on al arreglo. La salida del arreglo la conectamos a un Boolean Array to Number (el cual convertir´a el valor binario de los botones en decimal 1, 2, 4, u 8 seg´ un sea el caso) y ´este a su vez a una estructura de caso (Structure → Case Structure). Dentro de ´esta estructura, colocaremos cada una de las operaciones aritm´eticas (Programming → Numeric → Add/ Substract/ Multiplay/ Divide). Para esto conectamos el Control Num´erico a una de entradas del operador. Para el caso default, crearemos una constante que enviara cero al Indicador Num´erico como se aprecia en la figura 4.2. Se agregaran las operaciones en cada Case Structure seg´ un corresponda (Programming → Numeric → Add). Para agregar el resto de las operaciones, se deber´a dar clic secundario y seleccionar Add Case dentro de la estructura Select Case; dentro de este nuevo caso se agregara la operaci´on correspondiente. Para el caso 1 suma, el caso 2 resta, el caso 4 multiplicaci´on y el caso 8 Divisi´on. Las operaciones ser´an seleccionadas mediante el Case Structure y se ejecutaran autom´aticamente. Estas, se mantendr´an en el indicador el tiempo estipulado por el temporizador (Programming → Timing → Wait(ms)). En este caso, despu´es de 0.5 s el indicador se actualiza y regresa el valor a cero.

Al finalizar la interfaz de la calculadora aritm´etica se vera semejante a la de la Fig. 4.1. As´ı mismo, la programaci´on se vera semejante a la de la Fig. 4.3. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

44

Figura 4.1: Interfaz Calculadora Aritm´etica B´asica

Figura 4.2: Programa Calculadora Aritm´etica B´asica

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

45

Figura 4.3: Programa Calculadora Aritm´etica B´asica

4.2.

Operaciones L´ ogicas B´ asicas

4.2.1.

Objetivo

El alumno comprender´a las funciones l´ogicas b´asicas expresadas en LabVIEW. As´ı mismo, el alumno creara la interfaz gr´afica en LabVIEW.

4.2.2.

Material

1 Computadora port´atil con LabVIEW instalado.

4.2.3.

Trabajo a realizar

Comprobar el funcionamiento de las operaciones l´ogicas b´asicas. Se dise˜ nara en LabVIEW la interfaz grafica y se programaran las operaciones correspondientes. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

46

Figura 4.4: Interfaz Calculadora L´ogica B´asica

4.2.4.

Desarrollo

Para esto, Abrimos el programa de LabVIEW, creamos un nuevo VI. A˜ nadimos un ciclo While Loop (Programming → Structures → While Loop). Dentro de ´esta estructura, colocaremos cada una de las operaciones aritmeticas(Programming → Boolean → Not/ And/ Or/ Not And/ Not Or/ Exclusive Or). As´ı mismo, en el panel frontal creamos el boton de paro (Silver → Boolean → Stop Button) y lo cablearemos dentro del ciclo While Loop hacia el paro. Creamos dos Push button (Silver → Boolean → Push Button(Silver)) a los cuales les asignamos etiquetas de A y B. Los botones, ir´an conectados a cada una de las entradas de las compuertas en el Block Diagram. Creamos seis Indicadores (Silver → Boolean → LED(Silver) a los cuales ir´an a las salidas de las operaciones l´ogicas. A continuaci´on, etiquetaremos los indicadores como en la Fig. 4.4. Finalmente, la programaci´on se ver´a semejante a la de la Fig. 4.5.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

47

Figura 4.5: Programa Calculadora L´ogica B´asica

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

Pr´ actica 1

5.1.

Parpadeo de LED en LabVIEW-Arduino

5.1.1.

Objetivo

El prop´osito de esta pr´actica es verificar el funcionamiento de la interfaz Arduino-LINX-LabVIEW, mediante el encendido de un LED.

5.1.2.

Material

1 Computadora port´atil con LabVIEW y LINX instalados. 1 Protoboar 1 Arduino 1 LED 1 Resistencia 220Ω 1/4 W

5.1.3.

Trabajo a realizar

Comprobar el correcto funcionamiento de la interfaz Arduino-LINX-LabVIEW. Esto se realizar´a mediante el envi´o de un bit hacia en el PIN 2 del puerto Digital en la tablilla Arduino. 48

49

5.1.4.

Desarrollo

Conectar la tarjeta de desarrollo Arduino a la computadora personal. Cargar el firmware de LINX a Arduino. Armar el circuito en protoboard como en la Fig. 5.1 y 5.2. Una vez armado el circuito; realizaremos la interfaz de Arduino. Para esto, Abrimos el programa de LabVIEW, creamos un nuevo VI. A˜ nadimos un ciclo While Loop (Programming→ Structures → While Loop)y creamos el boton de paro (Silver → Boolean → Stop Button). En el Block Diagram damos click secundario y a˜ nadimos fuera del ciclo While Loop, el modulo de entrada y el de salida de LINX (MakerHub → LINX → Open/Close). As´ı mismo, agregamos un modulo de Escritura Digital (MakerHub → LINX → Peripherials → Digital → Write). Al modulo de entrada, agregamos la constante del puerto (Click Secundario → Crear → Constante) y seleccionamos el puerto a ocupar (en nuestro caso el COM4). Conectamos el Bus de Linx Resource y error, a cada uno de los bloques de LINX. Creamos un Bot´on (Silver → Boolean → Button) y lo conectamos a un Display Booleano (Silver → Boolean → LED(Silver)). As´ı mismo, conectamos el bot´on con la se˜ nal de entrada del modulo de Escritura Digital. Agregamos un Temporizador (Programming → Timing → Wait(ms)), para que esta operaci´on se repita cada 50 ms. Finalmente, creamos una Constante (Programming → Numeric → Constant) para indicar el puerto al que ser´a enviada la se˜ nal (On/Off), en nuestro caso ser´a al PIN 2. Al finalizar obtendremos una interfaz semejante a la de la Fig. 5.3. As´ı mismo, la programaci´on se vera semejante a la de la Fig. 5.4.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

50

Figura 5.1: Pr´actica 1. Esquem´atico. Encendido de LED.

Figura 5.2: Pr´actica 1. Armado en Protoboard. Encendido de LED.

Figura 5.3: Pr´actica 1. Interfaz. Encendido de LED.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

51

Figura 5.4: Pr´actica 1. Programa. Encendido de LED.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

Pr´ actica 2

6.1.

Lectura de se˜ nales Digitales

6.1.1.

Objetivo

El prop´osito de esta pr´actica es la lectura de el PIN 2 del puerto Digital y la creaci´on de la interfaz correspondiente con LabVIEW.

6.1.2.

Material

1 Computadora port´atil con LabVIEW y LINX instalados. 1 Protoboar 1 Arduino 1 Resistencia 100Ω 1/4 W 1 Resistencia 10kΩ 1/4 W

6.1.3.

Trabajo a realizar

Comprender la adquisici´on de se˜ nales digitales. Mediante el envi´o de se˜ nales digitales recibidas en el Pin 2. As´ı mismo, al activarse el inte52

53 rruptor en el circuito; se activara el LED en la pantalla de la Interfaz dise˜ nada en LabVIEW.

6.1.4.

Desarrollo

Conectar la tarjeta de desarrollo Arduino a la computadora personal. Cargar el firmware de LINX a Arduino. Armar el circuito en protoboard como en la Fig. 6.1 y 6.2. Una vez armado el circuito; realizaremos la interfaz de Arduino. Para esto, Abrimos el programa de LabVIEW, creamos un nuevo VI. A˜ nadimos un ciclo While Loop (Programming → Structures → While Loop)y creamos el bot´on de paro (Silver → Boolean → Stop Button). A˜ nadimos el modulo de entrada y el de salida de LINX (MakerHub → LINX → Open/Close). Al modulo de entrada, agregamos la constante del puerto (Click Secundario → Crear → Constante) y seleccionamos el puerto a ocupar (en nuestro caso el COM4). As´ı mismo, agregamos un modulo de Lectura Digital (MakerHub → LINX → Peripherals → Digital → Read) de un canal. Conectamos el Bus de Linx Resource y error, a cada uno de los bloques de LINX Creamos una Constante (Programming → Numeric → Constant) para indicar el numero de pin al que estar´a conectado; en nuestro caso ser´a al PIN 2 de las Entradas Digitales. Creamos un Indicador (Silver → Numeric → Meter) y lo conectamos a la salida de voltaje del modulo de Lectura Anal´ogico. Agregamos un Temporizador (Programming → Timing → Wait(ms)) para que esta operaci´on se repita cada 50 ms. Al finalizar obtendremos una interfaz semejante a la de la Fig. 6.3. As´ı mismo, la programaci´on se vera semejante a la de la Fig. 6.4. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

54

Figura 6.1: Pr´actica 2A. Esquem´atico. Lectura de se˜ nales Digitales.

Figura 6.2: Pr´actica 2A. Protoboard. Lectura de se˜ nales Digitales.

Figura 6.3: Pr´actica 2A. Interfaz. Lectura de se˜ nales Digitales.

Figura 6.4: Pr´actica 2A. Programa. Lectura de se˜ nales Digitales. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

55

6.2.

Lectura de se˜ nales anal´ ogicas

6.2.1.

Objetivo

El prop´osito de esta pr´actica es la lectura de el PIN A0 del puerto Anal´ogico y la creaci´on de la interfaz correspondiente con LabVIEW.

6.2.2.

Material

1 Computadora port´atil con LabVIEW y LINX instalados. 1 Protoboar 1 Arduino 1 Potenciometro 100kΩ 1/4 W

6.2.3.

Trabajo a realizar

Se adquirir´a la se˜ nal anal´ogica del puerto anal´ogico en el PIN A0. La se˜ nal recibida de 0 a 5V, ser´a enviada a la interfaz de LabVIEW donde podr´a ser visualizada.

6.2.4.

Desarrollo

Conectar la tarjeta de desarrollo Arduino a la computadora personal. Cargar el firmware de LINX a Arduino. Armar el circuito en protoboard como en la Fig. 6.5 y 6.6. Una vez armado el circuito; realizaremos la interfaz de Arduino. Para esto, Abrimos el programa de LabVIEW, creamos un nuevo VI. A˜ nadimos un ciclo While Loop (Programming → Structures → While Loop)y creamos el bot´on de paro (Silver → Boolean >> Stop Button). A˜ nadimos Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

56

Figura 6.5: Pr´actica 2B. Esquem´atico. Lectura de se˜ nales Anal´ogicas. el modulo de entrada y el de salida de LINX (MakerHub → LINX → Open/Close). Al modulo de entrada, agregamos la constante del puerto (Click Secundario → Crear → Constante) y seleccionamos el puerto a ocupar (en nuestro caso el COM4). As´ı mismo, agregamos un modulo de Lectura Anal´ogico (MakerHub → LINX → Peripherals → Analog → Read) de un canal. Conectamos el Bus de Linx Resource y error, a cada uno de los bloques de LINX Creamos una Constante (Programming → Numeric → Constant) para indicar el numero de pin al que estar´a conectado; en nuestro caso ser´a al PIN A0 de las Entradas Anal´ogicas. Creamos un Indicador (Silver → Boolean → LED(Silver)) y lo conectamos a la salida del modulo de Lectura Digital. Agregamos un Temporizador (Programming → Timing → Wait(ms)) para que esta operaci´on se repita cada 50 ms. Al finalizar obtendremos una interfaz semejante a la de la Fig. 6.7. As´ı mismo, la programaci´on se vera semejante a la de la Fig. 6.8.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

57

Figura 6.6: Pr´actica 2B. Protoboard. Lectura de se˜ nales Anal´ogicas.

Figura 6.7: Pr´actica 2B. Interfaz. Lectura de se˜ nales Anal´ogicas.

Figura 6.8: Pr´actica 2B. Programa. Lectura de se˜ nales Anal´ogicas.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

Pr´ actica 3

7.1.

Uso del sensor LM35 para medir temperaturas

7.1.1.

Objetivo

El prop´osito de esta pr´actica es la lectura de el PIN 2 del puerto Anal´ogico y la creaci´on de la interfaz correspondiente con LabVIEW para la visualizaci´on de la temperatura.

7.1.2.

Material

1 Computadora port´atil con LabVIEW y LINX instalados. 1 Protoboar 1 Arduino 1 LM35

7.1.3.

Trabajo a realizar

Medici´on de temperatura con el sensor lineal LM35. Visualizaci´on de la temperatura en una interfaz dise˜ nada en LabVIEW. 58

59

7.1.4.

Desarrollo

Conectar la tarjeta de desarrollo Arduino a la computadora personal. Cargar el firmware de LINX a Arduino. Armar el circuito en protoboard como en la Fig. 7.1 y 7.2. Una vez armado el circuito; realizaremos la interfaz de Arduino. Para esto, abrimos el programa de LabVIEW, creamos un nuevo VI. A˜ nadimos un ciclo While Loop (Programming → Structures → While Loop)y creamos el boton de paro (Silver → Boolean → Stop Button). A˜ nadimos el modulo de entrada y el de salida de LINX (MakerHub → LINX → Open/Close). Al modulo de entrada, agregamos la constante del puerto (Click Secundario → Crear → Constante) y seleccionamos el puerto a ocupar (en nuestro caso el COM4). As´ı mismo, agregamos un modulo de Lectura Anal´ogico (MakerHub → LINX → Peripherals → Analog → Read) de un canal. Conectamos el Bus de Linx Resource y Error, a cada uno de los bloques de LINX. Creamos una Constante (Programming → Numeric → Constant) para indicar el n´ umero de pin al que estara conectado; en nuestro caso sera al PIN A0 de las Entradas Anal´ogicas. Creamos un Indicador (Silver → Numeric → termomether(Silver)) y lo conectamos a la salida del modulo de Lectura Anal´ogico. Agregamos un Temporizador (Programming → Timing → Wait(ms)) para que esta operaci´on se repita cada 50 ms. Al finalizar obtendremos una interfaz semejante a la de la Fig. 7.3. As´ı mismo, la programaci´on se vera semejante a la de la Fig. 7.4. En donde se realiza una multiplicaci´on por 100 para ajustar el valor le´ıdo en el puerto A0. De esta forma se acondicionan los 10mV/o C obtenidos del LM35 y podremos visualizar el valor de temperatura en grados CelPr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

60

Figura 7.1: Pr´actica 3A. Esquem´atico. Sensor para temperatura LM35 sius.

7.2.

Control de salida Digital con LM35

7.2.1.

Objetivo

El prop´osito de esta pr´actica es la lectura de el PIN A0 del puerto Anal´ogico y la creaci´on de la interfaz correspondiente con LabVIEW. Esto, para la visualizaci´on de la temperatura y la activaci´on de un LED en el PIN 2 del puerto digital.

7.2.2.

Material

1 Computadora port´atil con LabVIEW y LINX instalados. 1 Protoboar 1 Arduino 1 LM35 1 LED Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

61

Figura 7.2: Pr´actica 3A. Protoboard. Sensor para temperatura LM35

Figura 7.3: Pr´actica 3A. Interfaz. Sensor para temperatura LM35

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

62

Figura 7.4: Pr´actica 3A. Programa. Sensor para temperatura LM35 1 Resistencia 220Ω 1/4W

7.2.3.

Trabajo a realizar

Medici´on de temperatura con el sensor lineal LM35 en el PIN A0. Visualizaci´on de la temperatura en una interfaz dise˜ nada en LabVIEW y activaci´on del PIN 2 del puerto digital para el encendido de un LED.

7.2.4.

Desarrollo

Conectar la tarjeta de desarrollo Arduino a la computadora personal. Cargar el firmware de LINX a Arduino. Armar el circuito en protoboard como en la Fig. 7.5 y 7.6. Una vez armado el circuito; realizaremos la interfaz de Arduino. Para esto, Abrimos el programa de LabVIEW, creamos un nuevo VI. A˜ nadimos un ciclo While Loop (Programming → Structures → While Loop)y creamos el bot´on de paro (Silver → Boolean → Stop Button). Agregamos un Temporizador (Programming → Timing → Wait(ms)) para que esta operaci´on se repita cada 50 ms. A˜ nadimos el modulo de entrada y el de salida de LINX (MakerHub → LINX → Open/Close). Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

63 Al modulo de entrada, agregamos la constante del puerto (Click Secundario → Crear → Constante) y seleccionamos el puerto a ocupar (en nuestro caso el COM4). As´ı mismo, agregamos un modulo de Lectura Anal´ogico (MakerHub → LINX → Peripherals → Analog → Read) de un canal. Creamos una Constante (Programming → Numeric → Constant) para indicar el numero de pin al que estar´a conectado; en nuestro caso sera al PIN A0 de las Entradas Anal´ogicas. Para encender el LED, agregamos un modulo de Escritura Digital (MakerHub → LINX → Peripherals → Digital → Write). Se le asigna una constante (Programming → Numeric → Constant) a donde se enviaran los valores booleanos, en nuestro caso el PIN 2. Creamos un Indicador (Silver → Boolean → LED(Silver)) y lo conectamos a la salida del modulo de Escritura Digital. Conectamos el Bus de Linx Resource y Error, a cada uno de los bloques de LINX Creamos un Term´ometro (Silver → Numeric → Thermometer(Silver)). Se realiza una multiplicaci´on por 100 para ajustar el valor le´ıdo en el puerto A0; enviando el resultado al comparador y al term´ometro. De esta forma se acondicionan los 10mV/o C obtenidos del LM35 y podremos visualizar el valor de temperatura en grados Celsius. Agregar una variable Selector (Silver → Nummeric → Dial(Meter)) y conectarlo a la entrada del comparador. Se agrega una Comparaci´on (Programming → Comparison → Greater?) y se compara el valor del Dial con el de la multiplicaci´on (temperatura). Si el valor de la temperatura sobrepasa el valor del Dial, se enviara la se˜ nal al modulo de Escritura Digital y ´este a su vez enviara la se˜ nal al LED en el PIN 2. Al finalizar obtendremos una interfaz semejante a la de la Fig. 7.7. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

64

Figura 7.5: Pr´actica 3B. Esquem´atico. Control de LED dependiente de la temperatura LM35 As´ı mismo, la programaci´on se vera semejante a la de la Fig. 7.8.

7.3.

Control de Relevador dependiente de la temperatura LM35

7.3.1.

Objetivo

El prop´osito de esta pr´actica es la lectura de el PIN A0 del puerto Anal´ogico y la creaci´on de la interfaz correspondiente con LabVIEW. Esto, para la visualizaci´on de la temperatura y la activaci´on del PIN 2 del puerto digital. Logrando con esto, la activaci´on de un relevador.

7.3.2.

Material

1 Computadora port´atil con LabVIEW y LINX instalados. 1 Protoboar 1 Arduino 1 LM35 Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

65

Figura 7.6: Pr´actica 3B. Protoboard. Control de LED dependiente de la temperatura LM35

Figura 7.7: Pr´actica 3B. Interfaz. Control de LED dependiente de la temperatura LM35

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

66

Figura 7.8: Pr´actica 3B. Programa. Control de LED dependiente de la temperatura LM35 1 LED 1 Resistencia 220Ω 1/4W 1 Resistencia 47kΩ 1/4W 1 Resistencia 4.7kΩ 1/4W 1 TIP 31 1 Diodo 1N4001 1 Relevador a 5V 1 LM7805 1 bater´ıa de 9V 1 Porta-bater´ıa de 9V

7.3.3.

Trabajo a realizar

Medici´on de temperatura con el sensor lineal LM35. Visualizaci´on de la temperatura en una interfaz dise˜ nada en LabVIEW y activaci´on del PIN Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

67 2 en el puerto digital para el encendido de un Relevador.

7.3.4.

Desarrollo

Conectar la tarjeta de desarrollo Arduino a la computadora personal. Cargar el firmware de LINX a Arduino. Armar el circuito en protoboard como en la Fig. 7.9 y 7.10. Una vez armado el circuito; realizaremos la interfaz de Arduino. Para esto, Abrimos el programa de LabVIEW, creamos un nuevo VI. A˜ nadimos un ciclo While Loop (Programming → Structures → While Loop)y creamos el bot´on de paro (Silver → Boolean → Stop Button). Agregamos un Temporizador (Programming → Timing → Wait(ms)) para que esta operaci´on se repita cada 50 ms. A˜ nadimos el modulo de entrada y el de salida de LINX (MakerHub → LINX → Open/Close). Al modulo de entrada, agregamos la constante del puerto (Click Secundario → Crear → Constante) y seleccionamos el puerto a ocupar (en nuestro caso el COM4). As´ı mismo, agregamos un modulo de Lectura Anal´ogico (MakerHub → LINX → Peripherals → Analog → Read) de un canal. Creamos una Constante (Programming → Numeric → Constant) para indicar el numero de pin al que estar´a conectado; en nuestro caso ser´a al PIN A0 de las Entradas Anal´ogicas. Para encender el LED, agregamos un modulo de Escritura Digital (MakerHub → LINX → Peripherals → Digital → Write). Se le asigna una constante (Programming → Numeric → Constant) a donde se enviaran los valores booleanos, en nuestro caso el PIN 2. Creamos un Indicador (Silver → Boolean → LED(Silver)) y lo conectamos a la salida del modulo de Escritura Digital. Conectamos el Bus de Linx Resource y Error, a cada uno de los bloques Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

68 de LINX. Creamos un Term´ometro (Silver → Numeric → Thermometer(Silver)). Se realiza una multiplicaci´on por 100 para ajustar el valor le´ıdo en el puerto A0; enviando el resultado al comparador y al term´ometro. De esta forma se acondicionan los 10mV/o C obtenidos del LM35 y podremos visualizar el valor de temperatura en grados Celsius. Agregar una variable Selector (Silver → Nummeric → Dial(Meter)) y conectarlo a la entrada del comparador. Se agrega una Comparaci´on (Programming → Comparison → Greater?) y se compara el valor del Dial con el de la multiplicaci´on (temperatura). Si el valor de la temperatura sobrepasa el valor del Dial, se enviara la se˜ nal al modulo de Escritura Digital y ´este a su vez enviara la se˜ nal al LED en el PIN 2. Al finalizar obtendremos una interfaz semejante a la de la Fig. 7.7. As´ı mismo, la programaci´on se vera semejante a la de la Fig. 7.8. Con ligeras modificaciones al programa; podremos controlar mediante ´esta etapa de potencia, el encendido y apagado de elementos de control; refrigerantes para disminuir la temperatura de un habit´aculo o calefactores para mantener la temperatura de una incubadora por ejemplo.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

69

Figura 7.9: Pr´actica 3C. Esquem´atico. Control de Relevador dependiente de la temperatura LM35

Figura 7.10: Pr´actica 3C. Protoboard. Control de Relevador dependiente de la temperatura LM35

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

Pr´ actica 4

8.1.

Temporizado de un sem´ aforo

8.1.1.

Objetivo

El prop´osito de esta pr´actica es el temporizado de un sem´aforo, empleando LEDs para ejemplificar el funcionamiento. As´ı mismo, se dise˜ nara la interfaz en LabVIEW donde se visualizaran los estados del sem´aforo.

8.1.2.

Material

1 Computadora port´atil con LabVIEW y LINX instalados. 1 Protoboar 1 Arduino UNO 3 Resistencia 220Ω 1/4 W ´ 3 LEDs (1Rojo, 1Verde, 1Ambar)

8.1.3.

Trabajo a realizar

Comprender el temporizado dentro de los ciclos Case y el env´ıo de se˜ nales l´ogicas hacia los puertos en el tiempo correcto. Mediante el env´ıo de 70

71 se˜ nales digitales en el puerto digital, se activar´an los LEDs de forma secuencial en la pantalla de la Interfaz dise˜ nada en LabVIEW y en el protoboar. El LED Verde estar´a cinco segundos encendido; posterior´ mente Parpadeara dos veces durante dos segundos; pasar´a al Ambar y permanecer´a ah´ı durante dos segundos; finalmente pasar´a al Rojo donde esperar´a cuatro segundos antes de pasar al Verde nuevamente.

8.1.4.

Desarrollo

Conectar la tarjeta de desarrollo Arduino a la computadora personal. Cargar el firmware de LINX a Arduino. Armar el circuito en protoboard como en la Fig. 8.1 y 8.2. Una vez armado el circuito; realizaremos la interfaz de Arduino. Para esto, Abrimos el programa de LabVIEW, creamos un nuevo VI. A˜ nadimos un ciclo While Loop (Programming → Structures → While Loop). Creamos el bot´on de paro (Silver → Boolean → Stop Button) y lo conectamos al Stop del While Loop. A˜ nadimos el modulo de entrada y el de salida de LINX (MakerHub → LINX → Open/Close). Al modulo de entrada, agregamos la constante del puerto (Click Secundario → Crear → Constante) y seleccionamos el puerto a ocupar (en nuestro caso el COM4). Conectamos el Bus de Linx Resource y Error, a cada uno de los bloques de LINX. Creamos tres indicadores con LEDs (Silver → Boolean → LED(Silver)). Cambiamos las propiedades de color de los mismos para que correspondan con los colores de un sem´aforo. Dentro de la estructura While Loop, agregaremos el c´odigo, creamos 3 constantes (Programming → Numeric → Numeric Constant) para indicar el numero de pin al que estar´an conectados los LEDs del Sem´aforo; en nuestro caso ser´a al PIN 11, 12 y 13 del puerto Digital. A su vez, Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

72 creamos un array (Programming → Array → Build Array) de 3 registros y conectamos las constantes en las entradas de este Array. La salida del array estara conectada a un modulo de Escritura Digital (MakerHub → LINX → Peripherials → Digital Write) de N canales en la entrada, Do chanels. Creamos una estructura de casos (Structures → Case Structure) y dentro de ella crearemos cada uno de los casos para el sem´aforo(click secundario → Add Case For All). En cada caso a˜ nadiremos un Array de 3 valores, una constante de temporizado y una Constante Enum. Los 3 valores estar´an dados por constantes booleanas(Programming → Boolean → Numeric Constant). La constante de temporizado (Programming → Numeric → Numeric Constant) y estar´a conectada a un temporizador fuera del Select Case (Programming → Timing → Wait(ms)), el cual se conectar´a con las variables de tiempo de cada Case. La variable de temporizado, propuesta, es de 4000ms para el Verde, 1000ms para ParpadeaA, 1000ms para ParpadeaB, 1000ms para ParpadeaC, 1000ms para ´ el ParpadeaD, 1000ms para el Ambar y 3000ms para el Rojo. Creamos la constante de los casos, a˜ nadi´endola como una constante ´ de enumerar (Programming → Numeric → Enum Constant). Esta, deber´a de editarse con click secundario y agregar los casos de 1Verde, 1Par´ padeaA, 1ParpadeaB, 1ParpadeaC, 1ParpadeaD, 1Ambar y 1Rojo. Los anteriores ser´an los casos para cada uno de las acciones del Sem´aforo. As´ı mismo, a˜ nadimos un registro de corrimiento(click secundario Add Register) al ciclo While Loop y conectamos otra copia de la constante Enum Constant del lado derecho del ciclo. Ahora,dentro del While Loop crearemos un arreglo ordenado(Programming → Array → Index Array) y conectaremos los Indicadores LEDS, a las salidas. Finalmente, el canal de Escritura Digital (values) se conectar´a a la entrada del Index Array. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

73

Figura 8.1: Pr´actica 4A. Esquem´atico. Temporizado de un sem´aforo

Figura 8.2: Pr´actica 4A. Protoboard. Temporizado de un sem´aforo

La l´ogica es que cada LED encender´a de acuerdo al tiempo asignado en cada caso y a la condici´on booleana de cada caso. Adicionalmente la variable tipo Enum, cambia el estado hacia el siguiente caso. Es decir,en el Caso Verde; estar´a como verdadero el PIN 13. As´ı como, falso el PIN 11 y 12, con un temporizado de 4 segundos antes de pasar al caso VerdeParpadeaA. Al finalizar obtendremos una interfaz semejante a la de la Fig. 8.3. As´ı mismo, la programaci´on se vera semejante a la de la Fig. 8.4. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

74

Figura 8.3: Pr´actica 4A. Interfaz. Temporizado de un sem´aforo

Figura 8.4: Pr´actica 4A. Programa. Temporizado de un sem´aforo

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

75

8.2.

Temporizado de cuatro sem´ aforos

8.2.1.

Objetivo

El prop´osito de esta pr´actica es el temporizado de cuatro sem´aforos, empleando LEDs para ejemplificar el funcionamiento. As´ı mismo, se dise˜ nara la interfaz en LabVIEW donde se visualizaran los estados de los sem´aforos.

8.2.2.

Material

1 Computadora port´atil con LabVIEW y LINX instalados. 1 Protoboar 1 Arduino UNO 12 Resistencia 220Ω 1/4 W ´ 12 LEDs (4Rojo, 4Verde, 4Ambar)

8.2.3.

Trabajo a realizar

Comprender el temporizado dentro de los ciclos Case y el env´ıo de se˜ nales l´ogicas hacia los puertos en el tiempo correcto. Mediante el env´ıo de se˜ nales digitales en el puerto digital, se activar´an los LEDs de forma secuencial en la pantalla de la Interfaz dise˜ nada en LabVIEW y en el protoboar. El LED Verde estara cinco segundos encendido; posterior´ mente Parpadeara dos veces durante dos segundos; pasar´a al Ambar y permanecer´a ah´ı durante dos segundos; finalmente pasar´a al Rojo donde esperar´a cuatro segundos antes de pasar al Verde nuevamente. El ciclo anterior se repetir´a en los cuatros sem´aforos de manera secuencial. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

76

8.2.4.

Desarrollo

Conectar la tarjeta de desarrollo Arduino a la computadora personal. Cargar el firmware de LINX a Arduino. Armar el circuito en protoboard como en la Fig. 8.1 y 8.2. Una vez armado el circuito; realizaremos la interfaz de Arduino. Para esto, Abrimos el programa de LabVIEW, creamos un nuevo VI. A˜ nadimos un ciclo While Loop (Programming → Structures → While Loop). Creamos el bot´on de paro (Silver → Boolean → Stop Button) y lo conectamos al Stop del While Loop. A˜ nadimos el modulo de entrada y el de salida de LINX (MakerHub → LINX → Open/Close). Al modulo de entrada, agregamos la constante del puerto (Click Secundario → Crear → Constante) y seleccionamos el puerto a ocupar (en nuestro caso el COM4). Conectamos el Bus de Linx Resource y Error, a cada uno de los bloques de LINX. Creamos tres indicadores con LEDs (Silver → Boolean → LED(Silver)). Cambiamos las propiedades de color de los mismos para que correspondan con los colores de un sem´aforo. Dentro de la estructura While Loop, agregaremos el c´odigo, creamos 12 constantes (Programming → Numeric → Numeric Constant) para indicar el numero de pin al que estar´an conectados los LEDs del Sem´aforo; en nuestro caso sera al PIN 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 y 13 del puerto Digital. A su vez, creamos un array (Programming → Array → Build Array) de 12 registros y conectamos las constantes en las entradas de este Array. La salida del array estar´a conectada a un modulo de Escritura Digital (MakerHub → LINX → Peripherials → Digital Write) de N canales en la entrada, Do chanels. Creamos una estructura de casos (Structures → Case Structure) y dentro de ella crearemos cada uno de los casos para el sem´aforo(click secundario Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

77 → Add Case For All). En cada caso a˜ nadiremos un Array de 12 valores, una constante de temporizado y una Constante Enum. Los 12 valores estar´an dados por constantes booleanas (Programming → Boolean → Numeric Constant). La constante de temporizado (Programming → Numeric → Numeric Constant) y estar´a conectada a un temporizador fuera del Select Case (Programming → Timing → Wait(ms)), el cual se conectar´a con las variables de tiempo de cada Case. La variable de temporizado, propuesta, es de 4000ms para el Verde, 1000ms para ParpadeaA, 1000ms para ParpadeaB, 1000ms para ParpadeaC, 1000ms para ´ el ParpadeaD, 1000ms para el Ambar y 3000ms para el Rojo; repitiendo estos tiempos en los sem´aforos restantes. Creamos la constante de los casos, a˜ nadi´endola como una constante ´ de enumerar (Programming → Numeric → Enum Constant). Esta, deber´a de editarse con click secundario y agregar los casos de 1Verde, ´ 1ParpadeaA, 1ParpadeaB, 1ParpadeaC, 1ParpadeaD, 1Ambar y 1Rojo, ´ 2Verde, 2ParpadeaA, 2ParpadeaB, 2ParpadeaC, 2ParpadeaD, 2Ambar y 2Rojo; 3Verde, 3ParpadeaA, 3ParpadeaB, 3ParpadeaC, 3ParpadeaD, ´ 3Ambar y 3Rojo; 4Verde, 4ParpadeaA, 4ParpadeaB, 4ParpadeaC, 4Par´ padeaD, 4Ambar y 4Rojo. Los anteriores ser´an los casos para cada uno de las acciones del Sem´aforo. As´ı mismo, a˜ nadimos un registro de corrimiento(click secundario Add Register) al ciclo While Loop y conectamos otra copia de la constante Enum Constant del lado derecho del ciclo. Ahora,dentro del While Loop crearemos un arreglo ordenado(Programming → Array → Index Array) y conectaremos los Indicadores LEDS, a las salidas. Finalmente, el canal de Escritura Digital (values) se conectar´a a la entrada del Index Array. La l´ogica es que cada LED encender´a de acuerdo al tiempo asignado en cada caso y a la condici´on booleana dentro de cada caso. Adicionalmente Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

78

Figura 8.5: Pr´actica 4B. Esquem´atico. Temporizado de cuatro sem´aforos la variable tipo Enum, cambia el estado hacia el siguiente caso. Es decir,en el Caso Verde; estar´a como verdadero el PIN 2, 5, 8 y 13. As´ı como, falso el PIN 3, 4, 6, 7, 9, 10, 11 y 12, con un temporizado de 4 segundos antes de pasar al caso VerdeParpadeaA. Al finalizar obtendremos una interfaz semejante a la de la Fig. 8.7. As´ı mismo, la programaci´on se vera semejante a la de la Fig. 8.8.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

79

Figura 8.6: Pr´actica 4B. Protoboard. Temporizado de cuatro sem´aforos

Figura 8.7: Pr´actica 4B. Interfaz. Temporizado de cuatro sem´aforos

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

80

Figura 8.8: Pr´actica 4B. Programa. Temporizado de cuatro sem´aforos

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

Pr´ actica 5

9.1.

Control On/Off de Luminarias mediante MOC y TRIAC

9.1.1.

Objetivo

El prop´osito de esta pr´actica es la escritura en el Pin 2 del puerto DIGITAL para el encendido de una luminaria de AC y la creaci´on de la interfaz correspondiente con LabVIEW.

9.1.2.

Material

1 Computadora port´atil con LabVIEW y LINX instalados. 1 Protoboar 1 Arduino 2 Resistencias 330Ω 1/4 W 1 Resistencia 220kΩ 1/4 W 1 Resistencia 39kΩ 1/4 W 1 Capacitor Cer´amico 10nF 81

82 1 TRIAC BTA06-800 o BTA08-600 1 MOC 3011/3031

9.1.3.

Trabajo a realizar

Comprender el envi´o de se˜ nales digitales para activar cargas en AC. Se enviara una se˜ nal digital al MOC el cual activara la etapa de potencia del tiristor, con lo cual se activara la luminaria.

9.1.4.

Desarrollo

Conectar la tarjeta de desarrollo Arduino a la computadora personal. Cargar el firmware de LINX a Arduino. Armar el circuito en protoboard como en la Fig. 9.1 y 9.2. En el ´area A deber´a de conectarse el soquet en serie con la fase y en La conexi´on B el Neutro de la linea de 110V. Una vez armado el circuito; realizaremos la interfaz de Arduino. Para esto, Abrimos el programa de LabVIEW, creamos un nuevo VI. Creamos el bot´on de paro (Silver → Boolean → Stop Button). A˜ nadimos el modulo de entrada y el de salida de LINX(LINX→Peripherials→Entrada/Salida). Al modulo de entrada agregamos la constante del puerto y seleccionamos el puerto a ocupar (en nuestro caso el COM4). Creamos una estructura While Loop (Programming → Structures → While Loop) y agregaremos dentro un modulo de Lectura Digital (MakerHub → LINX → Peripherals → Digital → Read) de un canal. Unimos los cables de Error(marron) y Linx Resource (rosa) a todos los m´odulos de Linx. Agregaremos un bot´on (Silver → Boolean → Push Button(Silver)) y un indicador con un LED (Silver → Boolean → LED(Silver)). Conectamos este bot´on booleano al indicador y al Output Channel del Modulo de Escritura Digital. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

83

Figura 9.1: Pr´actica 5. Esquem´atico. Control On/Off de Luminarias mediante MOC y TRIAC Finalmente, agregaremos la constante del PIN 2 en el Do Channel del Modulo de Escritura Digital. Al finalizar obtendremos una interfaz semejante a la de la Fig. 9.3. As´ı mismo, la programaci´on se vera semejante a la de la Fig. 9.4.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

84

Figura 9.2: Pr´actica 5. Protoboard. Control On/Off de Luminarias mediante MOC y TRIAC

Figura 9.3: Pr´actica 5. Interfaz. Control On/Off de Luminarias mediante MOC y TRIAC

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

85

Figura 9.4: Pr´actica 5. Programa. Control On/Off de Luminarias mediante MOC y TRIAC

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

Pr´ actica 6

10.1.

Control de Motor DC

10.1.1.

Objetivo

El prop´osito de esta pr´actica es la aplicaci´on de la instrumentaci´on virtual con LABVIEW, para el control de la velocidad y direcci´on de giro de un motor de CD.

10.1.2.

Material

1 Computadora port´atil con LabVIEW y LINX instalados. 1 Protoboar 1 Arduino 4 Resistencias 1kΩ 1/4 W 4 Diodos 1N4001/1N4007 4 TIP 31 1 Potenciometro 100kΩ 1 LM7805 86

87 1 Bater´ıa 9V 1 Porta-Bater´ıa 9V 1 Motor DC 5V 40-100mA

10.1.3.

Trabajo a realizar

Aplicar la Instrumentaci´on virtual en LABVIEW para el control de la velocidad y sentido de giro de un motor de CD.

10.1.4.

Desarrollo

Mediante el uso de un simple puente ”H”se podr´a cambiar el sentido de giro del motor. As´ı mismo, si variamos la se˜ nal enviada a los PINs de control(3 y 5 son los PWM empleados en esta pr´actica), podremos variar el ciclo de trabajo y en consecuencia la velocidad del motor. Conectar la tarjeta de desarrollo Arduino a la computadora personal. Cargar el firmware de LINX a Arduino. Armar el circuito en protoboard como en la Fig. 10.1 y 10.2. Una vez armado el circuito; realizaremos la interfaz de Arduino. Para esto, Abrimos el programa de LabVIEW, creamos un nuevo VI. A˜ nadimos un ciclo While Loop (Programming → Structures → While Loop)y creamos el bot´on de paro (Silver → Boolean → Stop Button). A˜ nadimos el modulo de entrada y el de salida de LINX (MakerHub → LINX → Open/Close). Al modulo de entrada, agregamos la constante del puerto (Click Secundario → Crear → Constante) y seleccionamos el puerto a ocupar (en nuestro caso el COM4). As´ı mismo, agregamos un modulo de Lectura Anal´ogico (MakerHub → LINX → Peripherals → Analog → Read) de un canal. Agregamos dos Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

88 modulos de un canal de PWM (MakerHub → LINX → Peripherals → PWM → Duty Cycle)). Conectamos el Bus de Linx Resource y Error, a cada uno de los bloques de LINX. En cada PWM, Creamos una Constante (Programming → Numeric → Constant) para indicar el numero de pin al que se enviara la se˜ nal. Es decir, se agrega el PIN 5 y 6 como constante al PWM, el Canal anal´ogico ser´a el asignado en el PIN0. Creamos tres controles Booleanos (Silver → Boolean → Push Button(silver)), para seleccionar encendido, apagado y reversa. Creamos dos diales num´ericos (Silver → Nummeric → Dial(silver)) el primero, enviara el PWM de acuerdo a la selecci´on del usuario. El segundo se convertir´a en un display para visualizar el valor del potenciometro. Creamos una estructura de casos (Structures → Case Structure) dentro del While Loop. El interruptor booleano nombrado como on/off, se conectara a la entrada del ciclo Case. Dentro del Case Structure, crearemos en el caso True un segundo Case Structure y a este conectaremos el bot´on de reversa. Creamos una constante booleana y un inversor dentro de este segundo Case Structure Creamos tres Select (Programming → Numeric → Select) dentro de While Loop. Al primer Select estar´a conectado el bot´on booleano de Potenciometro, en el verdadero se conectar´a una divisi´on (Programming → Numeric → Div ) y en el falso estar´a el dial de PWM. A la Divisi´on, le conectaremos en la primera entrada la se˜ nal de voltaje del modulo de lectura anal´ogico; as´ı mismo, en la segunda entrada conectaremos una constante de valor 5. A continuaci´on, cambiamos un Dial a indicador y lo conectamos a la salida de la Divisi´on. Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

89 La salida del primer Select, la conectamos a las dos entradas verdaderas del segundo y tercer Select. Creamos una constante 0 para el Falso del segundo y tercer Select. La interrogaci´on del segundo select, se conecta al inversor del segundo Case Structure. A la interrogaci´on del tercer Select, va la constante booleana False del segundo ciclo Select. La salida del segundo select ir´a al Duty cicle (0-1) del PIN 5. As´ı como, la salida del segundo Select ir´a al Duty cicle (0-1) del PIN 3. En la evaluaci´on de False, del primer Case Structure; el interruptor on/off va conectado directo al segundo y tercer select como en la Fig. 10.5 . Dentro del segundo ciclo de Case, en la evaluaci´on True; creamos una constante booleana Falsa conectada al segundo Select; as´ı mismo, el signo de interrogacion de este Case Structure va conectado directo hacia el tercer select, como en la Fig. 10.6 . La l´ogica del programa es la siguiente: En caso que el control esta encendido; se pregunta si la reversa esta desactivada, si es as´ı se env´ıa un valor verdadero para que se active el PIN 5 y se desactive el PIN 3. En caso de estar activa la reversa, se env´ıan un valor para que se active el PIN 3 y se desactive el PIN 5. Si el potenciometro esta encendido, se env´ıa el valor de la lectura anal´ogica ajustada, hacia el puerto correspondiente. En caso que el potenciometro esta desactivado se env´ıa el PWM del primer Dial hacia el puerto correspondiente. Para variar la frecuencia, debido a que el voltaje empleado variara de 0 a 5 Volts, la salida ser´a dividida entre cinco para que pueda ser procesada como un valor del 1 al 0. Con esto se podr´a emplear directamente la proporci´on de PWM que ser´a enviada a los PINs 3 o 5. De esta manera, podremos variar el ciclo de trabajo en funci´on al valor de voltaje le´ıdo en el PIN Anal´ogico 0. Al finalizar obtendremos una interfaz semejante a la de la Fig. 10.3. As´ı mismo, la programaci´on se vera semejante a la de la Fig. 10.4.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

90

Figura 10.1: Pr´actica 6. Esquem´atico. Control de Motor DC

Figura 10.2: Pr´actica 6. Protoboard. Control de Motor DC

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

91

Figura 10.3: Pr´actica 6. Interfaz. Control de Motor DC

Figura 10.4: Pr´actica 6. Programa. Control de Motor DC

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

92

Figura 10.5: Pr´actica 6. Programa. Control de Motor DC. Case Select principal, selecci´on falsa (False).

Figura 10.6: Pr´actica 6. Programa. Control de Motor DC. Case Select secundario, selecci´on verdadera (True).

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

Pr´ actica 7

11.1.

Control del ´ angulo de posici´ on de un Servomotor

11.1.1.

Objetivo

El prop´osito de esta pr´actica es la escritura de PWM en el PIN 3 del puerto digital y la creaci´on de la interfaz correspondiente con LabVIEW. Lo anterior con la finalidad de controlar la posici´on de un servomotor.

11.1.2.

Material

1 Computadora port´atil con LabVIEW y LINX instalados. 1 Protoboar 1 Arduino 1 LM7805 1 Bater´ıa 9V 1 Porta-Bater´ıa 9V 1 Servomotor 5V 40-100mA 93

94

11.1.3.

Trabajo a realizar

Comprender como se env´ıan se˜ nales digitales hacia los puerto PWM del Arduino . Mediante el envi´o de se˜ nales digitales en el PIN 2 se controlara el a´ngulo de posici´on del servomotor. As´ı mismo, se dise˜ nara la interfaz en LabVIEW.

11.1.4.

Desarrollo

Conectar la tarjeta de desarrollo Arduino a la computadora personal. Cargar el firmware de LINX a Arduino. Armar el circuito en protoboard como en la Fig. 11.1 y 11.2. Una vez armado el circuito; realizaremos la interfaz de Arduino. Para esto, Abrimos el programa de LabVIEW, creamos un nuevo VI. A˜ nadimos un ciclo While Loop (Programming → Structures → While Loop)y creamos el boton de paro (Silver → Boolean → Stop Button). A˜ nadimos una compuerta Or (Programming → Boolean → Or) para enviar la se˜ nal de error o paro al While Loop y de ´esta forma detenerlo. A˜ nadimos el modulo de entrada y el de salida de LINX (MakerHub → LINX → Open/Close). As´ı mismo, agregamos un modulo de apertura, uno de Escritura y uno de cerrar en la seccion de ajuste de ancho de pulso de servo (MakerHub → LINX → Sensors → Motion → Servo → Open/ Write/ Close); cada modulo sera de un canal. Conectamos el Bus de Linx Resource y Error, a cada uno de los bloques de LINX. Los m´odulos estar´an conectados en serie como en la Fig. 11.4. Al modulo de entrada, agregamos la constante del puerto (Click Secundario → Crear → Constante) y seleccionamos el puerto a ocupar (en nuestro caso el COM4). As´ı mismo, en cada PWM, Creamos una Constante (Programming → Numeric → Constant) para indicar el n´ umero de Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

95 pin al que se enviara la se˜ nal. Es decir, se agrega el PIN 3 como Constante en los m´odulos de Apertura de servo, de Escritura de servo y de Cerrar de servo. Creamos un Dial num´erico (Silver → Nummeric → Dial(silver)) que enviara el valor deseado del ´angulo de posici´on. Para la asignaci´on del a´ngulo se hace una interpolaci´on con la funci´on de interpolaci´on polinomial (Mathematics → Interp & Extrap → Polinomial Interpolation.vi). En esta funci´on agregamos un Arreglo (Programming → Array → Index Array); el cu´al se ampliara cuando agreguemos la constante. Le agregamos una constante de entrada, expandi´endola hasta que sea de 2x2. En ella, escribimos los valores de 0 grados y 180 grados en la primera columna; as´ı como de 550 y 2500 en la segunda columna. A continuaci´on, creamos dos constantes y las conectamos al Index Array; la primera tendr´a un valor de 1 y la segunda un valor de 0. La funci´on de interpolaci´on Polinomial, realiza una interpolaci´on para encontrar el valor del a´ngulo x; en donde x1 y x2 , son los valores m´ınimos y m´aximos del PWM. As´ı como y1 y y2 son el valor m´ınimo y m´aximo de a´ngulo. De ´esta forma, y es el valor del ´angulo que puede tomar el servo en su recorrido. Por lo que, al emplear la ecuaci´on 11.1 obtenemos el PWM x correspondiente al ´angulo y seleccionado.  x=

x2 − x1 y2 − y1



 (y − y1 ) + (x1 )

(11.1)

Al finalizar obtendremos una interfaz semejante a la de la Fig. 11.3. As´ı mismo, la programaci´on se vera semejante a la de la Fig. 11.4.

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

96

Figura 11.1: Pr´actica 7. Esquem´atico. Control del ´angulo de posici´on de un Servomotor

Figura 11.2: Pr´actica 7. Protoboard. Control del a´ngulo de posici´on de un Servomotor

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

97

Figura 11.3: Pr´actica 7. Interfaz. Control del a´ngulo de posici´on de un Servomotor

Figura 11.4: Pr´actica 7. Programa. Control del a´ngulo de posici´on de un Servomotor

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

Contacto

www.cnadnoreste.edu.mx Av. Las Ciencias y Av. Nuevas Tecnolog´ıas S/N Fraccionamiento Marte R. G´omez, C.P. 87037 Ciudad Victoria,Tamaulipas, M´exico. [email protected]

98

Bibliograf´ıa

[Angalaeswari et al., 2016] Angalaeswari, S., Kumar, A., Kumar, D., and Bhadoriya, S. (2016). Speed control of permanent magnet (pm) dc motor using arduino and labview. In 2016 IEEE International Conference on Computational Intelligence and Computing Research (ICCIC), pages 1–6. IEEE. 19 [Areny, 2004] Areny, R. P. (2004). Sensores y acondicionadores de se˜ nal. Marcombo. 4, 7, 16 [Corona et al., 2014] Corona, L., Abarca, G., and Mares, J. (2014). Sensores y actuadores: aplicaciones con arduino. Mexico: Grupo Editorial Patria. 7, 8, 15 [Creus-Sol´e, 1997] Creus-Sol´e, A. (1997). Instrumentaci´on industrial. Alfaomera grupo editor, M´exico. 2, 4, 5, 6 [Floyd, 2008] Floyd, T. L. (2008). Dispositivos Electr´onicos. Parson Educci´on. 2, 3 [Fraden, 2010] Fraden, J. (2010). Handbook of Modern Sensors: Physics, Designs, and Applications. Springer. 3, 6, 8, 12, 14 [Kehtarnavaz and Kim, 2011] Kehtarnavaz, N. and Kim, N. (2011). Digital signal processing system-level design using LabVIEW. Elsevier. 16, 18 99

100 [Larsen, 2011] Larsen, R. W. (2011). LabVIEW for Engineers. Prentice Hall. 18 [Ponce-Cruz and Rami´ırez-Figueroa, 2010] Ponce-Cruz, P. and Rami´ırez-Figueroa, F. D. (2010). Intelligent Control Systems with LabVIEW. Springer. 18 [Singh et al., 2018] Singh, R., Gehlot, A., Singh, B., and Choudhury, S. (2018). Arduino-Based Embedded Systems. Interfacing, Simulation, and LabVIEW GUI. CRC Press Taylor & Francis Group. 19 [Sumathi and Surekha, 2007] Sumathi, S. and Surekha, P. (2007). LabVIEW based Advanced Instrumentation Systems. Springer. 17 [Torrente-Artero, 2013] Torrente-Artero, O. (2013).

Arduino Curso

Pr´ actico de Formaci´ on. Alfaomega Grupo Editor S.A. de C.V. 12 [Vizca´ıno and Sebasti´a, 2011] Vizca´ıno, J. R. L. and Sebasti´a, J. P. (2011). LabVIEW: Entorno gr´afico de programaci´on. Marcombo. 18, 33

Pr´acticas LabVIEW-Arduino-LINX

CNAD Noreste

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF