universidad de magallanes facultad de … · capítulo iii entorno labview 13 3.1 introducción 13...

155
UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRICIDAD SISTEMA DE MONITOREO Y GESTIÓN DE VARIABLES INDUSTRIALES UTILIZANDO dsPIC y LABVIEW HEBERT CRISTOBAL RUIZ SALDIVIA -2011-

Upload: truongcong

Post on 13-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERÍA

DEPARTAMENTO DE ELECTRICIDAD

SISTEMA DE MONITOREO Y GESTIÓN DE VARIABLES INDUSTRIALES UTILIZANDO dsPIC y LABVIEW

HEBERT CRISTOBAL RUIZ SALDIVIA

-2011-

Page 2: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERÍA

DEPARTAMENTO DE ELECTRICIDAD

SISTEMA DE MONITOREO Y GESTIÓN DE VARIABLES

INDUSTRIALES UTILIZANDO dsPIC y LABVIEW

“Trabajo de titulación presentado en conformidad a los requisitos para obtener el título de Ingeniero en Electricidad mención Electrónica Industrial”

PROFESOR GUIA: IVAN ANDRADE AGUERO

HEBERT CRISTOBAL RUIZ SALDIVIA

-2011-

Page 3: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

AGRADECIMIENTOS i

AGRADECIMIENTOS

Me gustaría primero que nada agradecer a mi familia, mis padres y mi

hermana por su incondicional apoyo en todo momento.

Al personal del Departamento de Electricidad, administrativos, encargados de

laboratorio y profesores por todas sus enseñanzas brindadas en estos años de

estudio y al profesor Iván Andrade Agüero por toda su paciencia y disposición a

lo largo de este trabajo de título.

A mis amigos y compañeros de la carrera Murdo Águila, Juan Pablo Cuitiño,

Ramón Pérez, Carlos Lecaros, Rodrigo Henriquez y Jorge Barra, porque todos

de alguna forma ayudaron en la conclusión de esta etapa de mi vida.

A mis amigos Sebastián Toledo, Felipe Castillo, Sergio Roa, Jose Gallardo,

Andrés Gallardo y Claudio Paradis por los grandes momentos vividos en esta

etapa universitaria y por estar conmigo en todo momento.

Page 4: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

ii

RESUMEN

El objetivo de este trabajo de título es crear un sistema de monitoreo gestión y

almacenamiento de datos obtenidos por sensores (4-20mA). Para esto se

utilizará un microcontrolador diseñado por la empresa MICROCHIP (dsPIC

30F6013A), además del software LABVIEW de la empresa National Instruments

El propósito del dsPIC es realizar el tratamiento y procesamiento de la señal

enviada por los sensores. Además el dsPIC será el encargado de transmitir los

datos adquiridos a través del puerto serial hacia un computador. En este último

el programa LABVIEW será el encargado de procesar los datos obtenidos y

además traducirlos a valores requeridos por el usuario, almacenándolos

también para su posterior análisis.

A grandes rasgos este trabajo se divide en dos partes. En la primera se

aborda el diseño del programa necesario para capturar los datos de los

sensores (todo esto dentro del dsPIC) y su posterior transmisión al puerto serial

hacia un computador.

En la tercera etapa se aborda el diseño del programa necesario para la

captura procesamiento y almacenamiento de los datos enviados por el dsPIC

mediante el uso del software LABVIEW. Con ésto una interfaz gráfica sencilla

con la que el usuario u operador puede interactuar de manera visual e instintiva

con los datos obtenidos.

Page 5: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

ÍNDICE iii

ÍNDICE

Capítulo I Introducción 1

1.1 Introducción General 1

1.2 Objetivo del trabajo de título 2

1.3 Estructuración del trabajo de título 2

Capítulo II Controlador Digital de Señales 4

2.1 Introducción 4

2.2 Microcontroladores 5

2.3 Microcontroladores y DSP 6

2.4 DSP y DSC 8

Capítulo III Entorno Labview 13

3.1 Introducción 13

3.2 Descripción Software Labview 14

3.3 Labview en Sistema Modelado 20

Capítulo IV Sistema Experimental 28

4.1 Introducción 28

4.2 Hardware Implementado 29

4.3 Modelación de Programa Implementado en dsPIC30F6013A 33

4.4 Modelación de Programa Implementado en Labview 37

Page 6: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

ÍNDICE iv

Capítulo V Pruebas y Aplicación Práctica 40

5.1 Introducción 40

5.2 Aplicación Gráfica para Propósitos Generales 41

5.3 Descripción General Sistema de Bombeo 47

5.4 Panel Frontal Específico Sistema de Bombeo 50

Capítulo VI Conclusiones 59

6.1 Conclusión General 59

Referencias Bibliográficas 61

Anexos Parte 1 CÓDIGOS DE PROGRAMAS 62

Anexos Parte 2 HARDWARE IMPLEMENTADO 90

Page 7: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

CAPÍTULO I

INTRODUCCIÓN

Page 8: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Primero Introducción 1

1. INTRODUCCIÓN

1.1 Introducción general.

Los sistemas de adquisición de datos se utilizan cada vez más en laboratorios,

industria y educación para la visualización de las variables físicas (presión,

nivel, temperatura y flujo por ejemplo). Muchos procesos industriales se

monitorean con tarjetas de adquisición de datos y una computadora, además de

graficadores y registradores.

Se denomina sistema de adquisición de datos al conjunto de elementos

empleados para medir y procesar una o varias señales análogas y/o digitales.

Las etapas de un sistema de adquisición y procesamiento de datos son:

Transductores y sensores.

Acondicionamiento de señal.

Módulo de adquisición de datos.

Acción a realizar con los datos obtenidos (gráficos, almacenado, control

etc.)

La implementación del trabajo de título se centra en el controlador digital de

señales (DSC) dsPIC30F6013A de la empresa MICROCHIP, el que trabajará en

conjunto con el software de la empresa National Instruments llamado Labview

en su versión Estudiantil.

Page 9: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Primero Introducción 2

1.2 Objetivo del trabajo de título.

El objetivo principal de este trabajo de título es construir un sistema

compatible con sensores 4-20mA. El sistema deberá estar preparado para

poder adecuarse y calibrarse cada vez que un nuevo sensor se acople a la

tarjeta, esto para ofrecer una gran versatilidad y por lo mismo una mayor

cantidad de aplicaciones posibles.

Además de ello es necesario que el sistema interactúe con el usuario final de

manera fácil e intuitiva, por lo que la interfaz gráfica deberá adecuarse a estos

requerimientos sin restar rendimiento al sistema.

1.3 Estructuración del trabajo de título.

El presente trabajo de título consta de seis capítulos, los que se describirán

brevemente a continuación:

En el capitulo segundo se explicará el funcionamiento del dispositivo físico

principal necesario para la implementación del sistema que, en este caso

corresponde en el controlador digital de señales (DSC), dsPIC30F6013A. Las

propiedades que posee.

El capítulo tercero describe el programa utilizado como interfaz gráfica. Se

explicarán las ventajas que posee y se mostrarán las funciones que se utilizaron

en el desarrollo de la aplicación práctica.

En el cuarto capítulo se hará una descripción del hardware necesario para

realizar la tarea requerida, se analizarán los componentes utilizados y se

explicaran sus respectivas tareas. Además se explicará la construcción de los

programas requeridos para el sistema realizado. Se mostrarán las rutinas más

importantes implementadas las cuales son la base para el correcto

funcionamiento del sistema realizado.

Page 10: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Primero Introducción 3

En el quinto capítulo se podrán ver los resultados experimentales del sistema

funcionando en conjunto. Se mostrarán las opciones disponibles desde el

punto de vista del usuario y además se presentarán los resultados obtenidos en

una aplicación práctica real.

En el sexto y último capítulo se presentarán las conclusiones generales de

este trabajo de título.

Page 11: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

CAPÍTULO II

CONTROLADOR DIGITAL DE SEÑALES

Page 12: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Segundo Controlador Digital de Señales 4

2. CONTROLADOR DIGITAL DE SEÑALES

2.1 Introducción

Este capítulo explicará la utilización de una clase específica de

microcontrolador y su utilización en el procesamiento de señales análogas. Se

hablará del concepto de Controlador Digital de Señales (DSC), sus aplicaciones

en el campo del procesamiento digital de señales. Con esto se justificará su

utilización en este trabajo de título. Para ello es necesario conocer las

principales características de los microcontroladores especializados en el área

del procesamiento de señales.

El papel que juega el dsPIC en el sistema final implementado es fundamental

puesto que es la unidad central del sistema, será la encargada del muestreo de

señales análogas y hacer los cálculos requeridos con ellas todo esto en un

tiempo muy reducido lo cual permitirá una correcta gestión de las variables

industriales medidas.

Page 13: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Segundo Controlador Digital de Señales 5

2.2 Microcontroladores

Los microcontroladores son computadores digitales integrados en un chip que

cuentan con un microprocesador o unidad de procesamiento central (CPU), una

memoria para almacenar el programa, una memoria para almacenar datos y

puertos de entrada salida.

Un microcontrolador es un solo circuito integrado que contiene todos los

elementos electrónicos que se utilizan para hacer funcionar un sistema basado

en un microprocesador, es decir contiene en un solo integrado la Unidad de

Procesos, la memoria Ram, memoria Rom, puertos de entrada, puertos de

salidas y otros periféricos. A diferencia de un microprocesador que necesita de

sus periféricos en forma externa para su correcta operación.

El funcionamiento de los microcontroladores está determinado por el programa

almacenado en su memoria. Este puede escribirse en distintos lenguajes de

programación. Además, la mayoría de los microcontroladores actuales pueden

reprogramarse repetidas veces.

Por las características mencionadas y su alta flexibilidad, los

microcontroladores son ampliamente utilizados como la unidad central de una

gran variedad de sistemas integrados que controlan máquinas, componentes de

sistemas complejos, como aplicaciones industriales de automatización y

robótica, domótica, equipos médicos, sistemas aeroespaciales, e incluso

dispositivos de la vida diaria como automóviles, hornos de microondas,

teléfonos y televisores.

Los microcontroladores son conocidos generalmente con el nombre de MCU

(Microcontroller Unit) y sus principales características se presentan a

continuación:

-Unidad de Procesamiento Central (CPU): Típicamente de 16 bits, pero también

las hay de 32 y hasta 64 bits con arquitectura Harvard, con memoria/bus de

datos separada de la memoria/bus de instrucciones de programa.

Page 14: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Segundo Controlador Digital de Señales 6

-Memoria de Programa: Es una memoria ROM (Read-Only Memory), EPROM

(Electrically Programable ROM), EEPROM (Electrically Erasable/Programable

ROM) o Flash que almacena el código del programa que típicamente puede ser

desde 1 KB a varios MB.

-Memoria de Datos: Es una memoria RAM (Random Access Memory) que

puede ser de 1, 2 4, 8, 16, 32 kilobytes.

-Generador del Reloj: Un cristal de cuarzo de frecuencias que genera una señal

oscilatoria de entre 1 a 40 MHz.

-Interfaz de Entrada/Salida: Puertos paralelos, seriales (UARTs, Universal

Asynchronous Receiver/Transmitter), I2C (Inter-Integrated Circuit), interfases de

periféricos Seriales (SPI), Red de Área de Controladores (CAN), USB (Universal

Serial Bus).

-Otras opciones: Conversores A/D (ADC), Moduladores por ancho de pulso

(PWM).

2.3 Microcontroladores y DSP.

Se denomina DSP (procesador digital de señales) a un circuito integrado que

contiene un procesador digital y un conjunto de recursos complementarios con

los cuales es capaz de manejar digitalmente las señales análogas que nos

rodean.

Los DSP pueden asemejarse a los microcontroladores tradicionales, pero

utilizando arquitecturas y recursos que optimizan los y algoritmos manejados

en el procesamiento digital de señales. Algunas de las características

principales de los DSP se presentan a continuación.

-Los DSP son generalmente RISC, esto quiere decir que poseen un reducido

juego de instrucciones que se ejecutan en un sólo ciclo.

Page 15: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Segundo Controlador Digital de Señales 7

-Utilizan arquitectura Harvard, esto quiere decir que poseen dos memorias

independientes. Una para los datos y la otra dedicada a contener las

instrucciones. Esto posibilita un acceso simultaneo a ambas, también cabe

destacar que la memoria de datos se divide en dos espacios independientes

que aportan el acceso paralelo (Figura 2.1).

-El repertorio de instrucciones contienen algunas específicas para resolver los

algoritmos habituales en el procesamiento de señales.

-Disponen de un conjunto muy amplio y veloz de interrupciones con niveles de

prioridad.

-El DSP integra numerosos recursos y periféricos que minimizan el tamaño y

simplifican el diseño del sistema.

-Poseen módulos para la optimización y control de la energía.

Figura 2.1 Arquitectura Harvard.

Los DSP son básicamente microcontroladores dotados de los recursos físicos

y lógicos necesarios para soportar las aplicaciones específicas del

procesamiento digital de señales.

Las instrucciones aritméticas complejas se ejecutan en varios ciclos en los

MCU, mientras que en los DSP solo precisan de uno. En los DSP siempre se

dispone de conversores A/D rápidos y precisos. Dado el carácter

marcadamente matemático de los DSP, estos están preparados para ser

programados por lenguajes de alto nivel como el C. Las velocidades y

rendimientos de los DSP son generalmente muy superiores a la gran mayoría

Page 16: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Segundo Controlador Digital de Señales 8

de los MCU. Otra de las diferencias claves entre los MCU y los DSP es que el

comportamiento del programa en un MCU (MICROCHIP) es claramente

secuencial y se espera que funcione tal y como uno lo especifique en el

programa. En los DSP en gran parte de sus aplicaciones su comportamiento

será directa consecuencia inmediata del flujo de datos que suministra la señal

muestreada y la ejecución es dependiente de los datos obtenidos en tiempo

real.

2.4 DSP Y DSC.

La empresa MICROCHIP se ha desempeñado principalmente en el campo de

los microcontroladores de 16bit. Estos modelos son conocidos popularmente

con el nombre de PIC. Debido al aumento de aplicaciones en las cuales es

necesario el procesamiento digital de señales Microchip ha decidido lanzarse al

mercado de los DSP con un modelo hibrido MCU/DSP, cuyo manejo es similar

al de los MCU pero que incluye las principales prestaciones de los DSP. Así

nace el controlador digital de señales (DSC), el cual reúne las características de

los microcontroladores de 16 bits junto con las de los DSP de gama baja.

Dada la similitud del DSC con los MCU en cuanto arquitectura y repertorio de

instrucciones, los usuarios de las familias de microcontroladores PIC no

encuentran dificultades para introducirse en el campo del procesamiento digital

de señales utilizando dsPIC.

Page 17: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Segundo Controlador Digital de Señales 9

Los dsPIC se pueden agrupar en dos grandes familias:

-dsPIC30F

-dsPIC33F

En este trabajo de título se utilizó un dsPIC de la primera familia, por lo que a

continuación se presentan las principales características de los dsPIC30F:

Recurso Rango de valores.

Memoria de programa FLASH 12Kb-144Kb

Memoria de datos RAM 512bytes-8Kb

Memoria de datos EEPROM 1Kb-4Kb

Pastillaje encapsulado 18-80 pines

Temporizador de 16 bit Hasta 5

Modulo de captura Hasta 8 entradas

Módulo comparador/PWM Hasta 8 salidas

Modulo PWM de control de motores De 6 a 8

Conversor A/D de 10 bits 500kbps, hasta 16 canales

Conversor A/D de 12 bits 100kps, hasta 16 canales

UART 1-2

(8-16 bits) 1-2

1 Módulo

QEI 1

Interfaz CODEC 1

CAN 1-2

Tabla 1 Características de dsPIC familia de los 30F

La tensión de alimentación admite un rango comprendido entre 2,5 y 5,5 VDC.

Se tolera una temperatura interna entre -40° y 85° C y una externa entre -40° y

125° C. El rendimiento alcanza los 30 MIPS cuando la tensión de alimentación

tiene un valor entre 4,5 y 5,5 VDC. En cuanto a la arquitectura de la CPU los

dsPIC30F se sustentan en un núcleo RISC con arquitectura Harvard mejorada.

Actuando como soporte central de información existe un banco de 16 registros

de 16 bits cada uno; se dispone de un bus de datos de 16 líneas y otro de

Page 18: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Segundo Controlador Digital de Señales 10

instrucciones de 24. Para potenciar la velocidad de las operaciones aritméticas

complejas existe un “Motor DSP” que contiene un multiplicador hardware rápido

de 17 X 17 bits, dos acumuladores de 40 bits y un robusto registro de

desplazamiento. La memoria de programa, tipo FLASH, puede alcanzar un

tamaño de 4 MB instrucciones de 24 bits cada una, aunque actualmente sólo

hay modelos con una capacidad máxima de 256 KB. La memoria de datos

SRAM puede alcanzar 32K posiciones de 16 bits, aunque en los modelos

actuales sólo se llega a la mitad.

Toda esta estructura admite operaciones MCU y operaciones DSP con un

repertorio de 84 instrucciones. Las secciones MCU y DSP cooperan en el

funcionamiento general y comparten el flujo de instrucciones de los DSC. Para

reducir el tiempo de ejecución de algunas instrucciones DSP la memoria de

datos SRAM se divide en dos espacios X e Y que pueden ser accedidos a la

vez. Otra característica importante en los dsPIC30F es la de admitir hasta 45

fuentes distintas de petición de interrupción con 7 niveles de prioridad, de las

cuales 5 son externas. Hay modelos de dsPIC30F que disponen de hasta 54

pines de E/S programables y con otras funciones multiplexadas con un

consumo de 25 mA cada una. Los dispositivos dsPIC33F como disponen de

más periféricos también admiten más fuentes de interrupción. Se puede

encontrar una gran variedad de periféricos en la familia dsPIC30F como

temporizadores, conversores AD, módulos de captura y comparación, módulos

PWM para el control de motores, módulos de comunicación PC, SPI, CAN,

UART, DCI, etc.

Según MICROCHIP los 19 modelos que contiene la familia dsPIC30F se

pueden separar en tres grupos dependiendo de su aplicación:

-dsPIC30F de propósito general.

-dsPIC30F para control de sensores.

-dsPIC30F para control de motores y sistemas de alimentación.

El modelo utilizado en este trabajo de título (dsPIC30F6013A) cabe en la

categoría de propósito general, en la aplicación específica de este trabajo de

título destaca la utilización de tres periféricos. A continuación se dará una breve

explicación de ellos (la configuración individual de éstos se detallaran en los

anexos parte 1).

Page 19: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Segundo Controlador Digital de Señales 11

Conversor Análogo Digital (ADC): El dsPIC permite hacer una rápida y

fiable conversión análoga/digital, para ello cuenta con un ADC de 12 bits de

precisión.

La conversión se realiza en tres etapas: muestreo de la señal, cuantificación

de la señal que consiste en llevar el valor análogo a un valor de

combinaciones y la cuantificación de la señal que consiste en agregarle los

ceros y unos a la señal convertida. El módulo ADC del dsPIC posee las

siguientes características.

-Tiempo de muestreo de 154ns.

-Conversión de aproximaciones sucesivas.

-Velocidad de conversión de hasta 500Ksps.

-Modo automático de exploración de canal.

-La tensión analógica de referencia puede ser seleccionada por software.

Módulo UART: Este módulo permite la comunicación Universal Serial

Asíncrona full dúplex o serial asíncrono con computadores, con interfases RS

232 y RS 485, entre sus principales características destacan:

-La transmisión de datos es de 8 o de 9 bits.

- Paridad impar, par o sin paridad.

- Uno o dos bits de parada.

-Tiene un generador de baudios con preescalador de 16 bits que se encarga de

dar la frecuencia de trabajo al modulo.

Módulo Temporizador: El dsPIC30F6013A cuenta con 5 temporizadores,

cada uno de 16 bits. Este módulo es utilizado para dar una base de tiempo con

la se generarán interrupciones asociadas.

En este trabajo de titulo el dsPIC se utiliza para el muestreo de señales, su

conversión análoga digital, cálculo de las variables medidas por los sensores y

por último en la comunicación con el software Labview.

Page 20: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Segundo Controlador Digital de Señales 12

Figura 2.2 Procesamiento realizado en dsPIC.

La comunicación con el software Labview se hace mediante envío y

recepción de datos utilizando el módulo UART disponible en el dsPIC. El rol que

cumple Labview en el sistema final implementado se explicará en el tercer

capítulo de este trabajo de título.

Page 21: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

CAPÍTULO III

ENTORNO LABVIEW

Page 22: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 13

3. Entorno Labview

3.1 Introducción

Para la interfaz gráfica se utilizó el software Labview en su versión estudiantil.

Esto pues permitirá una fácil interacción con el sistema desarrollado, un eficaz

tratamiento de datos enviados a través del dsPIC, además de brindar

estabilidad al sistema.

Labview es un entorno de programación destinado al desarrollo de

aplicaciones similar a los sistemas de desarrollo comerciales que utilizan el

lenguaje C o BASIC. Sin embargo se diferencia de dichos programas en un

importante aspecto: los citados lenguajes de programación se basan en líneas

de texto para crear el código fuente del programa, mientras que Labview

emplea programación gráfica o lenguaje G para crear programas basados en

diagramas de bloques, lo que facilita tanto su aprendizaje como la creación de

rutinas propias.

Page 23: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 14

3.2 Descripción Software Labview.

Labview es una herramienta de programación gráfica para aplicaciones que

involucren adquisición, control, análisis y presentación de datos. Las ventajas

que proporciona el empleo de Labview se resumen en las siguientes:

-Se reduce el tiempo de desarrollo de las aplicaciones al menos de 4 a 10

veces, ya que es muy intuitivo y fácil de aprender.

-Dota de gran flexibilidad al sistema, permitiendo cambios y actualizaciones

tanto del hardware como del software

-Da la posibilidad a los usuarios de crear soluciones completas y complejas.

- Con un único sistema de desarrollo se integran las funciones de adquisición,

análisis y presentación de datos.

-El sistema está dotado de un compilador gráfico para lograr la máxima

velocidad de ejecución posible.

-Tiene la posibilidad de incorporar aplicaciones escritas en otros lenguajes.

Labview posee extensas librerías de funciones y subrutinas. Además de las

funciones básicas de todo lenguaje de programación, incluye librerías

específicas para la adquisición de datos, control de instrumentación VXI, GPIB y

comunicación serie, análisis, presentación y almacenamiento de datos.

Labview también proporciona potentes herramientas que facilitan la

depuración de los programas.

Los programas desarrollados mediante Labview se denominan Instrumentos

Virtuales (VIs), porque su apariencia y funcionamiento imitan los de un

instrumento real. Sin embargo son análogos a las funciones creadas con los

lenguajes de programación convencionales. Los VIs tienen una parte interactiva

con el usuario y otra parte de código fuente, y aceptan parámetros procedentes

Page 24: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 15

de otros VIs. Todos los VIs tienen un panel frontal y un diagrama de bloques.

Las paletas contienen las opciones que se emplean para crear y modificar los

VIs. A continuación se procederá a realizar una breve descripción de estos

conceptos.

Panel Frontal: Es la interfaz gráfica que simula el panel de un instrumento real.

Permite la entrada y salida de datos, puede contener pulsadores, perillas,

botones, gráficos y en general controles e indicadores.

Los controles son objetos que sirven para ingresar datos al programa y

pueden ser manipulados por el usuario. Los controles son variables de

entradas.

Los indicadores sirven para presentar los resultados entregados por el

programa y no pueden ser manipulados por el usuario. Los indicadores son

variables de salida.

Figura 3.1 Panel frontal Labview operando en cierta aplicación.

Page 25: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 16

Diagrama de Bloques: El diagrama de bloques contiene el código fuente

gráfico del VI, posee funciones y estructuras que relacionan las entradas con

las salidas creadas en el panel frontal.

En un diagrama se distinguen: Terminales, que representan los controles e

indicadores del panel. Funciones y SubVIs, que realizan tareas específicas.

Estructuras y Cables que determinan el flujo de los datos en el programa. En

general, cualquiera de estas partes del diagrama de un VI se denomina NOD.

El diagrama de bloques de la figura 3.2 muestra el código fuente

correspondiente al panel de la figura 3.1

Figura 3.2 Diagrama de bloques de aplicación.

Paleta de herramientas: Contiene las herramientas necesarias para editar y

depurar los objetos tanto del panel frontal como del diagrama de bloques.

Figura 3.3 Paleta herramientas.

Page 26: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 17

Icono Herramienta Función

Operación

Asigna valores a los controles del panel frontal, se

encuentra disponible cuando se corre y edita la

aplicación.

Desplazamiento

Mueve todos los objetos dentro de la ventana activa.

Posición

Selecciona, mueve y redimensiona objetos. La herramienta

cambia el icono del puntero cuando pasa por encima de

objetos que pueden modificar su tamaño.

Etiquetado

Se utiliza para generar la estructura lógica de eventos

mediante la conexión de los terminales de cada objeto. Los

cables determinan el flujo de los datos.

Menú

desplegable

Permite obtener el menú de opciones de un objeto. Esta

misma función se puede realizar haciendo un clic derecho

del ratón sobre el objeto.

Punto de

quiebre

Detiene la ejecución del programa en el punto del diagrama

donde se ponga. Se utiliza con fines de depuración.

Punto de prueba

Se pone sobre algún cable de conexión para verificar de

forma temporal el valor que fluye a través de éste.

Capturar color Obtiene el color del objeto que se señale.

Colorear Cambia los colores de objetos y fondos.

Tabla 2 Íconos y sus Funciones en paleta de Herramientas

Page 27: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 18

Paleta de controles: Se utiliza únicamente en el panel frontal y contiene los

objetos necesarios para crear una interfase de entrada y salida de datos

(controles e indicadores).

Figura 3.4 Paleta de controles

Existen submenús correspondientes a toolkits que sólo aparecen cuando se

han instalado. Los toolkits son herramientas adicionales de software con fines

específicos y especializados que se suministran como productos por separado.

Cada submenú de la paleta contiene controles e indicadores respectivos de

una clase de objetos. En las siguientes figuras se ven algunos de los submenús

más importantes.

Page 28: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 19

Figura 3.5 Controles e indicadores numéricos y booleanos.

Paleta de funciones: Se usa únicamente en el diagrama de bloques y

contiene todos los objetos para crear y editar el código fuente .En la siguiente

figura se ven algunas de las funciones más utilizadas.

Figura 3.6 Paletas de funciones de cadenas, arreglos y numéricas

Page 29: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 20

3.3 Labview en Sistema Modelado

El software Labview en el sistema implementado estará encargado de

establecer comunicación con el dsPIC tanto para envío como para recepción de

datos. Una vez recibido la cadena de caracteres correspondiente Labview las

separará para su tratamiento individual ya sea de almacenamiento,

visualización e interacción con el usuario.

Figura 3.7 Papel que juega Labview en sistema implementado

Para establecer la comunicación con el dsPIC Labview nos brinda el driver

NI VISA, con el cual se podrá establecer comunicación serial con el dsPIC tanto

de recepción como de envío de datos. Las funciones utilizadas para este fin son

las siguientes:

Page 30: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 21

1. VISA Configurate Serial Port: Sirve para configurar el puerto serie con los

siguientes parámetros: velocidad, protocolo, paridad, bits de datos, habilitar

carácter de terminación. En VISA Resource Name se indica cuales son los

puertos disponibles para la transmisión.

Figura 3.8 Visa Configurate Serial Port

2. Visa Write: Bloque encargado de leer un número especifico de bytes desde

el buffer, suele utilizarse a continuación del bloque VISA Configurate Serial Port.

Figura 3.9 Visa Write

3. Visa Read: Cumple la función contraria al bloque anterior indicarle el

numero de bytes que debe leer desde el buffer. Para darle un valor a este

parámetro suele usarse la salida de la propiedad VISA Bytes at Serial Port.

Figura 3.10 Visa Read

Page 31: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 22

4. Visa Close: Cierra una sesión VISA. Se puede cerrar automáticamente en

el menú Tools.

Figura 3.11 Visa Close.

5. VISA Bytes at Serial Port: Es una propiedad del driver VISA, que dá el

número de bytes que están en el buffer esperando para ser leídos. Aparte de

esta propiedad hay otras que pueden cambiar la configuración del puerto.

Figura 3.12 Bytes at Serial Port.

Una vez establecida la comunicación entre el dsPIC y Labview, es necesario

interpretar y separar en datos individuales la cadena recibida para el caso de

recepción de datos en Labview se utilizaron las siguientes funciones:

6. Search/Split String Function y Match True/False String Function: Con

estas funciones se procede a separar los identificadores de la cadena recibida.

Esto para ser tratados en procedimientos posteriores de manera individual.

Figura 3.13 Funciones Search/Split String y Match True/False String.

Page 32: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 23

7. Fract/Exp String To Number Function: Función encargada de convertir la

cadena de caracteres que ha sido separada con la función anterior a un número

real. Con esta función se puede definir la cantidad de decimales de precisión

que se requieran.

Figura 3.14 Función Fract/Exp String To Number

8. In Range and Coerce Function: Esta función será la encargada de ver si el

número convertido anteriormente está en el rango que se desea. Se utilizará

para establecer indicadores de alarma cuando el número no se encuentre en el

rango adecuado.

Figura 3.15 Función In Range and Coerce

9. Set Dynamic Data Attributes: Este bloque se utiliza para poner nombre a

los datos anteriormente separados y analizados. Este nombre se visualizará

posteriormente en la planilla Excel donde se almacenen los datos. También se

establecerá la hora y fecha en las que fueron tomadas estas mediciones.

Figura 3.16 Bloque Set Dynamic Data Attributes

Page 33: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 24

10. Merge Signals Function: Una vez recibido los datos y mostrados en

pantalla se unen utilizando esta función para ser tratados nuevamente como

una cadena y ser almacenados en Excel.

Figura 3.17 Función Merge Signals.

11. Write To Measurement File: Funcion encargada de almacenar los datos

enviados por la función anteriormente descrita. Los datos serán almacenados

con su respectivo nombre y en columnas diferentes además indicando la fecha

y hora en que fueron adquiridos.

Figura 3.18 Write To Measurement File

Para el caso de envío de datos hacia el dsPIC, hay que tener en cuenta que

se enviaran doce cadenas diferentes, cada una con su respectivo identificador

primario y carácter de finalización que en este caso es igual para todos. Se

establecen estos caracteres para una correcta identificación por parte del dsPIC

de las variables enviadas desde Labview, para ello se utilizaron las siguientes

funciones.

Page 34: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 25

12. Format Into String Function: Esta función será encargada de concatenar

el número que desee enviar el usuario para la calibración del canal con el

identificador primario.

Figura 3.19 Función Format Into String

13. Build Array Function: Función encargada de construir un arreglo con las

doce cadenas nombradas en la función anterior, se utilizara para que después

en el paso posterior a este, el usuario pueda seleccionar la cadena a enviar.

Figura 3.20 Función Build Array

14. Index Array Function: Función en la cual llega el arreglo construido

anteriormente. A esta función se le añade un menú tipo ring para seleccionar la

cadena desde el panel frontal.

Figura 3.21 Index Array

Page 35: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 26

15. Ring Menú: Control que se encuentra en el panel frontal, en el que se

seleccionará la cadena a enviar.

Figura 3.22 Menú tipo Ring

16. Concatenate Strings: Función encargada de concatenar la cadena

seleccionada en el paso anterior con el carácter de terminación. Con la

utilización de todas estas funciones se asegurará que la cadena de caracteres

enviada por Labview sea válida y por lo tanto utilizable por el dsPIC.

Figura 3.23 Función Concatenate Strings.

Además de las funciones utilizadas en lectura y escritura en el puerto serial se

ocuparon otras de propósito general.

17. Feedback Node: Corresponden a los ciclos de iteración del sistema. En

este caso se utilizaron los ciclos “While” y “Case”.

Figura 3.24 Ciclos While y Case.

Page 36: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Tercero Entorno Labview 27

18. Shift Register: Se utiliza para comparación entre los valores en cada

iteración de una variable requerida.

Figura 3.25 Shift Register.

19. Wait (ms) y Elapsed Time: Establecen bases de tiempo con las que se

controlan diversas rutinas dentro del programa principal.

Figura 3.26 Funciones Wait (ms) y Elapsed Time

Page 37: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

.

CAPÍTULO IV

SISTEMA EXPERIMENTAL

Page 38: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Cuarto Sistema Experimental 28

4. Sistema Experimental.

4.1 Introducción

En el presente capítulo se explicará la implementación del hardware necesario

para realizar el sistema requerido basándose especialmente en el

procesamiento de la señal de entrada en la tarjeta dsPIC.

Los datasheet correspondientes junto con el modelo esquemático de la tarjeta

dsPIC se mostrarán en los anexos parte 2.

Además se explicará la implementación del software necesario para realizar la

aplicación. Para ello se utilizará el método de diagrama de flujo, esto porque

permite una visualización gráfica de las rutinas más importantes que luego

fueron traspasadas tanto a lenguaje C (para programar el dsPIC) como a

lenguaje G (utilizado en Labview).

Se mostrarán dos diagramas de flujo: uno para la programación del dsPIC y el

otro para la programación gráfica mediante Labview. Esto para que no haya

confusión en las variables a utilizar, pero no hay que olvidar que estos

programas funcionan conjuntamente.

Los diagramas de flujo mostrados a continuación son meramente a modo de

explicación de las rutinas necesarias para desarrollar la aplicación, además se

explicarán solamente los procesos más importantes de ambos programas. Esto

para hacer más comprensible los respectivos diagramas.

Los códigos reales de ambos programas podrán ser vistos en los Anexos

Parte 1.

Page 39: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Cuarto Sistema Experimental 29

4.2 Hardware implementado

La unidad física principal del sistema corresponde a la tarjeta dsPIC, en ella se

alojarán los conectores necesarios para interactuar tanto con los sensores

como con el computador, además será donde se encuentre físicamente la

unidad central del sistema dsPIC30F6013A.

La tarjeta dsPIC fue diseñada y montada por el profesor guía de este trabajo

de título Don Iván Andrade Agüero.

Figura 4.1 Tarjeta dsPIC

Principales características:

-Seis entradas 4-20mA, para lo cual es necesario el integrado RCV420(Anexos

parte 2).

-Cuatro salidas 4-20mA, para lo cual es necesario el integrado AD694 (Anexos

parte 2).

-Diez entradas 0-10V.

-Cuatro salidas 0-5V.

-Dos puertos RS-232, utilizados para comunicación serial, para lo que es

necesario un MAX232 (Anexos parte 2).

Page 40: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Cuarto Sistema Experimental 30

-Dos puertos RS-485, para comunicación serial y otros, para lo que es

necesario el integrado SN75176BD (Anexos parte 2).

-Pines habilitados para conexión directa con LCD Lumex S02004 (Anexos parte

2).

-Banco de memorias externas 24LC512 (Anexos parte 2).

En este trabajo de título se utilizaron las entradas 4-20mA, en la cuales se

ingresarán corrientes que serán enviadas por los sensores, cada una por su

respectivo canal. Para una correcta recepción por parte del dsPIC la señal debe

seguir los siguientes pasos.

Figura 4.2 Tratamiento de señal de instrumentación.

Page 41: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Cuarto Sistema Experimental 31

Conversión a tensión legible por ADC: Se utiliza el integrado RCV420 para

hacer la conversión corriente-tensión necesaria. En su configuración básica el

RCV420 hace la conversión 4-20mA a 0-5V. Se cambió esta configuración para

aumentar el rango de entrada a 0-20mA, esto para hacer posible la detección

del cero real (circuito abierto) e implementar rutinas para este caso.

Figura 4.3 Configuración 0-20mA de entrada para integrado RCV420

Filtrado de señal: Para ello se utilizó el integrado MCP6231 (anexos parte 2),

debido a su baja tensión de alimentación. Corresponde a un amplificador

operacional, se empleó como filtro de segundo orden de Butterworth con

frecuencia de corte de 100 Hz y ganancia unitaria.

Figura 4.4 Filtro Pasa Bajos Implementado

Page 42: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Cuarto Sistema Experimental 32

Conversión A/D: Luego del filtrado de la señal, ésta llegara en forma de

tensión al conversor análogo digital encargado de digitalizarla. Para ello realiza

muestras utilizando el sistema de captura y mantenimiento (Sample and Hold).

Cada cierto tiempo toma una muestra de la señal ingresada y mantiene este

valor en un condensador (circuito interno del dsPIC). Este proceso convierte la

señal ingresada en un número que en este caso variará de 0 a 4096 (ya que el

conversor análogo digital es de 12 bits) número que corresponde

proporcionalmente a la tensión ingresada al ADC.

Comunicación Serial: Para intercambio de datos entre el computador y el

dsPIC se estableció comunicación serial entre ambos. Para esto es necesario

utilizar el integrado MAX232 .

Figura 4.5 Comunicación serial dsPIC-PC

El dsPIC posee dos módulos UART disponibles, los que permiten dos

comunicaciones simultáneas e independientes full-duplex. En este trabajo de

título se utilizó solamente la UART1 tal y como se ve en la figura 4.5, la UART2

quedará disponible para comunicaciones futuras.

Page 43: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Cuarto Sistema Experimental 33

4.3 Modelación de programa implementado en dsPIC30F6013A

Para la elaboración del programa implementado el en dsPIC se utilizó el

compilador proporcionado por la empresa MICROCHIP para estos fines.

El programa se realizó en torno al programa MPLAB, que en conjunto con el

compilador C30 permite realizar el programa en un leguaje de alto nivel como

el “C”. Para cargar el programa diseñado se utiliza el programador ICD 2(In-

Circuit Debugger), el cual es un dispositivo que permite programar y depurar

una gran cantidad de dispositivos fabricados por MICROCHIP. Su función

principal utilizándolo como programador es tomar el código ensamblado y

cargarlo en el dispositivo que se desee programar.

Figura 4.6 Programador ICD 2

Page 44: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Cuarto Sistema Experimental 34

A continuación se explicara de forma general la modelación del programa en

el dsPIC, utilizando para ello el diagrama de flujo.

A grandes rasgos el programa se dividirá en cuatro partes fundamentales

como se ve en la siguiente figura.

Figura 4.7 Diagrama general Programa dsPIC

Page 45: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Cuarto Sistema Experimental 35

Adquisición de datos: Este proceso será el encargado de recibir los datos

necesarios para hacer los cálculos de los parámetros leídos. Estos datos serán

adquiridos por el puerto ADC del dsPIC, y mediante Labview. Los datos

adquiridos por el puerto ADC corresponden a las corrientes ingresadas a la

tarjeta dsPIC. Los datos adquiridos a través de Labview corresponden a los

parámetros de calibración de los sensores y serán ingresados a través del

computador.

Almacenamiento en memoria: Proceso encargado de almacenar los datos

obtenidos a través de Labview. Para que la calibración quede almacenada y no

sea necesario cada vez que se inicia el sistema volver a enviar los datos de los

sensores.

Cálculo de los parámetros: Proceso que realizará todos los cálculos

necesarios para obtener valores reales de los parámetros leídos. Será el

encargado de traducir los valores obtenidos mediante el ADC a corrientes y en

conjunto con los datos obtenidos a través de Labview obtener el valor real de la

medición.

Envío de datos: Una vez calculados los parámetros serán enviados mediante

puerto serial, de una forma que posibilite la correcta comunicación entre

Labview y el dsPIC.

Con lo antes señalado el diagrama de flujo se puede visualizar en la figura 4.3.

Page 46: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Cuarto Sistema Experimental 36

Figura 4.8 Diagrama flujo Programa dsPIC

Page 47: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Cuarto Sistema Experimental 37

4.3 Modelación de programa implementado en Labview.

Para la modelación del programa en Labview es necesario conocer las tareas

que dicho programa debe realizar, estas tareas se pueden visualizar en la

siguiente figura.

Figura 4.9 Diagrama general programa en Labview

Page 48: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Cuarto Sistema Experimental 38

Envío de datos al dsPIC: Proceso encargado de enviar los valores con los

que serán calibrados los sensores. Estos valores los elegirá el usuario y con

ellos el dsPIC hará el cálculo para obtener los valores reales de los parámetros

medidos por los sensores.

Recepción de datos del dsPIC: Una vez el dsPIC haya recibido los datos

enviados por Labview junto con los valores obtenidos por los respectivos

puertos ADC, hará el cálculo de los valores medidos por los sensores y los

enviará al Labview nuevamente. Luego esta trama de caracteres será

interpretada y separada por Labview para su tratamiento posterior.

Visualización de los valores reales en pantalla: Luego de la interpretación y

separación de los caracteres obtenidos mediante puerto serial, el programa

Labview mostrará y/o graficará los valores reales que están midiendo los

sensores.

Almacenado de datos: Este proceso le permite elegir al usuario el tiempo de

exportación a Excel, con esto se ofrece la capacidad de almacenamiento de

datos incluyendo fecha y hora de cuando se obtuvieron para un posterior

análisis.

Con esto el diagrama de flujo del programa realizado en Labview se puede

ver en la figura 4.10.

Page 49: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Cuarto Sistema Experimental 39

Figura 4.10 Diagrama flujo programa implementado en Labview.

Page 50: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

CAPÍTULO V

PRUEBAS Y APLICACIÓN PRÁCTICA

Page 51: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 40

5. Pruebas y Aplicación Práctica.

5.1 Introducción

En este capítulo se detallará el funcionamiento de la aplicación gráfica

realizada. Se explicarán las posibilidades que permite el programa realizado en

Labview, y se mostrarán los resultados obtenidos en aplicaciones

experimentales y prácticas

La aplicación gráfica realizada tiene la capacidad de poder adaptar su

funcionamiento a las necesidades que el usuario presente. Esto porque permite

la interacción con el dsPIC para ajustes según el sensor que se acople a la

tarjeta dsPIC. Además de ello los indicadores se pueden cambiar para una

mejor para que su aspecto sea el acorde a la variable medida.

Junto con poder visualizar el estado y valor medido por los sensores en el

software Labview, se ofrece la alternativa de ver esto mismo en una pantalla

LCD la cual mostrará los mismos valores que en Labview, además de los

respectivos indicadores de estado.

Para la implementación práctica del sistema se diseñó un panel frontal

específico para la aplicación. A modo de prueba se eligió el sistema de bombeo

que se encuentra en el Laboratorio de Electricidad “Juan Friedli Thomi”. Este

sistema de bombeo cuenta con tres sensores 4-20mA, encargados de hacer

mediciones de presión, nivel y temperatura. Estos sensores fueron conectados

a la tarjeta junto con su respectiva alimentación para así completar el lazo de

corriente y realizar la medición correspondiente.

Page 52: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 41

5.2 Aplicación gráfica para propósitos generales

El software desarrollado en Labview permite al usuario la interacción en

tiempo real con el sistema realizado para ello a continuación se describirán las

posibilidades existentes en la aplicación grafica implementada.

Figura 5.1 Aspecto general aplicación grafica.

En la figura anterior se ve una captura que muestra el funcionamiento en una

aplicación experimental. Como se puede ver se tiene un canal con ingreso de

corriente. Este canal fue configurado para que su indicador fuera una gráfica en

tiempo real del valor ingresado pero, como se ve en la figura 5.1, el sistema

permite que los indicadores sean cambiados por el usuario a voluntad.

Page 53: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 42

Figura 5.2 Captura Canal 1 funcionando.

En la figura 5.2 se muestra una aproximación al modo de funcionamiento del

Canal 1. La explicación de éste se extrapolará al resto de los canales puesto

que funcionan de similar manera. En la figura anterior se pueden visualizar una

serie de indicadores y controles que se explicarán a continuación.

Canal 1: Corresponde a un indicador numérico en el cual se visualizará el

valor del parámetro leído. Es importante señalar que solamente cambiará

cuando haya valores correctamente ingresados, en caso contrario indicará cero.

Status: Indicador de caracteres. Podrá tener dos estados”Ok” y “Falla”. Éstos

estados cambiaran dependiendo si se están ingresando valores válidos al canal

uno del sistema. Por ejemplo si no hay sensor conectado en este canal este

indicador cambiara a “Falla”, y como se puede ver en la figura para valores

validos muestra el mensaje “Ok”.

Page 54: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 43

Menú tipo “Ring”: En la figura 5.3 se visualiza con el nombre “Gráfica” y con

ello el indicador seleccionado será una gráfica, pero puede ser cambiado por

cinco valores diferentes con ello el usuario podrá elegir el indicador que le

parezca más adecuado para sus necesidades.

Figura 5.3 Menú Ring desplegado

Figura 5.4 Variedad de indicadores desplegables

Es importante decir que las escalas de los indicadores de Temperatura,

Presión. Nivel y Flujo son ajustables por el usuario al momento que corre el

programa situándose con el cursor sobre el valor que desea editar. La escala

del gráfico se ajustará automáticamente.

Máximo Canal 1 y Mínimo Canal 1: Controles numéricos en los que el

usuario deberá indicar los valores máximo y mínimo del sensor conectado en el

canal 1 de la tarjeta. Por ejemplo, tiene un sensor conectado de rango 0ºC a

50ºC entonces deberá cambiar el control numérico (Máximo Canal 1) a 50, tras

ello deberá seleccionar este mismo parámetro para enviar este valor al dsPIC y

tras ello hacer click en el botón “Calibrar”. Estos indicadores están configurados

para tener los valores 100 y 0 respectivamente por defecto, el usuario los podrá

cambiar a voluntad posteriormente.

Page 55: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 44

Figura 5.5 Menú desplegable para seleccionar parámetro a calibrar

El sistema implementado posee además la capacidad de exportar los datos

obtenidos a una planilla Excel separados por columnas cada canal

correspondiente. Para ello se establece el control mediante las opciones que

muestra la siguiente figura.

Figura 5.6 Configuración para Exportación a Excel

Seg Exportación: Control numérico en el que el usuario establecerá cada

cuanto tiempo (en segundos) desea que se realice la exportación.

Seg Transcurridos: Indicador numérico en el que se muestran los segundos

que han pasado desde la ultima exportación. Este indicador se reiniciará cada

vez que se realice una nueva exportación. El dibujo inferior de la figura

parpadeará cada vez que haya una exportación. Los datos se exportarán en la

dirección mostrada en la figura 5.6.

Page 56: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 45

Además el sistema cuenta con un botón para detener el sistema y un menú

tipo Ring en el cual el usuario seleccionará la puerta serial disponible en su

computador para establecer la comunicación con el dsPIC.

Figura 5.7 Menú puerta serial y botón de detención.

En la aplicación realizada una vez detenido el programa se pueden visualizar

los datos exportados en la dirección antes descrita. Para la interacción entre

Labview y Excel se utilizó el complemento “tdm_excel_add-in_2010”,

proporcionado por National Instrument y es necesario para realizar esta tarea.

Además posee la facultad de exportar a archivos “.txt” (block de notas), pero se

eligió Excel por la facilidad de manipulación de columnas y filas que este último

ofrece. En la siguiente figura se puede ver una captura de la tabla obtenida al

hacer la exportación.

Figura 5.8 Captura tabla Excel obtenida tras exportación.

Page 57: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 46

La figura 5.8 muestra un ejemplo de las tablas obtenidas en Excel tras la

exportación hecha por Labview. Hay que señalar que para este caso los datos

fueron enviados cada cinco segundos y solo en el canal 1 de la tarjeta dsPIC

había ingreso de corriente, por lo que es el único que ofrece valores validos

para exportar, los canales dos y tres estaban sin conexión pero calibrados y los

canales cuatro cinco y seis estaban sin calibración y sin conexión por ello se

visualizan valores nulos.

Además de la posibilidad de ver los datos obtenidos a través del software

Labview, el sistema implementado posee un LCD marca LUMEX S02004 D en

el que también se podrán ir visualizando en tiempo real los valores de las

variables medidas. La pantalla se irá actualizando cada segundo, y cada vez

que se actualice se podrán mensajes como el de la figura 5.9.

Figura 5.9 Captura mensaje LCD.

Tal y como se ve en la figura anterior el LCD ofrece una alternativa de

visualización de los parámetros. Para el caso de la figura 5.9 sólo se tuvo el

canal 1 de la tarjeta dsPIC con ingreso de corriente, es por ello que se visualiza

el estado “Ok”. En los canales restantes no hubo corriente ingresada y por lo

tanto se visualiza el estado “Falla”.

Page 58: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 47

5.3 Descripción general sistema de bombeo

El sistema de bombeo consta de dos estanques por donde circulará el agua.

Ésta es transportada por una bomba hacia el tanque superior, además consta

de una válvula para vaciar el contenido del tanque superior hacia el inferior

mediante gravedad.

Al encender la bomba el agua del tanque inferior es transportada hacia el

superior, con ello cambiará la lectura del sensor de nivel instalado en el tanque

inferior, además aumentará la presión del sensor instalado. El cambio del valor

de temperatura se registra con un sensor tipo PT-100 y su respectivo

transmisor.

Figura 5.10 Sistema de bombeo

En la Figura 5.11 se puede ver una imagen del transmisor de temperatura

utilizado en la medición de este parámetro. Corresponde al modelo 3144 de la

marca Rosemount. Está calibrado para registrar valores comprendidos entre -

10ºC y 150ºC, con una corriente de salida entre 4 y 20mA para el mínimo y

Page 59: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 48

máximo respectivamente. Su alimentación está en el rango de 12 y 42.4 VDC.

Se utilizó 24VDC.

Figura 5.11 Transmisor de temperatura.

Para la medición de nivel se utilizó un transductor de nivel de la empresa

Rosemount modelo 3051 de 60 ( ), de 4-20mA. Para convertir la

medición presión en nivel se utiliza la siguiente relación.

Donde P es la presión, es la densidad del liquido a medir y h corresponde a

la altura, como “ρ” y “g” corresponden a variables conocidas y “P” es la variable

medida se despeja “h” que corresponderá a la altura del liquido medido. El

sensor y transmisor están calibrados para medir alturas que están en el rango

de 0 a 40 cm para 4 y 20mA respectivamente.

Figura 5.12 Transmisor Rosemount modelo 3051

Page 60: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 49

Para la medición de presión se utilizó un transductor marca Industrie

Messtechnik modelo 3249. Para mediciones de presión en el rango de 0 a 4

bares, con salida 4-20mA respectivamente, además el sistema de bombeo

cuenta con un manómetro con fondo de escala de 25 que se utilizará

para la verificación de resultados.

Figura 5.13 Transductor de presión.

Utilizando los tres transmisores descritos el circuito quedaría como se ve en la

Figura 5.14, donde se utilizan tres de los seis canales disponibles en la tarjeta

dsPIC.

Figura 5.14 Conexión sistema de Bombeo tarjeta dsPIC.

Page 61: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 50

5.4 Panel frontal especifico para sistema de bombeo.

Los tres sensores disponibles en el sistema de bombeo fueron conectados a

las entradas de corriente disponibles en la tarjeta dsPIC, junto con los valores

entregados por los transmisores y la calibración necesaria hecha a través del

software Labview obtendremos mediciones precisas de las variables reales

medidas por los sensores

Figura 5.15 Sistema de Bombeo, en sistema implementado

Page 62: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 51

Para la aplicación en el sistema de bombeo se diseñó un panel frontal que se

adapte a esta necesidad. Para las pruebas realizadas en el sistema de bombeo

se utilizaron los canales uno, dos y tres para mediciones temperatura, nivel y

presión respectivamente, además se añadieron una serie de indicadores y

controles que se pueden ver en la Figura 5.16.

Figura 5.16 Panel frontal para sistema de bombeo

El funcionamiento de este nuevo panel frontal es similar al mostrado

anteriormente, además se incluyeron una serie de indicadores de estado para

los sensores utilizados en esta aplicación. También se añadieron opciones para

controles auxiliares con lo que se ofrece la posibilidad de utilizar o no los tres

canales restantes disponibles en la tarjeta. Para utilizar estos tres canales

restantes se implementó un control del tipo booleano con el que el usuario

puede seleccionar o no el despliegue de indicadores para los canales restantes

Page 63: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 52

En la Figura 5.17 se puede ver el nuevo panel frontal totalmente desplegado.

Cabe destacar que en las pruebas realizadas estos canales no fueron

conectados ni calibrados ya que no se disponían de más sensores 4-20mA.

Figura 5.17 Panel frontal sistema de bombeo totalmente desplegado

Los tres canales adicionales desplegados ofrecen la posibilidad de cambiar los

indicadores dependiendo de la necesidad tal y como sucede en el panel frontal

de propósitos generales.

Page 64: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 53

En la figura 5.18 se muestra la exportación obtenida en una prueba realizada

con el sistema de bombeo conectado a la tarjeta dsPIC.

Figura 5.18 Captura obtenida tras prueba en sistema de bombeo.

Los canales cuatro cinco y seis no fueron utilizados en esta prueba por lo que

se visualizan nulos en esta captura. La prueba consistió en vaciar el contenido

del tanque superior de agua hacia el inferior. Una vez vacío el tanque superior

se procedió a encender la bomba para llevar el agua de regreso al tanque

superior y como se ve, produce un aumento en la presión medida por el

transductor. La temperatura es prácticamente inherente a estos cambios y se

mantiene en un valor relativamente constante. Los valores obtenidos fueron

verificados con el indicador que posee el transmisor de temperatura, la escala

al costado del tanque inferior y el manómetro de presión instalado y con ello se

pudo comprobar que la obtención de los parámetros medidos fue realizada

satisfactoriamente.

Page 65: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capítulo Quinto Pruebas y Aplicación Práctica 54

En la figura 5.19 se muestra una grafica de los datos de la captura vista en la

figura 5.18, en la gráfica se visualiza el aumento de presión al encender la

bomba. Se multiplicaron los valores de presión por diez para así facilitar la

visualización de sus valores.

Figura 5.19 Gráfica valores obtenidos por sistema implementado

Page 66: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

CAPÍTULO VI

CONCLUSIONES

Page 67: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capitulo Sexto Conclusiones 55

6. Conclusión General

La correcta obtención de las variables físicas sensadas en un proceso es de

vital importancia para el ambiente industrial, puesto que permite una correcta

manipulación de dichos procesos, establecer parámetros de seguridad y la

posibilidad de almacenamiento en el tiempo para su posterior análisis

En general las posibilidades de aplicaciones utilizando un microcontrolador

como unidad central del sistema están dadas por las necesidades del usuario.

Para el caso presentado en este trabajo de título la utilización de un dsPIC

como unidad central de un sistema de monitoreo y gestión de variables

industriales es muy satisfactoria y brinda una gran cantidad de opciones en

aplicaciones futuras.

Durante el tiempo invertido en el desarrollo de este trabajo de título se logró

adquirir valiosos conocimientos en el ámbito de controladores digitales de

señales y sus numerosos campos de aplicación no sólo en la industria sino que

en la vida diaria.

La interfaz gráfica realizada en el software Labview se hizo con el fin de

establecer una comunicación amigable entre un hipotético operador del sistema

con el proceso sensado. Esto conllevó a conocer una de las múltiples

aplicaciones del software Labview en el ámbito de la ingeniería eléctrica.

La comunicación establecida entre el dsPIC y Labview mediante puerto serie

fue realizada con éxito y estabilidad en el tiempo, lo que hace que el sistema

implementado sea confiable y de rápida actualización.

Las características de la tesis realizada tanto en la utilización del dsPIC como

Labview permiten que en el futuro sean utilizados más de los recursos

disponibles en ambos casos para necesidades más diversas y complejas.

Page 68: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Capitulo Sexto Conclusiones 56

El principal aprendizaje que se obtuvo realizando este trabajo de título fue el

conocimiento adquirido de programación en dos lenguajes de alto nivel como lo

son, lenguaje G (Labview) y lenguaje C (dsPIC), a pesar de la gran dificultad

que se presentó al principio del desarrollo de este trabajo de título se logró

adquirir invaluable conocimiento en ambos casos que a su vez se pretende ir

mejorando en el futuro.

A pesar de que los códigos implementados en ambos casos son bastante

largos y de mediana complejidad se hicieron con el fin de poder ser modificados

y optimizados para así añadir múltiples aplicaciones futuras. Esto porque los

recursos disponibles tanto en la tarjeta dsPIC, la comunicación con el software

Labview y la aplicación gráfica realizada en este último permite que este

sistema utilizado en conjunto ofrezca un control además del monitoreo en una

gran variedad de procesos industriales.

Page 69: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Referencias Bibliográficas 57

[1] dsPIC Family Reference Manual. Documento MICROCHIP.

[2] dsPIC30F6011A/6012A/6013A/6014A .Datasheet MICROCHIP.

[3] dsPIC Language Tools Libraries. Documento MICROCHIP.

[4] Historia, Manejo y Aplicaciones de los Controladores Digitales de

Señales dsPIC, Cintya Carolina Pavón, Oscar Alejandro Cruz.

[5] dsPIC Diseño Práctico de Aplicaciones, José María Angulo, Aritza

Etxebarria Ruiz, Ignacio Angulo Martínez, Ivan Trueda Parra.

[6] Introducción a Labview Curso de Seis-Horas. Documento NATIONAL

INSTRUMENTS.

[7] Labview, Entorno Gráfico de Programación, José Rafael Lajara Vizcaíno,

José Pelegrí Sebastiá,

[8] Control y Supervisión de Motores Comandados desde un MCC. Tesis

Cristian Monroy Arteaga

Page 70: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

ANEXOS PARTE 1:

CÓDIGOS DE PROGRAMAS

Page 71: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 57

Anexos Parte 1

Descripción de periféricos y registros asociados utilizados

Para un correcto funcionamiento del dsPIC se deben configurar mediante

software tanto los periféricos y sus registros asociados como la asignación de

pines con la que contaremos en nuestro sistema. En nuestro caso utilizaremos

una serie de módulos disponibles en el dsPIC, los cuales explicaremos a

continuación.

Todos los puertos del dsPIC tienen asociados directamente tres registros de

control: TRIS, PORT y LAT.

Registros TRIS: Con este registro de control configuramos los pines de los

puertos si son entradas o salidas. Por defecto cada vez que hay un reset en el

DSPIC este configura al puerto como entrada.

Registros PORT: En este registro se encuentra el valor actual de entrada o

salida del DSPIC.

Registro LAT: Con los registros LAT escribimos o leemos desde el registro

cerrojo del DSPIC y no desde los pines físicos del mismo.

Conversor Análogo Digital (ADC): El dsPIC nos permite hacer una rápida y

fiable conversión análoga/digital, para ello cuenta con un ADC de 12 bits de

precisión.

La conversión se realiza en tres etapas: muestreo de la señal, cuantificación

de la señal que consiste en llevar el valor análogo a un valor de

combinaciones y la cuantificación de la señal que consiste en agregarle los

ceros y unos a la señal convertida, el modulo ADC del dsPIC posee las

siguientes características.

-Tiempo de muestreo de 154ns.

-Conversión de aproximaciones sucesivas.

-Velocidad de conversión de hasta 500Ksps.

-Modo automático de exploración de canal.

-La tensión analógica de referencia puede ser seleccionada por software.

Page 72: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 58

Para la configuración del módulo ADC debemos configurar a seis registros de

control y de estado: ADCON1, ADCON2, ADCON3, ADCHS, ADPCFG,

ADCSSL.

ADCON1: Sirve para controlar el funcionamiento del conversor, el

funcionamiento en modo IDLE (desocupado), formato de salida del conversor,

para indicar el inicio y secuencia de la conversión. En la siguiente figura

veremos los bits encargados para realizar lo antes señalado.

Configuración registro ADCON1.

ADCON2: Sirve para seleccionar la tensión de referencia positiva o negativa

del ADC, además nos indica que canales están siendo seleccionados en la

conversión, para configurar el buffer de salida de conversión.

Configuración registro ADCON2.

Page 73: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 59

ADCON3: Para seleccionar el tiempo de conversión TAD, el tiempo de

muestreo, para seleccionar la fuente del reloj de conversión y las treinta dos

posibilidades del tiempo del reloj de conversión.

Configuración registro ADCON3.

ADCHS: Es el encargado de seleccionar las entradas que van ha ser

conectados a los amplificadores de muestreo y retención, además sirve para

seleccionar a que entrada positiva o negativa de los amplificadores conectamos

las entradas y esto lo hacemos gracias a un MUX A y MUX B y los bits 15,..,8

configuran al MUXB y los bits 7,…,0 configuran al MUX A.

Configuración registro ADCHS.

ADPCFG: Este registro me indica cuales son los pines del dsPIC que

trabajaran como I/O digital, si colocamos un `1´ será para que sean entradas

digitales, si las queremos análogas debemos colocar un `0´ en este registro.

Page 74: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 60

Configuración registro ADPCFG.

ADCSSL: Con este registro podemos seleccionar el orden en que estas

entradas serán seleccionadas, al igual que el registro anterior utiliza todos sus

bits para realizar esta función.

Configuración registro ADCSSL.

Modulo UART: Este módulo permite la comunicación Universal Serial

Asíncrona full dúplex o serial asíncrono con ordenadores, con interfaces RS 232

y RS 485, entre las principales características son:

-La transmisión de datos es de 8 o de 9 bits.

- Trabajar con paridad impar, par o sin paridad.

-Uno o dos bits de parada.

-Tiene un generador de baudios con preescalador de 16 bits que se encarga de

dar la frecuencia de trabajo al modulo.

-Los buffers de transmisión y recepción son de máximo cuatro caracteres.

Page 75: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 61

Para el correcto funcionamiento del modulo UART debemos configurar

algunos registros para el bloque generador, transmisor y receptor.

UxSTA: Este registro produce una interrupción cuando enviamos un bit para el

registro de desplazamiento TSR, podemos habilitar o deshabilitar la trasmisión,

bits de error para saber si hay error en la transmisión o recepción.

Configuración registro UxSTA

UxBRG: Registro encargado de dar el valor del Baudrate a utilizar.

Configuración registro UxBRG

UxMODE: Registro encargado de dar modo a la UART.

Configuración registro UxMODE.

Page 76: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 62

UxSTA: Registro de estado de la UART, encargado de configurar transmisión

y recepción.

Configuración registro UxSTA.

Modulo Temporizador: El dsPIC30F6013A cuenta con 5 temporizadores,

cada uno de 16 bits, para controlar el comportamiento de los temporizadores

cada uno cuenta con tres registros asociados de 16 bits cada uno, los que

señalare a continuación.

TMRx: Registro encargado de guardar el valor que establece el tiempo a

controlar.

PRx: Registro de periodo asociado al temporizador.

TxCON: Registro de control.

Configuración registros temporizador

Los temporizadores pueden solicitar interrupción al producirse su

desbordamiento, que se regulan con los siguientes registros.

TxIE: Registro que contiene los bits de permiso para las diversas

interrupciones de los temporizadores.

TxIF: Sus bits actúan como señalizadores del desbordamiento de los

temporizadores.

TxIP: Son tres bits dedicados a cada temporizador que establecen el nivel de

prioridad de la interrupción correspondiente.

Page 77: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 63

Código de programa dsPIC30f6013A

//Programa realizado para funcionamiento dsPIC proyecto de titulo //Realizado por Hebert Ruiz e Ivan Andrade //Apadtado para trabajar con Labview v2009 //Utiliza entradas de corriente disponibles en tarjeta dsPIC //Comunicacion serial utilizando UART1 para transmision y recepcion #include <p30f6013A.h> #include <stdlib.h> #include <stdio.h> #include <reset.h> #include <string.h> #include <uart.h> #include <math.h> #include "eeprom.h" #include "reset.h" #include "lcd.h" //declaracion de fusibles _FOSC(CSW_FSCM_OFF & XT_PLL8); //con XTAL de 7.3728Mhz PLLx8 se tienen Fclock=58.9824MHz ==> 14.7456MIPS _FWDT(WDT_OFF); _FBORPOR(PBOR_OFF & BORV_20 & PWRT_16 & MCLR_EN); _FGS(CODE_PROT_OFF); #define FCY 14745600 // 16MIPS (nseg) #define BaudRated 57600 // Velocidad de transferencia #define EEPROM_0 0xF800 // 2k de la 7FF800 a la 7FFFFE //DECLARACION DE VARIABLES GLOBALES DEL PROGRAMA float ADCvalue2=0; float ADCvalue3=0; float ADCvalue4=0; float ADCvalue5=0; float ADCvalue0=0; float ADCvalue1=0; unsigned int valor0[5]; unsigned int valor1[5]; unsigned int valor2[5]; unsigned int valor3[5]; unsigned int valor4[5]; unsigned int valor5[5]; int i=1; int cont=0; int cont2=0; int cont_valve=0; int espera_valvula=0; volatile unsigned char rtc_lcd_update; unsigned char DISPLAY=0; unsigned char contador_display=0; unsigned char limpia_display=1; char ADC_1[5]; char ADC_2[5]; char ADC_3[5]; char ADC_4[5]; char ADC_5[5]; char ADC_6[5]; float adc_volt0; float adc_volt1; float adc_volt2; float adc_volt3; float adc_volt4; float adc_volt5; unsigned char buffer_uart[32]; unsigned char capture_uart[32]; static int buf_ptr; static char got_char; char *prueba;

Page 78: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 64

unsigned char prueba2[32]; unsigned char identificador[32]; float enviar1; float enviar2; float enviar3; float enviar4; float enviar5; float enviar6; float enviar1_lcd; float enviar2_lcd; float enviar3_lcd; float enviar4_lcd; float enviar5_lcd; float enviar6_lcd; //Declaracion funciones void lectura (void); void lcd_putc(const char *s); void lcd_gotoxy(char x, char y); void lcd_send_byte(char address, char n); void init_adc(void); void init_uart1(void); void __attribute__((__interrupt__,no_auto_psv)) _T3Interrupt(void); void __attribute__((__interrupt__,no_auto_psv)) _T2Interrupt(void); void __attribute__((__interrupt__,no_auto_psv)) _T1Interrupt(void); void __attribute__((__interrupt__,no_auto_psv)) _U1RXInterrupt(void); void init_ports(void); void init_timer1(); void init_timer2(void); void init_timer3(void); char alarma_enviar1[10]; char alarma1f[]="Falla"; char alarma1ok[]="Ok"; char alarma_enviar2[10]; char alarma2f[]="Falla"; char alarma2ok[]="Ok"; char alarma_enviar3[10]; char alarma3f[]="Falla"; char alarma3ok[]="Ok"; char alarma_enviar4[10]; char alarma4f[]="Falla"; char alarma4ok[]="Ok"; char alarma_enviar5[10]; char alarma5f[]="Falla"; char alarma5ok[]="Ok"; char alarma_enviar6[10]; char alarma6f[]="Falla"; char alarma6ok[]="Ok";

Page 79: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 65

//Macros para ajuste de sensores: #define Lmbyteptr(var32) ((unsigned char*)(&var32)) #define LMbyteptr(var32) ((unsigned char*)(&var32)+1) #define Hmbyteptr(var32) ((unsigned char*)(&var32)+2) #define HMbyteptr(var32) ((unsigned char*)(&var32)+3) //desarma el float #define getLmbyte(var32) ((unsigned char)(*Lmbyteptr(var32))) // #define getLMbyte(var32) ((unsigned char)(*LMbyteptr(var32))) // #define getHmbyte(var32) ((unsigned char)(*Hmbyteptr(var32))) // #define getHMbyte(var32) ((unsigned char)(*HMbyteptr(var32))) // //arma float #define setLmbyte(var32,var8) {(unsigned char)(*Lmbyteptr(var32)=var8);} // #define setLMbyte(var32,var8) {(unsigned char)(*LMbyteptr(var32)=var8);} // #define setHmbyte(var32,var8) {(unsigned char)(*Hmbyteptr(var32)=var8);} // #define setHMbyte(var32,var8) {(unsigned char)(*HMbyteptr(var32)=var8);} // //Declaracion variables y funciones para ajuste de sensores float labview1,labview2,labview3,labview4,labview5,labview6; float m0=0; float m1=0; float m2=0; float m3=0; float m4=0; float m5=0; float b0=0; float b1=0; float b2=0; float b3=0; float b4=0; float b5=0; float adc_bar; float adc_temp1; float adc_fl; float adc_temp2; float adc_temp3; float adc_temp4; float def; float var1,var2;var3;var4;var5;var6;var7;var8;var9;var10;var11;var12; void cargar_parametros(void); void guardar_m0(void); void guardar_b0(void); void guardar_m1(void); void guardar_b1(void); void guardar_m2(void); void guardar_b2(void); void guardar_m3(void); void guardar_b3(void); void guardar_m4(void); void guardar_b4(void); void guardar_m5(void); void guardar_b5(void); char dummy1, dummy2, dummy3, dummy4;

Page 80: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 66

void __attribute__((__interrupt__,no_auto_psv)) _T1Interrupt(void) { IFS0bits.T1IF=0; // borra la bandera de interrupcion por Timer2 if(cont_valve == 1){ //rutina de tiempo de demora de la valvula espera_valvula+=1; } rtc_lcd_update = 1; cont++; return; } void __attribute__((__interrupt__,no_auto_psv)) _T2Interrupt(void) { PORTGbits.RG13=1; IFS0bits.T2IF=0; // borra la bandera de interrupcion por Timer2 ClrWdt();

Page 81: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 67

//CANALES CON ENTRADA DE CORRIENTE SE HARAN LOS ESCALAMIENTOS Y CALCULOS //PERTINENTES //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ADCHSbits.CH0SA = 0;//selecciona el canal0 ADCON1bits.DONE=0; ADCON1bits.SAMP = 1; // start sampling then after while (!ADCON1bits.DONE); // conversion finalizada? ADCvalue0 = (float)ADCBUF0; // yes then get ADC value valor0[i] = ADCBUF0; // yes then get ADC value adc_volt0=((4.93*ADCvalue0)/4095); adc_temp4=(((adc_volt0*125.14)/4.93)-25.14); labview6=((adc_volt0*0.02)/4.93); //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ADCHSbits.CH0SA = 1; //selecciona el canal1 ADCON1bits.DONE=0;

ADCON1bits.SAMP = 1; //start sampling while (!ADCON1bits.DONE); // conversion finalizada? ADCvalue1 = (float)ADCBUF0; // yes then get ADC value valor1[i] = ADCBUF0; // yes then get ADC value adc_volt1=((4.93*ADCvalue1)/4095); adc_temp3=(((adc_volt1*125.14)/4.93)-25.14); labview5=((adc_volt1*0.02)/4.93); //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ADCHSbits.CH0SA = 2; //selecciona el canal 2 ADCON1bits.DONE=0; ADCON1bits.SAMP = 1; // start sampling while (!ADCON1bits.DONE); // conversion finalizada? ADCvalue2 = (float)ADCBUF0; // yes then get ADC value valor2[i] = ADCBUF0; // yes then get ADC value adc_volt2=((4.93*ADCvalue2)/4095); adc_temp2=(((adc_volt2*75.09)/4.93)-25.034); labview4=((adc_volt2*0.02)/4.93); //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ADCHSbits.CH0SA = 3; //selecciona el canal 3 ADCON1bits.DONE=0; ADCON1bits.SAMP = 1; // start sampling while (!ADCON1bits.DONE); // conversion finalizada? ADCvalue3 = (float)ADCBUF0; // yes then get ADC value valor3[i] = ADCBUF0; // yes then get ADC value adc_volt3=((4.93*ADCvalue3)/4095); adc_fl=(((adc_volt3*125.14)/4.93)-25.14); labview3=((adc_volt3*0.02)/4.93); //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ADCHSbits.CH0SA = 4; //selecciona el canal4 ADCON1bits.DONE=0; ADCON1bits.SAMP = 1; // start sampling while (!ADCON1bits.DONE); // conversion finalizada? ADCvalue4 = (float)ADCBUF0; // yes then get ADC value valor4[i] = ADCBUF0; // yes then get ADC value adc_volt4=((4.93*ADCvalue4)/4095); adc_temp1=(((adc_volt4*125.14)/4.93)-25.14); labview2=((adc_volt4*0.02)/4.93); //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ADCHSbits.CH0SA = 5; //selecciona el canal5 ADCON1bits.DONE=0; ADCON1bits.SAMP = 1; // start sampling while (!ADCON1bits.DONE); // conversion finalizada? ADCvalue5 = (float)ADCBUF0; // yes then get ADC value valor5[i] = ADCBUF0; // yes then get ADC value adc_volt5=((4.93*ADCvalue5)/4095); adc_bar=(((adc_volt5*31.28)/4.93)-6.28); labview1=((adc_volt5*0.02)/4.93);

Page 82: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 68

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //Datos Para enviar a labview y lcd // Calculos hechos con datos enviados desde labview y adquiridos por ADC enviar1=(((m0-b0)*1.25*labview1)/0.02)+(((m0-b0)*1.25-m0)*-1); enviar2=(((m1-b1)*1.25*labview2)/0.02)+(((m1-b1)*1.25-m1)*-1); enviar3=(((m2-b2)*1.25*labview3)/0.02)+(((m2-b2)*1.25-m2)*-1); enviar4=(((m3-b3)*1.25*labview4)/0.02)+(((m3-b3)*1.25-m3)*-1); enviar5=(((m4-b4)*1.25*labview5)/0.02)+(((m4-b4)*1.25-m4)*-1); enviar6=(((m5-b5)*1.25*labview6)/0.02)+(((m5-b5)*1.25-m5)*-1); // Rutinas alarmas lcd enviar1_lcd=enviar1;if(enviar1<b0){enviar1_lcd=0;} enviar2_lcd=enviar2;if(enviar2<b1){enviar2_lcd=0;} enviar3_lcd=enviar3;if(enviar3<b2){enviar3_lcd=0;} enviar4_lcd=enviar4;if(enviar4<b3){enviar4_lcd=0;} enviar5_lcd=enviar5;if(enviar5<b4){enviar5_lcd=0;} enviar6_lcd=enviar6;if(enviar6<b5){enviar6_lcd=0;} if(enviar1<b0){strcpy (alarma_enviar1,alarma1f);} if(enviar1>b0){strcpy (alarma_enviar1,alarma1ok);} if(enviar2<b1){strcpy (alarma_enviar2,alarma2f);} if(enviar2>b1){strcpy (alarma_enviar2,alarma2ok);} if(enviar3<b2){strcpy (alarma_enviar3,alarma3f);} if(enviar3>b2){strcpy (alarma_enviar3,alarma3ok);} if(enviar4<b3){strcpy (alarma_enviar4,alarma4f);} if(enviar4>b3){strcpy (alarma_enviar4,alarma4ok);} if(enviar5<b4){strcpy (alarma_enviar5,alarma5f);} if(enviar5>b4){strcpy (alarma_enviar5,alarma5ok);} if(enviar6<b5){strcpy (alarma_enviar6,alarma6f);} if(enviar6>b5){strcpy (alarma_enviar6,alarma6ok);} PORTGbits.RG13=0; return; } void __attribute__((__interrupt__,no_auto_psv)) _T3Interrupt(void) { PORTGbits.RG13=1; IFS0bits.T3IF=0; ClrWdt(); if(contador_display==2){ contador_display=0; DISPLAY++; limpia_display=1; } contador_display++; if(DISPLAY==4){ DISPLAY=0; } PORTGbits.RG13=0; return; }

Page 83: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 69

// Rutina interrupcion por recepcion de caracteres desde labview void __attribute__((__interrupt__,no_auto_psv)) _U1RXInterrupt(void) { PORTGbits.RG12=1; IFS0bits.U1RXIF = 0; //borramos flag de interrupcion if (DataRdyUART1()) // Verifica si hay datos para leer { buffer_uart[buf_ptr] = ReadUART1(); // Guarda en buffer if (buffer_uart[buf_ptr]== 'p') // Caracter 'p' es recibido?? { buffer_uart[buf_ptr] = '\0'; // Reemplaza por caracter nulo got_char=1; } if (buffer_uart[buf_ptr]== '\r') // Retorno de carro es recibido?? { buffer_uart[buf_ptr] = '\0'; // Reemplaza por caracter nulo got_char=1; } // Verifica si es desbordado el buffer de recepcion if (buf_ptr==31) { buffer_uart[31] = '\0'; got_char=1; } buf_ptr++; } if(got_char) // Si el buffer esta listo ingresa a la rutina { buf_ptr=0; got_char=0; capture_uart[0]='\0'; // Limpia buffer prueba=buffer_uart+3; strcpy (prueba2,prueba); strncpy (capture_uart,buffer_uart,3); strcpy (identificador,capture_uart); // Dependiendo de la trama de caracteres recibidas por labview son almacenadas en diferentes variables if(strcmp(identificador,"a1=")==0){var1=atof(prueba2);m0=var1;guardar_m0();} if(strcmp(identificador,"b1=")==0){var1=atof(prueba2);b0=var1;guardar_b0();} if(strcmp(identificador,"a2=")==0){var1=atof(prueba2);m1=var1;guardar_m1();} if(strcmp(identificador,"b2=")==0){var1=atof(prueba2);b1=var1;guardar_b1();} if(strcmp(identificador,"a3=")==0){var1=atof(prueba2);m2=var1;guardar_m2();} if(strcmp(identificador,"b3=")==0){var1=atof(prueba2);b2=var1;guardar_b2();} if(strcmp(identificador,"a4=")==0){var1=atof(prueba2);m3=var1;guardar_m3();} if(strcmp(identificador,"b4=")==0){var1=atof(prueba2);b3=var1;guardar_b3();} if(strcmp(identificador,"a5=")==0){var1=atof(prueba2);m4=var1;guardar_m4();} if(strcmp(identificador,"b5=")==0){var1=atof(prueba2);b4=var1;guardar_b4();} if(strcmp(identificador,"a6=")==0){var1=atof(prueba2);m5=var1;guardar_m5();} if(strcmp(identificador,"b6=")==0){var1=atof(prueba2);b5=var1;guardar_b5();} buffer_uart[0]='\0'; // Limpia buffer de recepcion para estar listo para la proxima recepcion } PORTGbits.RG12=0; return; }

Page 84: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 70

int main (void) { cargar_parametros(); lcd_init(); init_ports(); init_adc(); init_timer1(); init_timer2(); init_timer3(); init_uart1(); lcd_putc("\f"); while(1){ if(DISPLAY==0){ if(limpia_display==1){lcd_putc("\f");limpia_display=0;} lcd_gotoxy(1,1); lcd_putc("Canales"); lcd_gotoxy(15,1); lcd_putc("Estado"); lcd_gotoxy(1,2); lcd_putc("Canal1="); sprintf(ADC_1,"%1.2f",enviar1_lcd); //Convierte flotante en string lcd_gotoxy(8,2); lcd_putc(ADC_1); //envia valor del canal al LCD lcd_gotoxy(15,2); lcd_putc(alarma_enviar1); lcd_gotoxy(1,3); lcd_putc("Canal2="); sprintf(ADC_2,"%1.2f",enviar2_lcd); //Convierte flotante en string lcd_gotoxy(8,3); lcd_putc(ADC_2); //envia valor del canal al LCD lcd_gotoxy(15,3); lcd_putc(alarma_enviar2); lcd_gotoxy(1,4); lcd_putc("Canal3="); sprintf(ADC_3,"%1.2f",enviar3_lcd); //Convierte flotante en string lcd_gotoxy(8,4); lcd_putc(ADC_3); //envia valor del canal al LCD lcd_gotoxy(15,4); lcd_putc(alarma_enviar3); } if(DISPLAY==1){ if(limpia_display==1){lcd_putc("\f");limpia_display=0;} lcd_gotoxy(1,1); lcd_gotoxy(1,1); lcd_putc("Canales"); lcd_gotoxy(15,1); lcd_putc("Estado"); PORTGbits.RG2=0; lcd_gotoxy(1,2); lcd_putc("Canal4="); sprintf(ADC_4,"%1.2f",enviar4_lcd); //Convierte flotante en string lcd_gotoxy(8,2); lcd_putc(ADC_4); //envia valor del canal al LCD lcd_gotoxy(15,2); lcd_putc(alarma_enviar4); lcd_gotoxy(1,3);

Page 85: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 71

lcd_putc("Canal5="); sprintf(ADC_5,"%1.2f",enviar5_lcd); //Convierte flotante en string lcd_gotoxy(8,3); lcd_putc(ADC_5); //envia valor del canal al LCD lcd_gotoxy(15,3); lcd_putc(alarma_enviar5); lcd_gotoxy(1,4); lcd_putc("Canal6="); sprintf(ADC_6,"%1.2f",enviar6_lcd); //Convierte flotante en string lcd_gotoxy(8,4); lcd_putc(ADC_6); //envia valor del canal al LCD lcd_gotoxy(15,4); lcd_putc(alarma_enviar6); } if(DISPLAY==2){ if(limpia_display==1){lcd_putc("\f");limpia_display=0;} lcd_gotoxy(1,1); lcd_putc(" Departamento"); lcd_gotoxy(1,2); lcd_putc(" de"); lcd_gotoxy(1,3); lcd_putc(" Electricidad"); lcd_gotoxy(1,4); lcd_putc("***** UMAG *****"); } if(rtc_lcd_update == 1){ // la cadena de caracteres es enviada con "/" entre medio para que labview sea //capaz de ir verificando uno a uno su correcta recepcion // El salto de linea agregado al final sirve para verificar es enviada completamente hacia labview printf("%1.2f/%1.2f/%1.2f/%1.2f/%1.2f/%1.2f\n",enviar1,enviar2,enviar3,enviar4,enviar5,enviar6); rtc_lcd_update = 0; } } //fin while(1) WDTSWDisable; }//fin main

Page 86: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 72

//configuracion del modulo A/D de 12bits (4096) para muestreo a aprox 200ksps void init_adc(void){ ADPCFG=0x0000; //configura todas como entradas analogas de RB0 a RB15 ADCON1=0x04E0 ADCON2=0x0000; //0400 Scan inputs 0000 No Scan ADCON3=0x1F01; //31TAD para conversion (TADmin 334nseg), ADCSSL=0x0000; //muetreo secuancial OFF ADCON1bits.ADON = 1; //ADC ON return; } void init_uart1(void) //funcion para inicializar la UART1 para comunicacion RS232 { U1BRG =FCY/16/BaudRated-1; //Configurar BaudRate a 9600 UXBRG=((Fcy/(16*BaudRated))-1) U1MODE = 0x8000; // Activar UART U1STA = 0x0400; //Activar transmisión y recepcion IFS0bits.U1RXIF = 0; // borramos flag interrupcion IPC2bits.U1RXIP = 4; // establecmos prioridad de la interrupcion IEC0bits.U1RXIE = 1; //interrupcion recepcion activada 1, desactivada 0 return; } void init_timer1() //TIMER1 configurado para reloj exterior de tiempo real de 1 segundo { T1CON = 0x0000; /* se asegura que el Timer1 esta en reset state */ TMR1=0; PR1 =32760; //set Timer 1 period register */ IFS0bits.T1IF = 0; //Borra bandera de interrupcion del Timer1 IPC0bits.T1IP = 7; //set Timer1 interrupt priority level to 7 T1CONbits.TCS = 1; //selecciona el external timer clock */ IEC0bits.T1IE = 1; //Habilita interrupcion por Timer1 /* disable interrupts for unlock sequence below */ //SET_AND_SAVE_CPU_IPL(current_cpu_ipl, 7); char a, b, c, *p; a = 2;b = 0x46;c = 0x57;p = (char *)&OSCCON; /* Habilita aqui el oscilador de 32KHz low byte unlock sequence and enable LP Oscillator */ asm volatile ("mov.b %1,[%0] \n" "mov.b %2,[%0] \n" "mov.b %3,[%0] \n" : /* no outputs */ : "r"(p), "r"(b), "r"(c), "r"(a)); /* restore CPU IPL value after executing unlock sequence */ // RESTORE_CPU_IPL(current_cpu_ipl); T1CONbits.TON = 1; ///Habilita el Timer1 }

Page 87: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 73

//+++++++++Configuracion del Timer2 para ser usado en Interrupcion de configurable entre 10ms y //1000ms +++++ void init_timer2(void) { // Modo operación TIMER2 T2CON=0x0030; // Modo operación TIMER2: reloj interno, escala 1:256 para (67,81ns x 256 = 1.736us), TMR2=0; // Empieza cuenta en 0 PR2=57600; // Cuenta 57600 ciclos para (1.736us x 57600 = 1000ms) // Interrupciones TIMER2 IFS0bits.T2IF=0; // Borra Interrupt Flag IPC1bits.T2IP = 6; //IPC1bits. = 6; //set Timer1 interrupt priority level to 7 IEC0bits.T2IE=1; // Habilita Interrupción T2CONbits.TON=1; // Arranca TIMER2 return; } void init_timer3(void) //+++++++++Configuracion del Timer3 para ser usado en Interrupcion de configurable //entre 10ms y 1000ms +++++ { // Modo operación TIMER3 T3CON=0x0030; // Modo operación TIMER3: reloj interno, escala 1:256 para (67,81ns x 256 = 1.736us), TMR3=0; // Empieza cuenta en 0 PR3=57600; // Cuenta 57600 ciclos para (1.736us x 57600 = 1000ms) // Interrupciones TIMER3 IFS0bits.T3IF=0; // Borra Interrupt Flag IPC2bits.ADIP = 5; IEC0bits.T3IE=1; // Habilita Interrupción T3CONbits.TON=1; // Arranca TIMER2 return; } void init_ports(void) { //Configuracion de puertos y pines //LATG=0XFFFF; //inicializa los pines del puerto G en cero //TRISG=0X0000; //configura puerta G como salidas TRISGbits.TRISG15=0; //PIN G15 SALIDA TRISGbits.TRISG12=0; //PIN G12 SALIDA TRISGbits.TRISG13=0; //PIN G13 SALIDA TRISGbits.TRISG1=0; //PIN G1 SALIDA TRISGbits.TRISG0=0; //PIN G0 SALIDA TRISFbits.TRISF0=0; //PIN F0 SALIDA TRISFbits.TRISF1=0; //PIN F1 SALIDA TRISBbits.TRISB0=1; //PIN B2 Entrada, despues de configura como entrada analoga TRISBbits.TRISB1=1; //PIN B3 Entrada, despues de configura como entrada analoga TRISBbits.TRISB2=1; //PIN B2 Entrada, despues de configura como entrada analoga TRISBbits.TRISB3=1; //PIN B3 Entrada, despues de configura como entrada analoga TRISBbits.TRISB4=1; //PIN B4 Entrada, despues de configura como entrada analoga TRISBbits.TRISB5=1; //PIN B5 Entrada, despues de configura como entrada analoga TRISGbits.TRISG2 = 1; TRISGbits.TRISG3 = 1; //INICIALIZACIONES DE PUERTOS apagados 0 PORTGbits.RG15=0; PORTGbits.RG13=0; PORTGbits.RG12=0; PORTGbits.RG1=0; //pines de control del rele PORTGbits.RG0=0; //pines de control del rele PORTFbits.RF0=1; PORTFbits.RF1=1; }

Page 88: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 74

// Macros utilizados para desarmar y armar flotantes para su almacenamiento en eeprom interna void cargar_parametros() { //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF820)); dummy2=(unsigned char)(EepromRead2(0xF822)); dummy3=(unsigned char)(EepromRead2(0xF824)); dummy4=(unsigned char)(EepromRead2(0xF826)); //armar float setLmbyte(m0,dummy1); setLMbyte(m0,dummy2); setHmbyte(m0,dummy3); setHMbyte(m0,dummy4); //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF828)); dummy2=(unsigned char)(EepromRead2(0xF82A)); dummy3=(unsigned char)(EepromRead2(0xF82C)); dummy4=(unsigned char)(EepromRead2(0xF82E)); //armar float setLmbyte(b0,dummy1); setLMbyte(b0,dummy2); setHmbyte(b0,dummy3); setHMbyte(b0,dummy4); //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF830)); dummy2=(unsigned char)(EepromRead2(0xF832)); dummy3=(unsigned char)(EepromRead2(0xF834)); dummy4=(unsigned char)(EepromRead2(0xF836)); //armar float setLmbyte(m1,dummy1); setLMbyte(m1,dummy2); setHmbyte(m1,dummy3); setHMbyte(m1,dummy4); //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF838)); dummy2=(unsigned char)(EepromRead2(0xF83A)); dummy3=(unsigned char)(EepromRead2(0xF83C)); dummy4=(unsigned char)(EepromRead2(0xF83E)); //armar float setLmbyte(b1,dummy1); setLMbyte(b1,dummy2); setHmbyte(b1,dummy3); setHMbyte(b1,dummy4); //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF840)); dummy2=(unsigned char)(EepromRead2(0xF842)); dummy3=(unsigned char)(EepromRead2(0xF844)); dummy4=(unsigned char)(EepromRead2(0xF846)); //armar float setLmbyte(m2,dummy1); setLMbyte(m2,dummy2); setHmbyte(m2,dummy3); setHMbyte(m2,dummy4); //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF848)); dummy2=(unsigned char)(EepromRead2(0xF84A)); dummy3=(unsigned char)(EepromRead2(0xF84C)); dummy4=(unsigned char)(EepromRead2(0xF84E)); //armar float setLmbyte(b2,dummy1); setLMbyte(b2,dummy2); setHmbyte(b2,dummy3); setHMbyte(b2,dummy4);

Page 89: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 75

//Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF850)); dummy2=(unsigned char)(EepromRead2(0xF852)); dummy3=(unsigned char)(EepromRead2(0xF854)); dummy4=(unsigned char)(EepromRead2(0xF856)); //armar float setLmbyte(m3,dummy1); setLMbyte(m3,dummy2); setHmbyte(m3,dummy3); setHMbyte(m3,dummy4); //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF858)); dummy2=(unsigned char)(EepromRead2(0xF85A)); dummy3=(unsigned char)(EepromRead2(0xF85C)); dummy4=(unsigned char)(EepromRead2(0xF85E)); //armar float setLmbyte(b3,dummy1); setLMbyte(b3,dummy2); setHmbyte(b3,dummy3); setHMbyte(b3,dummy4); //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF860)); dummy2=(unsigned char)(EepromRead2(0xF862)); dummy3=(unsigned char)(EepromRead2(0xF864)); dummy4=(unsigned char)(EepromRead2(0xF866)); //armar float setLmbyte(m4,dummy1); setLMbyte(m4,dummy2); setHmbyte(m4,dummy3); setHMbyte(m4,dummy4); //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF868)); dummy2=(unsigned char)(EepromRead2(0xF86A)); dummy3=(unsigned char)(EepromRead2(0xF86C)); dummy4=(unsigned char)(EepromRead2(0xF86E)); //armar float setLmbyte(b4,dummy1); setLMbyte(b4,dummy2); setHmbyte(b4,dummy3); setHMbyte(b4,dummy4); //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF870)); dummy2=(unsigned char)(EepromRead2(0xF872)); dummy3=(unsigned char)(EepromRead2(0xF874)); dummy4=(unsigned char)(EepromRead2(0xF876)); //armar float setLmbyte(m5,dummy1); setLMbyte(m5,dummy2); setHmbyte(m5,dummy3); setHMbyte(m5,dummy4); //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF878)); dummy2=(unsigned char)(EepromRead2(0xF87A)); dummy3=(unsigned char)(EepromRead2(0xF87C)); dummy4=(unsigned char)(EepromRead2(0xF87E)); //armar float setLmbyte(b5,dummy1); setLMbyte(b5,dummy2); setHmbyte(b5,dummy3); setHMbyte(b5,dummy4); }

Page 90: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 76

void guardar_m0(void){ //desarmar float Kcte para guardarlo dummy1=getLmbyte(m0); dummy2=getLMbyte(m0); dummy3=getHmbyte(m0); dummy4=getHMbyte(m0); //guarda el float EepromWrite(0xF820,(unsigned int)dummy1); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF822,(unsigned int)dummy2); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF824,(unsigned int)dummy3); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF826,(unsigned int)dummy4); //PAGINA + 0xfc00 = empieza EPROM //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF820)); dummy2=(unsigned char)(EepromRead2(0xF822)); dummy3=(unsigned char)(EepromRead2(0xF824)); dummy4=(unsigned char)(EepromRead2(0xF826)); //armar float setLmbyte(m0,dummy1); setLMbyte(m0,dummy2); setHmbyte(m0,dummy3); setHMbyte(m0,dummy4); } void guardar_b0(void){ //desarmar float Kcte para guardarlo dummy1=getLmbyte(b0); dummy2=getLMbyte(b0); dummy3=getHmbyte(b0); dummy4=getHMbyte(b0); //guarda el float EepromWrite(0xF828,(unsigned int)dummy1); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF82A,(unsigned int)dummy2); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF82C,(unsigned int)dummy3); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF82E,(unsigned int)dummy4); //PAGINA + 0xfc00 = empieza EPROM //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF828)); dummy2=(unsigned char)(EepromRead2(0xF82A)); dummy3=(unsigned char)(EepromRead2(0xF82C)); dummy4=(unsigned char)(EepromRead2(0xF82E)); //armar float setLmbyte(b0,dummy1); setLMbyte(b0,dummy2); setHmbyte(b0,dummy3); setHMbyte(b0,dummy4); } void guardar_m1(void){ //desarmar float Kcte para guardarlo dummy1=getLmbyte(m1); dummy2=getLMbyte(m1); dummy3=getHmbyte(m1); dummy4=getHMbyte(m1);

Page 91: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 77

//guarda el float EepromWrite(0xF830,(unsigned int)dummy1); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF832,(unsigned int)dummy2); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF834,(unsigned int)dummy3); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF836,(unsigned int)dummy4); //PAGINA + 0xfc00 = empieza EPROM //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF830)); dummy2=(unsigned char)(EepromRead2(0xF832)); dummy3=(unsigned char)(EepromRead2(0xF834)); dummy4=(unsigned char)(EepromRead2(0xF836)); //armar float setLmbyte(m1,dummy1); setLMbyte(m1,dummy2); setHmbyte(m1,dummy3); setHMbyte(m1,dummy4); } void guardar_b1(void){ //desarmar float Kcte para guardarlo dummy1=getLmbyte(b1); dummy2=getLMbyte(b1); dummy3=getHmbyte(b1); dummy4=getHMbyte(b1); //guarda el float HL EepromWrite(0xF838,(unsigned int)dummy1); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF83A,(unsigned int)dummy2); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF83C,(unsigned int)dummy3); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF83E,(unsigned int)dummy4); //PAGINA + 0xfc00 = empieza EPROM //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF838)); dummy2=(unsigned char)(EepromRead2(0xF83A)); dummy3=(unsigned char)(EepromRead2(0xF83C)); dummy4=(unsigned char)(EepromRead2(0xF83E)); //armar float setLmbyte(b1,dummy1); setLMbyte(b1,dummy2); setHmbyte(b1,dummy3); setHMbyte(b1,dummy4); } void guardar_m2(void){ //desarmar float Kcte para guardarlo dummy1=getLmbyte(m2); dummy2=getLMbyte(m2); dummy3=getHmbyte(m2); dummy4=getHMbyte(m2); //guarda el float HL EepromWrite(0xF840,(unsigned int)dummy1); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF842,(unsigned int)dummy2); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF844,(unsigned int)dummy3); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF846,(unsigned int)dummy4); //PAGINA + 0xfc00 = empieza EPROM //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF840)); dummy2=(unsigned char)(EepromRead2(0xF842)); dummy3=(unsigned char)(EepromRead2(0xF844)); dummy4=(unsigned char)(EepromRead2(0xF846));

Page 92: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 78

//armar float setLmbyte(m2,dummy1); setLMbyte(m2,dummy2); setHmbyte(m2,dummy3); setHMbyte(m2,dummy4); } void guardar_b2(void){ //desarmar float Kcte para guardarlo dummy1=getLmbyte(b2); dummy2=getLMbyte(b2); dummy3=getHmbyte(b2); dummy4=getHMbyte(b2); //guarda el float HL EepromWrite(0xF848,(unsigned int)dummy1); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF84A,(unsigned int)dummy2); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF84C,(unsigned int)dummy3); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF84E,(unsigned int)dummy4); //PAGINA + 0xfc00 = empieza EPROM //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF848)); dummy2=(unsigned char)(EepromRead2(0xF84A)); dummy3=(unsigned char)(EepromRead2(0xF84C)); dummy4=(unsigned char)(EepromRead2(0xF84E)); //armar float setLmbyte(b2,dummy1); setLMbyte(b2,dummy2); setHmbyte(b2,dummy3); setHMbyte(b2,dummy4); } void guardar_m3(void){ //desarmar float Kcte para guardarlo dummy1=getLmbyte(m3); dummy2=getLMbyte(m3); dummy3=getHmbyte(m3); dummy4=getHMbyte(m3); //guarda el float HL EepromWrite(0xF850,(unsigned int)dummy1); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF852,(unsigned int)dummy2); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF854,(unsigned int)dummy3); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF856,(unsigned int)dummy4); //PAGINA + 0xfc00 = empieza EPROM //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF850)); dummy2=(unsigned char)(EepromRead2(0xF852)); dummy3=(unsigned char)(EepromRead2(0xF854)); dummy4=(unsigned char)(EepromRead2(0xF856)); //armar float setLmbyte(m3,dummy1); setLMbyte(m3,dummy2); setHmbyte(m3,dummy3); setHMbyte(m3,dummy4); }

Page 93: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 79

void guardar_b3(void){ //desarmar float Kcte para guardarlo dummy1=getLmbyte(b3); dummy2=getLMbyte(b3); dummy3=getHmbyte(b3); dummy4=getHMbyte(b3); //guarda el float HL EepromWrite(0xF858,(unsigned int)dummy1); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF85A,(unsigned int)dummy2); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF85C,(unsigned int)dummy3); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF85E,(unsigned int)dummy4); //PAGINA + 0xfc00 = empieza EPROM //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF858)); dummy2=(unsigned char)(EepromRead2(0xF85A)); dummy3=(unsigned char)(EepromRead2(0xF85C)); dummy4=(unsigned char)(EepromRead2(0xF85E)); //armar float setLmbyte(b3,dummy1); setLMbyte(b3,dummy2); setHmbyte(b3,dummy3); setHMbyte(b3,dummy4); } void guardar_m4(void){ //desarmar float Kcte para guardarlo dummy1=getLmbyte(m4); dummy2=getLMbyte(m4); dummy3=getHmbyte(m4); dummy4=getHMbyte(m4); //guarda el float HL EepromWrite(0xF860,(unsigned int)dummy1); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF862,(unsigned int)dummy2); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF864,(unsigned int)dummy3); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF866,(unsigned int)dummy4); //PAGINA + 0xfc00 = empieza EPROM //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF860)); dummy2=(unsigned char)(EepromRead2(0xF862)); dummy3=(unsigned char)(EepromRead2(0xF864)); dummy4=(unsigned char)(EepromRead2(0xF866)); //armar float setLmbyte(m4,dummy1); setLMbyte(m4,dummy2); setHmbyte(m4,dummy3); setHMbyte(m4,dummy4); } void guardar_b4(void){ //desarmar float Kcte para guardarlo dummy1=getLmbyte(b4); dummy2=getLMbyte(b4); dummy3=getHmbyte(b4); dummy4=getHMbyte(b4); //guarda el float HL EepromWrite(0xF868,(unsigned int)dummy1); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF86A,(unsigned int)dummy2); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF86C,(unsigned int)dummy3); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF86E,(unsigned int)dummy4); //PAGINA + 0xfc00 = empieza EPROM

Page 94: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 80

//Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF868)); dummy2=(unsigned char)(EepromRead2(0xF86A)); dummy3=(unsigned char)(EepromRead2(0xF86C)); dummy4=(unsigned char)(EepromRead2(0xF86E)); //armar float setLmbyte(b4,dummy1); setLMbyte(b4,dummy2); setHmbyte(b4,dummy3); setHMbyte(b4,dummy4); } void guardar_m5(void){ //desarmar float Kcte para guardarlo dummy1=getLmbyte(m5); dummy2=getLMbyte(m5); dummy3=getHmbyte(m5); dummy4=getHMbyte(m5); //guarda el float HL EepromWrite(0xF870,(unsigned int)dummy1); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF872,(unsigned int)dummy2); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF874,(unsigned int)dummy3); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF876,(unsigned int)dummy4); //PAGINA + 0xfc00 = empieza EPROM //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF870)); dummy2=(unsigned char)(EepromRead2(0xF872)); dummy3=(unsigned char)(EepromRead2(0xF874)); dummy4=(unsigned char)(EepromRead2(0xF876)); //armar float setLmbyte(m5,dummy1); setLMbyte(m5,dummy2); setHmbyte(m5,dummy3); setHMbyte(m5,dummy4); } void guardar_b5(void){ //desarmar float Kcte para guardarlo dummy1=getLmbyte(b5); dummy2=getLMbyte(b5); dummy3=getHmbyte(b5); dummy4=getHMbyte(b5); //guarda el float HL EepromWrite(0xF878,(unsigned int)dummy1); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF87A,(unsigned int)dummy2); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF87C,(unsigned int)dummy3); //PAGINA + 0xfc00 = empieza EPROM EepromWrite(0xF87E,(unsigned int)dummy4); //PAGINA + 0xfc00 = empieza EPROM //Lee float guardado dummy1=(unsigned char)(EepromRead2(0xF878)); dummy2=(unsigned char)(EepromRead2(0xF87A)); dummy3=(unsigned char)(EepromRead2(0xF87C)); dummy4=(unsigned char)(EepromRead2(0xF87E)); //armar float setLmbyte(b5,dummy1); setLMbyte(b5,dummy2); setHmbyte(b5,dummy3); setHMbyte(b5,dummy4); }

Page 95: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 81

Código grafico de programa implementado en Labview

Parte 1 Código Implementado en Labview

Page 96: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 82

Parte 2 Código Implementado en Labview

Page 97: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 83

Parte 3 Código Implementado en Labview

Page 98: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 1 84

Parte 4 Código Implementado en Labview

Page 99: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

ANEXOS PARTE 2:

HARDWARE IMPLEMENTADO

Page 100: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 85

Anexos Parte 2

Modelo Esquemático Tarjeta dsPIC.

Esquemático Parte 1

Page 101: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 86

Esquemático Parte 2

Page 102: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 87

dsPIC30F6013A Datasheet

Page 103: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 88

Page 104: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 89

Page 105: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 90

Page 106: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 91

RCV420 Datasheet

Page 107: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 92

Page 108: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 93

AD694 Datasheet

Page 109: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 94

Page 110: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 95

Page 111: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 96

MAX232 Datasheet

Page 112: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 97

Page 113: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 98

Page 114: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 99

Page 115: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 100

Page 116: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 101

SN75176BD Datasheet

Page 117: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 102

Page 118: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 103

Page 119: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 104

Page 120: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Anexos Parte 2 105

LCD S02004DSF Datasheet

Page 121: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

HEBERT CRISTOBAL RUIZ SALDIVIA-2011-

UNIVERSIDAD DE MAGALLANESFACULTAD DE INGENIERÍA

DEPARTAMENTO DE ELECTRICIDAD

Page 122: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Objetivos.

Introducción.

Controlador Digital de Señales (DSC).

Entorno Labview.

Sistema Experimental.

Pruebas y Aplicación Práctica.

Conclusiones.

Contenidos

Page 123: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

-Conocer una de las posibles aplicaciones en el ámbito de la ingenieríaeléctrica, tanto del microcontrolador utilizado como del softwareLabview.

-Construir un sistema compatible con sensores 4-20mA , donde losvalores de corrientes serán transformados a las variables reales medidas.

-Elaborar una interfaz gráfica amigable con el usuario, en la cual éstepueda establecer parámetros de configuración que darán al sistema unamayor versatilidad.

Page 124: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Los sistemas de adquisición de datos se utilizan cada vez más enlaboratorios, industria y educación para la visualización de las variablesfísicas (temperatura, flujo, presión, nivel etc.)

Las etapas de un sistema de adquisición y procesamiento de datos son:-Transductores y sensores.-Acondicionamiento de señal.-Módulo de adquisición de datos.-Acción a realizar con los datos obtenidos (gráficos, almacenado, control etc.)

Para este trabajo de título se utilizó el controlador digital de señales (DSC)de la empresa MICROCHIP dsPIC30F6013A, el que trabajará en conjuntocon el software de la empresa National Instruments Labview.

Page 125: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo
Page 126: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Los microcontroladores son computadores digitales integrados en unchip que cuentan con un microprocesador o unidad de procesamientocentral (CPU), una memoria para almacenar el programa, unamemoria para almacenar datos y puertos de entrada/salida.

La gran diferencia que posee con un microprocesador es que éstenecesita de sus periféricos externos para funcionar correctamente.

En otras palabras un microcontrolador es un circuito integradoque en sus interior cuenta con un microprocesador , además debuses de datos, memoria RAM, ROM y periféricos de entrada y/osalida .

Page 127: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Se denomina DSP (Digital Signal Processor) a un circuito integrado quecontiene un procesador digital y un conjunto de recursos complementarioscon los cuales es capaz de manejar digitalmente las señales análogas quenos rodean. Algunas de sus mas importantes características se nombran acontinuación.

-Disponen de conversores A/D rápidos y precisos.

-Ofrecen un amplio repertorio de interrupciones con niveles de prioridad.

-En su repertorio de instrucciones contienen algunas especificas pararesolver los algoritmos habituales en el procesamiento de señales.

- En gran parte de sus aplicaciones su comportamiento será directaconsecuencia del flujo de datos de la señal muestreada.

Page 128: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

La empresa MICROCHIP se ha desempeñado principalmente en elcampo de los microcontroladores de 16 bit. Estos modelos son conocidospopularmente con el nombre de PIC. Debido al aumento de aplicacionesen las cuales es necesario el procesamiento digital de señales Microchip hadecidido lanzarse al mercado de los DSP con un modelo hibridoMCU/DSP, cuyo manejo es similar al de los MCU pero que incluye algunasde las principales prestaciones de los DSP . Así nace el controlador digitalde señales (DSC), el cual reúne las características de losmicrocontroladores de 16 bits junto con las de los DSP de gama baja.

Dada la similitud del DSC con los MCU (PIC) en cuanto arquitectura yrepertorio de instrucciones, los usuarios de las familias demicrocontroladores PIC no encuentran dificultades para introducirse en elcampo del procesamiento digital de señales utilizando dsPIC.

Page 129: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Los dsPIC se pueden agrupar en dos grandes familias:

-dsPIC30F

-dsPIC33F

En este trabajo de título se utilizó un dsPIC de la primera familia, por lo que a continuación se presentan las principales características de los dsPIC30F:

Page 130: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Recurso Rango de valores.

Memoria de programa FLASH 12Kb-144Kb

Memoria de datos RAM 512bytes-8Kb

Memoria de datos EEPROM 1Kb-4Kb

Pastillaje encapsulado 18-80 pines

Temporizador de 16 bit Hasta 5

Modulo de captura Hasta 8 entradas

Módulo comparador/PWM Hasta 8 salidas

Modulo PWM de control de motores De 6 a 8

Conversor A/D de 10 bits 500kbps, hasta 16 canales

Conversor A/D de 12 bits 100kps, hasta 16 canales

UART 1-2

SPI(8-16 bits) 1-2

I²C 1 Módulo

QEI 1

Interfaz CODEC 1

CAN 1-2

Page 131: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Según MICROCHIP los 19 modelos que contiene la familia dsPIC30F sepueden separar en tres grupos dependiendo de su aplicación:

-dsPIC30F de propósito general.-dsPIC30F para control de sensores.-dsPIC30F para control de motores y sistemas de alimentación.

El modelo utilizado en este trabajo de título (dsPIC30F6013A) cabe en lacategoría de propósito general, en la aplicación específica de este trabajo detítulo destaca la utilización de tres periféricos. A continuación se dará unabreve explicación de ellos.

Page 132: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Conversor Análogo Digital (ADC): El dsPIC permite hacer una rápida yfiable conversión análoga/digital, para ello cuenta con un ADC de 12 bits deprecisión.

La conversión se realiza en tres etapas: muestreo de la señal, cuantificación dela señal que consiste en llevar el valor análogo a un valor de combinaciones yla cuantificación de la señal que consiste en agregarle los ceros y unos a la señalconvertida. El módulo ADC del dsPIC posee las siguientes características.

-Tiempo de muestreo de 154ns.-Conversión de aproximaciones sucesivas.-Velocidad de conversión de hasta 500Ksps.-Modo automático de exploración de canal.-La tensión analógica de referencia puede ser seleccionada por software.

Page 133: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Módulo UART: Este módulo permite la comunicación Universal SerialAsíncrona full dúplex o serial asíncrono con computadores, con interfases RS232 y RS 485, entre sus principales características destacan:

-La transmisión de datos es de 8 o de 9 bits.- Paridad impar, par o sin paridad.- Uno o dos bits de parada.-Tiene un generador de baudios con preescalador de 16 bits que se encarga dedar la frecuencia de trabajo al módulo.

Page 134: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Módulo Temporizador: El dsPIC30F6013A cuenta con 5 temporizadores,cada uno de 16 bits. Este módulo es utilizado para dar una base de tiempo conla se generarán interrupciones asociadas.

En este trabajo de titulo el dsPIC se utiliza para el muestreo de señales, suconversión análoga digital, cálculo de las variables medidas por los sensores ypor último en la comunicación con el software Labview.

Page 135: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Muestreo de señal análoga.

Conversión análoga digital.

Calculo de variables

reales medidas.

Envío deparámetros por puerto

serial

Comunicación con software Labview

Proceso realizado en dsPIC30f6013A

Page 136: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo
Page 137: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Labview es una herramienta de programación gráfica para aplicaciones queinvolucren adquisición, control, análisis y presentación de datos. Las ventajasque proporciona el empleo de Labview se resumen en las siguientes:

-Se reduce el tiempo de desarrollo de las aplicaciones al menos de 4 a 10 veces,ya que es muy intuitivo y fácil de aprender.

-Dota de gran flexibilidad al sistema, permitiendo cambios y actualizaciones tanto del hardware como del software

-Da la posibilidad a los usuarios de crear soluciones completas y complejas.

- Con un único sistema de desarrollo se integran las funciones de adquisición, análisis y presentación de datos.

Page 138: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

-El sistema está dotado de un compilador gráfico para lograr la máximavelocidad de ejecución posible.

-Tiene la posibilidad de incorporar aplicaciones escritas en otros lenguajes.

Los programas desarrollados mediante Labview se denominan InstrumentosVirtuales (VIs), porque su apariencia y funcionamiento imitan los de uninstrumento real. Sin embargo son análogos a las funciones creadas con loslenguajes de programación convencionales. Los VIs tienen una parteinteractiva con el usuario y otra parte de código fuente, y aceptan parámetrosprocedentes de otros VIs. Todos los VIs tienen un panel frontal y un diagramade bloques.

Page 139: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Ejemplo aplicación realizada en Labview

Page 140: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Proceso realizado en Labview

dsPIC Intercambio de datos

LabviewTratamiento

individual de datos

Visualización y almacenado de

parámetros reales.

Tarjeta dsPIC RS232 PC

Page 141: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

La unidad física principal del sistema corresponde a la tarjeta dsPIC, en ella sealojarán los conectores necesarios para interactuar tanto con los sensores comocon el computador, además será donde se encuentre físicamente la unidadcentral del sistema dsPIC30F6013A.

Page 142: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Características tarjeta dsPIC:

-Seis entradas 4-20mA.

-Cuatro salidas 4-20mA

-Diez entradas 0-10V.

-Cuatro salidas 0-5V.

-Dos puertos RS-232.

-Dos puertos RS-485.

- Conexión directa con LCD Lumex S02004.

-Banco de memorias externas

Page 143: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Señal de instrumentación

4-20mA.

Conversión a tensión legible

por ADC

Filtrado de señal

Conversión

A/D

Comunicación

serial.

Page 144: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Inicio

Inicialización de variables

Han llegado datos a través de la puerta

serialHa pasado 1 segundo??

Adquirir datos por puertos ADC

Asignar datos obtenidos a variables para cálculo

Se ha presionado “ENTER”?

Almacenar variables en memoria

Asignar datos obtenidos a variables para cálculo

Asignar datos obtenidos a variables para calculo

Ha pasado 1 segundo??

Enviar valores a LCD

Enviar valores a puerto serie

No Si

No

Si

No

Si

No Si

Page 145: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Inicio

Inicialización de variables

Hay datos para enviar al dsPIC?

Almacenamiento de datos en formato Excel

Recepción de datos enviados por dsPICEnvío de datos al dsPIC

Visualización de parámetros en

pantalla

NoSi

Page 146: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Se desarrollaron dos aplicaciones gráficas para este trabajo de título:

-Aplicación para propósitos generales .

-Aplicación específica sistema de bombeo.

Page 147: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Aplicación para propósitos generales.

Page 148: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo
Page 149: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Aplicación gráfica para sistema de bombeo.

Transmisor Rosemount modelo 3144Transmisor Rosemount modelo 3051

Industrie Messtechnik modelo 3249

Page 150: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Aplicación gráfica para sistema de bombeo.

Page 151: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Canal 2 Nivel

Canal 1Temperatura

Canal 3Presión

Canal 4Auxiliar

Canal 5Auxiliar

Canal 6Auxiliar

Comunicación Serial

dsPIC30F6013A Software Labview

Page 152: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Aplicación para propósitos generales.

Page 153: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Aplicación para propósitos generales.

Page 154: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

Aplicación para propósitos generales.

Page 155: UNIVERSIDAD DE MAGALLANES FACULTAD DE … · Capítulo III Entorno Labview 13 3.1 Introducción 13 3.2 Descripción Software Labview 14 3.3 Labview en Sistema Modelado 20 Capítulo

En general las posibilidades de aplicaciones utilizando unmicrocontrolador como unidad central del sistema están dadas por lasnecesidades del usuario.

La interfaz gráfica realizada en el software Labview se hizo con el fin deestablecer una comunicación amigable entre un hipotético operador delsistema con el proceso sensado. Esto conllevó a conocer una de las múltiplesaplicaciones del software Labview en el ámbito de la ingeniería eléctrica.

La comunicación establecida entre el dsPIC y Labview mediante puertoserie fue realizada con éxito y estabilidad en el tiempo, lo que hace que elsistema implementado sea confiable y de rápida actualización.

Los códigos de ambos programas se hicieron con el fin de ser modificados yoptimizados en el futuro para así añadir recursos al sistema utilizado enconjunto.