informe de trabajo final - unsl - fica · permiten la captura de datos sino también su...

100
Universidad Nacional de San Luis Facultad de Ingeniería y Ciencias Agropecuarias Informe de Trabajo Final Desarrollo e implementación de dispositivo de medición y almacenamiento digital Autor JAVIER RODRIGO RABBIA Carrera INGENIERIA ELECTRONICA Director Ing. JAVIER ALEJANRO CARLETTO Co-Director Ing. GUILLERMO OMAR LARREGAY VILLA MERCEDES- SAN LUIS- ARGENTINA 2015

Upload: vuonganh

Post on 19-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

Universidad Nacional de San Luis

Facultad de Ingeniería y Ciencias Agropecuarias

Informe de Trabajo Final

Desarrollo e implementación de dispositivo

de medición y almacenamiento digital

Autor JAVIER RODRIGO RABBIA

Carrera INGENIERIA ELECTRONICA

Director

Ing. JAVIER ALEJANRO CARLETTO

Co-Director

Ing. GUILLERMO OMAR LARREGAY

VILLA MERCEDES- SAN LUIS- ARGENTINA 2015

Page 2: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

RESUMEN

En la actualidad, todos los registros de cada Grupo Turbo-Generador (TG),

de las Centrales Generadoras de Energía Eléctrica de General Levalle y de San

Francisco pertenecientes a la Empresa Provincial de Energía de Córdoba, es

realizado en forma manual. Dicho registro, se refiere a la lectura de las

condiciones de operación y de generación que es llevado a cabo por sus

operadores y/o a la búsqueda de fallas ocasionadas por el funcionamiento,

realizados por los encargados del mantenimiento eléctrico de las mismas. Para

facilitar esta tarea, como así también modernizarla y hacerla más eficiente se

decide la implementación de un dispositivo de medición y almacenamiento digital

que permita tener un registro de manera cronológica de los valores o estados de

las distintas variables que se encuentran presentes en el control electrónico del

TG.

En este trabajo se presenta el desarrollo e implementación de una plataforma

portable y autónoma que brinda la posibilidad de medir y almacenar en una tarjeta

de memoria los valores de distintas variables eléctricas en cada instante de

tiempo. Una vez capturadas estas mediciones, se envían a una PC mediante un

software de comunicaciones desarrollado para ese fin, que brinda la posibilidad de

exportar los datos para visualizarlos y manipularlos en software específico.

El usuario del sistema es aquel que lo aplica en una actividad específica para

la adquisición de datos y su almacenamiento en una tarjeta Secure Digital (SD) en

forma de archivo de texto (con extensión *.txt). Por lo tanto, su contenido, podrá

ser visualizado desde cualquier ordenador.

Page 3: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

Agradezco profundamente a las siguientes personas.

Sin ellas, este trabajo no hubiera sido posible.

… A Dios nuestro divino creador que siempre me ha llevado de la mano y

me ha permitido tener para cosechar, así como también la oportunidad de

acumular las experiencias que han servido de base para la realización de

este proyecto que realice llenándome de alegría y motivación…

A Teresita y Jorge, mis padres, y Lucrecia, mi hermana, por estar

siempre conmigo cuando los necesité, por apoyarme incondicionalmente

en todo lo que me propuse y por ser una fuente de inspiración día tras día.

A quienes dedico este trabajo por apoyarme y tener su confianza de que

lograría alcanzar este momento, por todos sus cuidados y consejos a lo

largo de mi vida.

A Begoña, mi querida esposa, por su paciencia, comprensión, y sobre

todo, por estar a mi lado incluso en los momentos más pesados de mi

carrera. También te dedico este trabajo en agradecimiento por

acompañarme en todos mis desvelos y momentos de preocupación,

apoyarme y alentarme a seguir adelante.

A mis abuelos, Dominga, Juana y Rafael, por guiarme y

acompañarme, desde mis primeros días de vida, hasta hoy.

A Sergio, Gastón y Nazareno, amigos inseparables, y Hugo, mi

amigo y cuñado, por su amistad y su ayuda desinteresada en todo

momento, a pesar de la distancia.

A mis amigos y compañeros de la carrera, por la compañía y los

buenos momentos vividos, que hicieron que la vida universitaria fuera

más liviana.

Por último, y no por eso menos importante, a aquellos docentes de la

Facultad de Ingeniería y Ciencias Agropecuarias que durante mi carrera

me formaron para ser un buen profesional y sobre todo una mejor

persona.

A los que quedaron en el tintero, no por mala intención, sino por

mala memoria.

A todos, muchas gracias.

Javier

Page 4: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

I

Índice General

1. Introducción ……………..……………………………………………….…………............. 1

1.1 Antecedentes …………………………………………...………………..………. 1

1.2 Descripción del problema …………………………………………………...... 3

1.3 Planteamiento de la solución …………………………………………………. 4

1.4 Justificación …………………………………………………………………….... 5

1.5 Objetivos Generales ……………………………………………………………. 6

1.6 Objetivos Específicos ……………………………………………….................. 6

2. Central Generadora ……………………………………………………………………… 7

2.1. Lugar de implementación ………………………………………………….…. 7

2.1.1. Turbina …………...…………………………………………………... 8

2.1.2. Generador …………..……………………………………………… 11

2.1.3. Sistema de protección y control ……………………………….. 12

2.1.4. Chan Over …………..……………………………………………… 14

2.2. El control “SPEED-TRONIC” …………………………………………….. 15

2.2.1. Secuencia de control y arranque ……………………………… 17

Page 5: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

II

2.2.2. Sensores de Velocidad ………..…………………………………. 18

2.2.3. Control de puesta en marcha ………………………………….... 19

2.2.4. Sistema de control de velocidad ………………………………. 22

2.2.5. Sistema de control de aceleración …………………………….. 23

2.2.6. Sistema de control de temperatura ……...…………………….. 24

2.3. Calibración sistema de control …………..……………………………….... 25

3. Implementación …………………………………………………………………………... 27

3.1. Metodología de diseño …………………………………………………….... 27

3.2. Etapas básicas del proyecto ……………..………………………………….. 27

3.3. Diseño del hardware …………….…………………………………………… 28

3.3.1. Análisis de las señales ………………………………………….... 28

3.3.2. Diseño de la estructura básica del proyecto ……………….... 28

3.3.3. Hardware de adquisición y transmisión de datos …………. 29

3.3.3.1. ¿Qué es Arduino? y ¿Por qué Arduino? ................ 30

3.3.3.2. Arduino MEGA 2560 …………..……………………. 31

3.3.3.3. Módulo SD Arduino …………………………………. 33

3.3.3.4. Módulo RTC Arduino ………..……………………… 36

3.3.4. Hardware adaptador de señales ………………………………... 38

3.3.4.1. Entradas Digitales …………….………………………. 38

Page 6: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

III

3.3.4.2. Entradas Analógicas ……………………….………… 40

3.3.4.3. Entradas de Frecuencia ……...………………………. 42

3.3.4.4. Fuente de Tensión ………..…………………………… 44

3.3.5. Diagrama de conexionado ………...……………………………. 45

3.3.6. Lista de Elementos ……………………………………………….. 46

3.4. Diseño del software …………….……………………………………………. 49

3.4.1. Arduino ……………………………………………………………... 49

3.4.1.1. Entradas Digitales …………………………………….. 52

3.4.1.2. Entradas Analógicas ……….………………………… 53

3.4.1.3. Entradas de Frecuencia …………………………….... 53

3.4.1.4. Almacenamiento en memoria ………..…………….. 54

3.4.1.5. Hora y fecha real ………..……………………………. 55

3.4.1.6. Comunicación serial ……….………………………… 56

3.4.2. Visual Basic ………….……………………………………………. 57

3.4.2.1. Interfaz ………………………………………………….. 59

3.4.2.2. Programación ………….………………………………. 61

3.5. Prueba del Dispositivo ………………………………………………………. 62

4. Manual de Usuario ………………………………………………………………………. 66

4.1. Partes del Dispositivo de Medición y Almacenamiento Digital ……. 66

Page 7: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

IV

4.2. Ensamble del Dispositivo ………….……………………………………….. 67

4.3. Funcionamiento del Dispositivo …………………………………………... 68

4.4. Lectura de datos en PC …………...…………………………………………. 69

5. Conclusiones y Trabajos Futuros ……………………………………………………... 70

5.1. Conclusiones ………………………………………………………………..…. 70

5.2. Trabajos Futuros …………………………………………………………….... 72

6. Bibliografía ………………………………………………………………………………... 74

7. Anexo ………………...…………………………………………………………………….. 77

Page 8: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

V

Índice de Figuras

Figura 2.1. Ilustración Grupo Turbo-Generador …………….………………………….. 9

Figura 2.2: Principio Control SPEED TRONIC …………………………………….... 13

Figura 2.3: Panel esquemático ……………………………………………………………. 16

Figura 2.4: Panel Speed-Tronic real …………………………………………………….. 17

Figura 2.5: Secuencia Arranque y Control Mark II ………………………………..… 18

Figura 2.6: Secuencia de arranque ……………………………………………………….. 20

Figura 2.7: Secuencia típica de arranque ……………..………………………………… 22

Figura 2.8: Diagrama Control de Velocidad …………………………………………... 23

Figura 2.9: Circuito Control de Aceleración ………….……………………………….. 24

Figura 2.10: Control temperatura – potencial PCD …………………………………... 25

Figura 3.1: Diagrama en Bloque del proyecto ………………………………………… 29

Figura 3.2: Placa Arduino MEGA 2560 ……………..…………………………………. 31

Figura 3.3: Microcontrolador (µC) ATMEL ATMEGA2560 …………………...… 32

Figura 3.4: Módulo SD …………………………………………………………………….. 33

Figura 3.5: Conexión Arduino y Módulo SD ………………………………………….. 35

Page 9: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

VI

Figura 3.6: Módulo RTC …………………………………………………………………... 36

Figura 3.7: Conexión Arduino MEGA2560 y Módulo RTC ………………………. 37

Figura 3.8: Esquema eléctrico de una entrada digital …………..……………………. 39

Figura 3.9: Distribución de componentes en PCB ……………………………………. 40

Figura 3.10: Esquema eléctrico de una entrada Analógica ……….………………… 42

Figura 3.11: Distribución de componentes en PCB ………………………………….. 42

Figura 3.12: Diagrama eléctrico entrada de Frecuencia …………………………….. 43

Figura 3.13: Diseño de PCB ………………..……………………………………………... 44

Figura 3.14: Diagrama eléctrico de la fuente de tensión ……………………............. 45

Figura 3.15: Diseño de PCB de la fuente de tensión …………..…………………….. 45

Figura 3.16: Diagrama de conexión del Hardware ………………………………….... 46

Figura 3.17: Entorno de programación …………………………………………………. 50

Figura 3.18: Entorno Visual Basic 2008 ……………...………………………………… 59

Figura 3.19: Pestaña datos digitales ……………………………………………………... 60

Figura 3.20: Pestaña de configuración ………………………………………………….. 60

Figura3.21: Valores entradas de Frecuencia ………………………………………...… 63

Figura 3.22: Valores entradas Analógicas …………………………………………...… 63

Figura 3.23: Curva de Velocidad % ................................................................................... 64

Figura 3.24: Curva de Temperatura …………….……………………………………….. 64

Page 10: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

VII

Figura 3.25: Curva de VCE ……………………………………………………………….. 65

Figura 4.1: Dispositivo de medición y almacenamiento digital ………...…………. 66

Figura 4.2: Pestaña Visualización de datos ………….………………………………… 67

Figura 4.3: Pestaña de configuración ……………………………………………………. 67

Índice de Tablas

Tabla 3.1: Tabla de Componentes ……………………………………………………….. 49

Tabla 3.2: Conexión en el Control ………………………………………………………. 62

Page 11: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

1

Capítulo 1

Introducción

1.1. Antecedentes

En la actualidad es cada vez más frecuente el uso de equipos registradores

de datos para la supervisión de variables; ya sean físicas, ambientales, etc. a partir

de su conversión a señal eléctrica con la utilización de los sensores adecuados, o

como en este caso proveniente directamente del control electrónico de una

determinada máquina. Esta supervisión tiene como fin almacenar el valor de las

variables a lo largo de un periodo y así analizar su comportamiento, y/o predecir

posible comportamiento. Por tales motivos, en la actualidad existen un gran

número de dispositivos que realizan estas funciones a costos elevados.

Muchos equipos comerciales modernos (conocidos como Datalogger -

Registradores de Datos) ofrecen una gran capacidad de captura y almacenamiento

de datos, como así también múltiples canales de entradas que permiten tener una

amplia capacidad en almacenamiento de variables eléctricas. Además, no solo

permiten la captura de datos sino también su procesamiento, dando la posibilidad

de obtener tablas, gráficos y archivos para poder, posteriormente, manipular y

analizar los valores y/o estados de las variables.

Page 12: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

2

En todos aquellos ámbitos en los que se deban realizar tomas de larga

duración de parámetros de medición, sin la necesidad de contar con personal de

control con una presencia continua en el lugar de la medición, se emplean

Datalogger (Tesis “Diseño y Construcción de un Instrumento electrónico para

cuantificar magnitudes físicas”, 2011). En particular en pruebas de campo, en el

transporte, en las industrias, para el análisis de error de sistemas, en el estudio de

calidad, en investigación y desarrollo; lo que lo convierte, en un dispositivo con

amplio campo de aplicación y extensión.

A tales motivos, se le atribuye la importancia adquirida de estos

dispositivos, como así también su gran desarrollo y precio elevados. Este último,

llevan a buscar una solución alternativa con el diseño e implementación de un

nuevo dispositivo de medición y almacenamiento digital.

En su mayoría, los dispositivos de medición y almacenamiento digital se

encuentra compuesto por un procesador programable, una memoria no volátil para

el almacenamiento de los datos, puertos de comunicación y de uno o varios

canales de entrada para la conexión de diferentes transductores, como así, en los

denominados de alta gama, una interfaz donde el usuario puede configurar y

visualizar los datos capturados. A su vez suelen tener un abastecimiento propio de

energía como una batería o acumulador.

Los canales de entradas permiten adaptar la magnitud de las señales de

entrada para ser procesadas. Para esto se usan adaptadores de nivel de tensión

(para señales digitales), convertidores analógicos digitales (ADC), para señales

analógicas, entre otros. En cuanto a los puertos de comunicación, se los utiliza

Page 13: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

3

para configurar el funcionamiento del equipo y para enviar los datos capturados

hacia la PC con el fin de poder visualizarlos y manipularlos en un software.

1.2. Descripción del problema

Durante el funcionamiento de algunas máquinas complejas, como un Grupo

Turbo-Generador, existe la posibilidad de ocasionarse fallas, cuyos puntos de

origen pueden resultar difíciles de detectar y por lo tanto, de encontrar una

solución. Para facilitar la búsqueda de la solución de este tipo de fallas se utilizan

Datalogger que permitan conocer los cambios de estados de las señales del control

electrónico en forma cronológica y al analizarlos, reconocer los puntos de origen

del problema, y posteriormente aislarlo y solucionarlo.

Este tipo de problema se presentó en un Grupo Turbo-Generador de la

Central Generadora General Levalle (Córdoba) perteneciente a la Empresa

Provincial de Energía de Córdoba (E.P.E.C.). La falla presente en dicho grupo,

originaba el bloqueo de la TG en condiciones aleatorias de funcionamiento sin

señalización de falla, de manera que su detección y solución resultaba compleja.

Al analizar el comportamiento de la TG al momento de ocasionarse el

bloqueo, se definieron posibles causas y se implementaron soluciones sin tener

respuesta favorable en la solución del problema, de manera que se decidió recurrir

a la utilización de un registrador de eventos utilizado en el Sector de

Comunicaciones de la E.P.E.C. Este dispositivo permitió conocer el cambio

temporal de las señales del control electrónico de la TG y al analizarlo junto a los

planos eléctricos se logró aislar, detectar y solucionar el problema.

Debido a que el dispositivo utilizado no pertenece a la Central Generadora,

su manipulación y uso queda a cargo del personal de Comunicaciones de la

Page 14: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

4

Empresa, se propone como Trabajo Final de la carrera de grado de Ingeniería

Electrónica, el diseño y la construcción de un instrumento electrónico para

almacenar el cambio de estado de señales digitales que además permita medir y

almacenar magnitudes eléctricas analógicas (tensión, corriente y frecuencia). Esto

quiere decir que el dispositivo no solo permitirá detectar el cambio de estados,

cronológicamente, de las señales digitales del control sino que también

almacenará el valor de señales analógicas que permitan conocer y registrar el

funcionamiento de la TG.

Esta propuesta permite observar, almacenar y analizar el comportamiento de

las señales eléctricas (analógicas y digitales) del control de un Grupo Turbo-

Generador, de manera que permita la solución de problemas, como así también

una buena calibración y, por lo tanto, lograr un mejor funcionamiento del equipo.

Las variables a medir y optimizar son: el consumo de combustible, los tiempos y

torques de arranque, las temperaturas alcanzadas durante el arranque y

funcionamiento nominal, entre otras.

1.3. Planteamiento de la solución

Como es amplia la variedad de Datalogger y disponibilidades a fin en el

mercado, se debe realizar una delimitación del problema donde se adapte el

dispositivo a desarrollar, a las necesidades planteadas en el punto anterior.

Para empezar se necesita que sea capaz de capturar estados lógicos digitales

y valores de tensión y de frecuencia de señales analógicas. Estos valores se deben

almacenar en una memoria no volátil junto con la fecha y hora real de captura de

cada uno para dar un orden cronológico de los eventos. Además se necesita

desarrollar un software que permita cargar los datos que se encuentran en

Page 15: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

5

memoria y poder visualizarlos en tablas y manipularlos, con lo cual se necesita

una comunicación rápida y confiable entre dispositivo y PC.

En cuanto a las señales digitales, se tienen tres niveles de tensión posibles a

medir (5Vcc, 12Vcc y 28Vcc), por lo tanto, se debe desarrollar un circuito

electrónico que permita convertir los niveles de tensión presentes en las señales

digitales a los niveles de tensión aceptables en las entradas digitales del

procesador. Las señales analógicas, posee una amplitud que varía entre ± 10Vcc, y

se necesita que el circuito adapte la señal a los niveles admisibles en el

convertidor analógico-digital del procesador. Por último, la frecuencia de las

señales alternas oscilan entre 0 y 10kHz pero con una tensión variable, lo cual

hace necesario un circuito que transforme dicha señal alterna en un tren de pulsos

de igual frecuencia y nivel de tensión fijo, para poder realizar la medición.

Estas señales, tras ser acondicionadas, deben ingresar a un procesador que

captura y almacena los valores en memoria y gestiona la comunicación con la PC

en el momento que se requiere.

1.4. Justificación

El presente trabajo está justificado por la necesidad de conocer con mayor

exactitud el comportamiento de las principales variables de funcionamiento del

Grupo Turbo-Generador, con el fin de mejorar y optimizar al máximo su

funcionamiento. Además considerando, el elevado costo de los Datalogger

comerciales, se propone el diseño y construcción de un dispositivo confiable y a

bajo costo.

Entre los impactos que se espera de este proyecto, se puede nombre como

uno de los más importantes, lograr el mejor funcionamiento del Turbo-Generador

Page 16: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

6

y a su vez disminuir al mínimo el consumo de combustible y las temperaturas de

funcionamiento. Además, se espera que se convierta en una herramienta de gran

importancia en la localización y solución de fallas disminuyendo las pérdidas que

éstas generan.

Otro aspecto no menos importante, es lograr un impacto positivo en la

Empresa ya que se pretende que el proyecto quede abierto para que en un futuro

pueda ser adaptado e implementado en otros Grupos Generadores y/o equipos

existentes en toda la cadena del Sistema de Energía Eléctrica.

1.5. Objetivos Generales

Diseñar y construir un instrumento electrónico para cuantificar magnitudes

eléctricas analógicas (tensión, corriente y frecuencia), y almacenar el cambio de

estado de señales digitales.

1.6. Objetivos Específicos

Permitir un funcionamiento autónomo, durante el tiempo necesario, sin

intervención del operador.

Permitir la conexión con una PC y el monitoreo desde la misma de los

datos capturados en tiempo real.

Almacenar los datos en un dispositivo extraíble estándar, para permitir la

lectura de los datos desde cualquier lugar.

Page 17: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

7

Capítulo 2

Central Generadora

2.1. Lugar de implementación

En las Centrales Generadores de General Levalle y de San Francisco ambas

pertenecientes a E.P.E.C., nace la necesidad de poder mejorar la etapa de

calibración periódica, del control de tres TG, permitiendo aproximar aun mas los

valores y condiciones de funcionamiento a los especificados en los manuales de

fábrica. Además, la de brindar una herramienta que permita solucionar problemas

de manera más rápida y ágil. Dichas necesidades impulsaron el desarrollo e

implementación de un dispositivo de medición y almacenamiento digital.

La Central Generadora de General Levalle, ubicada en km 540 Ruta

Nacional Nº 7 en la localidad de General Levalle, provincia de Córdoba, fue el

lugar principal de desarrollo del presente trabajo junto con el Laboratorio de

Mecatrónica de la Facultad de Ingeniería y Ciencias Agropecuarias de la

Universidad Nacional de San Luis (FICA-UNSL). Dicha central pertenece a las

20 centrales generadoras de energía eléctrica pertenecientes a la E.P.E.C.,

organismo encargado de generar y proveer energía al Sistema Interconectado

Provincial (S.I.P.) como así también de la comercialización de energía a otras

empresas encargadas de distribuirla a los usuarios. (Ver Anexo 3).

Page 18: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

8

Esta central está compuesta por dos Grupos Turbo-Generadores a gas, los

cuales se denominan TG 1 y TG 2 (TG: Turbo-Gas). Según Manual de Servicio

TG (JB 1980), cada Turbo-Generador se encuentra compuesto por tres paquetes

principales: el paquete de turbina marca JOHN BROWN ENGINEERING, el

paquete del generador marca BRUSH y el del sistema de protección y control, de

GENERAL ELECTRIC. Cada una de las partes será detallada a continuación.

2.1.1. Turbina

La planta de fuerza de cada Grupo Turbo-Generador es una turbina de gas

de combustión independiente, compacta, que provee fuerza motriz industrial

confiable y de bajo costo. Dicha turbina permite la generación de energía

mecánica rotacional, con la utilización de aire caliente a compresión, que luego

será aprovechada por el generador para convertirla en energía eléctrica. Este tipo

de generación, es considerada como “Generación Térmica” ya que su

funcionamiento se basa en la compresión de aire atmosférico con su posterior

elevación de temperatura para aumentar su presión y así provocar el giro de la

turbina y el correspondiente compresor de aire. (Manual de Servicio TG, JB 1980)

La turbina de gas de único árbol y ciclo simple, modelo “P”, comprende los

siguientes componentes principales: compresor de flujo axial, sistema de

aprovisionamiento de combustible y combustión, y turbina, además de varios

sistemas auxiliares entre los que se pueden nombrar bomba de aceite mecánica,

bomba de aceite auxiliar, caja reductora, escape, sistema de refrigeración, etc. En

la figura 2.1, se puede observar una ilustración de la Turbo-Gas. (Ver Anexo 3).

Page 19: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

9

Figura 2.1: Ilustración Grupo Turbo-Generador.

El aire atmosférico es dirigido hacia el compresor axial, donde pasa a través

de múltiples etapas de compresión (16 etapas de alabes) y se descarga en las

cámaras de combustión, y posteriormente en la turbina (de 2 etapas de alabes).

Mientras el aire pasa a través de la cámara de combustión, se calienta para

alcanzar la temperatura requerida de entrada de la turbina, por medio del

combustible que se quema en esta cámara. Dicho combustible es suministrado

por el Sistema de Combustible de la Central. El gas resultante de alta temperatura,

se expande luego en la turbina que maneja el compresor axial y el equipo de

carga. Luego de pasar por la turbina, el gas sale por el escape a la atmosfera.

La Turbo-Gas se arranca para el funcionamiento, con la utilización de un

equipo de arranque por un lapso de aproximadamente 3 minutos. Cuando alcanza

aproximadamente el 20% de la velocidad de régimen (cerca de 1000 RPM), las

bujía encienden la mezcla del combustible/aire en la cámara de combustión. La

Page 20: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

10

misma se autosustenta y la ignición se mantiene solo por un periodo de tiempo

muy breve (1 min.). El equipo de arranque asiste a la unidad hasta la velocidad de

autosustentación (cerca de 3000 RPM) y en dicho momento se desacopla. La

unidad acelera hasta la velocidad de operación del regulador automático de

control y está disponible para la carga a las 5105 R.P.M. La dirección de la

rotación del compresor y la turbina, es de sentido contrario a las agujas del reloj,

si se observa desde el extremo de la entrada. (Manual de Servicio TG, JB 1980).

Se utiliza una combinación del motor diésel – conversor de torsión, para el

arranque. Esto otorga un “arranque negro” puesto que no requiere de fuente

externa de energía pudiendo arrancar con cero tensión de línea. Dicho motor

diésel es de doce cilindros, dos tiempos, con una velocidad de 2300 R.P.M. Posee

una potencia de 500HP y se encuentra colocado en uno de los extremos del grupo

Turbo-Gas. (Manual de Servicio TG, JB 1980).

Un sistema de control electrónico de estado sólido, controla todos los

parámetros de operación y da indicación visual del estado de la turbina a lo largo

de todas las etapas de operación. Se provee una protección mecánica de

sobrevelocidad, por medio de un perno de velocidad excesiva.

Un sistema de lubricación centralizado, provee aceite fresco, limpio y

presurizado a la unidad, y los requerimientos de disipación de calor se satisfacen

mediante disposiciones de refrigeración por agua. Para el enfriamiento de la

carcasa y rueda de la turbina, se insufla aire del compresor; este aire también sella

los laberintos de cojinetes para maximizar la vida de las partes. Se incorporan

varios ítems controlados hidráulicamente, en el diseño y estos están atendidos por

un sistema hidráulico de aceite.

Page 21: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

11

2.1.2. Generador

El paquete del generador tiene la misma apariencia general que el paquete

de la turbina. Contiene la caja de cambios de carga, el generador, su equipo de

excitación y sus sistemas auxiliares. Como se dijo anteriormente, el generador fue

construido por la empresa BRUSH, y permite tomar la energía mecánica

entregada por la turbina, produciendo el giro del rotor del generador y

transformando la energía mecánica en eléctrica.

El generador está encerrado y utiliza un sistema de aire/agua para

enfriamiento medio. Posee un campo rotativo, guiado por la turbina, y una

armadura fija. La parte rotativa está sustentada por dos cojinetes simples

presurizados. Además incluye detectores de temperatura en los devanados de la

armadura, en los pasajes de aire y en los arrollamientos.

Manual de Servicio TG, JB 1980; este generador está diseñado para

generar energía eléctrica a una frecuencia de 50Hz, por lo que necesita que el

rotor gire a una velocidad de 3000 R.P.M., y es capaz de entregar una potencia

de salida a plena carga de 28000kVA a una tensión de 13,2kV y corriente de

1,225kA. (Ver Anexo 3).

Esos 28MVA de potencia pueden ser distribuidos en potencia activa o

reactiva según el consumo existente en la línea en cada momento. Para esto posee

un elemento denominado excitatriz, que es un pequeño generador también marca

BRUSH, controlado por 125 V, encargado de controlar el campo magnético en el

rotor del generador y por lo tanto, las condiciones de generación. Este elemento

también permite regular la tensión de generación, ya que con una sobreexcitación

se puede lograr una mayor tensión, necesaria en ciertas condiciones de línea.

Page 22: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

12

Esta energía es entregada a la playa de transformadores donde se eleva la

tensión a un valor de 66kV para ser transportada. Esta conexión entre el generador

y el trasformador se realiza mediante un interruptor de máquina marca EFACEC

Divac 1731H. Dicho interruptor posee una tensión Ur de 17.5kV y corriente Ir de

3,15kA, cuyas características soportan las condiciones de generación. En cuanto al

interruptor de línea, que conecta la salida del transformador a la línea de 66kV,

marca ASEA es de pequeño volumen de aceite tipo HLC 72.5 y 84 kV, 1600A

con mecanismos de accionamiento BLG 104.

2.1.3. Sistema de protección y control

Cada turbina trabaja por separado y poseen su propio sistema de protección

y control, el cual se denomina SPEED-TRONIC (Mark II). El manual del Sistema

de Protección y Control, Capime; define a este sistema como un sistema de

control electrónico digital y analógico de estado sólido que provee las señales

analógicas y digitales necesarias para controlar y proteger las operaciones del

Grupo Turbo-Generador. (Ver Anexo 3).

Las condiciones de operación de la turbina son detectadas y utilizadas como

señales de realimentación del control, que está dividido en tres subsistemas

principales: Arranque, Velocidad y Temperatura, que pueden ser activados

durante la operación de la turbina y sus salidas están conectadas a una Compuerta

de Valor Mínimo (actúa como llave selectora de bajo voltaje) a través de la cual se

conecta a la línea del Control Electrónico de Voltaje (VCE) para el control del

Combustible. En la figura 2.2, se observa el esquemático de los tres tipos de

control y del significado del control del combustible en relación a la señal de

comando de combustible. Hay sensores que detectan la velocidad, temperatura y

Page 23: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

13

presión de descarga del compresor de la turbina para determinar las condiciones

de operación de la unidad. Cuando es necesario para el control de la turbina alterar

las condiciones de operación en razón de cambios en la carga o condiciones

ambientales, se lo logra modulando el flujo de combustible a la turbina a través de

la señal de voltaje VCE.

La salida con tensión más baja, de los amplificadores de entrada pasa la

compuerta hacia el sistema de control de combustible como control del voltaje de

VCE. El control Electrónico de Voltaje es la señal de comando para el

combustible, regulando la entrada de combustible a la turbina en la cantidad

requerida por el sistema que está bajo control, y que se encuentra señalizado en el

panel frontal de control. El cambio entre los módulos de control de velocidad,

temperatura y arranque tiene lugar sin discontinuidad.

Figura 2.2: Principio Control SPEED TRONIC.

Los sistemas de protección se utilizan para prevenir condiciones anormales

que podrían dañar a la turbina. Los parámetros críticos de operación controlados

por el sistema de protección son: temperatura, velocidad, vibración y llama. Se

Page 24: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

14

proveen sistemas de sobretemperatura y sobrevelocidad como sistemas

independientes de respaldo a los sistemas de temperatura, control y velocidad. La

detección y protección de vibración es activada cuando la amplitud de la vibración

de la turbina alcanza el límite preseleccionado. La detección de la llama y el

sistema de protección es activado si no se produce la llama durante el arranque, o

si la misma se pierde durante la operación. Cada sistema de protección tiene

canales redundantes de operación ya que cada uno opera independientemente y

produce el desenganche de la unidad si su señal corresponde a una condición de

desenganche.

2.1.4. Chan Over

Otro de los sistemas importantes del Grupo Turbo-Generador es el sistema

de alimentación eléctrica, denominado “CHAN OVER”. Este sistema entrega una

tensión trifásica de 380V que es utilizada para toda la etapa de potencia (como

bombas de aceite, ventiladores, bombas de agua, etc.) y también para la parte de

control, donde se distribuye en una tensión de 125Vcc para el banco de batería,

±12V y 5V para el panel del control y 28V para las tensiones de campo.

Este sistema consiste de tres contactores de potencia destinados a

seleccionar la fuente de energía eléctrica necesaria según el estado del Grupo

Turbo-Generador. Esto quiere decir que mientras la TG se encuentra detenida o en

una velocidad inferior a la de régimen, la energía eléctrica es tomada directamente

de la línea de transmisión. Mientras que una vez alcanzada la velocidad de

régimen, donde comienza la generación, realiza la conmutación a la etapa de

autosustentación donde toma energía del propio Generador (tensión 13,2kV) y

Page 25: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

15

con un transformador se obtiene los 380V necesarios (llamado Transformador de

Servicios Auxiliares).

2.2. El control “SPEED-TRONIC”

El control Speed-Tronic (Ver panel esquemático en figura 2.3 y panel real

en la figura 2.4.), está conformado por un total de 156 tarjetas electrónicas,

interconectadas entre sí según las necesidades del circuito electrónico. Cada una

de ellas tiene definidas sus funciones según el tipo, algunas son de uso particular

como las de control de combustible, control de arranque, control de temperaturas,

mientras que otras son de uso general como compuertas, temporizadores, etc.

(Manual de Servicio TG, JB 1980).

Page 26: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

16

Figura 2.3: Panel esquemático

Page 27: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

17

Figura 2.4: Panel Speed-Tronic real.

2.2.1. Secuencia de control y arranque

El arranque de la turbina a gas requiere una secuencia correcta de señales de

comando a los accesorios, dispositivos de arranque y sistema de control de

combustible de la turbina. Siendo que un arranque seguro y exitoso depende del

funcionamiento correcto de casi todo el equipo de la turbina a gas, es importante

verificar la secuencia de los dispositivos seleccionados. (Manual Sistema de

Protección y Control, Capime).

Muchos de los circuitos lógicos de control están asociados no solo con los

dispositivos de control actuantes, sino que también en circuitos de protección

obteniendo condiciones permisivas antes de una operación. En la figura 2.5, se

Page 28: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

18

puede observar un diagrama de bloque de todos los circuitos que tienen relación

con el control del arranque.

Figura 2.5: Secuencia Arranque y Control Mark II

2.2.2. Sensores de Velocidad

Sistema de Protección y Control, Capime; “una parte importante de la

secuencia de arranque de la turbina es el correcto registro de la velocidad”. Esto

es necesario para la secuencia lógica en el arranque y también para la detención de

Page 29: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

19

la turbina. Para el registro de velocidad se utilizan los siguientes cuatro relés de

velocidad: 14HR relé de velocidad cero, 14HM relé de mínima velocidad, 14HA

relé de aceleración y 14HS relé de alta velocidad.

El relé de velocidad cero (14HR) provee una señal cuando el eje de la

turbina comienza a rotar. Si la velocidad está por debajo del parámetro 14HR, la

lógica permisiva inicia el acoplamiento del embrague y la secuencia de arranque

de la turbina. Durante el ciclo de parada, este relé provee la señal para permitir

que el dispositivo de girado sea puesto en servicio en la secuencia lógica de

enfriamiento de la turbina. En cuanto al relé 14HM, indica que la turbina ha

alcanzado su velocidad mínima de encendido e inicia la purga previa al

encendido. La caída de dicho relé, provee varias funciones permisivas para un

nuevo encendido de la turbina a gas luego de una detención.

La activación del relé de aceleración, indica que la turbina ha alcanzado

aproximadamente 40% del ciclo de aceleración. La entrada del relé de alta

velocidad 14HS indica que se alcanzó la velocidad de operación y que la

secuencia de aceleración ha sido completada. Con esta señal son actuados los

alabes guías variables y la purga del compresor. La salida del relé 14HS, en una

detención normal, se produce aproximadamente al 75% de la velocidad (3800

R.P.M.) llevando VCE a cero, cerrando los alabes guías variables y abriendo las

válvulas de purga del compresor. (Manual Sistema de Protección y Control,

Capime).

2.2.3. Control de puesta en marcha

El control de puesta en marcha consiste en la regulación de VCE según

niveles preestablecidos en la tarjeta denominada SSKC del control SPEED

Page 30: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

20

TRONIC y así generar las señales de comando de combustible para la secuencia.

Sistema de Protección y Control, Capime; “Los niveles regulados son FUEGO,

CALENTAMIENTO y LIMITE DE ACELERACION”. A su vez, pueden intervenir

las tarjetas de los controles independientes de manera que durante la secuencia de

arranque los incrementos de velocidad y temperatura de escape sean limitados por

sus circuitos independientes de control, para proteger las partes de la turbina de

excesivas tensiones mecánicas y térmicas. En la figura 2.6, se puede observar un

diagrama en bloque de los circuitos de arranque.

Figura 2.6: Secuencia de arranque.

Mientras la turbina está detenida se efectúan verificaciones electrónicas de

las válvulas de relación parada/velocidad, válvulas de control de gas, accesorios y

provisión de voltaje. Una luz encendida en el panel “CHECK” indica que esos

sistemas están operativos y en correcto estado, girando el Selector de Operación al

modo requerido (“OFF”, “CRANK”, “FIRE” y “START”) se activa el circuito

seleccionado. Si todos los circuitos de protección y enganche de disparo están

Page 31: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

21

activos, la luz “RELAY” se encenderá e indicara que el sistema acepta una señal

de arranque.

Cuando la llave principal de control se coloca en la posición “START”, se

da señal de arranque, para energizar el control principal, los circuitos de

protección (denominados circuitos 4, que permiten la presurización del sistema de

aceite de control y el enganche del embrague de arranque) y arrancan los circuitos

auxiliares necesarios. De esta manera el dispositivo de arranque comienza a girar

(Ver punto A de la figura 2.7). Durante esta etapa se da un ciclo temporizado de

purga que al finalizar permite que el combustible fluya, se fije un nivel de

encendido de VCE y se inicie el ciclo temporizado de encendido (Ver punto B,

figura 2.7).

Cuando el detector de llama indica que la llama ha sido establecida, en los

combustores, arranca el temporizado de calentamiento y la señal de comando de

combustible es fijada en el nivel “WARMUP” de VCE. Este tiempo de

calentamiento es fijado para minimizar las tensiones térmicas durante el arranque.

Una vez finalizada la temporización, el control de arranque incrementa

exponencialmente VCE hasta el límite de aceleración (Ver punto C, figura 2.7).

De esta manera, la turbina acelera hasta alcanzar su velocidad de régimen y

así pasar al punto D, donde se fija un valor mínimo de VCE para mantener esa

velocidad. Dicho valor de VCE luego es modificado para aumentar el torque de la

turbina, manteniendo la velocidad fija, y permitiendo comenzar con el ciclo de

generación incrementando carga.

Page 32: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

22

Figura 2.7: Secuencia típica de arranque.

2.2.4. Sistema de control de velocidad

El sistema de control de velocidad está diseñado para controlar la velocidad

y la carga de la turbina, operando en respuesta a la señal real de velocidad de la

turbina y llamada por el punto regulado de velocidad. Mientras la turbina esta en

control de velocidad, la luz indicadora verde del panel estará energizada.

En la figura 2.8, se puede observar el diagrama en bloque del control de

velocidad en el que se puede ver que consiste de las tarjetas llamadas SHPB,

SFPB y SSZB en conjunto con el punto digital regulado.

Page 33: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

23

Figura 2.8: Diagrama Control de Velocidad.

2.2.5. Sistema de control de aceleración

Incluido en el circuito de control de velocidad (tarjeta SSZB) hay otro

amplificador operacional que actúa para diferenciar la señal de velocidad. La

señal diferencial (aceleración) es comparada a una señal fija para regular VCE si

un rango de aceleración con pendiente del 1% por segundo es excedido. (Manual

Sistema de Protección y Control, Capime).

En la figura 2.9, se observa el circuito de aceleración que generalmente solo

actúa durante periodos del arranque, pero puede actuar en cualquier momento en

que el régimen de velocidad sea excedido.

Page 34: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

24

Figura 2.9: Circuito Control de Aceleración.

2.2.6. Sistema de control de temperatura

Para operar dentro de los límites de diseño de tensiones térmicas de las

partes de la turbina, hay temperaturas máximas permisibles que no deberán ser

excedidas. Por lo tanto, es necesario tener un sistema de control de temperatura

que controle el flujo de combustible cuando la temperatura de operación ha

alcanzado los límites de diseño. Dentro de la turbina a gas, la temperatura más alta

se encuentra en las cámaras de combustión y en la entrada a la turbina, por lo

tanto es esta la que debe ser limitada por el sistema de control. Pero medir la

temperatura en ese lugar resulta poco práctico, por lo tanto el sistema está

diseñado para realizar un control indirecto midiendo y controlando la temperatura

de escape de la turbina.

Este control indirecto puede ser realizado a través de las relaciones

termodinámicas para la performance del ciclo de la turbina, pero el valor de la

temperatura de escape (Tx) no determina por si solo los valores de la temperatura

a controlar, sino que se necesita otro parámetro que es la presión de descarga del

compresor (PCD). De esta manera el sistema determina la temperatura límite de

encendido por una relación predeterminada de los dos parámetros mencionados y

Page 35: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

25

así logra controlar el flujo de combustible por medio del VCE manteniendo la

temperatura por debajo del límite establecido.

Cabe remarcar que el control de temperatura esta realizado por la tarjeta

STKD del SPEED TRONIC, además de los sensores de temperatura, doce

termocuplas de cromo-aluminio ubicadas alrededor del conducto de escape de la

turbina. En la figura 2.10, se puede observar el esquema del control de

temperatura.

Figura 2.10: Control temperatura – potencial PCD.

2.3. Calibración del sistema de control

Cada Grupo Turbo-Generador, vino incorporado de un calibrador destinado

a realizar los ajustes necesarios en su control. Este calibrador está compuesto por

fuentes de tensión y frecuencia variables que permiten simular los valores que

toman los diferentes transductores y ajustar las señales de salida de control y así

Page 36: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

26

sus variaciones para poder mantener el funcionamiento lo más próximo al

óptimo.

Dicha tarea debe ser realizada periódicamente, en las distintas paradas de

mantenimiento como así también en caso de fallas o cambio de piezas.

Page 37: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

27

Capítulo 3

Implementación

3.1 Metodología de diseño

En este capítulo se describe el proceso de desarrollo del proyecto, para lo

cual se describe la metodología adoptada mediante los puntos siguientes:

1. Análisis de las señales a medir. Numero y valores.

2. Diseño de la estructura básica del proyecto

3. Selección del microcontrolador, que cuente con la capacidad suficiente

para la cantidad y tipo de entradas requeridas, además de la velocidad de

procesamiento

4. Diseño de circuitos adaptadores de señales

5. Diseño y programación del microcontrolador

6. Visualización de los datos en PC

3.2 Etapas básicas del proyecto

En el punto anterior se describieron los pasos a seguir a la hora de llevar a

cabo el proyecto planteado, los cuales marcaron las pautas para mantener un orden

en el estudio y desarrollo del mismo.

El proyecto, se puede dividir en dos partes, una primera, el desarrollo y

prueba del hardware y la segunda, el software. A esto se refiere a la programación

Page 38: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

28

del microcontrolador y la realización de la interfaz de usuario. Estas dos partes se

desarrollan en los dos puntos siguientes.

3.3 Diseño del hardware

3.3.1 Análisis de las señales

En el primer capítulo (punto 1.3.) se definió los tipos y niveles de tensión de

las señales que el dispositivo desarrollado debe ser capaz de medir. Para avanzar

en las etapas del desarrollo del proyecto, es necesario definir el número de señales

de cada tipo.

En cuanto a las señales digitales, decir que en el control general del Turbo-

Generador se encuentran un gran número de señales de comportamiento digital,

tales como señales del control propiamente dicho, relés, presostatos, detectores de

llama, entre otros. Para este tipo de señal se estable un número mínimo de ocho

(8) entradas.

Importantes pero menos comunes en el control general, son las señales

analógicas continuas y alternas provenientes de transductores, servos, pickup de

velocidad, entre otras. Se determina que para señales analógicas es suficiente con

cuatro (4) entradas y dos (2) para las entradas de frecuencia (alternas).

3.3.2 Diseño de la estructura básica del proyecto

A partir de los análisis previos, tanto del requerimiento de señales a medir

como también del tipo y capacidad de almacenamiento, visualización, reloj, etc. se

procedió a diseñar un diagrama en bloque de la estructura básica del proyecto, el

cual se puede observar en la figura 3.1. Este diagrama permite visualizar y

Page 39: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

29

comprender de forma rápida y sencilla las partes estructurales del dispositivo de

medición en desarrollo.

uP PCTransductoresLectura de

valores

Envio datos

Configuración

Alm

ace

na

mie

nto

y

Le

ctu

ra d

e d

ato

s

Memoria SD

Modulo RTC

SoftwareVisualizaciónAnalógica

Digital

Frecuencia

Figura 3.1: Diagrama en Bloque del proyecto

3.3.3 Hardware de adquisición y transmisión de datos

Al analizar la oferta de procesadores del mercado, se decide utilizar el

microcontrolador Arduino MEGA2560 para capturar las señales de entradas y

realizar el procesamiento de dichos datos. Esta elección se debe a que sus

características (especificadas en los apartados 3.3.3.1 y 3.3.3.2) que permiten

satisfacer los requisitos de entrada y velocidad de procesamiento.

El microcontrolador MEGA2560 como la mayoría de los

microcontroladores de gama baja cuentan con una pequeña memoria interna, lo

cual es desfavorable para este proyecto, que requiere de una elevada capacidad de

almacenamiento como así también un método extraíble. Por tales motivos, se opta

por el almacenamiento en memoria SD con la utilización del módulo SD de

Arduino. Los datos almacenados en la memoria deben estar referidos a la fecha y

hora real al momento de la captura, para lo cual se utiliza el correspondiente

módulo Real Time Clock (RTC) de Arduino. Este módulo está destinado a

mantener la hora y fecha incluso al desconectar la alimentación principal del

Page 40: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

30

microcontrolador, utilizando una pila del tipo CR-2032. Por último, se estableció

la comunicación por USB para enviar los datos a la PC.

3.3.3.1 ¿Qué es Arduino? y ¿Por qué Arduino?

Herrador en 2009 dijo “Arduino es una plataforma de prototipo electrónica

de código abierto basada en hardware y software flexible y fácil de usar. Está

pensado para artistas, diseñadores, como hobby y para cualquier interesado en

crear objetos o entornos interactivos”.

Arduino puede “sentir” el entorno mediante la recepción de entradas desde

una variedad de sensores y controlar a su alrededor mediante la manipulación de

actuadores como luces, motores, etc. el microcontrolador de la placa se programa

usando el “Arduino Programming Language”, basado en el lenguaje C, y el

“Arduino Development Environment”. Los proyectos de Arduino pueden ser

autónomos o se pueden comunicar con software en ejecución en un ordenador.

Las placas se pueden ensamblar a mano o encargarlas preensambladas, el

software se descarga gratuitamente. Los diseños de referencia de hardware están

disponibles bajo licencia open-source, por lo que se es libre de adaptarlas a tus

necesidades.

Aunque Arduino es una más de las tantas plataformas microcontroladas

disponibles en el mercado, ofrece algunas ventajas para profesores, estudiantes y

aficionados sobre otros sistemas, tales como: bajo costo, multiplataforma, entorno

de programación simple y claro, código abierto y software extensible, hardware

extensible, entre otros.

Page 41: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

31

3.3.3.2 Arduino MEGA 2560

Arduino Mega 2560 (ver figura 3.2) es una versión ampliada de la tarjeta

original de Arduino y está basada en el microcontrolador Atmega2560, que se

puede observar en la figura 3.3, junto a su distribución y conexión de pines.

Esta placa dispone de 54 pines que pueden funcionar como entradas/salidas

digitales, 14 de las cuales se pueden utilizar como salidas PWM (modulación de

anchura de pulso). Además dispone de 16 entradas analógicas, 4 UARTs (puertos

series), un oscilador cristal de 16MHz, una conexión USB, un conector de

alimentación, un conector ICSP y un pulsador para el reset. Para empezar a

utilizar la placa sólo es necesario conectarla a la PC a través de un cable USB, o

alimentarla con un adaptador de corriente AC/DC. También, puede alimentarse

mediante una batería. (Datasheet Microcontrolador ATmega2560, 2014).

La tarjeta Arduino MEGA2560 es compatible con la mayoría de los shield o

tarjetas de aplicación/ampliación disponibles para las tarjetas Arduino UNO

original.

Figura 3.2: Placa Arduino MEGA 2560.

Page 42: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

32

Figura 3.3: Microcontrolador (µC) ATMEL ATMEGA2560.

Se hace un listado de las características principales de la placa usada en el

proyecto:

Microcontrolador ATmega2560

Tensión de alimentación (recomendado) 7-12V

Integra regulación y estabilización de +5Vcc

54 líneas de Entradas/Salidas Digitales (14 de ellas se pueden utiliza como

salidas PWM)

16 Entradas Analógicas

Máxima corriente continua para las entradas: 40 mA

Salida de alimentación a 3.3V con 50 mA

Memoria de programa de 256Kb (el bootloader ocupa 8Kb)

Memoria SRAM de 8Kb para datos y variables del programa

Page 43: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

33

Memoria EEPROM para datos y variables no volátiles

Velocidad del reloj de trabajo de 16MHz

Reducidas dimensiones de 100 x 50 mm

Analizando dichas características, se concluye que se satisfacen los

requerimientos determinados en la sección 3.3.1 La velocidad de 16MHz es

suficiente para realizar el procesamiento requerido sin perder información y el

número de entradas digitales y analógicas disponibles son mayores al número

requerido.

3.3.3.3 Módulo SD Arduino

De acuerdo a lo mencionado en el apartado 3.3.3, se decide almacenar los

datos capturados en una memoria SD, utilizando un módulo de bajo costo para

realizar la conexión de dicha memoria con la placa Arduino. Este módulo,

mostrado en la figura 3.4 permite la comunicación entre el Arduino y la tarjeta SD

llevada a cabo bajo el protocolo SPI (Serial Peripherical Interface), y cuenta con

el soporte mecánico necesario para que la conexión y extracción se realice

fácilmente.

Figura 3.4: Módulo SD.

Page 44: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

34

A pesar de sus cuantiosas ventajas, se debe tener en cuenta ciertos aspectos

importantes a detallar:

Las tarjetas SD funcionan a 3.3V. Usar una tensión mayor puede romper la

tarjeta.

Casi todas las placas Arduino funcionan a 5V, por lo tanto no pueden

usarse directamente.

El lector de LC Studio tiene un pin para 5V y uno para 3.3V. El pin de 5V

está conectado a un regulador de tensión que transforma la tensión de 5V a

3.3V pero sólo para la alimentación de la tarjeta, no para las señales.

El pin de 3.3V del lector sólo es de salida, no es de entrada.

Dicha diferencia de niveles de tensión de funcionamiento entre uno y otro

debe ser solucionada con un divisor resistivo como se muestra en la figura 3.5.

Concretamente se trata de adaptar las siguientes señales:

SCK, MOSI, CS deben ir conectados del Arduino al conversor de niveles,

y del conversor al lector de tarjetas. La tensión de salida de estas señales

debe ser 3.3V

La señal MISO puede ir conectada directamente al Arduino (esta señal va

sólo del lector al Arduino).

Page 45: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

35

Figura 3.5: Conexión Arduino y Módulo SD.

A continuación se muestra un código de ejemplo, que permiten escribir

datos en una memoria SD.

#include <SD.h>

const int chipSelect = 53;

void setup(){

// Configuración del puerto serie para informar de fallos a través de él.

Serial.begin(9600);

// El pin CS por defecto de la placa Arduino debe ser configurado como salida

pinMode(53, OUTPUT);

// Si existió un error al leer la tarjeta se informa por el puerto serie.

if (!SD.begin(chipSelect)){

Serial.println("Error al leer la tarjeta.");

return;

}

}

void loop(){

// Se crean las variable para guardar el valor del potenciómetro.

int pot=0;

// leer los datos del potenciómetro.

pot=analogRead(0);

// se abre el fichero donde se guardaran los datos (Si no existe se crea

automáticamente).

File dataFile = SD.open("valorpot.txt", FILE_WRITE);

// Si el fichero es correcto escribe en el.

if (dataFile) {

// Escribir en el fichero "POT: "

dataFile.print("POT: ");

// A continuación se escribe el valor de la variable pot y salta a la línea

siguiente.

dataFile.println(pot);

dataFile.println("-----5s-----");

// Cerrar el archivo.

dataFile.close();

// Avisa que se ha podido escribir correctamente.

Serial.println("impresión correcta");

// Si no logro escribir en el fichero avisar por el puerto serie.

}else{

Serial.println("Error al escribir en valorpot.txt");

Page 46: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

36

}

// Esperar 5s para tomar la siguiente medida.

delay(5000);

}

3.3.3.4 Módulo RTC Arduino

El Arduino, al igual que los demás microcontroladores restablece sus

valores al desconectar la alimentación y toda la información de la memoria RAM

se pierde. Además, la memoria EEPROM no volátil es de pequeño tamaño y por

lo tanto impide el almacenamiento de grandes cantidades de datos. Esto genera la

necesidad de utilizar memoria externa no volátil, como por ejemplo una tarjeta

SD.

Además, reiniciar el microcontrolador origina la pérdida del contador de

tiempo interno (funciones millis() y micros() de Arduino), restableciendo la hora

actual a cero, lo cual no es deseable en este proyecto. Para evitar este problema, se

emplea un módulo RTC de Arduino, mostrado en la figura 3.6.

Figura 3.6: Módulo RTC.

Este módulo se conecta al Arduino MEGA mediante el bus Inter- Integrated

Circuits (I2C), con la utilización de una librería que facilita ésta comunicación. El

modelo utilizado es el Tiny RTC I2C que incorpora un reloj de tiempo real

Page 47: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

37

DS1307, una batería para memorizar los datos y una pequeña memoria EEPROM

24C32, además de una simple conexión, la cual se observa en la figura 3.7.

Figura 3.7: Conexión Arduino MEGA2560 y Módulo RTC.

Dicha librería se apoya en la librería Wire para la comunicación I2C, por lo

que debe ser referencia e incluirla en el código. RTClib es compatible con

cualquier módulo RTC que use el chip DS1307. A continuación se muestra un

simple código para utilizar este módulo.

#include <Wire.h>

#include "RTClib.h"

RTC_DS1307 RTC;

void setup () {

Wire.begin(); // Inicia el puerto I2C

RTC.begin(); // Inicia la comunicación con el RTC

//RTC.adjust(DateTime(__DATE__, __TIME__)); // Establece la fecha y hora (Comentar

una vez establecida la hora)

Serial.begin(9600); // Establece la velocidad de datos del puerto serie

}

voidloop(){

DateTimenow = RTC.now(); // Obtiene la fecha y hora del RTC

Serial.print(now.year(), DEC); // Año

Serial.print('/');

Serial.print(now.month(), DEC); // Mes

Serial.print('/');

Serial.print(now.day(), DEC); // Dia

Serial.print(' ');

Serial.print(now.hour(), DEC); // Horas

Serial.print(':');

Serial.print(now.minute(), DEC); // Minutos

Serial.print(':');

Serial.print(now.second(), DEC); // Segundos

Serial.println();

delay(1000); // La información se actualiza cada 1 seg.

}

Page 48: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

38

3.3.4 Hardware adaptador de señales

En esta etapa se tomó en cuenta las características de las señales a medir y

de los valores que toma como entrada el microcontrolador para diseñar y construir

los circuitos de adaptación. Se tuvo presente que las señales son tomadas de

puntos internos del control de la máquina y que ese dispositivo tiene su propio

sistema de alimentación independiente del sistema eléctrico de la central, por lo

tanto requiere un sistema de masas aisladas para que dicha conexión no afecte su

funcionamiento.

A la hora de diseñar estos circuitos se debe tener en cuenta el tipo de señal

(digital, analógica y/o frecuencia), los niveles de tensión (28V, 12V, 5V, etc.), la

frecuencia y, algo no menos importante para este tipo de control, el consumo de

corriente.

El consumo de corriente por parte de la entrada del circuito adaptador debe

ser muy pequeño, del orden de los µA, ya que si tienen una baja impedancia de

entrada producen caídas de tensión importantes impidiendo su buen

funcionamiento. Por esto, en el diseño de los circuitos adaptadores deben ser

considerados con una alta impedancia de entrada.

3.3.4.1 Entradas Digitales

Entre las entradas digitales, se tienen señales que provienen de compuertas y

temporizadores provenientes del panel de control con un nivel lógico 1 de tensión

de salida de 5Vcc y alimentadas con ±12Vcc. Así también algunas que se dirigen

hacia la máquina (señal de salida del control) con un nivel lógico 1 de 28Vcc.

Como se observa, se tienen distintos niveles de tensión en este tipo de entradas,

Page 49: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

39

por tal motivo se debe diseñar un circuito capaz de llevar las tensiones de entradas

a los niveles aceptables por el microcontrolador.

Los circuitos electrónicos de adaptación, para este tipo de entrada, deben

transformar un nivel lógico 0 que oscila entre 0V y 1V a un nivel lógico 0 de

entrada al microcontrolador de 0V fijo. Mientras que para un nivel lógico 1 que

oscila entre 3V y 28V a un nivel lógico 1 de entrada al microcontrolador de 5V.

Para esto, se decidió colocar un amplificador operacional en la entrada de

ganancia 3 y su salida ingresa a un circuito buffer CD74HCT245 que permite que

toda entrada menor a 1.8V origine un 0 lógico a la salida y las entradas mayores a

2.1V, corresponden a un 1 lógico. En la figura 3.8, se observa el diagrama

eléctrico, realizado con la ayuda de un software de diseño electrónico adecuado al

igual que los demás esquemáticos del trabajo. En la figura 3.9, el correspondiente

diseño de la placa Printed Circuit Board (PCB) para las 8 entradas requeridas.

Figura 3.8: Esquema eléctrico de una entrada digital.

74hct245

74HC245DW_VHDL

A34

A56A45

A67

A78

A89

DIR1

A23A12

~G19

B1 18

B2 17

B3 16

B4 15

B5 14

B6 13

B7 12

B8 11

U2

TL080CP

3

2

4

7

6

51

8

R1

3.3MΩ

R2

10MΩ

R4

4.7MΩ

R3

3.3MΩ

5V

15V

VDD

-15V

R5

10MΩ

R6

10MΩ

4

ENTRADA

TEST_PT1

Acom

TEST_PT1

Pin_uP

TEST_PT1

5V

15V

Page 50: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

40

Figura 3.9: Distribución de componentes en PCB.

3.3.4.2 Entradas Analógicas

Una parte muy importante en el control del Grupo Turbo-Generador se basa

en las señales de entrada y salidas. Las primeras son señales que provienen de

transductores situados en la parte de campo del Grupo y entregan información del

estado del mismo, mientras que las segundas van desde el control hacia el Grupo

y permiten regular el funcionamiento de los actuadores y así poder gobernar el

estado del mismo como también de los equipos auxiliares, en todo momento.

Page 51: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

41

Haciendo un relevamiento de este tipo de señales se puede decir que en su

mayoría son señales de corriente continua pero con valor que oscila entre los ±

10Vcc. Por tal motivo, se decidió hacer un circuito adaptador que convierta el

rango de valores de ± 10Vcc al rango de valores admisibles por el Convertidor

Analógico Digital (ADC) de la placa Arduino, que comprende los valores de 0 a

5V. Esto quiere decir, que cuando se tiene una tensión de entrada de -10V se debe

tener una tensión de 0V como salida del adaptador y a su vez entrada del ADC del

Arduino. De igual modo, para 0V de entrada corresponde a 2,5V en su salida y

para 10V de entrada, 5V de salida. Esto origina una ecuación de relación entrada-

salida que permite determinar el valor que se está midiendo, la misma se puede

observar en la ecuación 1.

𝑉𝑎𝑙𝑜𝑟𝑟𝑒𝑎𝑙 =𝑉𝑎𝑙𝑜𝑟 𝐴𝐶𝐷

𝑉𝑎𝑙𝑜𝑟 𝑀𝑎𝑥𝐴𝐶𝐷 (1)

Donde 𝑉𝑎𝑙𝑜𝑟𝑀𝑎𝑥𝐴𝐶𝐷 = 51.15− 10 .

En la figura 3.10, se observa el esquema eléctrico, el cual indica que el

circuito de cada entrada está compuesto por dos configuraciones de

amplificadores operacionales. Una primera etapa corresponde a un amplificador

diferencial de ganancia 0.25 de manera de disminuir a un ¼ los niveles de tensión

de entrada, es decir que el rango de ±10V se transforma en ±2.5V. La segunda

etapa es un amplificador sumador de ganancia 1, esto permite sumarle una tensión

de 2.5V a la salida de la primera etapa y desplazar el rango de ±2.5 a un rango de

0 a 5V. En la figura 3.11, se puede observar el diseño de la PCB para 4 entradas

analógicas.

Page 52: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

42

Figura 3.10: Esquema eléctrico de una entrada Analógica.

Figura 3.11: Distribución de componentes en PCB

3.3.4.3 Entradas de Frecuencia

Durante el estudio realizado en la etapa de diseño del hardware adaptador de

señales se determinó que en su mayoría las señales corresponden al grupo Digital

y Analógico, pero unas pocas señales de salida de transductores son de corriente

U2

TL080CP

3

2

4

7

6

51

8

R1

3.3MΩ

R2

1MΩ

R3

3.3MΩ

5V

15V

VDD

-15V

R5

1MΩ

ENTRADA

TEST_PT1

Acom

TEST_PT1

Pin_uP

TEST_PT1R72MΩ

Key=A50%R82MΩ

Key=A50%R4

1MΩ

R6

1MΩ

R9

2MΩ

Key=A

50% U1

TL080CP

3

2

4

7

6

51

8

v

-5V

R10

1MΩ

VCC

5V

Page 53: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

43

alternas cuya amplitud y frecuencia varían con proporción a la señal de entrada;

esto quiere decir que se tiene una señal alterna con amplitud y frecuencia variable.

Por tal motivo, se decidió medirlas en función de la frecuencia, y se diseño un

circuito electrónico consistente de un amplificador de ganancia infinita por

entrada.

El diseño realizado permite convertir la señal alterna senoidal en una señal

cuadrada de igual frecuencia pero cuyos valores son 0V, nivel mínimo, y 5V,

nivel máximo para poder ser señales de entrada en la placa Arduino y así medir la

frecuencia de dicha onda cuadrada. En las figuras 3.12 se observa el diagrama

eléctrico y en la 3.13, el correspondiente diseño PCB.

Se debe remarcar que para este tipo de señal se necesitó tomar la

alimentación para el Amplificador Operacional desde la fuente de tensiones del

control Speed-Tronic ya que al ser alterna, el A.O. perdía la referencia y entregaba

señales erroneas. A la salida del amplificador se decidió colocar un optoacoplador

para aislar las masas y entregar la señal de onda cuadrada referida a la masa del

microcontrolador de medición.

Figura 3.12: Diagrama eléctrico entrada de Frecuencia.

U1TL080CD

3

2

4

7

6

51

8

U2OPTOCOUPLER_VIRTUAL

R1

3.3MΩ

R2

10MΩ

R3

1kΩ

R4

1kΩ

P12V

5V

N12V

5VGND

N12V

5V

GND

ENTRADA

TEST_PT1

SALIDA

TEST_PT1

Page 54: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

44

Figura 3.13: Diseño de PCB

3.3.4.4 Fuente de Tensión

Al finalizar con el diseño y construcción de las placas adaptadoras, se

determinaron las tensiones necesarias para el funcionamiento y se procedió al

diseño y construcción de una fuente de tensión que alimente dichos circuitos.

En la figura 3.14, se observa el diagrama eléctrico de la fuente de tensión de

tipo lineal ya que los consumos de corrientes requeridos son muy pequeños y por

lo tanto las perdidas y alteraciones no justifican el desarrollo de otro tipo de fuente

como las conmutadas. Los niveles de tensión requeridos son +15Vcc, +5Vcc, -

5Vcc y -15Vcc, los cuales se obtienen de la red de 220Vca 50Hz. En la figura

3.15, se puede observar el diseño PCB de la misma.

Page 55: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

45

Figura 3.14: Diagrama eléctrico de la fuente de tensión.

Figura 3.15: Diseño de PCB de la fuente de tensión.

3.3.5 Diagrama de conexionado

En esta sección se muestra el diagrama de conexión de las distintas placas,

en las cuales se especifican el número de pin y el tipo de alimentación requerida.

El mismo se puede observar en la figura 3.16.

T1

TS_AUDIO_10_TO_1D11B4B42

1

2

4

3

C12.2mF

C22.2mF

U1

LM7815CT

LINE VREG

COMMON

VOLTAGE

U2

LM7805CT

LINE VREG

COMMON

VOLTAGE

U3

LM7905CT

LINE VREG

COMMON

VOLTAGE

U4

LM7915CT

LINE VREG

COMMON

VOLTAGE

C310uF

C410uF

C510uF

C610uF

P5

TEST_PT1

GND

TEST_PT1

N5

TEST_PT1

N15

TEST_PT1

P15

TEST_PT1

Page 56: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

46

uC

MODULO RTC MODULO SDGND

GND

5V

5V

CS

53

MOSI

51

SCK

52

MISO

50

GND

GND

VCC

5V

SDA

20

SCL

21

DIGITAL

30 31 32 33 34 35 36 37

ANALOGICO

A0

1

A1

2

A2

3

A3

4 5

A5

6 7

A7

8

A6A4

FREC.

2

1

3

2

PC USBUSB

F.T.

GND

GND +5V +15V-15V -5V

220V

50Hz

1 2 3 4 5 6 7 8

Figura 3.16: Diagrama de conexión del Hardware.

3.3.6 Lista de Elementos

En la siguiente sección se muestra una lista con un resumen de los

principales elementos utilizados en la construcción del dispositivo de medición y

almacenamiento digital, especificando su función y límites de operación en el

proyecto desarrollado.

Imagen Nombre Función

Principal

Limitaciones

de Operación

Microcontrolador

Atmega 2560. 1

Proceso de datos

recibidos y

almacenamiento

en memoria SD.

Envió de datos a

PC.

Número de

interrupciones.

Espacio de

memoria.

Placa Arduino

Mega 2560.

Placa de

desarrollo que

conecta el µC.

Atmega2560 con

los periféricos

necesarios para

su

funcionamiento.

No se observa.

1Información disponible en http://pdf.datasheetcatalog.com/datasheets2/30/3055029_1.pdf

Page 57: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

47

Módulo RTC Mantiene la hora

y fecha real con

ausencia de la

alimentación.

Solo entrega

Hs/min/seg. En

caso de este

proyecto se

necesitan

también los

miliseg.

Módulo SD Conexión entre

memoria SD y

µC.

Niveles de

tensión de

funcionamiento

diferentes a los

del µC

Amplificador

Operacional

TL080. 2

Permiten una

entrada de alta

impedancia y

masas aisladas.

Sensible a

ruidos.

Limitación de

frecuencia,

máxima de

20kHz.

CD74HCT245.3 Permiten

asegurar el

voltaje de

entrada en el µC.

No se observó.

LM7815. 4

Mantiene +15V

necesario para el

funcionamiento

de los

componentes del

sistema.

No se observó.

LM7805. 5 Mantiene +5V

necesario para el

funcionamiento

de los

componentes del

sistema.

No se observó.

LM7905. 6 Mantiene -5V

necesario para el

funcionamiento

de los

componentes del

sistema.

No se observó.

2Información disponible en http://pdf.datasheetcatalog.com/datasheet/texasinstruments/tl080.pdf 3Información disponible en http://pdf.datasheetcatalog.com/datasheet2/1/02glhewsates3885ie825lrz9dcy.pdf 4Información disponible en http://pdf.datasheetcatalog.com/datasheets/150/44435_DS.pdf 5Información disponible en http://pdf.datasheetcatalog.com/datasheet/fairchild/LM7805.pdf 6Información disponible en http://pdf.datasheetcatalog.com/datasheet/fairchild/LM7905.pdf

Page 58: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

48

LM7915. 7 Mantiene -15V

necesario para el

funcionamiento

de los

componentes del

sistema.

No se observó.

Memoria SD Almacenamiento

de datos para ser

enviados a la Pc.

No se observó.

Batería de 3V Asegura que se

mantendrá la

hora y la fecha

aunque esté

desconectada la

fuente de

alimentación.

No se observó.

Diodos Para

rectificación de

onda senoidal.

No se observó.

Capacitores Filtran señales

para tener

respuestas más

estables.

No se observó.

Resistencias Manejo del

voltaje adecuado

en diferentes

puntos del

sistema.

No se observó.

Trimmer

multivueltas

Permiten tener

un ajuste fino de

la ganancia en

las

configuraciones

de los A.O.

No se observó.

7Información disponible en http://pdf.datasheetcatalog.com/datasheet/fairchildsemiconductor/LM7915.pdf

Page 59: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

49

Transformador Transforma el

nivel de tensión

de c.a. Reduce la

tensión de

entrada de 220V

a 12V+12V para

alimentar la

fuente.

Perdidas

propias del

transformador.

Gran tamaño y

peso.

Inyección de

ruidos

eléctricos al

sistema de

medición.

Tabla 3.1: Tabla de Componentes

3.4 Diseño del software

3.4.1 Arduino

En esta sección se hace una pequeña introducción a la plataforma de

programación de Arduino como así también, una breve explicación de las distintas

líneas de la programación que determina el funcionamiento del microcontrolador

Mega 2560.

La plataforma Arduino se programa mediante el uso de un lenguaje propio

basado en el lenguaje de programación de alto nivel Processing. Sin embargo, es

posible utilizar otros lenguajes de programación y aplicaciones populares en

Arduino, debido a que Arduino usa la transmisión serial de datos soportada por la

mayoría de los lenguajes mencionados. Para los que no soportan el formato serie

de forma nativa, es posible utilizar software intermediario que traduzca los

mensajes enviados por ambas partes para permitir una comunicación fluida.

(Tapia y Manzano, 2013).

En nuestro caso, se utilizó directamente el entorno de desarrollo (IDE)

descargado de la página web de Arduino. Se dispone de versiones para Windows

Page 60: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

50

y para MAC, así como las fuentes para compilarlas en LINUX. En la Figura 3.17,

se muestra el aspecto del entorno de programación.

Figura 3.17: Entorno de programación.

En la figura 3.17, se observa el entorno de programación de Arduino, la cual

es bastante simple y divide la ejecución en dos partes: setup y loop. Setup()

constituye la preparación del programa y loop() es la ejecución. En la función

Setup() se incluye la inicialización de variables y se trata de la primera función

que se ejecuta al iniciar la ejecución. Esta función se ejecuta una única vez y es

empleada para configurar el pinMode (p. ej. si un determinado pin digital es de

entrada o salida) e inicializar la comunicación serie. La función loop() incluye el

código que se ejecutara en forma continua (leyendo las entradas de la placa,

salidas, etc.). Arduino está basado en C y soporta todas las funciones del estándar

C y algunas de C++. A continuación se muestra un resumen con la estructura y

sintaxis del lenguaje Arduino:

Sintaxis básica

Delimitadores:;, {}

Page 61: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

51

Comentarios: //, /* */

Cabeceras: #define, #include

Operadores aritméticos: +, -, *, /, %

Asignación: =

Operadores de comparación: ==, !=, <, >, <=, >=

Operadores Booleanos: &&, ||, !

Operadores de acceso a punteros: *, &

Operadores de bits: &, |, ^, ~, <<, >>

Operadores compuestos:

Incremento y decremento de variables: ++, --

Asignación y operación: +=, -=, *=, /=, &=, |=

Estructuras de control

Condicionales: if, if...else, switch case

Bucles: for, while, do... while

Bifurcaciones y saltos: break, continue, return, goto

En primer lugar para comenzar a trabajar con el entorno de desarrollo de

Arduino se deben configurar las comunicaciones entre la placa Arduino y el PC.

Para esto, se le debe indicar al entorno el tipo de placa a conectar, el procesador y

el puerto. Una vez terminada esta configuración, se recomienda realizar una

prueba para verificar que todo funciona correctamente con la utilización del

ejemplo “Blink” (parpadeo de un LED ubicado en la placa Arduino) y poder

conocer las herramientas del entorno que facilitan la programación.

Page 62: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

52

En la barra superior de la interfaz encontramos los principales botones

(nuevo, abrir, guardar, verificar y cargar) los cuales permiten iniciar un nuevo

proyecto como así también recuperar uno ya creado o guardarlo. El botón cargar,

permite cargar el programa en el microcontrolador para iniciar su ejecución, pero

algo importante que se recomienda hacer durante el avance de la programación es

verificar periódicamente la sintaxis de las líneas. Es importante remarcar, que el

entorno Arduino incorpora una herramienta llamada “monitor serial” la cual

permite observar los valores de variables o verificar una determinada línea de

programación por medio de la comunicación serial.

En los apartados siguientes se mostraran porciones de códigos

correspondientes a las distintas secciones, destacando los puntos más importantes.

Para observar el código fuente de Arduino ir a Anexo 1.

3.4.1.1 Entradas Digitales

El proceso de lectura y almacenamiento de cada entrada digital, consiste en

leer continuamente la entrada y comparar el estado actual con el último

almacenado en memoria. Si esta comparación da que los estados son diferentes se

debe almacenar este último valor en memoria junto a la hora y fecha de medición

y además debe quedar registrada para la próxima comparación de la entrada. En

caso contrario, que los estados coincidan, el microcontrolador no debe realizar

ninguna operación.

Como entrada al Arduino, se decidió conectar la salida de la placa de

adaptación a los pines 30 al 37, para lo cual se tuvo que definir en el programa a

dichos pines como entrada. A continuación se muestra una pequeña porción del

código utilizador para realizar la operación.

Page 63: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

53

// ENTRADA DIGITAL

for (iD=30; iD<34; iD++) { //lee del pin 30 al pin 50 Ent_digital

if (digitalRead(iD) != Valor_Digital[iD-30]){ //si el nuevo estado es

diferente al anterior almacenar

Valor_Digital[iD-30] = !Valor_Digital[iD-30]; //se niega el valor existente

y se almacena

escribirDigital(iD-30, Valor_Digital[iD-30]);

}

}

3.4.1.2 Entradas Analógicas

A diferencia de las entradas digitales, el proceso de lectura de las entradas

analógicas y de frecuencia, consiste en muestrear el valor de las entradas cada un

cierto tiempo preestablecido y almacenar dicho valor en la memoria junto a la

fecha y hora de la medición.

Para este tipo de entrada, se tuvo que configurar el convertidor analógico

digital y un timer con interrupción para realizar la medición cada 500ms (Ver

Anexo 1). Dichos almacenamiento se realiza en una matriz de valores y otro de

fecha. A continuación se muestra una pequeña porción del código de

implementación.

// MUESTREO ENTRADAS ANALOGICAS y FRECUENCIA

ISR(TIMER1_OVF_vect){

TCNT1=34286;

for(iA=0; iA<8; iA++){

muestra[jA].valor[iA] = (leer_adc(iA)/51.15-10);

}

muestra[jA].h = Hora.h;

muestra[jA].m = Hora.m;

muestra[jA].s = Hora.s;

muestra[jA].t = Hora.t;

muestra[jA].D = Fecha.d;

muestra[jA].M = Fecha.m;

muestra[jA].A = Fecha.a;

jA++;

}

// ENTRADAS ANALOGICAS y FRECUENCIA

//Almacenamiento en memoria

if (jA==20){

escribirAnalogica();

escribirFrecuencia();

jA=0;

}

3.4.1.3 Entradas de Frecuencia

Ya se definió el principio de lectura y almacenamiento junto a las entradas

analógicas, ahora se debe que agregar que, en este caso, para realizar la medición

Page 64: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

54

se utilizaron las entradas digitales con interrupción externa (pin 2 y pin 3) por lo

tanto se tuvo que configurar dichos pines como entrada y habilitar la interrupción.

La interrupción externa trabaja en conjunto con un contador lo que permite

determinar el tiempo que transcurre entre dos pulsos consecutivos y así poder

determinar la frecuencia del tren de pulso. De todos estos valores generados, solo

se almacena uno cada 500ms; esto quiere decir que los demás valores se pierden.

(Ver Anexo 1).

A continuación se muestra una porción del código que define el

funcionamiento de este tipo de entrada.

// MUESTREO ENTRADAS ANALOGICAS y FRECUENCIA

ISR(TIMER1_OVF_vect){

TCNT1=34286;

muestra[jA].h = Hora.h;

muestra[jA].m = Hora.m;

muestra[jA].s = Hora.s;

muestra[jA].t = Hora.t;

muestra[jA].D = Fecha.d;

muestra[jA].M = Fecha.m;

muestra[jA].A = Fecha.a;

Valor_Frecuencia[0][jA] = Valor_Frec[0];

Valor_Frecuencia[1][jA] = Valor_Frec[1];

jA++;

}

// ENTRADAS DE FRECUENCIA

// Interrupcion de frecuencia por pin 2

ISR(INT4_vect) {

t3.bytes[0] = TCNT3;

TCNT3 = 16;

Valor_Frec[0] = (16000000.0f/t3.valor); //convierte el valor en Hz.

t3.valor = 0;

}

// Interrupcion de frecuencia por pin 2

ISR(INT5_vect) {

t4.bytes[0] = TCNT4;

TCNT4 = 16;

Valor_Frec[1] = (16000000.0f/t4.valor); //convierte el valor en Hz.

t4.valor = 0;

}

3.4.1.4 Almacenamiento en memoria

Para el almacenamiento de los datos utilizando el módulo SD de Arduino, se

decidió crear un archivo de texto separado por comas, para cada tipo de datos

donde almacenar los valores lectura tras lectura. De esta forma, se logra un envió

Page 65: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

55

de datos entre el Arduino y la PC de forma sencilla, ya que se lee cada archivo de

forma completa.

En este apartado solo se mostrara la porción de código para la inicialización

de la memoria SD y del archivo digital.txt junto con el código para almacenar los

valores digitales en dicho archivo. Para poder observar el código para las entradas

analógicas y de frecuencia ver Anexo 1, código fuente de Arduino.

// FUNCION INICIO MEMORIA SD Y ARCHIVOS

voidinicializarSD() {

// MEMORIA SD

pinMode(53, OUTPUT); //inicio de memoria

Serial.print("Inicializando SD...");

//controlar que la SD este correcta

if (!SD.begin(53)){

Serial.println("Fallo o tarjera no presente");

}

else{

Serial.println("SD correcta");

}

}

// inicio archivo DIGITAL

voidinicioArchivoDigital(){

File digitalFile = SD.open("digital.txt", FILE_WRITE);

StringdigitalString = "FECHA,HORA,ENTRADA,ESTADO";

digitalFile.println(digitalString);

digitalFile.close();

return;

}

// FUNCION ESCRIBIR DATOS DIGITALES EN SD

voidescribirDigital(int id, int valor) {

String digitalString = "";

File digitalFile = SD.open("digital.txt", FILE_WRITE);

digitalString += String (Fecha.d) + String ("/") + String (Fecha.m) + String

("/") + String (Fecha.a) + String (",");

digitalString += String (Hora.h) + String (":") + String (Hora.m) + String

(":") + String (Hora.s) + String (":") + String (Hora.t) + String (",");

digitalString += String (id) + String (",") + String (valor);

digitalFile.println(digitalString); //escribir en archivo Digital.txt

digitalFile.close();

}

3.4.1.5 Hora y fecha real

Mantener la hora y fecha real es uno de los puntos importantes a la hora de

almacenar los datos leídos, ya que este proyecto se basa en el comportamiento

cronológico de las entradas. Para esto se utilizó el módulo RTC como registro de

hora al momento de desconectar la alimentación del Arduino y un conjunto de

registros para llevar la fecha y hora en el momento de la ejecución. Esto se tuvo

Page 66: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

56

que realizar de esta manera ya que el módulo RTC solo entrega información de

hora, minutos, segundos, y se requiere de una resolución de milisegundos.

// MÓDULO RTC

Wire.begin(); // Inicia el puerto I2C

RTC.begin(); // Inicia la comunicación con el RTC

//RTC.adjust(DateTime(__DATE__, __TIME__)); // Actualiza hora y dia de la

computadora en la que se compile.

// HORA Y FECHA

ISR(TIMER2_OVF_vect){

TCNT2=131;

Hora.t++;

if (Hora.t>999) {

Hora.t=0;

Hora.s++;

}

if (Hora.s>59) {

Hora.s=0;

Hora.m++;

}

if (Hora.m>59) {

Hora.m=0;

Hora.h++;

}

if (Hora.h>23) {

Hora.h=0;

Fecha.d++;

}

if(Fecha.d>maxdia[Fecha.m-1]) {

Fecha.m++;

if(Fecha.m == 13) { Fecha.m = 1; Fecha.a++; }

Fecha.d = 1;

}

}

3.4.1.6 Comunicación serial

Por último en Arduino se programó la comunicación serial, que se utiliza

para recibir los comandos desde la PC y enviar los datos correspondientes hacia

ella. Además se puede recibir la orden de borrar por completo algún archivo en

particular de la memoria SD. A continuación se muestra el código utilizado para

realizar estas dos operaciones para las entradas digitales, mientras que el

correspondiente a las entradas analógicas y de frecuencia se encuentra en Anexo

1, código fuente de Arduino.

// COMUNICACION USB

//si existe datos disponibles, leerlos

if (Serial.available()>0){

optionjA=jA; //Guarda posicion de memoria

option=Serial.read();//lee la opcion enviada

if(option=='d'){

File dataFile = SD.open("digital.txt"); // Abrir el archivo.

// Si se podo abrir correctamente:

Page 67: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

57

if (dataFile) {

// Mostrar un aviso de comienzo del txt

Serial.println("* A continuacion se muestra los datos Digitales");

// Mandar sus datos por el puerto serie.

while (dataFile.available()) {

Serial.write(dataFile.read());

}

dataFile.close(); // Cerrar el archivo.

// Si no se consiguió abrir el archivo mandar un error.

}else {

Serial.println("Error al abrir digital.txt");

}

}

// borrar archivos de SD

if (option=='i'){

SD.remove("Digital.txt");

inicioArchivoDigital();

}

jA=optionjA; //Restablecer posición de memoria

}

3.4.2 Visual Basic

La última etapa de desarrollo del dispositivo de medición y almacenamiento

digital consiste en el diseño y construcción de una interfaz amigable para el

usuario, la cual debe ser un software en la PC que le permita, de manera sencilla y

clara, cargar los datos almacenados hasta el momento en la memoria SD, como así

también guardarlos en la PC y manipularlos. Dicha interfaz se desarrollo con la

utilización del entorno de programación Visual Basic.

Ramos en 2010 dijo “Visual Basic es una aplicación y un lenguaje de

programación desarrollados por Alan Cooper para Microsoft. Se origina en el

clásico lenguaje BASIC”. La primera versión salió en 1991 en un entorno

relativamente sencillo para facilitar la creación de programas gráficos. Visual

Basic, como su nombre lo indica, utiliza una interfaz totalmente visual.

Actualmente, los programas creados en Visual Basic sólo funcionan en

Windows. La aplicación Visual Basic, permite crear ventanas, botones, menús,

etc. de forma sencilla con solo arrastrar y soltar los elementos. Luego se pueden

definir las apariencias, posiciones y comportamientos tanto de forma visual como

utilizando códigos de programación.

Page 68: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

58

Este lenguaje toma elementos de diferentes paradigmas como el orientado a

objetos y el orientado a eventos. Visual Basic suele considerarse un sistema RAD

(Rapid Application Development), porque permite crear aplicaciones de forma

rápida, especialmente para prototipos. (Ramos, 2010).

En la figura 3.18, se puede observar el entorno de programación Visual

Basic junto a los distintos elementos que lo componen y facilitan la programación.

Esto es lo que básicamente se ve al crear un nuevo proyecto, lo primero que

podemos observar es el “Cuadro de Herramientas”, en el cual se encuentran todos

los controles que puedes agregar al proyecto como cajas de texto, label, tablas,

combo box, listas, botones que simplemente con arrastra ya tienes tu control en el

Form, bien sea Windows o Web. El “Explorador de Soluciones”, aquí es donde

veras todos los archivos de tu proyecto como las imágenes, cantidad de

formularios, base de datos, nos permite agregar elementos ya existentes o nuevos.

Dentro del explorador tenemos todos los archivos que tengan que ver con nuestro

proyecto. Al crear un nuevo proyecto por defecto se abre el primer

formulario (WINDOWS FORM) por defecto nombrado form1.

Además en la margen derecha tenemos algo muy importante para definir las

características de nuestra ventana, la “Ventana de Propiedades”, cada objeto que

este en nuestro formulario tiene sus propiedades distintas, hasta el mismo

formulario, una vez seleccionados la ventada de propiedades mostrara cada una de

ella y se podrás modificarla para obtener la apariencia deseada.

Page 69: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

59

Figura 3.18: Entorno Visual Basic 2008

3.4.2.1 Interfaz

En esta sección se diseño la interfaz grafica del programa, la cual debe ser

clara para el usuario y permitir una utilización sencilla e intuitiva. Para cumplir

con lo anterior se decidió dividir la pantalla en cuatro pestañas, tres de las cuales

son idénticas y cada una de ellas permite el tratamiento de un tipo de datos

(digital, analógico o de frecuencia) y una cuarta destinada a la configuración.

En la figura 3.19: se muestra la pestaña destinada a la manipulación de datos

digitales. En la misma se puede observar que en su mayoría se encuentra ocupada

por una caja de texto en la cual se mostraran los datos relacionados. Además, en la

margen inferior izquierda se encuentran dos botones para controlar los datos en la

memoria SD ya que el primero se llama cargar, el cual permite cargar el archivo

Page 70: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

60

digital.txt de manera completa y un segundo llamado borrar, el cual borra todos

los datos del archivo. En la margen derecha inferior se ubican cuatro botones

(abrir, guardar, limpiar, graficar) que permiten manipular los datos en la PC.

Figura 3.19: Pestaña datos digitales.

En cuanto a la pestaña de configuración (ver figura 3.20), por el momento

solo se coloco la configuración de la comunicación serial y los botones para

conectar y desconectar el programa con el microcontrolador Arduino por USB. En

la margen superior derecha, se coloco un indicador del estado de la conexión por

USB.

Figura 3.20: Pestaña de configuración.

Page 71: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

61

3.4.2.2 Programación

Una vez diseñada la interfaz grafica, se deben definir las funciones de cada

uno de los elementos colocados en ella. Esto se realiza en la ventana de código del

programa, en el cual se definen o relacionan los objetos en líneas de código del

lenguaje Basic.

Para comenzar con esta parte de la programación, se comenzó con la

comunicación serial, para lo cual se colocaron líneas de código que nos permiten

reconocer los puertos de la PC en los cuales se puede establecer una conexión y al

seleccionar los parámetros de conexión y presionar el botón “conectar” la misma

es iniciada. Si esta se logra establecer, el indicador cambia de estado, apareciendo

la palabra Conectado. Esta porción se código se puede observar a continuación.

PrivateSub Form1_Load(ByVal sender AsObject, ByVal e As EventArgs)

HandlesMyBase.Load

BuscarPuerto()

EndSub

PrivateSub BuscarPuerto()

'Busca los puertos disponibles para establecer conexion y los muertra en ComboBox

Try

ComboBoxPuerto.Items.Clear()

ForEach puerto AsStringInMy.Computer.Ports.SerialPortNames

ComboBoxPuerto.Items.Add(puerto)

Next

If ComboBoxPuerto.Items.Count > 0 Then

ComboBoxPuerto.SelectedIndex = 0

Else

MsgBox("NO HAY PUERTOS DISPONIBLES EN TU SISTEMA")

EndIf

Catch ex As Exception

MsgBox(ex.Message, MsgBoxStyle.Critical)

EndTry

EndSub

PrivateSub BotonConectar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles BotonConectar.Click

'al hacer click en conectar toma la configuracion y conecta el dispositivo

Try

With SerialPort

.BaudRate = ComboBoxVelocidad.Text

.DataBits = NumeroBitDato.Value

.Parity = NumeroBitParidad.Value

.StopBits = NumeroBitParada.Value

.PortName = ComboBoxPuerto.Text()

.Open()

If .IsOpen Then

LabelEstado.Text = "Conectado"

Else

MsgBox("CONEXION FALLIDA!", MsgBoxStyle.Critical)

EndIf

EndWith

Catch ex As Exception

Page 72: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

62

MsgBox(ex.Message, MsgBoxStyle.Critical)

EndTry

AddHandler SerialPort.DataReceived, AddressOf Recepcion

EndSub

Una vez establecida la conexión, se procedió a definir los botones de control

de datos en la memoria SD. Para esto, se partió de la comunicación serial

establecida en el Arduino la cual espera las letras d, a y f para enviar los archivos

digital.txt, analog.txt y frecu.txt respectivamente, y las letras i, n y r para vaciar

los mismos.

Por lo dicho anteriormente, los tres botones “cargar” del programa envían la

letra correspondiente para que el Arduino le envié los archivos y asigna la caja de

texto en la cual se mostraran los datos recibidos por el puerto, mientras que los

botones “borrar” solo envían la letra y no realizan ninguna operación en el

programa. Estas líneas de código se pueden observar en Anexo, código Visual

Basic junto con las líneas de los botones que nos permiten manipular los datos en

la PC.

3.5 Prueba del Dispositivo

Se conectó el dispositivo de medición y almacenamiento digital,

desarrollado, en el control de la TG para observar su comportamiento. Para esto se

decidió tomar las mediciones necesarias para obtener la curva de arranque

mostrada en la figura 2.7. Las mismas corresponden a la Velocidad, Temperatura

y VCE en función del tiempo. En la tabla 3.2 se observa la conexión realizada

para llevar a cabo la medición.

Medición Entrada Tarjeta Pin

Velocidad F1 SSZB (1L1O) Pin 3

Temperatura A1 STKK (1L1L) Pin 14

VCE A2 SSKC (1L1R) Pin 24

Tabla 3.2: Conexión en el Control.

Page 73: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

63

En la figura 3.21 se observan los valores de las entradas de frecuencia en el

software desarrollado y la grafica correspondiente a la velocidad en la figura 3.22.

En la figura 3.23 se observan los de las entradas analógicas, mientras que en la

figura 3.24 se observa la curva de temperatura y en la 3.25 la de VCE.

Figura 3.21: Valores entradas de Frecuencia.

Figura 3.22: Valores entradas Analógicas.

Page 74: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

64

Figura 3.23: Curva de Velocidad %.

Figura 3.24: Curva de Temperatura.

0

20

40

60

80

100

120

13:0

:0:2

44

13:0

:16:

711

13:0

:33:

677

13:0

:50:

641

13:1

:7:1

01

13:1

:24:

520

13:1

:41:

478

13:1

:57:

930

13:2

:14:

870

13:2

:31:

816

13:2

:48:

729

13:3

:5:1

66

13:3

:22:

105

13:3

:38:

971

13:3

:55:

408

13:4

:12:

322

13:4

:29:

185

13:4

:45:

596

13:5

:2:4

63

13:5

:19:

313

Velocidad %

Vel %

0123456789

13:0

:0:2

4413

:0:1

7:70

913

:0:3

5:67

313

:0:5

3:63

313

:1:1

1:59

013

:1:3

0:9

13:1

:47:

462

13:2

:5:4

0513

:2:2

3:34

113

:2:4

1:25

913

:2:5

9:19

513

:3:1

6:62

613

:3:3

4:48

413

:3:5

2:41

813

:4:1

0:33

113

:4:2

8:18

713

:4:4

5:59

613

:5:3

:451

13:5

:21:

305

Temperatura

Temperatura

Page 75: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

65

Figura 3.25: Curva de VCE.

En esta prueba, se observo una correcta aceptación, por parte de la TG, de

los circuitos de adaptación diseñados, pero una inestabilidad indeseada en las

entradas analógicas producto del diseño. La misma quedara planteada como

trabajo futuro para lograr la curva real de operación de la TG.

0

2

4

6

8

10

12

14

13

:0:0

:24

413

:0:1

4:71

513

:0:2

9:68

513

:0:4

4:15

513

:0:5

9:12

013

:1:1

3:58

61

3:1

:29

:11

13:1

:43:

474

13:1

:57:

930

13:2

:12:

875

13:2

:27:

331

13:2

:42:

249

13:2

:56:

702

13:3

:11:

645

13

:3:2

6:9

213

:3:4

0:96

413

:3:5

5:40

813

:4:1

0:33

113

:4:2

4:73

713

:4:3

9:63

51

3:4

:54

:14

13

:5:8

:92

013

:5:2

3:29

7

VCE

VCE

Page 76: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

66

Capítulo 4

Manual de Usuario

4.1 Partes del Dispositivo de Medición y Almacenamiento Digital

Figura 4.1: Dispositivo de medición y almacenamiento digital.

Page 77: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

67

Figura 4.2: Pestaña Visualización de datos

Figura 4.3: Pestaña de configuración

4.2 Ensamble del Dispositivo

Antes de poner a funcionar el instrumento de medición (Datalogger) debe

asegurarse que posee lo siguiente:

1. Los cables que corresponden a los sensores que se encargaran de monitorear las

señales a medir, los cuales deben conectarse según el tipo de señal a medir ver en

la figura 4.1.

Page 78: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

68

2. Debe tener además disponible un toma de energía de 220V 50Hz para energizar

el Datalogger, en la figura 4.1. se observa el cable de alimentación, el cual

corresponde a la energía del instrumento.

3. Colocar la memoria SD en la ranura correspondiente tal como se observa en la

figura 4.1.

4. Controlar la carga de la batería de 3V para asegurarse que la fecha y hora del

dispositivo sea la correcta.

4.3 Funcionamiento del Dispositivo

Una vez cumplidos los pasos explicados en el apartado anterior puede poner

a funcionar su Datalogger (ponerlo a censar las variables de entrada) de la manera

siguiente:

1. Enchufe la alimentación y presione el botón de encendido/apagado (observar

LED indicador rojo encendió) y su instrumento está en marcha.

2. El dispositivo se encuentra midiendo y almacenando los valores de las señales

de entrada. Espere el tiempo deseado de medición.

3. Para observar los datos vea el apartado 4.4.

4. Finalizada la medición, apague el dispositivo, usted observara que el LED

indicador se apagara, finalizara la captura de datos y queda listo para desconectar

los cables.

Page 79: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

69

4.4 Lectura de datos en PC

La lectura de los datos se puede realizar con la utilización del software

propio del instrumento a través de la comunicación USB o a través de un lector de

memoria SD.

Pasos por comunicación USB:

1. Encender la PC y abrir el software del dispositivo

2. Con el instrumento encendido conectar el cable USB al puerto de la PC

3. Configurar la comunicación y conectar el dispositivo con el software. Ver

figura 4.3.

4. Vaya a la pestaña correspondiente al tipo de dato a leer y presione el botón

cargar. Ver figura 4.2.

5. En la pantalla aparecerán los datos almacenados hasta el momento en la

memoria

6. Usted puede manipular los datos en pantalla o almacenarlo en la PC para un

posterior uso

7. Una vez finalizado, termine la comunicación con el botón “desconectar”

8. Desconecte el cable USB y si desea cerrar el software

Pasos para leer los datos desde la memoria SD:

En este caso no se utiliza el puerto USB, por lo tanto se necesita en la PC un

lector de memoria SD.

Page 80: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

70

1. Simplemente presione el botón de apagado y se cerraran las mediciones, usted

podrá observar que el LED indicador rojo se apagara

2. Luego retire la memoria SD y colóquela en el lector correspondiente para ser

conectada en cualquier PC y así descargar los datos medidos.

3. Coloque el adaptador en la PC y está listo para abrir su memoria de tal forma

que pueda observar los archivos creados, deberá presentar los tres tipos de datos

medidos y cantidad de memoria consumida

4. Elija el archivo que quiera analizar y dele doble clic para abrirlo con el software

del dispositivo o en otro software destinado a abrir archivos .txt estructurado, se

recomienda EXCEL, ya que se puede visualizar los datos correctamente,

manipularlos y graficarlos.

5. Esta listo para tratar sus datos de acuerdo a sus necesidades. Por ejemplo si

desea elaborar tablas, hacer comparaciones o elaborar gráficos.

Page 81: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

71

Capítulo 5

Conclusiones y Trabajos Futuros

5.1 Conclusiones

Se ha cumplido con los objetivos del presente trabajo, logrando implementar

un dispositivo de medición y almacenamiento digital que permita operar

independientemente, y de una forma simple para el usuario, y sin afectar el

funcionamiento del Grupo Turbo-Generador de la Central Generadora General

Levalle para la cual fue diseñado.

Además, en el desarrollo del proyecto no solo se creó un dispositivo de

medición para dicho sistema, sino que también se ha pretendido y logrado que el

sistema sea lo más versátil posible, de modo que pueda ser adaptable a cualquier

aplicación posible para la que el microcontrolador esté preparado. Para ello, se

diseñaron los circuitos de entrada, de masa aislada y alta impedancia de modo que

su conexión no afecte el funcionamiento en el punto de medición.

Con la implementación del presente desarrollo, se logra tener por primera

vez en la Central Generadora General Levalle y San Francisco un registro digital

del funcionamiento diario de cada TG, como así también optimizar al máximo los

Page 82: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

72

parámetros de funcionamiento, tales como consumo de combustible, temperaturas

de funcionamiento, potencia, perdidas por falla, entre otra, según especificaciones

del manual técnico.

A raíz de lo anterior, y complementado con el registro de eventos de forma

cronológica, se utilizará como una nueva herramienta practica a la hora de

solucionar fallas en el control de la TG, como así también ampliar su aplicación a

otros equipos del Sistema Interconectado Provincial.

5.2 Trabajos Futuros

Dado que el dispositivo de medición y almacenamiento digital se diseño con

el fin de ser un sistema versátil, las posibilidades a la hora de mejorarlo y

ampliarlo son muy numerosas. Entre las cuales se puede decir, la ampliación del

número de entradas digitales y analógicas ya que la disponibilidad de pines de

estos tipos de entradas por parte del microcontrolador Arduino lo permite.

En cuanto al hardware, también se plantea la posibilidad de mejoras en

cuanto a la estabilidad del diseño de los circuitos de adaptación de señales, como

así también otorgarle un sistema de autonomía a batería para entregarle mayor

estabilidad y hacerlo independiente del sistema eléctrico y poder utilizarlo en

zonas alejadas de dicho suministro.

Por último y con respecto al software, queda planteado como trabajo futuro

la mejora del tratamiento de los datos y la configuración del funcionamiento del

dispositivo desde dicha plataforma. El primero se debe a que en esta instancia solo

se puede visualizar y almacenar los datos en la PC, sin poder manipularlos como

la creación de gráficos. En cuanto al segundo punto, queda la necesidad de poder

configurar por parte del usuario el tipo de medición a realizar, en las cuales debe

Page 83: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

73

poder definir el tipo de datos (digital, analógico y/o frecuencia), el número de

entradas de cada tipo y el número de datos a capturar, como así también poder

configurar y/o ajustar la fecha y hora en caso de pérdida de información.

Como se puede observar, las posibilidades de mejoras del dispositivo de

medición y almacenamiento digital planteado son innumerables, y dependen

principalmente de las necesidades que deban satisfacerse.

Page 84: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

74

Capítulo 6

Bibliografía

John Brown Engineering. “Manuel de Servicio Turbo-Gas”. Clydebank,

Escocia. (1980).

General Electric. “Directo-Matic II. Field Instruction and Card Application

Data”. Nº GEK-8692M. (1980).

CAPIME. Manual “Sistema de Protección y Control de TG John Brown”.

ASEA. Catalogo LA 14-2 SP, tercera edición. Diciembre 1978.

Kernighan, B.W.; Ritchie, D.M. “El lenguaje de programación C”,

segunda edición. Editorial Pearson Educación.

Dietel, H.M.; Dietel, P.J.; “Como Programar en C/C++”, segunda edición.

Editorial Prentice Hall.

Herrador, R.E. “Guía de Usuario de Arduino”. Universidad de Córdoba.

Noviembre 2009.

Atmel. “Datasheet Microcontrolador ATmega 2560”. Febrero 2014.

Quijada Valle, O.M.; Argueta Sorto, A. “Diseño y Construcción de un

Instrumento electrónico para cuantificar magnitudes físicas (Datalogger).

Primera Etapa: Medir la Temperatura”. Tesis de la carrera de Ingeniería

Electrónica. Universidad de el Salvador. Agosto 2011.

Page 85: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

75

Ramos, E. C. “Manual Teórico-Práctico Visual Basic 2008”. Instituto de

Formación Profesional del Paraguay. (2010).

Francesco, B. “Programación Avanzada con Microsoft Visual Basic .Net”,

edición 2003. Editorial MCGRAW-HLL.

Tapia Ayala, C.H.; Manzano Yupa, H.M. “Evaluación de la plataforma

Arduino e implementación de un sistema de control de posición

horizontal”. Tesis de la carrera de Ingeniería Electrónica. Universidad

Politécnica Salesiana. Ecuador 2013.

Enlaces Web:

http://arduino.cc/en/Main/arduinoBoardMega2560. Consultado en

septiembre 2014.

https://msdn.microsoft.com/es-es/vstudio. Consultado en noviembre 2014.

http://www.datasheetcatalog.com/

http://pdf.datasheetcatalog.com/datasheets2/30/3055029_1.pdf.

Consultado en octubre 2014.

http://pdf.datasheetcatalog.com/datasheet/texasinstruments/tl080.pdf.

Consultado en octubre 2014.

http://pdf.datasheetcatalog.com/datasheet2/1/02glhewsates3885ie825lrz9d

cy.pdf. Consultado en noviembre 2014.

http://pdf.datasheetcatalog.com/datasheets/150/44435_DS.pdf. Consultado

en diciembre 2014.

http://pdf.datasheetcatalog.com/datasheet/fairchild/LM7805.pdf.

Consultado en diciembre 2014.

Page 86: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

76

http://pdf.datasheetcatalog.com/datasheet/fairchild/LM7905.pdf.

Consultado en diciembre 2014.

http://pdf.datasheetcatalog.com/datasheet/fairchildsemiconductor/LM7915

.pdf. Consultado en diciembre 2014.

Page 87: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

77

Capítulo 7

Anexo

Anexo 1. Código Fuente Arduino.

// Proyecto de Trabajo Final

//DESARROLLO E IMPLEMENTACION DE DISPOSITIVO DE MEDICION Y ALMACENAMIENTO DIGITAL

//

//********************************************************************

// LIBRERIAS

#include <SPI.h>

#include <SD.h>

#include <Wire.h>

#include <RTClib.h>

RTC_DS1307 RTC;

//********************************************************************

// DECLARACION DE VARIABLES Y CONSTANTES

//

// GENERAL

// ENTRADA DIGITAL

int iD;

int Valor_Digital[20];

// ENTRADAS ANALOGICAS

int iA;

int m, n;

volatile int jA;

volatile struct {

volatile float valor[8];

volatile int D;

volatile int M;

volatile int A;

volatile int h;

volatile int m;

volatile int s;

volatile int t;

} muestra[20];

// ENTRADA DE FRECUENCIA

volatile float Valor_Frec[2]={0,0};

volatile float Valor_Frecuencia[2][20];

union u_32b {

volatile unsigned long valor;

volatile unsigned int bytes[2]={0,0};

};

volatile union u_32b t3;

volatile union u_32b t4;

Page 88: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

78

// HORA Y FECHA

volatile struct {

volatile int a = 0;

volatile int m = 0;

volatile int d = 0;

} Fecha;

volatile struct {

volatile int h = 0;

volatile int m = 0;

volatile int s = 0;

volatile int t = 0;

} Hora;

char maxdia[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

// COMUNICACION USB

int option;

int optionjA;

//********************************************************************

// DEFINICION E INICIALIZACION

//

// INICIO FUNCIONES PARA ENTRADA DE FRECUENCIA

void configInterrupcionesFrecuencia() {

pinMode(2, INPUT_PULLUP);

EIMSK |= _BV(INT4);

EICRB |= _BV(ISC41)|_BV(ISC40);

EIMSK |= _BV(INT5);

EICRB |= _BV(ISC51)|_BV(ISC50);

}

void configInterrupcionesTimers() {

TCCR3B = 0;

TCNT3 = 0;

TIMSK3 = 0x01;

TCCR3A = 0x00;

TCCR3B = 0b00000001;

TCCR4B = 0;

TCNT4 = 0;

TIMSK4 = 0x01;

TCCR4A = 0x00;

TCCR4B = 0b00000001;

}

// FUNCION INICIO CONVERTIDOR A/D

void inicializarADC() {

ADMUX|=_BV(REFS0);

ADCSRA|=_BV(ADEN)|_BV(ADPS2)|_BV(ADPS1)|_BV(ADPS0);

}

uint16_t leer_adc(uint8_t canal) {

ADMUX=((ADMUX & (0xE0)) | canal);

ADCSRA|=_BV(ADSC);

while(ADCSRA & _BV(ADSC));

return ADC;

}

// FUNCION INICIO MEMORIA SD Y ARCHIVOS

void inicializarSD() {

// MEMORIA SD

pinMode(53, OUTPUT);

Serial.print("Inicializando SD...");

if (!SD.begin(53)){

Serial.println("Fallo o tarjera no presente");

}

else{

Serial.println("SD correcta");

}

}

// inicio archivo DIGITAL

void inicioArchivoDigital(){

Page 89: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

79

File digitalFile = SD.open("digital.txt", FILE_WRITE);

String digitalString = "FECHA,HORA,ENTRADA,ESTADO";

digitalFile.println(digitalString);

digitalFile.close();

return;

}

// inicio archivo ANALOGICO

void inicioArchivoAnalogico(){

File analogFile = SD.open("analog.txt", FILE_WRITE);

String analogString =

"FECHA,HORA,ENTRADA_1,HORA,ENTRADA_2,HORA,ENTRADA_3,HORA,ENTRADA_4,HORA,ENTRADA_5,

HORA,ENTRADA_6,HORA,ENTRADA_7,HORA,ENTRADA_8";

analogFile.println(analogString);

analogFile.close();

return;

}

// inicio archivo FRECUENCIA

void inicioArchivoFrecuencia(){

File frecFile = SD.open("frec.txt", FILE_WRITE);

String frecString = "FECHA,HORA,ENTRADA_1,HORA,ENTRADA_2";

frecFile.println(frecString);

frecFile.close();

return;

}

// FUNCION ESCRIBIR DATOS DIGITALES EN SD

void escribirDigital(int id, int valor) {

String digitalString = "";

File digitalFile = SD.open("digital.txt", FILE_WRITE);

digitalString += String (Fecha.d) + String ("/") + String (Fecha.m) +

String ("/") + String (Fecha.a) + String (",");

digitalString += String (Hora.h) + String (":") + String (Hora.m) + String

(":") + String (Hora.s) + String (":") + String (Hora.t) + String (",");

digitalString += String (id) + String (",") + String (valor);

digitalFile.println(digitalString);

digitalFile.close();

}

// FUNCION ESCRIBIR DATOS ANALOGICOS EN SD

void escribirAnalogica() {

File analogFile = SD.open("analog.txt", FILE_WRITE);

String analogString = "";

String muestraString = "";

for (m=0; m<19; m++){

analogString = String(muestra[m].D) + String("/") +

String(muestra[m].M) + String("/") + String(muestra[m].A) + String(",");

analogFile.print(analogString);

muestraString = String(muestra[m].h) + String(":") +

String(muestra[m].m) + String(":") + String(muestra[m].s)

+ String(":") + String(muestra[m].t) + String(",");

analogString = "";

for(n=0; n<8; n++) {

analogString += muestraString + String(muestra[m].valor[n]) +

String(",");

}

analogFile.println(analogString);

}

analogFile.close();

}

// FUNCION ESCRIBIR DATOS DE FRECUENCIA EN SD

void escribirFrecuencia() {

File frecFile = SD.open("frec.txt", FILE_WRITE);

String frecString = "";

String muestraString = "";

for (m=0; m<19; m++){

frecString = String(muestra[m].D) + String("/") + String(muestra[m].M)

+ String("/") + String(muestra[m].A) + String(",");

frecFile.print(frecString);

muestraString = String(muestra[m].h) + String(":") +

String(muestra[m].m) + String(":") + String(muestra[m].s)

+ String(":") + String(muestra[m].t) + String(",");

frecString = "";

frecString += muestraString + String(Valor_Frecuencia[0][m]) +

String(",") + muestraString + String(Valor_Frecuencia[1][m]) + String(",");

Page 90: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

80

frecFile.println(frecString);

}

frecFile.close();

}

//********************************************************************

// DEFINICION E INICIALIZACION

//

void setup() {

t3.valor=1;

// ENTRADA DIGITAL

for(int i = 30; i < 50; i++) { pinMode(i, INPUT); }

// HORA Y FECHA

noInterrupts();

TCCR2A=0;

//TCCR2B=0b00000101;

TCCR2B|=_BV(CS22)|_BV(CS20);

TCNT2=131; //valor para que tarde 1ms en desbordar

//TIMSK2=0b00000001;

TIMSK2|=_BV(TOIE2);

// TEMPORIZADOR MUESTREO ANALOGICO y FRECUENCIA

TCCR1A=0;

TCCR1B=0b00000100;

TCNT1=34286;

TIMSK1=0b00000001;

interrupts();

// ENTRADAS DE FRECUENCIA

configInterrupcionesFrecuencia();

configInterrupcionesTimers();

sei();

// MÓDULO RTC

Wire.begin(); // Inicia el puerto I2C

RTC.begin(); // Inicia la comunicación con el RTC

//RTC.adjust(DateTime(__DATE__, __TIME__));

// PUERTO SERIAL

Serial.begin(115200);

// MEMORIA SD

inicializarSD(); //INICIO MEMORIA

if(SD.exists("digital.txt")==0){

inicioArchivoDigital();}

if(SD.exists("analog.txt")==0){

inicioArchivoAnalogico();}

if(SD.exists("frec.txt")==0){

inicioArchivoFrecuencia();}

// INICIO CONVERTIDOR A/D

inicializarADC();

}

//********************************************************************

// DESARROLLO DE PROGRAMA

//

void loop() {

// HORA Y FECHA

if (Fecha.a == 0){

DateTime now = RTC.now();

Hora.s = now.second();

Hora.m = now.minute();

Hora.h = now.hour();

Fecha.d = now.day();

Fecha.m = now.month();

Fecha.a = now.year();

}

// ENTRADA DIGITAL

for (iD=30; iD<34; iD++) {

if (digitalRead(iD) != Valor_Digital[iD-30]){

Valor_Digital[iD-30] = !Valor_Digital[iD-30];

Page 91: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

81

escribirDigital(iD-30, Valor_Digital[iD-30]);

}

}

// ENTRADAS ANALOGICAS y FRECUENCIA

if (jA==20){

escribirAnalogica();

escribirFrecuencia();

jA=0;

}

// COMUNICACION USB

if (Serial.available()>0){

optionjA=jA;

option=Serial.read();

if(option=='a') {

File dataFile = SD.open("analog.txt");

if (dataFile) {

Serial.println("* A continuacion se muestra los datos Analogicos");

while (dataFile.available()) {

Serial.write(dataFile.read());

}

dataFile.close();

}else {

Serial.println("Error al abrir analog.txt");

}

}

if(option=='f'){

File dataFile = SD.open("frec.txt");

if (dataFile) {

Serial.println("* A continuacion se muestra los datos de

Frecuencia");

while (dataFile.available()) {

Serial.write(dataFile.read());

}

dataFile.close();

}else {

Serial.println("Error al abrir frec.txt");

}

}

if(option=='d'){

File dataFile = SD.open("digital.txt");

if (dataFile) {

Serial.println("* A continuacion se muestra los datos Digitales");

while (dataFile.available()) {

Serial.write(dataFile.read());

}

dataFile.close();

}else {

Serial.println("Error al abrir digital.txt");

}

}

if (option=='i'){

SD.remove("Digital.txt");

inicioArchivoDigital();

}

if (option=='n'){

SD.remove("analog.txt");

inicioArchivoAnalogico();

}

if (option=='r'){

SD.remove("frec.txt");

inicioArchivoFrecuencia();

}

jA=optionjA;

}

}

//********************************************************************

//DEFINICION DE FUNCIONES

//

// MUESTREO ENTRADAS ANALOGICAS y FRECUENCIA

ISR(TIMER1_OVF_vect){

TCNT1=34286;

for(iA=0; iA<8; iA++){

muestra[jA].valor[iA] = (leer_adc(iA)/51.15-10);

Page 92: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

82

}

muestra[jA].h = Hora.h;

muestra[jA].m = Hora.m;

muestra[jA].s = Hora.s;

muestra[jA].t = Hora.t;

muestra[jA].D = Fecha.d;

muestra[jA].M = Fecha.m;

muestra[jA].A = Fecha.a;

Valor_Frecuencia[0][jA] = Valor_Frec[0];

Valor_Frecuencia[1][jA] = Valor_Frec[1];

jA++;

}

// ENTRADAS DE FRECUENCIA

ISR(INT4_vect) {

t3.bytes[0] = TCNT3;

TCNT3 = 16;

Valor_Frec[0] = (16000000.0f/t3.valor);

t3.valor = 0;

}

ISR(INT5_vect) {

t4.bytes[0] = TCNT4;

TCNT4 = 16;

Valor_Frec[1] = (16000000.0f/t4.valor);

t4.valor = 0;

}

ISR(TIMER3_OVF_vect) {

t3.bytes[1]++;

if(t3.bytes[1]==250){

t3.bytes[1]=0;

Valor_Frec[0]=0;

}

}

ISR(TIMER4_OVF_vect) {

t4.bytes[1]++;

if(t4.bytes[1]==250){

t4.bytes[1]=0;

Valor_Frec[1]=0;

}

}

// HORA Y FECHA

ISR(TIMER2_OVF_vect){

TCNT2=131;

Hora.t++;

if (Hora.t>999) {

Hora.t=0;

Hora.s++;

}

if (Hora.s>59) {

Hora.s=0;

Hora.m++;

}

if (Hora.m>59) {

Hora.m=0;

Hora.h++;

}

if (Hora.h>23) {

Hora.h=0;

Fecha.d++;

}

if(Fecha.d > maxdia[Fecha.m-1]) {

Fecha.m++;

if(Fecha.m == 13) { Fecha.m = 1; Fecha.a++; }

Fecha.d = 1;

}

}

Anexo 2. Código Fuente Visual Basic.

Page 93: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

83

Public Class Form1

Dim recibidos As String

Dim tipoDato As String

Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles

MyBase.Load

BuscarPuerto()

End Sub

Private Sub BuscarPuerto()

'Busca los puertos disponibles para establecer conexion y los muertra en

ComboBox

Try

ComboBoxPuerto.Items.Clear()

For Each puerto As String In My.Computer.Ports.SerialPortNames

ComboBoxPuerto.Items.Add(puerto)

Next

If ComboBoxPuerto.Items.Count > 0 Then

ComboBoxPuerto.SelectedIndex = 0

Else

MsgBox("NO HAY PUERTOS DISPONIBLES EN TU SISTEMA")

End If

Catch ex As Exception

MsgBox(ex.Message, MsgBoxStyle.Critical)

End Try

End Sub

Private Sub BotonConectar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles BotonConectar.Click

'al hacer click en conectar toma la configuracion y conecta el dispositivo

Try

With SerialPort

.BaudRate = ComboBoxVelocidad.Text

.DataBits = NumeroBitDato.Value

.Parity = NumeroBitParidad.Value

.StopBits = NumeroBitParada.Value

.PortName = ComboBoxPuerto.Text()

.Open()

If .IsOpen Then

LabelEstado.Text = "Conectado"

Else

MsgBox("CONEXION FALLIDA!", MsgBoxStyle.Critical)

End If

End With

Catch ex As Exception

MsgBox(ex.Message, MsgBoxStyle.Critical)

End Try

AddHandler SerialPort.DataReceived, AddressOf Recepcion

End Sub

Private Sub BotonDesconectar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles BotonDesconectar.Click

SerialPort.Close()

LabelEstado.Text = "Desconectado"

End Sub

Private Sub Recepcion(ByVal sender As Object, ByVal e As

System.IO.Ports.SerialDataReceivedEventArgs)

recibidos += SerialPort.ReadExisting().Replace(",", vbTab)

Me.Invoke(New EventHandler(AddressOf actualizar))

End Sub

Private Sub actualizar(ByVal s As Object, ByVal e As EventArgs)

If tipoDato = 0 Then

TextDigital.Text = recibidos

End If

If tipoDato = 1 Then

TextAnalogico.Text = recibidos

End If

If tipoDato = 2 Then

TextFrecuencia.Text = recibidos

End If

End Sub

Page 94: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

84

'-----------------------------------------------------------------------------

------

'ENTRADAS DIGITALES

Private Sub BotonDigitalCargar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles BotonDigitalCargar.Click

If SerialPort.IsOpen Then

tipoDato = 0

recibidos = ""

SerialPort.WriteLine("d")

Else

MsgBox("NO ESTAS CONECTADO", MsgBoxStyle.Exclamation)

End If

End Sub

Private Sub BotonDigitalBorrar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles BotonDigitalBorrar.Click

If SerialPort.IsOpen Then

SerialPort.WriteLine("i")

Else

MsgBox("NO ESTAS CONECTADO", MsgBoxStyle.Exclamation)

End If

End Sub

Private Sub BotonDigitalLimpiar_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BotonDigitalLimpiar.Click

TextDigital.Clear()

recibidos = ""

End Sub

Private Sub BotonDigitalAbrir_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles BotonDigitalAbrir.Click

TextDigital.Clear()

Dim Open As New OpenFileDialog()

Dim myStreamReader As System.IO.StreamReader

Open.Filter = "Text [*.txt*]|*.txt|All Files [*,*]|*,*"

Open.CheckFileExists = True

Open.Title = "Abrir Archivo Digital"

Open.ShowDialog(Me)

Try

Open.OpenFile()

myStreamReader = System.IO.File.OpenText(Open.FileName)

TextDigital.Text = myStreamReader.ReadToEnd()

Catch ex As Exception

End Try

End Sub

Private Sub BotonDigitalGuardar_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BotonDigitalGuardar.Click

Dim Save As New SaveFileDialog()

Dim myStreamWriter As System.IO.StreamWriter

Save.Filter = "Text

(*.txt)|*.txt|HTML(*.html*)|*.html|PHP(*­.php*)|*.php*|All files(*.*)|*.*"

Save.CheckPathExists = True

Save.Title = "Guardar Archivo Digital"

Save.ShowDialog(Me)

Try

myStreamWriter = System.IO.File.AppendText(Save.FileName)

myStreamWriter.Write(TextDigital.Text)

myStreamWriter.Flush()

Catch ex As Exception

End Try

End Sub

'-----------------------------------------------------------------------------

------

'ENTRADAS ANALOGICAS

Private Sub BotonAnalogicoAbrir_Click_1(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BotonAnalogicoAbrir.Click

TextAnalogico.Clear()

Dim Open As New OpenFileDialog()

Dim myStreamReader As System.IO.StreamReader

Open.Filter = "Text [*.txt*]|*.txt|All Files [*,*]|*,*"

Open.CheckFileExists = True

Open.Title = "Abrir Archivo Analogico"

Page 95: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

85

Open.ShowDialog(Me)

Try

Open.OpenFile()

myStreamReader = System.IO.File.OpenText(Open.FileName)

TextAnalogico.Text = myStreamReader.ReadToEnd()

Catch ex As Exception

End Try

End Sub

Private Sub BotonAnalogicoCargar_Click_1(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles BotonAnalogicoCargar.Click

If SerialPort.IsOpen Then

tipoDato = 1

recibidos = ""

SerialPort.WriteLine("a")

Else

MsgBox("NO ESTAS CONECTADO", MsgBoxStyle.Exclamation)

End If

End Sub

Private Sub BotonAnalogicoBorrar_Click_1(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles BotonAnalogicoBorrar.Click

If SerialPort.IsOpen Then

SerialPort.WriteLine("n")

Else

MsgBox("NO ESTAS CONECTADO", MsgBoxStyle.Exclamation)

End If

End Sub

Private Sub BotonAnalogicoGuardar_Click_1(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles BotonAnalogicoGuardar.Click

Dim Save As New SaveFileDialog()

Dim myStreamWriter As System.IO.StreamWriter

Save.Filter = "Text

(*.txt)|*.txt|HTML(*.html*)|*.html|PHP(*­.php*)|*.php*|All files(*.*)|*.*"

Save.CheckPathExists = True

Save.Title = "Guardar Archivo Analogico"

Save.ShowDialog(Me)

Try

myStreamWriter = System.IO.File.AppendText(Save.FileName)

myStreamWriter.Write(TextAnalogico.Text)

myStreamWriter.Flush()

Catch ex As Exception

End Try

End Sub

Private Sub BotonAnalogicoLimpiar_Click_1(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles BotonAnalogicoLimpiar.Click

TextAnalogico.Clear()

recibidos = ""

End Sub

Private Sub BotonAnalogicoGraficar_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles BotonAnalogicoGraficar.Click

End Sub

'-----------------------------------------------------------------------------

------

'ENTRADAS DE FRECUENCIA

Private Sub BotonFrecuenciaCargar_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BotonFrecuenciaCargar.Click

If SerialPort.IsOpen Then

tipoDato = 2

recibidos = ""

SerialPort.WriteLine("f")

Else

MsgBox("NO ESTAS CONECTADO", MsgBoxStyle.Exclamation)

End If

End Sub

Private Sub BotonFrecuenciaBorrar_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BotonFrecuenciaBorrar.Click

If SerialPort.IsOpen Then

SerialPort.WriteLine("r")

Else

Page 96: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

86

MsgBox("NO ESTAS CONECTADO", MsgBoxStyle.Exclamation)

End If

End Sub

Private Sub BotonFrecuenciaAbrir_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BotonFrecuenciaAbrir.Click

TextFrecuencia.Clear()

Dim Open As New OpenFileDialog()

Dim myStreamReader As System.IO.StreamReader

Open.Filter = "Text [*.txt*]|*.txt|All Files [*,*]|*,*"

Open.CheckFileExists = True

Open.Title = "Abrir Archivo Frecuancia"

Open.ShowDialog(Me)

Try

Open.OpenFile()

myStreamReader = System.IO.File.OpenText(Open.FileName)

TextFrecuencia.Text = myStreamReader.ReadToEnd()

Catch ex As Exception

End Try

End Sub

Private Sub BotonFrecuenciaGuardar_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles BotonFrecuenciaGuardar.Click

Dim Save As New SaveFileDialog()

Dim myStreamWriter As System.IO.StreamWriter

Save.Filter = "Text

(*.txt)|*.txt|HTML(*.html*)|*.html|PHP(*­.php*)|*.php*|All files(*.*)|*.*"

Save.CheckPathExists = True

Save.Title = "Guardar Archivo Fracuancia"

Save.ShowDialog(Me)

Try

myStreamWriter = System.IO.File.AppendText(Save.FileName)

myStreamWriter.Write(TextFrecuencia.Text)

myStreamWriter.Flush()

Catch ex As Exception

End Try

End Sub

Private Sub BotonFrecuenciaLimpiar_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles BotonFrecuenciaLimpiar.Click

TextFrecuencia.Clear()

recibidos = ""

End Sub

Anexo 3. Memoria Fotográfica

Page 97: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

87

1. Central Generadora General Levalle.

2. Edificio Central G.L.

Page 98: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

88

3. La Turbina extremo motor de lanzamiento.

4. La Turbina extremo generador.

Page 99: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

89

5. El Generador y la excitatriz.

6. Placa Generador.

Page 100: Informe de Trabajo Final - UNSL - FICA · permiten la captura de datos sino también su procesamiento, dando la posibilidad de obtener tablas, gráficos y archivos para poder, posteriormente,

90

7. Sala de Control