13
Universidad Nacional de Colombia Fundamentos De Electricidad Y Magnetismo Proyecto: Estación de Monitoreo de Temperatura Permanente: Integrantes: David Alejandro Daza 244953 G09NL16 Manuel Alejandro 245135 G09NL08 Edwin Fernando Sanabria 245155 G09NL36 Miguel Ángel Ruiz 244977 G10NL34 Andrés Felipe González 200782 G10NL18 Grupo Helios Objetivos: 1. Desarrollar efectivamente una estación de monitoreo de temperatura con la que se puedan realizar mediciones continuas y verídicas de esta. 2. Analizar la relación de este proyecto con esta materia y las carreras de estudio de los integrantes del grupo. 3. Estipular las posibles aplicaciones que podría tener este proyecto al consolidarse. Materiales: Placa Arduino Uno Protoboard Sensor de temperatura LM35 Canle USB tipo AB Computador a disposición (Sistema operativo manejado Windows) Conceptualización: ¿Qué es Arduino? Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. Se creó para artistas,

Universidad Nacional de Colombia · Web viewComputador a disposición (Sistema operativo manejado Windows) Conceptualización: ¿Qué es Arduino? Arduino es una plataforma de electrónica

  • Upload
    lymien

  • View
    217

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Universidad Nacional de Colombia · Web viewComputador a disposición (Sistema operativo manejado Windows) Conceptualización: ¿Qué es Arduino? Arduino es una plataforma de electrónica

Universidad Nacional de Colombia

Fundamentos De Electricidad Y Magnetismo

Proyecto: Estación de Monitoreo de Temperatura Permanente:

Integrantes:

David Alejandro Daza 244953 G09NL16Manuel Alejandro 245135 G09NL08Edwin Fernando Sanabria 245155 G09NL36Miguel Ángel Ruiz 244977 G10NL34Andrés Felipe González 200782 G10NL18

Grupo Helios

Objetivos:1. Desarrollar efectivamente una estación de monitoreo de

temperatura con la que se puedan realizar mediciones continuas y verídicas de esta.

2. Analizar la relación de este proyecto con esta materia y las carreras de estudio de los integrantes del grupo.

3. Estipular las posibles aplicaciones que podría tener este proyecto al consolidarse.

Materiales: Placa Arduino Uno Protoboard Sensor de temperatura LM35 Canle USB tipo AB Computador a disposición (Sistema operativo manejado

Windows)

Conceptualización:

¿Qué es Arduino?

Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. Se creó para artistas, diseñadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos.

Arduino UNO: El Uno Arduino es una placa electrónica basada en el ATmega328. Cuenta con 14 entradas digitales / salidas (de los cuales 6 pueden ser utilizados como salidas PWM), 6 entradas analógicas, un oscilador de cristal de 16 MHz, una conexión USB, un conector de alimentación, una cabecera ICSP, y un botón de reinicio. Contiene todo lo necesario para apoyar la micro, basta con conectarlo a un

Page 2: Universidad Nacional de Colombia · Web viewComputador a disposición (Sistema operativo manejado Windows) Conceptualización: ¿Qué es Arduino? Arduino es una plataforma de electrónica

ordenador con un cable USB o el poder con un adaptador AC-DC o batería para empezar.

Protoboard: Son esencialmente unas placas agujereadas con conexiones internas dispuestas en hileras, de modo que forman una matriz de taladros a los que podemos directamente "pinchar" componentes y formar el circuito deseado. Como el nombre indica, se trata de montar prototipos, de forma eventual, nunca permanente, por lo que probamos y volvemos a desmontar los componentes, quedando la protoboard lista para el próximo experimento.

Sensor de temperatura LM35: El LM35 es un sensor de temperatura con una precisión calibrada de 1ºC y un rango que abarca desde -55º a +150ºC.

El sensor se presenta en diferentes encapsulados pero el mas común es el to-92 de igual forma que un típico transistor con 3 patas, dos de ellas para alimentarlo y la tercera nos entrega un valor de tensión proporcional a la temperatura medida por el dispositivo. Con el LM35 sobre la mesa las patillas hacia nosotros y las letras del encapsulado hacia arriba tenemos que de izquierda a derecha los pines son: VCC - Vout - GND.

La salida es lineal y equivale a 10mV/ºC por lo tanto:

+1500mV = 150ºC +250mV = 25ºC -550mV = -55ºC

Page 3: Universidad Nacional de Colombia · Web viewComputador a disposición (Sistema operativo manejado Windows) Conceptualización: ¿Qué es Arduino? Arduino es una plataforma de electrónica

Montaje y Funcionamiento:1. Conexión del sensor de temperatura:

o Lo primero es identificar correctamente las conexiones del sensor (sobre la mesa las patillas hacia nosotros y las letras del encapsulado hacia arriba tenemos que de izquierda a derecha los pines son: VCC - Vout – GND). Ahora conectaremos el sensor con la placa Arduino a través de la placa de prototipado y unos cables de conexión:• La tensión Vcc a la entrada de 5V de Arduino• La tierra a la conexión GND de Arduino• La señal a la entrada analógica n (se puede elegir cualquiera pero se debe tener en cuenta en el programa identificándolo correctamente).

2. Instalación se software de Arduino:

o Selección de sistema operativo (Aunque observamos que es mucho más sencillo manejar Mac OSx ó Linux debido a que no requiere la instalación de drivers o complementos, la manipulación de los datos es más complicada; por lo que se eligió Windows como sistema operativo).

o Descarga del software de la pagina: http://arduino.cc/en/Main/Software

Page 4: Universidad Nacional de Colombia · Web viewComputador a disposición (Sistema operativo manejado Windows) Conceptualización: ¿Qué es Arduino? Arduino es una plataforma de electrónica

o Se ejecuta y guarda en una ubicación conocida.

o Se conecta la placa con en el cable USB para proceder a la instalación del hardware; se ejecutan los drivers correspondientes (que se encuentran en el paquete descargado), realizando una instalación avanzada del paquete.

o Como la aplicación se desarrolla en JAVA es posible que el paquete (o el ordenador) carezcan de este complemento para la ejecución del compilador; en caso tal se pude descargar de la pagina: http://java.com/es/download/

o Se inicia la aplicación contenida en el paquete para la generación de código y se configura el puerto COM en: Tools>Serial Port>COM n; además se verifica la lectura correcta de la placa en: Tools>Board>Arduino UNO.

o Se pueden ejecutar algunos programas ejemplos para confirmar su buen funcionamiento siguiendo las instrucciones directamente de la pagina de Arduino; con esto el montaje concluye y se procede a la ejecución del programa.

Manejo de Datos:

1. En primera medida se utilizaron 2 programas para poder visualizar la información recolectada en forma de gráfica en tiempo real:

En primer lugar se introduce el código 2, presente en el anexo, en el compilador de Arduino, se verifica y ejecuta; el cual esta diseñado para emitir el valor de la temperatura continuamente y registrar el tiempo de envío de esta en microsegundos desde el momento que se ejecuta el programa, además presenta comandos de inicio y finalización del programa donde al enviar los caracteres s y f se ejecutara el programa y se detendrá, respectivamente.

Descarga y manejo del programa de captura de datos: Se utiliza un programa llamado Realterm, el cual va a capturar los datos enviados por el sensor y los va a guardar en un archivo de texto; página de descarga: http://realterm.sourceforge.net/. Al ejecutar el código en el Arduino; en el menú del Realterm se debe seleccionar el puerto y la ubicación y nombre del archivo de destino de los datos recibidos, posteriormente se da inicio a el envío de datos.

Page 5: Universidad Nacional de Colombia · Web viewComputador a disposición (Sistema operativo manejado Windows) Conceptualización: ¿Qué es Arduino? Arduino es una plataforma de electrónica

1)Seleccionar Port:

2) Seleccionar destino de envío de datos:

3) Dar inicio al programa con el comando ASCII:

Page 6: Universidad Nacional de Colombia · Web viewComputador a disposición (Sistema operativo manejado Windows) Conceptualización: ¿Qué es Arduino? Arduino es una plataforma de electrónica

4) Sobre-escribir el archivo y continuar con la toma de datos:

Descarga y manejo del programa para la graficación de los datos: El programa llamado Kst (página de descarga: http://kst.kde.org/ ), toma los datos del archivo .txt y los gráfica según las preferencias continuamente:

1) Toma de datos y selección de archivo:

Page 7: Universidad Nacional de Colombia · Web viewComputador a disposición (Sistema operativo manejado Windows) Conceptualización: ¿Qué es Arduino? Arduino es una plataforma de electrónica

2) Se configura la se paratión de las columnas: (Con el código ingresado en el compilador se definió a; como separador)

3) Selección de columna de interés (eje y): (en nuestro caso es la 2 (la temperatura))

Page 8: Universidad Nacional de Colombia · Web viewComputador a disposición (Sistema operativo manejado Windows) Conceptualización: ¿Qué es Arduino? Arduino es una plataforma de electrónica

4) Selección del eje x:

5) Gráfica de datos: (Column2= temperatura Celsius; Column1=Tiempo microsegundos)

Page 9: Universidad Nacional de Colombia · Web viewComputador a disposición (Sistema operativo manejado Windows) Conceptualización: ¿Qué es Arduino? Arduino es una plataforma de electrónica

6) Se procede a añadir los datos progresivamente con el Realterm:

7) Se da la grafica continua de datos en Kst:

2. Como se planteo con otros grupos se consolido un método para enviar los datos recolectados registrándose en la página:

Page 10: Universidad Nacional de Colombia · Web viewComputador a disposición (Sistema operativo manejado Windows) Conceptualización: ¿Qué es Arduino? Arduino es una plataforma de electrónica

http://www.soliun.unal.edu.co/estacion/registrarEstacion.php , donde posteriormente se confirmaría el ingreso y se podría observar en la página:http://www.soliun.unal.edu.co/estacion , el historial de los datos; para el funcionamiento de eso se requiere el código 1, presente en el anexo y esta aplicación: http://www.mediafire.com/file/7ox5b7yqobtir9l/instalador.exe .

Bibliografía:

-http://www.arduino.cc/en/Main/arduinoBoardUno-http://proyectoselectronics.blogspot.com/2009/02/que-es-un-protoboard.html-http://www.x-robotics.com/sensores.htm-http://real2electronics.blogspot.com/2009/11/graficar-con-kst.html

Anexo: (Cabe destacar que el puerto analógico utilizado fue el 1 por lo que los códigos presentes a continuación solo son funcionales si se ejecutan con el previo montaje anteriormente dicho)

1-Código para la medición de temperatura y conversión a grados centígrados (voltaje emitido por el sensor) con un intervalo de medición de 1 minuto:int pinTemperatura = 1; // Puerto analógico seleccionado (Pin 1)int tempValor ; // La variable donde guardaremos la temperaturavoid setup(){Serial.begin(9600); // De esta manera iniciamos el puerto serie para poder monitorizar}void loop()// Esta función repetirá su contenido indefinidamente{// Primero transformamos la lectura analógica de tensión a un valor de temperaturatempValor = ( analogRead(pinTemperatura) * 500.0) / 1024.0;// Ahora imprimimos el valor en el puerto serie donde podremos monitorizarloSerial.print("Temperatura (G.Celsius) = ");Serial.println(tempValor);// Finalmente esperamos 1 minuto de volver a leer la temperaturadelay (60000);}

2-Código para la medición de temperatura y conversión a grados centígrados (voltaje emitido por el sensor) cada 10 segundos, con comando de inicio y terminación para ser graficado en tiempo real:

extern volatile unsigned long timer0_overflow_count;float fanalog1;

Page 11: Universidad Nacional de Colombia · Web viewComputador a disposición (Sistema operativo manejado Windows) Conceptualización: ¿Qué es Arduino? Arduino es una plataforma de electrónica

int analog1;unsigned long tiempo;byte serialByte;

void setup() {

Serial.begin(9600); Serial.println("Pulse s para comenzar:");}

void loop() {

while (Serial.available()>0){ serialByte=Serial.read(); if (serialByte=='s'){ while(1){ analog1=analogRead(1); // Convierte a valor de temperatura fanalog1= (analog1)*(500.0/1024.0); // Recojo ticks del timer0 => 1 tick cada 4 us (usado en millis) tiempo=(timer0_overflow_count << 8) + TCNT0; // Convierto a us     tiempo = tiempo*4; //Lo envía para simular archivo tipo *.csv Serial.print (tiempo); Serial.print (';'); Serial.println(fanalog1); if (Serial.available()>0){ serialByte=Serial.read(); if (serialByte=='f') break; } } } }}