Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Tercer Congreso Virtual, Microcontroladores y sus Aplicaciones Congreso 2014, Página 1 Nano-satélite basado en microcontroladores PIC: CanSat Ing. Ramón Carrasco Duboué; Ing. Samuel Vázquez Hernández Instituto de Geofísica y Astronomía Departamento de Astronomía Cuba Correo-e: ramon@iga.cu; samuel@iga.cu Resumen: Este proyecto abarca el desarrollo de un nano-satélite empleando dos microcontroladores PIC, uno con función de transmisor y el otro de receptor. La comunicación entre ellos se realiza vía inalámbrica mediante XBee. Además se diseñó un software que permite comunicar el receptor con una PC vía USB y así poder observar en tiempo real el comportamiento de las variables medidas, en este caso, temperatura y presión. Estos datos también son utilizados para realizar una estimación de la altura a la que se encuentra el dispositivo. Para su lanzamiento, el transmisor se debe posicionar en el interior de una lata de refresco y realizar un sistema electro-mecánico que permite abrir un paracaídas en la caída para evitar daños de los componentes. 1 Introducción El concepto satélite se puede referir a dos cosas: satélite natural o artificial. Un satélite natural es un cuerpo celeste que orbita un planeta u otro cuerpo más pequeño, mientras que los satélites artificiales son objetos de fabricación humana que se colocan en órbita alrededor de un cuerpo celeste como un planeta o un satélite natural. El primer satélite artificial fue el Sputnik I lanzado por la Unión Soviética el 4 de octubre de 1957. Desde entonces se han colocado en órbita miles de satélites artificiales, muchos de los cuales aún continúan en órbita alrededor de la Tierra. En la actualidad hay satélites de comunicaciones, navegación, militares, meteorológicos, de estudio de recursos terrestres y científicos. Con los avances en la tecnología se ha podido reducir considerablemente el tamaño de los satélites. Estos se pueden clasificar según su peso: Macro satélites: Mayor a 1000kg. Satélites medianos: Entre 500 y 1000kg. Mini satélites: Entre 100 y 500kg. Micro satélites: Entre 10 y 100kg. Nano satélites: Entre 1 y 10kg. Pico satélites: Entre 0.1 y 1kg. Femto satélites: Menor a 100g. 1.1 CanSat Un CanSat es un nano satélite que cabe en una lata de refresco de 350 ml y que a través de su diseño, construcción y prueba permite el estudio y adquisición de conocimientos básicos en construcción de satélites. Los CanSat no orbitan, pero mediante su lanzamiento a través de un cohete, un globo sonda o un avión a escala de control remoto se pueden realizar pruebas y transmitir información de telemetría mientras descienden lentamente a tierra usando un paracaídas, desarrollando así la misión para la que fueron construidos. El concepto de CanSat fue propuesto originalmente por el profesor Robert Twiggs del Laboratorio de Desarrollo Espacial de la Universidad de Stanford en 1999 para la enseñanza de los conceptos básicos para el diseño y construcción de satélites para estudiantes de ingeniería espacial. La misión de un CanSat puede ser recoger datos o efectuar retornos controlados. Estos dispositivos normalmente deben ser completamente autónomos así como efectuar transmisiones de datos. Los CanSats se usan como introducción a la tecnología espacial debido al bajo costo, corto tiempo de preparación y simplicidad de diseño en comparación con otros proyectos espaciales. 1.2 Misión La primera misión de este dispositivo es ascender a una altura de 500 m aproximadamente y comenzar a descender. En su descenso debe adquirir y enviar a un receptor las variables de temperatura y presión. Durante la caída se debe abrir un paracaídas para evitar la colisión del dispositivo y ruptura de los componentes. 2 El receptor a su vez debe estar conectado a una PC para graficar y observar los datos recibidos en tiempo real. En el sistema de adquisición de datos realizado, se mostrará la altura a la que se encuentra el transmisor utilizando los datos de presión y temperatura recibidos. Basándose en esta altura, el usuario puede liberar cuando desee el paracaídas antes mencionado. Si la altura llega a un punto determinado y el usuario no ha abierto el paracaídas, el microcontrolador transmisor lo hará automáticamente. 2 Materiales y componentes Para el diseño de este sistema los principales componentes electrónicos empleados son: Microcontrolador PIC 18F2550. Microcontrolador PIC 18F2520. XBEE09P. Sensor de presión MPX4115. Sensor de temperatura LM335. 2.1 Microcontroladores PIC Los microcontroladores son un componente imprescindible de todos los sistemas de medición modernos, sistemas de accionamiento, controladores empotrados o embebidos y de cualquier sistema de medición y/o control. Estos tienen bajas y medias capacidades de procesamiento, reducido tamaño, comunicación a través de buses de campo, alta fiabilidad y bajo consumo de energía y, además, trabajan en tiempo real. Por tanto, son dispositivos de bajo costo relativamente fáciles de programar [1]. Aunque los fabricantes de sistemas de medición y control no ofrecen información detallada de la arquitectura de sus sistemas, se conoce que tanto sensores “inteligentes”, como controladores (incluyendo los autómatas programables), poseen al menos un microcontrolador. Además, ofrecen facilidades de programación serie y de actualización del firmware (en memoria Flash) permitiendo que, después de montado el microcontrolador en el impreso, el producto salga con la última versión de firmware, lo que ofrece mayor flexibilidad en las líneas de producción, y su capacidad de proteger la memoria impide la copia del firmware, dándole gran valor comercial a este elemento software. El costo de los microcontroladores de altas prestaciones generalmente es muy bajo, y los de bajas prestaciones se pueden encontrar a $1USD y son comercializados por la mayoría de las empresas vendedoras de componentes electrónicos. Tradicionalmente los microcontroladores se han programado en lenguaje ensamblador, el cual presenta la desventaja de que el código se extiende mucho en dependencia de la complejidad del programa, lo que hace la confección y mantenimiento de un programa escrito en ensamblador relativamente difícil. Además, los microcontroladores fabricados por diferentes firmas tienen un diferente repertorio de instrucciones por lo que el usuario tiene que aprender un nuevo repertorio de instrucciones por cada microcontrolador que utilice. Afortunadamente, estos pueden ser programados en un lenguaje de más alto nivel, como el lenguaje C. Esto permite el desarrollo de programas más complejos a mayor velocidad y, además, es un lenguaje mucho más sencillo de aprender [2]. Los microcontroladores PIC son una familia manufacturada por Microchip Technology Inc. Actualmente los PIC son uno de los microcontroladores más populares, utilizados para la educación, aplicaciones industriales, domótica, equipos médicos y electrodomésticos [1]. Esta familia está conformada, aproximadamente, por 140 dispositivos que van desde lo más simple, con 4 pines y 0.5 kB de memoria, hasta dispositivos más complejos con 80 pines y 32 kB de memoria. Independientemente del dispositivo, todos presentan la misma estructura básica: Repertorio reducido de instrucciones (RISC), con solamente 35 instrucciones. Puertos de entrada/salida digitales bidireccionales. Memoria de datos RAM. Flash re-escribible o memoria de programa que solo puede programarse una vez. Temporizadores internos con pre-escalador. Temporizador de “perro guardián”. (Watch-dog timer). Reset de encendido. (Power-on reset). Operaciones utilizando un oscilador externo o interno. Corriente máxima de salida de 25mA. Modo de sueño para salvar energía. (Power saving sleep mode). Numerosos periféricos para comunicación, medición de tiempo, medición de variables analógicasy digitales, generación de señales, etc. 2.1.1 PIC 18F2550 Este microcontrolador se emplea como receptor de las variables medidas, temperatura y presión, las cuales envía el transmisor inalámbricamente utilizando el XBee. Además, se comunica vía USB con una PC, donde se encuentra el software de control y adquisición de datos desarrollado. Entre sus características principales se puede mencionar [3]: Frecuencia de operación: Hasta 48MHz. Memoria de programa (bytes): Flash interna de 32.768. Memoria RAM de datos (bytes): SRAM interna de 2.048. Memoria EEPROM de datos (bytes): 256. Interrupciones: 19. Tercer Congreso Virtual, Microcontroladores y sus Aplicaciones Congreso 2014, Página 3 Líneas de entrada/salida: 24. Temporizadores: 4. Módulos de Comparación/Captura/PWM (CCP): 2. Canales de comunicación serie: MSSP, EUSART. Canal USB: 1. Canales de conversión A/D de 10 bits: 10. Comparadores analógicos: 2. Juego de instrucciones: 75 (83 extendido). Número de pines: 28. En la figura 1 se muestra el diagrama del hardware diseñado para que el receptor se comunique con la PC y con el transmisor. Se incorporan dos leds en los cables de transmisión y recepción por puerto serie del microcontrolador, que al parpadear indicarán que se está intercambiando datos correctamente. Además se realiza la conexión del usb con dos resistencias de 10 kΩ, una conectada a tierra y la otra a un pin del PIC, en este caso RC0. Esta configuración permite que la PC autodetecte el nuevo dispositivo conectado, es decir, el microcontrolador [3]. Fig.1: Diagrama del hardware diseñado para el receptor. 2.1.2 PIC 18F2520 Este segundo microcontrolador se emplea como transmisor de los datos censados. Estos se adquieren haciendo uso de su conversor análogo-digital de 10 bits de resolución. Como el censado se realiza en caída libre el microcontrolador tiene que accionar un paracaídas, ya sea de forma automática o por la orden del usuario, enviada vía XBee por el receptor. Para el despliegue del paracaídas se programó un temporizador para encender un motor por un tiempo determinado por el usuario. Entre sus características principales se puede mencionar [4]: Frecuencia de operación: Hasta 40MHz. Memoria de programa (bytes): Flash interna de 32.768. Memoria RAM de datos (bytes): SRAM interna de 1.536. Memoria EEPROM de datos (bytes): 256. Interrupciones: 19. Líneas de entrada/salida: 25. Temporizadores: 4. Módulos de Comparación/Captura/PWM (CCP): 2. Canales de comunicación serie: MSSP, EUSART. Canales de conversión A/D de 10 bits: 10. Juego de instrucciones: 75 (83 extendido). Número de pines: 28. 4 En la figura 2 se muestra el diagrama del hardware diseñado para el transmisor. Se incorpora una batería de 9V y un circuito para obtener 5V y 3V para la alimentación de los componentes, además de las entradas para los sensores de presión y temperatura. El motor de directa empleado para lanzar el paracaídas está conectado a uno de los pwm (pin de modulación de ancho de pulso) del microcontrolador. Uno de los requerimientos de esta placa es que tiene que ser lo suficientemente pequeña para que quepa en una lata de refresco y lo suficientemente liviana para facilitar la subida y que el paracaídas funcione correctamente. Fig.2: Diagrama del hardware diseñado para el transmisor. 2.2 XBEE09P Los módulos XBee y XBee-PRO fueron diseñados bajo el estándar de comunicación ZigBee/IEEE 802.15.4. Estos son dispositivos inalámbricos de bajo costo y bajo consumo, pero proveen un intercambio de datos confiables entre diferentes dispositivos, operando en la banda de frecuencia de 2.4 GHz [5]. El XBee09P pertenece a la rama PRO, elegido principalmente por los requerimientos de distancia, ya que se desean tomar la mayor cantidad de datos posibles desde la mayor altura posible. Entre sus principales características se encuentran: Máxima distancia de comunicación en zonas urbanas o bajo techo: 100 m. Exteriores: 1500 m. Potencia de transmisión: 100 mW (20dBm). Sensibilidad del receptor: -100 dBm. Corriente de transmisión: 270 mA (@3.3 V). Corriente de recepción: 55 mA (@3.3 V). Para la comunicación entre los dos microcontroladores (transmisor y receptor) se estableció una trama de comunicación. Estas tramas se conformaron tratando de evitar pérdidas de información y buscando una buena comunicación entre los ambos. 2.3 Sensor de presión MPX4115 Este sensor está diseñado para obtener la presión absoluta del aire, con un error máximo de solamente 1.5% entre 0 y 85 ºC, a pesar de ser un dispositivo de bajo costo. Algunas de sus principales características son [6]: Rango de presión: 15 a 115 kPa. Rango de temperatura: -40 a 125 ºC. Sensibilidad: 46 mV/kPa. Tiempo de respuesta: 1 ms. El mismo está conectado a uno de los pines del conversor análogo digital del PIC transmisor. Como el conversor A/D de este microcontrolador obtiene los valores en el rango de 0-1023, para calcular el valor de la presión es necesario realizar una ecuación para convertir de unidades de conversor a unidades de ingeniería, en este caso, kPa (ecuación 1). ][15][* ][1023 ][100 ][ kPaux u kPa kPaP (1) P: Presión del aire en unidades de ingeniería (kPa). x: Presión del aire obtenida por el sensor en unidades de conversor (u). Tercer Congreso Virtual, Microcontroladores y sus Aplicaciones Congreso 2014, Página 5 2.4 Sensor de temperatura LM335 El LM335 es un sensor de temperatura de alta precisión y se puede calibrar fácilmente. Su modo de funcionamiento es como un zener de dos terminales y la tensión de ruptura es directamente proporcional a la temperatura absoluta a 10 mV/ºK y su salida es lineal. Calibrado a 25 ºC, tiene un error menor a 1 ºC a 100 ºC de temperatura. El rango de trabajo es de -40 a 100 ºC [7]. Este sensor, al igual que el de presión, está conectado a uno de los pines del conversor A/D del transmisor, y para calcular su valor es necesario realizar una ecuación para convertir de unidades de conversor a unidades de ingeniería, en este caso, ºC (ecuación 2). ]Cº[40][* ][1023 ]Cº[140 ]Cº[ ux u T (2) T: Valor de temperatura en unidades de ingeniería (ºC). x: Temperatura obtenida por el sensor en unidades de conversor (u). 3 Software de adquisición de datos La función principal de este software (figura 3) es la de permitir una interacción entre un usuario y el sistema. Entre sus funcionalidades se encuentran: Mediante una gráfica permite observar el comportamiento en tiempo real de ambas variables (presión y temperatura). Los valores de las mismas se muestran en dos LCD en cada muestreo. Se muestra un estimado de la altitud actual en metros del transmisor en un LCD (ecuación 3). Incorpora un bloque de “Opciones” que permite: o Iniciar o detener la transmisión de datos. o Un indicador de conexión inalámbrica entre transmisor y receptor (verde conectados y rojo desconectados). o Un indicador de conexión USB entre el receptor y la PC. o Un botón que permite accionar el paracaídas por el usuario. o Dos diales, uno que permite indicar el tiempo que tiene que estar encendido el motor del paracaídas para que este se abra en su totalidad, y el otro indica cada cuanto tiempo se desea recibir los datos. Todos los datos adquiridos, además de mostrarse y graficarse en tiempo real, se almacenan en un fichero de texto para su posterior análisis (figura 4). ) ][ ][ ln( ]Kº[ ]m[ 0 PaP PaP A T h (3) h: Altitud del transmisor (m). P: Presión medida (Pa). P0: Referencia de presión al nivel del mar. A: Coeficiente (0.0342). T: Temperatura medida (ºK). Fig. 3: Pantalla del software con el sistema funcionando. 6 Fig. 4: Fichero de texto con los datos almacenados. 3.1 Selección del lenguaje ydel IDE Para la selección del lenguaje a utilizar y del entorno de desarrollo se hace uso de la comparación desarrollada en [8] y se analizan diferentes criterios de comparación: Portabilidad. Capacidades 2D/3D. Matemática de precisión compleja. Gestión de memoria. Velocidad de ejecución. Licencia. Eficiencia. Modularidad. Basado en los resultados obtenidos de esta comparación se escoge el lenguaje C++ con el objetivo de aprovechar su velocidad de ejecución, eficiencia y todas las potencialidades que ofrece de manera general. Para la selección del entorno de desarrollo se tuvo en cuenta que fuera una aplicación sobre software libre por las ventajas que conlleva, tales como: Evita la dependencia tecnológica de empresas foráneas. Ahorros por pagos de licencias de software. Posibilidad de revisar el código fuente. Basándose en estas necesidades se seleccionó el Qt Creator. Este es un IDE completamente integrado para el desarrollo de proyectos basados en las librerías Qt mediante el lenguaje C++, y está disponible tanto para plataformas Windows como Mac OS X y Linux [8]. Gracias al uso de estas librerías este IDE presenta alta portabilidad ya que permite utilizar el mismo código sobre diferentes plataformas sin realizar grandes cambios. 4 Conclusiones En este proyecto se realizó el diseño y la programación de un nano-satélite CanSat sobre un microcontrolador PIC. Mediante conexión inalámbrica los datos obtenidos de los sensores se pasan a un dispositivo receptor programado también con un microcontrolador PIC. Este da la posibilidad de conectarlo vía USB, permitiendo desarrollar un software en la PC, facilitando así la interacción de un usuario con el sistema. Mediante este software se pueden obtener los datos de las variables medidas en tiempo real, así como un estimado de la altitud del dispositivo en cada muestreo. Además, permite almacenar los datos en un fichero de texto para su posterior análisis. Esta es una solución viable y económica para comenzar el desarrollo de proyectos orientados a la ingeniería espacial en nuestro país. A este sistema se le piensan agregar otros sensores, permitiendo ampliar las aplicaciones del mismo. Tal como se desarrolló hasta el momento fue probado en México, cumpliéndose la misión con éxito. Referencias [1] D. Ibrahim, Microcontroller Based Applied Digital Control. England: John Wiley & Sons, Ltd, 2006. [2] D. Ibrahim, Advanced PIC Microcontroller. Projects in C. USA: Newnes, 2008. [3] “PIC18F2455/2550/4455/4550 Data Sheet.” Microchip Technology Inc., 2004. [4] “PIC18F2420/2520/4420/4520 Data Sheet.” Microchip Technology Inc., 2007. [5] “XBeeTM/XBee-PROTM OEM RF Modules.” MaxStream, Inc., 2005. [6] “Integrated Silicon Pressure Sensor. Altimeter/Barometer Pressure Sensor. On-Chip Signal Conditioned, Temperature Compensated and Calibrated.” Freescale Semiconductor, Inc., 2006. [7] “Precision Temperature Sensors.” SGS- THOMSON MICROELECTRONICS, 1997. [8] J. J. Travieso and Y. M. Ortega, “Programación de un Planificador Semafórico. Trabajo de Diploma para optar por el título de Ingeniero en Automática”. Cuba: 2010. “Copyright ©2014. “Ing. Ramón Carrasco Duboué e Ing. Samuel Vázquez Hernández”: El autor delega a la Organización del Tercer Congreso Virtual de Microcontroladores la licencia para reproducir este documento para los fines del Congreso ya sea que este artículo se publique en el sitio web del congreso, en un CD o en un documento impreso de las ponencias del Segundo Congreso Virtual de Microcontroladores.
Compartir