Proyecto Final Informatica Industrial

download Proyecto Final Informatica Industrial

of 12

Transcript of Proyecto Final Informatica Industrial

  • 7/24/2019 Proyecto Final Informatica Industrial

    1/12

    UNIVERSIDAD DE GUANAJUATODIVISIN DE INGENIERIAS

    CAMPUS IRAPUATO-SALAMANCAINFORMATICA INDUSTRIAL

    1

    PROYECTO FINALMedicin a distancia de temperatura con LM35 y mdulos RF de Arduino

    D.I. Ibarra Manzano Mario Alberto, A.I. Rodrguez Sotelo Sergio.

    Introduccin:

    Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un

    entorno de desarrollo, diseada para facilitar el uso de la electrnica en proyectos

    multidisciplinares.

    El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida.

    Los microcontroladores ms usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su

    sencillez y bajo coste que permiten el desarrollo de mltiples diseos. Por otro lado el software

    consiste en un entorno de desarrollo que implementa el lenguaje de programacin

    Processing/Wiring y el cargador de arranque (boot loader) que corre en la placa como se muestra la

    figura 1.

    Figura 1.

    Arduino se puede utilizar para desarrollar objetos interactivos autnomos o puede ser conectado a

    software del ordenador (por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data). Las

    placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede

    descargar gratuitamente.

    Al ser open-hardware, tanto su diseo como su distribucin es libre. Es decir, puede utilizarse

    libremente para el desarrollo de cualquier tipo de proyecto sin haber adquirido ninguna licencia.

    La plataforma Arduino se programa mediante el uso de un lenguaje propio basado en el popular

    lenguaje de programacin de alto nivel Processing. Sin embargo, es posible utilizar otros lenguajes

    de programacin y aplicaciones populares en Arduino.

    http://www.buscatubeca.com/wp-content/uploads/2010/06/UniversidaddeGuanajuato.jpg
  • 7/24/2019 Proyecto Final Informatica Industrial

    2/12

    UNIVERSIDAD DE GUANAJUATODIVISIN DE INGENIERIAS

    CAMPUS IRAPUATO-SALAMANCAINFORMATICA INDUSTRIAL

    2

    Una de las aplicaciones de Arduino es que puede conectarse a dispositivos externos para su manejo

    y control, por ejemplo a un modulo RF.

    En esta conexin cabe resaltar que se envan datos binarios(seal moduladora) a travs de una onda

    portadora senoidal.

    La ASK (Amplitudes-shift keying), es una modulacin de amplitud donde la seal moduladora (datos)

    es digital. Los dos valores binarios se representan con dos amplitudes diferentes y es usual que una

    de las dos amplitudes sea cero; es decir uno de los dgitos binarios se representa mediante la

    presencia de la portadora a amplitud constante, y el otro dgito se representa mediante la ausencia

    de la seal portadora. En este caso la seal moduladora vale:

    Mientras que el valor de la seal de transmisin (seal portadora) es dado por:

    vp(t) = Vp sen(2fp t)

    Donde Vpes el valor pico de la seal portadora y fpes la frecuencia de la seal portadora.

    Como es una modulacin de amplitud, la seal modulada tiene la siguiente expresin:

    v(t) = Vpvm(t)sen(2fp t)

    la en seal moduladora vm(t) al ser una seal digital toma nicamente los valores 0 y 1, con lo cual

    la seal modulada resulta:

    La seal modulada puede representarse grficamente como se muestra en la figura 2.

    http://www.buscatubeca.com/wp-content/uploads/2010/06/UniversidaddeGuanajuato.jpg
  • 7/24/2019 Proyecto Final Informatica Industrial

    3/12

    UNIVERSIDAD DE GUANAJUATODIVISIN DE INGENIERIAS

    CAMPUS IRAPUATO-SALAMANCAINFORMATICA INDUSTRIAL

    3

    Figura 2.

    Una vez conocida la forma en que se va a enviar nuestra informacin se prosigue a caracterizar el

    dispositivo que nos captara la temperatura , en este caso se utilizo un Transistor LM35 que es un

    sensor de temperatura integrado de precisin, cuya tensin de salida es linealmente proporcional a

    temperatura en C (grados centgrados).

    El LM35 por lo tanto tiene una ventaja sobre los sensores de temperatura lineal calibrada en grados

    Kelvin: que el usuario no est obligado a restar una gran tensin constante para obtener grados

    centgrados.

    El LM35 no requiere ninguna calibracin externa o ajuste para proporcionar una precisin tpica de

    1.4 C a temperatura ambiente y 3.4 C a lo largo de su rango de temperatura (de -55 a 150 C).

    El dispositivo se ajusta y calibra durante el proceso de produccin. La baja impedancia de salida, la

    salida lineal y la precisa calibracin inherente, permiten la creacin de circuitos de lectura o controlespecialmente sencillos.

    El LM35 puede funcionar con alimentacin simple o alimentacin doble (+ y -), sus conexiones se

    muestran en la figura 3.

    Figura 3.

    Requiere slo 60 A para alimentarse, y bajo factor de auto-calentamiento, menos de 0,1 C en aire

    esttico. El LM35 est preparado para trabajar en una gama de temperaturas que abarca desde los-

    55 C bajo cero a 150 C, mientras que el LM35C est preparado para trabajar entre -40 C y 110 C

    (con mayor precisin).

    http://www.buscatubeca.com/wp-content/uploads/2010/06/UniversidaddeGuanajuato.jpg
  • 7/24/2019 Proyecto Final Informatica Industrial

    4/12

    UNIVERSIDAD DE GUANAJUATODIVISIN DE INGENIERIAS

    CAMPUS IRAPUATO-SALAMANCAINFORMATICA INDUSTRIAL

    4

    Sus caractersticas principales son:

    Calibrado directamente en grados Celsius (Centgrados)

    Factor de escala lineal de +10 mV / C 0,5C de precisin a +25 C

    Rango de trabajo: -55 C a +150 C

    Apropiado para aplicaciones remotas

    Bajo costo

    Funciona con alimentaciones entre 4V y 30V

    Menos de 60 A de consumo

    Bajo auto-calentamiento (0,08 C en aire esttico)

    Mtodos:

    Ahora bien, queremos implementar un sistema que sea capas de censar cambios de temperatura y

    que al mismo tiempo sea capaz de transmitir la informacin de forma inalmbrica para poder ser

    visualizada en otro lugar lejano o en un medio aislado.

    Con el circuito LM35 tomaremos la informacin del ambiente en que se encuentra ya que

    tomaremos el valor analgico que nos esta entregando y lo convertiremos a un dato digital que nos

    represente la informacin, que en este caso es la temperatura.

    Los datos de la temperatura tendrn que ser procesados en la tarjeta Arduino para su prxima

    transmisin que va a cargo de el transmisor de AM.

    Los circuitos que realizaron la transmision-recepcion fueron como los mostrados en la figura 4, que

    son los CDR03A y CDT-88.

    Figura 4.

    http://www.buscatubeca.com/wp-content/uploads/2010/06/UniversidaddeGuanajuato.jpg
  • 7/24/2019 Proyecto Final Informatica Industrial

    5/12

    UNIVERSIDAD DE GUANAJUATODIVISIN DE INGENIERIAS

    CAMPUS IRAPUATO-SALAMANCAINFORMATICA INDUSTRIAL

    5

    Material utilizado:

    2 Tarjetas Arduino(UNO y MEGA)

    Transmisor y Receptor de RF CDR03A y CDT-88

    Sensor LM35

    Pantalla LCD 16x2

    2 placas Protoboard

    Jumpers de conexin

    Programador ARDUINOMR

    Antes de cargar el cdigo es necesario descargar e instalar la libreraVirtualWire.

    Cdigo del circuito transmisor de datos de temperatura con el LM35

    #include

    int lm35 = A0;

    int Sensor1Data;

    char SensorCharMsg[2];

    void setup()

    {

    pinMode(lm35,INPUT);

    Serial.begin(9600);

    vw_setup(2000);

    // Velocidad de conexion bps

    vw_set_tx_pin(3); // Pin en el que conectamos la patilla data del transmisor

    }

    void loop()

    {

    Sensor1Data = analogRead(lm35);

    Sensor1Data = (5 * Sensor1Data * 100)/1024;

    dtostrf(Sensor1Data,2,2,SensorCharMsg);

    Serial.print(" Temp: ");

    Serial.print(SensorCharMsg);

    http://www.open.com.au/mikem/arduino/VirtualWire/index.htmlhttp://www.open.com.au/mikem/arduino/VirtualWire/index.htmlhttp://www.open.com.au/mikem/arduino/VirtualWire/index.htmlhttp://www.buscatubeca.com/wp-content/uploads/2010/06/UniversidaddeGuanajuato.jpg
  • 7/24/2019 Proyecto Final Informatica Industrial

    6/12

    UNIVERSIDAD DE GUANAJUATODIVISIN DE INGENIERIAS

    CAMPUS IRAPUATO-SALAMANCAINFORMATICA INDUSTRIAL

    6

    Serial.println(" ");

    delay(500); // Esperamos para enviar el siguiente mensaje

    vw_send((uint8_t *)SensorCharMsg, strlen(SensorCharMsg));

    vw_wait_tx(); // Esperamos a que termine de enviar el mensaje

    delay(500);

    }

    El anterior cdigo toma los valores digitales del sensor LM35 y los convierte a caracteres que nos

    muestran un valor numrico en un a cadena de caracteres y acondiciona dichos datos para ser

    transmitidos por el modulo RF. Las velocidades de transmisin y recepcin tienen que ser las mismas

    para que los datos no se pierdan ni exista un desfasamiento en la recepcin tenemos que tener encuenta la sincrona entre ambos procesos. Las conexiones se muestran en la figura 5.

    Figura 5.

    Cdigo del circuito receptor de temperatura con pantalla LCD

    #include

    #include

    LiquidCrystal lcd(10,9,5,4,3,2); //Definimos la pantalla LCD

    http://www.buscatubeca.com/wp-content/uploads/2010/06/UniversidaddeGuanajuato.jpg
  • 7/24/2019 Proyecto Final Informatica Industrial

    7/12

    UNIVERSIDAD DE GUANAJUATODIVISIN DE INGENIERIAS

    CAMPUS IRAPUATO-SALAMANCAINFORMATICA INDUSTRIAL

    7

    int lm35;

    char SensorCharMsg[2];

    void setup()

    {

    lcd.begin(16, 2);

    Serial.begin(9600); // Configuramos la conexion serie con el ordenador

    vw_set_ptt_inverted(true); // Requerido por el modulo RF

    vw_setup(2000); // Velocidad de conexion bps

    vw_set_rx_pin(11); // Pin en el que conectamos la patilla data del receptor

    vw_rx_start(); // Arrancamos el receptor

    }

    void loop()

    {

    uint8_t buf[VW_MAX_MESSAGE_LEN];

    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Comprobamos si hemos recibido datos

    {

    int i;

    http://www.buscatubeca.com/wp-content/uploads/2010/06/UniversidaddeGuanajuato.jpg
  • 7/24/2019 Proyecto Final Informatica Industrial

    8/12

    UNIVERSIDAD DE GUANAJUATODIVISIN DE INGENIERIAS

    CAMPUS IRAPUATO-SALAMANCAINFORMATICA INDUSTRIAL

    8

    lcd.clear();

    lcd.setCursor(0,0);

    // Mensaje con un chequeo correcto.

    for (i = 0; i < buflen; i++)

    {

    SensorCharMsg[i] = char(buf[i]);

    //lcd.print((char)buf[i]);

    SensorCharMsg[buflen] = '\0';

    // Convertir Sensor1CharMsg matriz de Char a entero

    lm35 = atof(SensorCharMsg);

    Serial.print("Temperatura: ");

    Serial.println(lm35);

    lcd.setCursor(0,0); // escribir en esta posicion

    lcd.print("Temp: ");

    lcd.setCursor(1,1);

    lcd.print(lm35);

    lcd.setCursor(5,1);

    lcd.print("gradCelcius");

    }

    }

    }

    Para realizar la comunicacin por radiofrecuencia es necesario un transmisor que es el que se

    encarga de enviar una seal electromagntica a una cierta frecuencia y un receptor que la recibe.

    En mi caso utilizare un transmisor CDR03A y un receptor CDT-88 de 433MHz.

    Para programar necesitaremos la librera de virtualwire que se puede encontrar gratuitamente en

    internet, esta la tendremos que descomprimir en la carpeta libraries de Arduino y ya podremos

    usarla.

    http://www.buscatubeca.com/wp-content/uploads/2010/06/UniversidaddeGuanajuato.jpg
  • 7/24/2019 Proyecto Final Informatica Industrial

    9/12

    UNIVERSIDAD DE GUANAJUATODIVISIN DE INGENIERIAS

    CAMPUS IRAPUATO-SALAMANCAINFORMATICA INDUSTRIAL

    9

    Las conexiones correspondientes se muestran en la figura 6. En la practica el potencimetro se

    omiti ya que solo es para ajustar el contraste y este se coloco en el mximo (a tierra), y solo se

    utilizo DATA1 del circuito receptor de RF.

    Figura 6.

    Resultados:

    Una vez hechas las conexiones y cargado los programas en las tarjetas Arduino se empez a

    transmitir las temperaturas obtenidas por el LM35.

    La primera etapa del sistema conjunto el LM35 con una tarjeta Arduino, que realizaba las

    operaciones necesarias para convertir la seal analgica del LM35 a datos binarios o informacin,

    de esta manera podemos decir que sirvi de cierta manera de modulador, ya que acondicionaba la

    seal para su transmisin y le daba la sincrona para su prxima recepcin.

    En esta etapa se pudo transmitir de manera correcta y eficaz la temperatura captada por el sensor

    sin ningn problema.

    Hay que tener en cuenta que todas las conexiones de alimentacin del Lm35 y del transmisor se

    hicieron directamente de la tarjeta Arduino por lo que hay que tener cuidado de no tener cortos

    circuitos ni cables mal conectados.

    El sistema de transmisin se muestra en la figura 7. En este circuito se uso la Arduino MEGA, que es

    casi lo mismo que una Arduino UNO solo que con mas puertos de entrada y salida y mas velocidad

    de procesamiento.

    http://www.buscatubeca.com/wp-content/uploads/2010/06/UniversidaddeGuanajuato.jpg
  • 7/24/2019 Proyecto Final Informatica Industrial

    10/12

    UNIVERSIDAD DE GUANAJUATODIVISIN DE INGENIERIAS

    CAMPUS IRAPUATO-SALAMANCAINFORMATICA INDUSTRIAL

    10

    Figura 7.

    Una vez transmitida la informacin esta tena que ser recibida y mostrada en una pantalla LCD, para

    lo cual se empleo un circuito receptor, que reciba la informacin transmitida y la desmodulaba para

    obtener la informacin original, esto lo hacia la segunda tarjeta Arduino, que su principal funcin

    fue recibir la informacin y desplegar el mensaje en pantalla.

    De igual manera tenemos que cuidar que las conexiones sean de manera correcta ya que podemos

    daar el equipo.

    El sistema funciono de manera adecuada, pero tiene que colocrsele una antena de sus medidas

    correspondientes para una mejor recepcin as como tambin en la transmisin, el sistema de

    recepcin de temperatura se muestra en la figura 8.

    http://www.buscatubeca.com/wp-content/uploads/2010/06/UniversidaddeGuanajuato.jpg
  • 7/24/2019 Proyecto Final Informatica Industrial

    11/12

    UNIVERSIDAD DE GUANAJUATODIVISIN DE INGENIERIAS

    CAMPUS IRAPUATO-SALAMANCAINFORMATICA INDUSTRIAL

    11

    Figura 8.

    Discusiones:

    El mundo real es bsicamente analgico. La medida directa de una magnitud fsica (sonido,

    temperatura, presin, etc.) es convertida por el correspondiente transductor (sensor) a un valor de

    tensin analgica capaz de ser procesada por un sistema electrnico y debido a esta conversin sepueden tener interferencias y perdidas de la seal original.

    Los sistemas digitales emplean los valores numricos codificados en binario, en palabras digitales

    compuestas por ceros y unos; ello proporciona a los sistemas digitales alta fiabilidad y precisin,

    conseguidas por la perfecta distincin fsica entre el 0 y el 1, y una gran potencia de clculo, derivada

    de la utilizacin de un sistema de numeracin y de la capacidad de integracin de funciones

    booleanas de altsima complejidad.

    El anterior sistema de Transmisin-Recepcin de temperatura funciono de manera adecuada, pero

    puede mejorarse de manera sustancial para hacer mas grande su rango de operacin con el acoplo

    de una antena que sea de sus debidas caractersticas de transmisin.

    Se tuvo un alcance de 50m. que puede ser mejorado con el acoplamiento de una mejor antena, ya

    que solo se utilizo un pedazo de alambre de 10cm.

    http://www.buscatubeca.com/wp-content/uploads/2010/06/UniversidaddeGuanajuato.jpg
  • 7/24/2019 Proyecto Final Informatica Industrial

    12/12

    UNIVERSIDAD DE GUANAJUATODIVISIN DE INGENIERIAS

    CAMPUS IRAPUATO-SALAMANCAINFORMATICA INDUSTRIAL

    12

    Bibliografas:

    http://giltesa.com/2012/07/19/modulos-de-radio-frecuencia-a-433mhz-para-arduino/

    http://www.textoscientificos.com/redes/modulacion/ask

    http://milegomindstorms.blogspot.mx/2011/03/emisor-receptor-rf-con-arduino-ii.html

    http://www.ikkaro.com/arduino-comunicacion-radiofrecuencia

    http://electronica.webcindario.com/componentes/lm35.htm

    http://playingwitharduino.blogspot.mx/2012/01/lm35-temperatura-y-lcd.html

    http://arduino.cc/es/Main/ArduinoBoardMega

    http://arduino.cc/en/Main/arduinoBoardUno

    http://www.angelfire.com/al3/6036L/p52a.html

    http://www.x-robotics.com/sensores.htm#LM35

    http://giltesa.com/2012/07/19/modulos-de-radio-frecuencia-a-433mhz-para-arduino/http://giltesa.com/2012/07/19/modulos-de-radio-frecuencia-a-433mhz-para-arduino/http://www.textoscientificos.com/redes/modulacion/askhttp://www.textoscientificos.com/redes/modulacion/askhttp://milegomindstorms.blogspot.mx/2011/03/emisor-receptor-rf-con-arduino-ii.htmlhttp://milegomindstorms.blogspot.mx/2011/03/emisor-receptor-rf-con-arduino-ii.htmlhttp://www.ikkaro.com/arduino-comunicacion-radiofrecuenciahttp://www.ikkaro.com/arduino-comunicacion-radiofrecuenciahttp://electronica.webcindario.com/componentes/lm35.htmhttp://electronica.webcindario.com/componentes/lm35.htmhttp://playingwitharduino.blogspot.mx/2012/01/lm35-temperatura-y-lcd.htmlhttp://playingwitharduino.blogspot.mx/2012/01/lm35-temperatura-y-lcd.htmlhttp://arduino.cc/es/Main/ArduinoBoardMegahttp://arduino.cc/es/Main/ArduinoBoardMegahttp://arduino.cc/en/Main/arduinoBoardUnohttp://arduino.cc/en/Main/arduinoBoardUnohttp://www.angelfire.com/al3/6036L/p52a.htmlhttp://www.angelfire.com/al3/6036L/p52a.htmlhttp://www.x-robotics.com/sensores.htm#LM35http://www.x-robotics.com/sensores.htm#LM35http://www.x-robotics.com/sensores.htm#LM35http://www.angelfire.com/al3/6036L/p52a.htmlhttp://arduino.cc/en/Main/arduinoBoardUnohttp://arduino.cc/es/Main/ArduinoBoardMegahttp://playingwitharduino.blogspot.mx/2012/01/lm35-temperatura-y-lcd.htmlhttp://electronica.webcindario.com/componentes/lm35.htmhttp://www.ikkaro.com/arduino-comunicacion-radiofrecuenciahttp://milegomindstorms.blogspot.mx/2011/03/emisor-receptor-rf-con-arduino-ii.htmlhttp://www.textoscientificos.com/redes/modulacion/askhttp://giltesa.com/2012/07/19/modulos-de-radio-frecuencia-a-433mhz-para-arduino/http://www.buscatubeca.com/wp-content/uploads/2010/06/UniversidaddeGuanajuato.jpg