UNIVERSIDAD NACIONAL DE COLOMBIA FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA MECÁNICA Y MECATRÓNICA FUNDAMENTOS DE ELECTRICIDAD Y MAGNETISMO PROFESOR JAIME VILLALOBOS PROYECTO FINAL SENSOR DE TEMPERATURA JEISSON BARRIGA - 234744 MANUEL CARDOZO - 234732 SERGIO GONZALEZ - 234692 BOGOTA DC. 2012-11-28 OBJETIVO: El objetivo principal de realizar un sensor de temperatura es aprender conceptos básicos de electricidad, con el fin de emplearlos en un sensor que medirá temperatura ambiente de una zona especificada por el usuario y transferirá los datos a un computador el cual ira almacenando los datos obtenidos durante el día. COMPONENTES: El sensor es un proyecto compuesto principalmente por dos elementos; un sensor de temperatura lm35 y una plataforma arduino. Adicionalmente se usó un cable USB para transferir los datos al computador y una protoboard para conectar el sensor. Sensor LM 35 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 Arduino El arduino es una tarjeta basada en el microcontrolador ATmega168 (datasheet). Tiene 14 entradas/salidas digitales de las cuales 6 pueden ser usadas como salidas PWM, 6 entradas análogas, cristal de 16MHz, conexión USB, entrada de poder, conector ICSP y botón de reset. Contiene todo lo que se necesita para el uso del microcontrolador. La tarjeta puede alimentarse directamente del puerto USB o usar alimentación externa. El voltaje de operación del microcontrolador es de 5V, el voltaje de alimentación de la tarjeta se recomienda entre 7-12V. El microcontrolador tiene 16KB de memoria FLASH (de los cuales usa 2KB para el bootloader), memoria SRAM de 1KB y memoria EEPROM de 512 bytes. El Arduino 2009 tiene un conector Mini USB (Mini-B) para conectarse al PC, para esto puede usar el Cable Mini USB. Cable USB Los usamos para transferir los datos desde el arduino al computador y al mismo tiempo alimentarlo sin necesidad de utilizar una toma corriente. Protoboard Se utilizo una protoboard para realizar la conexión entre el sensor de temperatura LM35 y el arduino. MONTAJE: El transistor lm 35 cuenta con tres salidas, la primera es de la alimentación, esta va conectada a la entrada de 5v del arduino, la salida del medio que es la análoga, se conecta al 0 del arduino y la última va a tierra (ground) para cerrar el circuito. Después de tener conectado el sensor al arduino conectamos mediante un cable USB la placa al computador Descargamos los drivers directamente de la página http://www.ftdichip.com/Drivers/VCP.htm y los instalamos manualmente dependiendo del tipo de sistema operativo que en nuestro caso es de 32 bits pero puede ser en otros equipos de 64 bits. Instalamos además el programa http://arduino.cc/en/Main/Software. Arduino en la página Además debemos seleccionar el puerto al cuál tendremos conectado nuestro sensor para ejecutar el código: El código utilizado para ejecutar el programa fue: /* Jeisson Andres Barriga Manuel Ivan Cardozo Sergio Andres Gonzalez Sensor de Temperatura */ int pin=0; //seleccion del pin entrada analogica int tempc=0, tempf=0; // Variables de temperatura int samples[5]; // Variable para guardar el numero de iteraciones para mejorar la medicion int maxi=-100, mini=100; // Limites de temperatura int i; // Variable de iteraciones. void setup() { Serial.begin(9600); // Inicia la comunicacion el serial } void loop() { for(i= 0;i<=4;i++){ // Realizara 5 iteraciones samples[i] = (5.0 * analogRead(pin) * 100.0) / 1024.0; // Iterciones entre resolucion tempc = tempc + samples[i]; delay(100); // Retardo para realizar de nuevo el muestreo } tempc = tempc/5.0; // Mejoramos la precision. tempf = (tempc*9)/5 + 32; // Conversor a grados Farenheit if(tempc > maxi) {maxi = tempc;} // Max temperatura if(tempc < mini) {mini = tempc;} // Min temperatura Serial.print (tempc,DEC); // Variable de la temperatura Serial.print ("Celcius, "); //Impresion de temperatura celsius Serial.print(tempf,DEC); // Variable de temperatura Serial.print("Frenheit ->"); //impresion de temperatura Farenheit Serial.print (maxi,DEC); Serial.print ("Max"); Serial.print (mini,DEC); Serial.println("Arduino_lm35"); // Nombre delproyecto tempc = 0; // Inicializa la variable con valor a 0 delay(100);// Retardo para iniciar de nuevo Una vez el programa se ejecute abrimos una nueva ventana donde se mostrarán los datos obtenidos cada 10 segundos. CONCLUSIONES Se cumplió el objetivo a pesar de todos los percances, logramos familiarizarnos con el uso de un micro-controlador llamado Arduino, su programación y la manera para manipularlo. Además de trabajar con un transistor como el LM35 utilizado durante el laboratorio. Lo más importante es la manera que podemos manipular fenómenos físicos, transformarlos en datos para una red y utilizarlos de la manera más conveniente. Entender la importancia que tiene la recolección de datos propios, ya que por métodos sencillos están al alcance de todos. Además un enriquecimiento en el área de electrónica y algo de programación ya que son elementos que no habíamos trabajado antes y que son útiles en el área profesional. BIBLIOGRAFIA http://www.ucontrol.com.ar/wiki/index.php?title=LM35 http://www.sigmaelectronica.net/sigduino-2009-p-1143.html http://www.ladyada.net/learn/sensors/tmp36.html http://em2011.wikispaces.com/file/view/Tutorial.pdf