Logo Studenta

Nano-satélite com Microcontroladores PIC

¡Estudia con miles de materiales!

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.

Continuar navegando