Sistemas de instrumentación en tecnología espacial

Visualización de datos con Arduino / Hazlo tu mismo

Gustavo Hernández Heras

Fecha: 2018-01-30


¿Sabías qué?

 

La instrumentación electrónica es una rama de la ingeniería electrónica que se encarga de sensar y procesar la información proveniente de variables físicas y químicas, a partir de las cuales se realiza el monitoreo, medida y control de procesos, empleando para ello tecnologías y dispositivos electrónicos. Cuando hablamos de tecnología espacial, es difícil imaginar tan asombrosos avances sin la intervención de la ingeniería de instrumentación, debido a que la gran mayoría de sistemas desarrollados implementan etapas de sensado para adquirir información del entorno. El 26 de Noviembre del 2011 la NASA dio inicio a una de las misiones más importantes en la historia de la exploración extraterrestre. Con el objetivo de investigar el planeta Marte se desplegó en la superficie del planeta rojo, uno de los robots más avanzados para la época, el  “Curiosity”. Este gigante de la instrumentación es un robot de exploración tipo rover dotado de una gran cantidad de sensores, encargados de realizar mediciones en la atmósfera marciana.

Sistema REMS (Rover Environmental Monitoring Station)

 

El sistema REM, Sistema de Supervisión y Monitoreo Espacial (en español), es una estación meteorológica a bordo del Curiosity encargada de medir la presión atmosférica, humedad, dirección, fuerza del viento, temperatura ambiental y los niveles de radiación ultravioleta.

Sistema ChemCam (Chemistry and Camera Complex)

 

Es un sistema que se compone de un par de sensores desarrollados por el Instituto de Investigación en Astrofísica y Planetología en conjunto con  Los Alamos National Laboratory. El primer sensor  conocido como LIBS (Laser Induced Breakdown Spectroscopy) es el encargado de proveer resultados sobre la composición de las rocas y el suelo. El segundo,  RMI (Remote Micro Imager) proporciona imágenes de alta resolución de las rocas y el suelo que el sensor LIBS examina. Pero, ¿cómo funciona esto?, el sensor LIBS puede apuntar a una roca con un potente láser infrarrojo a una distancia de hasta 7m para evaporar la muestra, es entonces que el sensor RMI analiza el espectro de luz emitido por la roca vaporizada.

Sistema Hazcams (Hazard Avoidance Cameras)

 

Es un sistema de navegación compuesto por cuatro cámaras con un ángulo de visión de hasta 120° que captan la luz en blanco y negro y están situadas en la parte delantera, izquierda, derecha y trasera del vehículo. Estas cámaras trabajan en conjunto con software especializado de visión por computadora para la prevención de riesgos y evitar que el vehículo choque con obstáculos inesperados.

¿Cómo se visualiza la información?

 

La información adquirida por estos sensores es procesada para dos cosas en específico: enviarse a la tierra para su análisis, y  por otra parte, le sirve al robot para la navegación. En todo sistema de instrumentación es importante poder visualizar la información adquirida, en los casos más complejos se utilizan gráficos por computadora en donde se presentan miles de datos como los arrojados por el sistema REMS del Curiosity. En casos más simples, una pantalla que pueda desplegar caracteres alfanuméricos será suficiente  para visualizar la temperatura corporal de un astronauta a bordo de la ISS tomada con un termómetro de precisión.  

 

Practica 3: Visualización de datos a través de un Display LCD

 

Objetivos

 

  • Entender el funcionamiento de un Display LCD
  • Realizar la medición de un sensor de temperatura LM35
  • Controlar y presentar la información del sensor en el Display LCD

Introducción

 

Cuando tenemos sistemas de instrumentación electrónica es de mucha importancia poder visualizar la información de manera inmediata y en el mismo lugar en donde se han tomado las mediciones. Por ejemplo, saber el nivel de PH en una solución en el momento en que se agrega el soluto, la temperatura ideal de un horno industrial avisará al trabajador el momento adecuado para para comenzar la fundición de hierro, etc. Existen dispositivos electrónicos que permiten presentar de manera gráfica la información: display de siete segmentos, de cristal líquido, OLED, TFT, barras de leds, etc, son algunos ejemplos de los dispositivos que cumplen el propósito. En esta práctica te enseñaremos a controlar un LCD (Liquid Cristal Display) para poder visualizar la información obtenida por el sensor de temperatura LM35 que vimos en nuestra publicación anterior “Termómetro digital con Arduino (La importancia de la temperatura corporal en el espacio)”.

Clasificación de componentes electrónicos

 

Los componentes electrónicos se clasifican en dos tipos: componentes pasivos y componentes activos. Los pasivos son aquellos que solo consumen potencia (energía eléctrica), estos no generan energía para excitar otros dispositivos y tampoco poseen ganancia (amplificación de señales). Los resistores, capacitores, inductores, son ejemplos de este tipo de componentes. Por otra parte los componentes activos son aquellos que si generan energía, es decir, son capaces de generar y/o amplificar señales. Transistores, circuitos integrados, fuentes de alimentación, sensores, son ejemplos de este tipo de componentes. En esta práctica utilizaremos dos componentes que no hemos visto hasta ahora, el resistor y el potenciómetro, ¿tienes curiosidad por saber qué son?, ¡pues veamos de qué se trata!

Resistores

 

Un resistor es un componente eléctrico pasivo. Están fabricados en su mayoría de carbón y otros materiales que se oponen al paso de corriente. Es uno de los componentes más importantes en la electrónica puesto que nos permite controlar la cantidad de corriente que se suministra a un circuito. Ojo con esto, el término controlar se refiere a que en todo momento el resistor disminuirá la corriente a través de un proceso de disipación térmica, jamás amplificará. La unidad para cuantificar la resistencia eléctrica es el ohm. El resistor fijo es un componente electrónico de dos terminales o dos pins.

 

Con frecuencia os encontramos con tres términos que son la base de la electrónica. Voltaje, corriente y resistencia. ¿Pero que son cada uno de ellos? Para poder explicarlo de manera sencilla haremos una analogía con una tubería de agua y una llave o válvula para controlar el caudal (cantidad de agua que sale por la llave).

 

Imaginemos lo siguiente: podemos relacionar una cabe conductor con una tubería en donde hay un flujo de agua, análogamente hay un flujo de corriente en el cable. El flujo de agua en la tubería existe por el efecto de una fuerza de presión (bomba de agua), en un circuito eléctrico la corriente existe per el efecto de presión que genera una batería. El flujo de agua se controla con la llave, es decir, podemos regular la cantidad de agua que sale si la abrimos o cerramos, la corriente se controla por un elemento resistivo.

 

La corriente es un flujo de electrones que se mueven libremente a través de un conductor, el voltaje es la presión necesaria para que exista el flujo de corriente, y la resistencia es una propiedad de los materiales para indicarnos que tanta corriente puede circular por un conductor. Cabe destacar que sin voltaje (presión) no existe un flujo de electrones (corriente), además. a mayor resistencia es menor la cantidad de corriente, e inversamente, a menor resistencia es mayor la cantidad de corriente.

Código de colores para resistores fijos

 

Para identificar el valor de un resistor existe un estándar, coloquialmente conocido como “Código de colores”. Cada resistor tiene en su superficie de 4 a 5 bandas de colores, que nos ayudan a conocer su valor resistivo. Las bandas se leen de izquierda a derecha.

 

 

  • Primera banda: Corresponde a las decenas
  • Segunda banda: Corresponde a las unidades
  • Tercera banda: Corresponde al multiplicador (valor por el que se multiplica el número de las dos primeras bandas)
  • Cuarta banda: Valor de tolerancia, nos indica el porcentaje que puede variar su valor resistivo

¿Que significan las bandas?

 

Cada banda es comparada con una tabla que relaciona el color con un número determinado.

 

 

Ejemplo: Para esta práctica utilizaremos un resistor de 330 ohms. Vamos a analizarlo con los conceptos que se han mostrados.

Podemos observar que los colores para las bandas son:

 

  • Primera banda: Naranja
  • Segunda banda: Naranja
  • Tercera banda: Café
  • Cuarta banda: Dorado

 

Si nos referimos a la tabla de código de colores, vemos la siguiente equivalencia numérica

 

  • Primera banda: Naranja = 3
  • Segunda banda: Naranja = 3
  • Tercera banda: Café = multiplicador x 10
  • Cuarta banda: Dorado = tolerancia de 5%

 

¿Y, ahora que?

 

  • Con esta información sabemos que debemos multiplicar 33 (valor de las dos primeras bandas) X 10 (valor de la tercera banda) = 330 ohms, este es valor de nuestro resistor.
  • La tolerancia se refiere al porcentaje en la resistividad en el que puede variar nuestro resistor. A saber, 330 x 0.1 = 33 esto significa que el valor de nuestro resistor puede variar desde 297 a 363. Esta variación se debe a los procesos de manufactura en un lote de millones de resistores.

 

Potenciómetro

 

El potenciómetro es un resistor variable, que a diferencia del resistor fijo, tiene la facilidad de variar desde 0 hasta su valor máximo. Esto se logra por medio de un vástago móvil que al girarlo cambia el valor de la resistividad.

 

Un potenciómetro es más fácil de identificar puesto que llevan impreso el valor de su resistencia en la parte frontal superior.

 

 

Liquid Crystal Display (LCD)

 

El LCD (por sus siglas en inglés) mejor conocido como pantalla de cristal líquido, es un componente electrónico muy popular usado en proyectos donde se requiere mostrar información de manera visual. Existen una gran variedad de estas pantallas, con diferentes aplicaciones, en la industria, o para electrónica de consumo como en relojes, tostadoras, hornos, lavadoras, etc. Algunas solo son capaces de mostrar determinada información mientras que otras son totalmente personalizables pudiendo crear animaciones con el texto, imprimir caracteres especiales y hasta símbolos. Para nuestra práctica trabajaremos con una de las pantallas más conocidas y accesibles, con un gran campo de aplicación, el LCD 16X2 (con controlador HITACHI HD44780). Su nombre hace referencia a la forma en la que presenta la información. Esto es, en 2 hileras, donde cada una de ellas puede representar 16 caracteres alfanuméricos. Cada carácter se representa por medio de una pequeña matriz de puntos agrupados en rectángulos de 5 pixeles de ancho x 8 pixeles de alto. En la siguiente imagen podemos observar pequeños rectángulos oscuros, cada uno es la matriz mencionada, en donde se puede visualizar un carácter.

 

 

El LCD debe ser controlado por un microcontrolador para poder ordenarle que despliegue la información deseada, esto se hace a través de los 16 pins de conexión incorporados en la parte superior izquierda.

 

  • Los pins 1 y 2 son utilizados para la alimentación del LCD, es por ello que se conectan a GND y VCC respectivamente.
  • En el pin 3 se conecta la salida del pin 2 de un potenciómetro, esto permite modificar el contraste de la pantalla, siéntete libre de girarlo hasta que estés satisfecho con el resultado.
  • Los pins 4, 5 y 6 son 3 señales de entrada para el control del display que le indican cuando comenzar a escribir un caracter, borrar la pantalla, desplazar el texto, etc. Estas señales deben ser mandadas por algún microcontrolador.
  • Los pins del 7 al 14 son para recibir un el caracter que deberá ser mostrado en la pantalla, estas señales deben ser mandadas por un microcontrolador.
  • Los pins 15 y 16 son para la luz de backlight.

 

Manos a la obra

 

A continuación te enseñaremos a controlar un LCD con Arduino, te presentamos el diagrama de conexión que deberás realizar en tu protoboard.

 

Para el desarrollo de esta práctica utilizaremos el sensor LM35 que ocupamos en la práctica pasada. Termómetro digital con Arduino (La importancia de la temperatura corporal en el espacio) Arduino dispone de una librería llamada LiquidCrystal que soporta una gran gama de displays LCD, entre ellas la nuestra ( LCD 16x2 HITACHI HD44780 ). Está librería contiene las funciones necesarias para poder enviar texto, números y hasta símbolos, además de borrar la pantalla y desplazar la información.

 

Después de realizar las conexiones entre el sensor y el Arduino, deberás subir el siguiente programa a tu tarjeta de desarrollo y abrir la terminal para que puedas visualizar los datos.

 

Podrás encontrar este código con el nombre practica3/lm35_LCD en nuestro repositorio público en https://github.com/GustavoAEM/robotica-no-ingenieros

//Definicion de los pins de control para el LCD
#define RS 12
#define EN 11
#define D4 5
#define D5 4
#define D6 3 
#define D7 2

#define COLS 16
#define ROWS 2

//Led ON/OF para saber que nuestro Arduino está prendido
#define status_led 13

//Se define el periodo para mostrar la temperatura
#define periodo 3

//Libreria para usar las interrupciones 
#include 
#include 


float sensor = 0;
float temperatura;
int contador = 0;
float promedio = 0;
float sumador = 0;
byte caracter[8] = {
  0b00011,
  0b00011,
  0b00000,
  0b00000,
  0b00000,
  0b00000,
  0b00000,
  0b00000
};

//Interrupcion salta cada segundo
void ISR_measureTemp(){
  //Esta interrupcion salta cada segundo, y se llama a la funcion medicion
  medicion();
  }

LiquidCrystal lcd(RS, EN, D4, D5, D6, D7);

void setup() {
  // put your setup code here, to run once:
  
  //Se define el led indicador como salida y se activa
  pinMode(status_led, OUTPUT);
  digitalWrite(status_led, HIGH);
  
  //Se inicializa el puerto de comunicacion serie
  Serial.begin(9600);

  //Indicamos el uso de referencia interna de 1.1 V
  analogReference(INTERNAL);

  //Se define cada cuantos us salta la interrupcion
  Timer1.initialize(1000000);

  //Se define la interrupcion
  Timer1.attachInterrupt(ISR_measureTemp);

  //Se inicializa el LCD
  lcd.begin(COLS, ROWS);

  //Creando el simbolo para grados
  lcd.createChar(0, caracter);
  delay(100);

  lcd.print("   Sensor LM35");
  
  

}


void loop() {
  // put your main code here, to run repeatedly:
  }

void medicion(){
  if(contador <= periodo){
    temperatura = (analogRead(A0)*1.1/1023)/0.010;
    sumador = temperatura + sumador;
    promedio = sumador/periodo; 
    contador += 1;
    
    
  }
   if(contador >= periodo){  
      lcd.setCursor(3, 0);
      lcd.print("Sensor LM35");   
      lcd.setCursor(5, 1);
      lcd.print(promedio, 1);
      lcd.write(byte(0));
      lcd.print("C");
      contador = sumador = promedio = 0;   
      
    }
  
    
  
}

Una vez que tengas tu Arduino programado podrás monitorizar la temperatura de diferentes entornos sin necesidad de estar conectado a la computadora a través de un cable USB. Puedes conectar tu Arduino a una batería, te recomendamos usar una batería de respaldo como las que se usan para cargar los teléfonos celulares. 

Diviértete, explora la temperatura del mundo...

 

Medición de la temperatura ambiente.

 

Medición de la temperatura al acercar una fósforo.

 

Medición de la temperatura al acercar un hielo.

Conclusión:

 

Los resistores y potenciómetros son componentes electrónicos pasivos y permiten controlar el flujo de corriente en los circuitos eléctricos. Los sistemas de instrumentación se utilizan para realizar mediciones y procesar la información de un entorno a través de sensores. Los campos de aplicación son demasiados, instrumentación industrial, medica, exploración espacial, química, etc. A menudo se requiere presentar la información de manera gráfica. Los display son componentes electrónicos que sirven para este propósito. El LCD es una pantalla muy versátil que se adapta a la mayoría de los proyectos, puede desplegar hasta 32 caracteres alfanuméricos en dos filas de 16 caracteres cada una. Para poder controlar esta pantalla se requiere de un microcontrolador. Arduino dispone de una librería muy completa para manipular LCDs, implementa funciones para imprimir caracteres, borrar, desplazar texto, etc.

 



Referencias:

Curiosity https://marsmobile.jpl.nasa.gov/msl/multimedia/interactives/learncuriosity/index-2.html https://www.space.com/17963-mars-curiosity.html Arduino https://www.arduino.cc/ https://www.arduino.cc/en/Reference/LiquidCrystal LCD 16x2 https://www.engineersgarage.com/electronic-components/16x2-lcd-module-datasheet Libros: Introducción al análisis de circuitos, Boylestad, Ed. Pearson



Etiquetas: dispay,LCD,arduino,corriente,resistencia,voltaje,potenciometro,codigo de colores,instrumentacion

Revista Hacia El Espacio de divulgación de la ciencia y tecnología espacial de la Agencia Espacial Mexicana.