En la
III Feria Madrid por la Ciencia, que tuvo lugar entre los días 8, 9
y 10 de Marzo de 2002, participamos Jesús Ruíz, Ramón Perucho y Miguel
Herranz con el planetario viajero, como en años anteriores.
En la reunión final de evaluación, ya estábamos pensando en cosas para
hacer en próximas ediciones, y se nos ocurrió hacer un simulador de
vuelo espacial. Una idea peregrina más, como otras que habíamos tenido
anteriormente y que, alguna de ellas, hicimos realidad.
Inmediatamente me puse a buscar en la Web cosas sobre simuladores
espaciales, ya que sabía que Microsoft tenía el Space Simulator, aunque
abandonó su desarrollo.
En una tarde, di con
el programa
Orbiter. Impresionante programa simulador, desarrollado por Martín
Schweiger, complejísimo, realista y muy detallado en gráficos de
planetas. Por si fuera poco es freeware.
En un principio, pensábamos hacer una cabina estática, con un montón de
botones y lucecitas, que simularan una cabina de un transbordador
espacial, con dos asientos, sus ventanillas frontales, y proyectar la
imagen del programa con un retroproyector directamente sobre una
pantalla situada delante del artefacto.
Los movimientos de
la nave los haríamos con un joystick y el resto de acciones (apertura de
bodega, tren de aterrizaje, cambio de MFD’s, etc) desde los botones del
frontal, tratándolos con un microcontrolador y simulando las pulsaciones
de las teclas directamente al PC.
Pronto me di cuenta de la cantidad de combinaciones de teclas que
tendríamos que implementar (el manual tiene tres páginas explicando los
controles de teclado) y, para el uso que le queríamos dar salían unas 50
o 60 combinaciones diferentes.
Por casualidad, y buscando información sobre el Flight Simulator,
encontré la página del
Joyrider. Magnífica idea para un simulador virtual dinámico. Después
de empaparme toda la información que suministra en su página y de pedir
los planos (20$), convencí a Jesús para que hiciéramos ese simulador,
aunque lo modificaríamos para adaptarlo a nuestras necesidades.
En cuanto nos comunicó la
Comunidad de Madrid que estábamos admitidos para participar en la
IV Feria de Madrid por la Ciencia, nos pusimos manos a la obra.
Encargamos los tubos de PVC necesarios y, en cuanto nos llegaron, los
cortamos a las medidas requeridas en los planos. Aunque pensábamos
modificarlo, primero lo montamos tal y como indicaban los planos, para
probar y mejorar lo que no nos convenciera.
El simulador nos quedó como se ve en la foto. Se movía bien sobre los
dos ejes (alabeo y cabeceo), aunque debíamos ajustar el centro de
gravedad. Esto lo tendríamos que dejar para el final, después de
añadirle todos los accesorios.
El fundamento de la plataforma, es que el piloto mueve la palanca para
desplazar toda la estructura, y el control sobre el programa simulador
lo realiza el joystick situado bajo el asiento y solidariamente unido a
él, por lo que al moverse la plataforma hacia la izquierda, por ejemplo,
el asiento se mueve a la derecha con lo que acciona la palanca del
joystick (que se encuentra situado en posición invertida).
La fuerza que
requiere este tipo de control, teniendo en cuenta que aún no habíamos
montado el monitor sobre la plataforma, hacía pensar que un niño no
podría mover la estructura al no tener la fuerza suficiente para ello.
Esto hizo plantearnos la posibilidad de adaptar alguna forma de
movimiento asistido, que no fuera la fuerza del piloto. La más factible
sería el colocar unos pistones neumáticos que realizaran el movimiento,
controlados por válvulas.
La idea sería:
1.- obtener los datos del programa referentes a cabeceo y alabeo.
2.- transmitirlos a una placa de control que actuaría sobre la válvulas
3.- obtener mediante encoders la posición de la plataforma y
transmitirlos también a la placa de control.
4.- la placa de control compararía los datos del programa y encoders y
actuaría sobre las válvulas para corregir la posición mediante los
pistones.
El primer problema fue el obtener los datos de posicionamiento de la
nave en el programa.
Este módulo se integra en
el FS perfectamente y posibilita el comunicar el programa con el mundo
exterior. A partir de aquí realizamos unas modificaciones en el programa
de muestra en VB que viene incluido con la aplicación de desarrollo
FSUICP SDK.
Este programa de muestra, obtiene la hora del reloj del avión, por lo
que no fue muy complicado, con las listas de variables del FS, obtener y
controlar las variables de cabeceo y alabeo.
Al mismo programa
en VB le añadimos el envío de los datos por el puerto serie.
Definitivamente decidimos utilizar del Flight Simulator y aparcar,
de momento, la idea del Orbiter.
** No podemos dejar de agradecer a Oscar del Moral, responsable de la
línea de entretenimiento para PC de Microsoft España, su amabilidad y la
colaboración prestada, cediéndonos dos licencias de FS2002 para poder
tenerlas en la Feria.**
La placa de control, que recibe los datos del PC, está formada por un
microcontrolador PIC16F873 de Microchip que dispone de:
* 4 Kbytes de memoria
Flash de programa
* 192 Bytes de RAM
* 128 Bytes de EEPROM
* 22 puertos de Entrada/Salida
* 5 conversores A/D
* 2 PWM
* Comunicaciones serie (USART)
* Puerto Serie Síncrono con SPI e I2C
* Etc
Esquema del Simulador
Cara de componentes
Cara
de pistas
La placa recibe los datos
del PC a través de un MAX232, que los manda, con los niveles adecuados,
por la entrada serie (Rx – pin 18) del PIC. Además obtiene los datos de
posición de la plataforma a través de dos potenciómetros, cada uno de
ellos situado en un eje de movimiento. El valor de los potenciómetros es
leído a través de los pines AN0 y AN1, y convertido a un valor digital
que se compara con el valor obtenido por el puerto serie.
Cuando el valor de ambos datos no son iguales (Ej: Pot_Bank -
Dato_Serie_Bank ) el micro produce salidas para activar la válvula
correspondiente al movimiento a realizar.
VÁLVULAS
Este es el aspecto de las
válvulas usadas para el movimiento de la plataforma. Fueron adquiridas en un
desguace y se puede apreciar el lamentable estado en que se encontraban.
Necesitaron una limpieza a fondo, para lo que fue necesario desmontar
completamente cada una de las válvulas del bloque en el que estaban
alojadas, así como un despiece total de cada una de ellas.
Recien llegadas del
desguace.
Otro ángulo del bloque.
Válvulas separadas de su
emplazamiento.
Aspecto de una de las válvulas. Se pueden
apreciar los orificios de entrada y salida de aire.
Bobinas (parte negra) y válvula (parte azul)
algo más decentes y parte inferior del bloque.
Una válvula montada y lista.
Despiece de una de las válvulas.
Bloque de dos, terminada su limpieza.
Otro ángulo del mismo bloque.
DESCRIPCIÓN DEL SISTEMA DE VÁLVULAS
Para mover un pistón, lo ideal
sería disponer de unas válvulas del tipo mostrado en la figura.
Cuando se acciona la "bobina 1" el bloque se
desplaza a la derecha con lo que hacemos pasar el aire hacia A y lo sacamos
por B a la atmósfera. De este modo el pistón se mueve a la derecha haciendo
salir su eje.
Al accionar la "bobina 2", el bloque se
desplaza a la izquierda produciendo una circulación de aire hacia B,
saliendo por A a la atmósfera. El pistón introduce de nuevo su eje.
La ventaja que tiene este tipo de válvulas
es que podemos dejar el pistón en posiciones intermedias (dejándolo con
presión) al cortar el flujo de aire en cualquier momento, independientemente
de dónde se encuentre su eje.
Las válvulas utilizadas
realmente en el simulador han sido de una bobina (adquiridas en desguace),
al no disponer de presupuesto para adquirirlas nuevas (unos 200 €). Esto
tiene el inconveniente de que no podemos dejar presurizados los pistones en
posiciones intermedias con lo que se producen pérdidas de aire por la
conexión que permanece abierta a la atmósfera.
Como se puede ver en la imagen
de la derecha, las dos válvulas se encuentran en posición de reposo por lo
que el pistón está liberado (se podría mover con la mano a ambos lados) ya
que las dos entradas del pistón están conectadas, por medio de las válvulas,
a la atmósfera (OUT en las válvulas). Las entradas de aire a las válvulas
están conectadas a los puntos B de cada una de ellas.
Si accionamos la válvula izquierda, conectamos
la entrada de aire (IN izda.) con la toma izquierda del pistón. El eje sale
por efecto de la presión en el lado izquierdo y el aire del lado derecho
sale a través de A-OUT de la válvula derecha.
Para realizar el movimiento contrario
debemos desactivar la válvula izquierda y energizar la derecha, realizándose
el movimiento opuesto.
Plataforma en posición
centrada. Ambas válvulas se encuentran en reposo, por lo que ninguno de los
dos pistones tiene presión.
Giro a izquierdas. Activamos
la válvula de la derecha. La presión de aire hace que el pistón de la
derecha suba y el izquierdo baje.
Giro a derechas. Al contrario
que antes, activamos la válvula izquierda, por lo que el pistón derecho baja
y el izquierdo sube.
Si cortamos el movimiento de los pistones a
mitad de su recorrido la plataforma queda inclinada pero, al no tener
presión ninguno de los dos pistones, ésta intenta volver poco a poco a su
posición central con lo que debemos activar de nuevo la válvula para
mantener la inclinación de la plataforma.
En el vídeo puedes ver algunas
imágenes del Simulador