Mostrando entradas con la etiqueta launch. Mostrar todas las entradas
Mostrando entradas con la etiqueta launch. Mostrar todas las entradas

viernes, 29 de abril de 2011

Check lists

Check list of materials
  • Localizers:
    • Chinese.
    • Loc8tor.
  • Launch pad parachute.
  • Lid with fitting x 2.
  • Compressed air hose.
  • Heat gun with replacement.
  • Adhesive for plastic.
  • Lighter.
  • Cutter.
  • Several pliers.
  • Scissors.
  • Duct tape.
  • Adhesive tape.
  • Measuring tape.
  • Datasheet.
  • Flanges.
  • Welder with tin.
  • Welder support.
  • Thermal blanket.
  • Hearing protection.
  • 9-Volt Battery.
  • 9-Volt Battery Back up.
  • USB wire with FTDI
  • Several Screwdrivers.
  • Pen.
  • Cameras fot tube x 2.
  • Precess record cameras x 2.
  • Payload camera.
  • DC to AC car converter.
  • Laptop with charger, mouse and modem.
  • Helium bottle.
  • Plastic mat.
  • Stage2.
  • Payload encapsulation.
  • Balloon joined with the launch pad.
  • 5 kg scale with a clamp.
  • 2 kg load.
  • Electric cable.
  • Tester.
Check list of procedure

  • Report with pictures and videos from now until the end of the precedure.
  • Extend the plastic mat on the floor.
  • Plug the heat gun to the DC to AC car converter.
  • Download from the car the helium bottle.
  • Putting up of the plastic mat:
    • The launch pad with the balloon.
  • Lid with fitting.
  • Payload components (payload encapsulation, payload camera, 9-volt Battery, thermal blanket, loc8tor).
    • Stage2.
    • Chinese localizer.
    • Several Tapes.
    • Cutter.
    • Tester.
    • Compressed air hose.
    • 5 kg scale with a clamp and 2 kg load.
    • Adhesive for plastic.
  • Prepare the launch pad:
    • Fix the parachute with duct tape.
    • Protect the cameras with thermal blanket and fix to the tube.
    • Checks the Chinese localizer protect it with thermal blanket an fix to the tube.
  • Prepare the payload:
    • Check that the payload camera works doing a record test.
    • Turn on the payload camera.
    • Fix it into the payload encapsulation with thermic glue.
    • Cover it with thermal blanket.
    • Connect the 9-Volt Battery.
    • Cover with more thermal blanket.
    • Introduce the loc8tor.
    • Cover with more thermal blanket.
  • Check the Stage2 igniter with the tester.
  • Connect the igniter with the Arduino (See below, picture 1 for connector schematic).
  • Turn on the Arduino board with the switch (See picture 2)
  • Seal the union with duct tape.
  • Enter the Stage2 into the launch pad.
  • Put Adhesive for plastic all around the lid with the fitting.
  • Introduce it quickly into the launch pad and seal with duct tape too.
  • Connect the air pressure hose with the helium bottle and the launch pad.
  • Open the helium bottle valve slowly.
  • Check the free lift with the scale.
  • Once the free lift is correct, let go off the launching platform.

Picture 1

Picture 2

lunes, 3 de enero de 2011

Launch campaign, first launch

English
In our wiki-space campaign we have decided the first launch date, this is the next January 28th. For this launch the following objectives:

    1. Launch a stratospheric balloon with our launch ramp and the system arrives at least 30 km.
    2. At 30 km high, launch a rocket stage with a monitoring system.
    3. At 2 km to open a parachute.
    4. See the results, analyze and report.

Then you can see the code that we will introduce the AWIP to the igniter is turned on at 30 km and the parachute at 2 km. This has been done by Juan Martínez and Joshua Tristancho and reviewed by Victor Kravchenko.



Castellano
En nuestra wiki-campaña espacial nos hemos propuesto la primera fecha de lanzamiento, esta es el 28 de enero. Para este lanzamiento los objetivos son los siguientes:
  1. Lanzar nuestro globo estratosferico con nuestra rampa le lanzamiento y que llegue a un mínimo de 30 km.
  2. A 30 km lanzar la etapa del cohete con un sistema de seguimiento.
  3. A 2 km que se abra un paracaídas.
  4. Ver los resultados, analizarlos y reportarlos.
Seguidamente podes ver el código que le vamos a introducir a la AWIP para que que el igniter se encienda a 30 km y el paracaídas a 2 km. Este ha sido hecho por Juan Martínez y Joshua Tristancho y revisado por Victor Kravchenko.


Code (codigo):


#include <Wire.h>
#include <SoftwareSerial.h>
#include <EEPROM.h>
#include <math.h>
#define IGNITION_ALTITUDE 30000 // Above this altitude in meters the igniter is activated
#define PARACHUTE_ALTITUDE 2000 // Below this altitude in meters the parachute is deployed
#define SAFETY_ALTITUDE 3000 // Safety altitude above wich the parachute can be deployed
#define APOGEE_ADDR 0 // Apogee EEPROM Address
#define IGNITION_PIN 12 // Ouput pin number to activate the igniter 5V
#define PARACHUTE_PIN 10 // Ouput pin number to activate the parachute 5V
#define GPSRX_PIN 11 // Input pin for GPS Rx serial port
#define GPSTX_PIN 13 // Output pin for GPS Tx serial port
//#include "itg3200.h" // GYRO ITG-3200
#define GyroID B1101001
//Register 22 - FS_SEL, DLPF_CFG
#define R22 0x16
#define R22INIT B00011011
//Register 62 - Power Management
#define R62 0x3e
#define R62INIT B00000001
//Registers 27 to 34 - Sensor Registers
#define TempH 0x1b
#define TempL 0x1c
#define GyroXH 0x1d
#define GyroXL 0x1e
#define GyroYH 0x1f
#define GyroYL 0x20
#define GyroZH 0x21
#define GyroZL 0x22
//#include "lis331hh.h" Accelerometer LIS331HH
#define AccID 0x18
//Register CTRL_REG0 - Power management and conf
#define RCTR0 0x20
#define RCTR0INIT B00100111
//Sensor Registers
#define AccXH 0x29
#define AccXL 0x28
#define AccYH 0x2B
#define AccYL 0x2A
#define AccZH 0x2D
#define AccZL 0x2C
#define AccStat 0x27
void i2cSetRegister(int device, int address, int value)
{
  Wire.beginTransmission(device);
  Wire.send(address);
  Wire.send(value);
  Wire.endTransmission();
}
byte i2cGetRegister(int device, int address)
{
  Wire.beginTransmission(device);
  Wire.send(address);
  Wire.endTransmission();
  Wire.requestFrom(device, 1);
  if(Wire.available())
  return Wire.receive();
  return B00000000;
}
int i2cGetValue(int device, int addressH, int addressL)
{
  return i2cGetRegister(device, addressH) * 256 + i2cGetRegister(device, addressL);
}
// Globals
SoftwareSerial GPS = SoftwareSerial(GPSRX_PIN,GPSTX_PIN);
int addr;
int val; // Last byte read from GPS
float alt; // Last altitude read from GPS
float apogee; // Highest altitude read from GPS. This variable is mirrored in EEPROM.
byte k[]={0,0,0,0,0,0,0,0,0,0,0,0,0}; // Read buffer for GPS input
float EEPROMGetFloat(int addr)
{
  float num;
  ((byte*)&num)[0]=EEPROM.read(addr++);
  ((byte*)&num)[1]=EEPROM.read(addr++);
  ((byte*)&num)[2]=EEPROM.read(addr++);
  ((byte*)&num)[3]=EEPROM.read(addr++);
  return num;
}
void EEPROMSetFloat(int addr, float num)
{
  EEPROM.write(addr++,((byte*)&num)[0]);
  EEPROM.write(addr++,((byte*)&num)[1]);
  EEPROM.write(addr++,((byte*)&num)[2]);
  EEPROM.write(addr++,((byte*)&num)[3]);
}
byte Next()
{
  // BYTE, BIN, OCT, HEX, 1 = number of decimals
  val=byte(GPS.read());
  Serial.print(val,BYTE); // For debbuging purpose only
  return val;
}
int ReadParam(byte chr=',')
{
  int i=0;
  while(true)
    if(i>=sizeof(k))
      return -1; // Buffer overrun
    else if((k[i]=Next())==chr)
      return i; // Read 'i' bytes
    else
      i++;
}
void setup ()
{
  pinMode(IGNITION_PIN,OUTPUT);
  digitalWrite(IGNITION_PIN,LOW);
  pinMode(PARACHUTE_PIN,OUTPUT);
  digitalWrite(PARACHUTE_PIN,LOW);
  GPS.begin(4800);
  Serial.begin(4800);
 
  // EEPROM dumping
  /*
  for(addr=0;addr<512;addr++)
  {
    if (!(addr%16)){Serial.println();Serial.print(addr/1000.0f,3);Serial.print(": ");}
    Serial.print(EEPROM.read(addr)/1000.0f,3);Serial.print(" ");
    //EEPROM.write(addr,0); // WARNING: This line will erase all the EEPROM memory
  }
  Serial.println();
  */
 
  addr=0;
  val=0;
  alt=0;
  apogee=EEPROMGetFloat(APOGEE_ADDR);
  Wire.begin();
  // Hyperterminal at 57600 and Arduino at 115200 bauds
  //Serial.begin(115200);
  // Accelerometer LIS331HH setup
  i2cSetRegister(AccID, RCTR0, RCTR0INIT);
  // Gyro ITG-3200 setup
  i2cSetRegister(GyroID, R62, R62INIT);
  i2cSetRegister(GyroID, R22, R22INIT);
  // Hardware-on-the-loop config
  //i=0;
}
void loop()
{
  int i;
  if(Next()=='$')if(Next()=='G')if(Next()=='P')if(Next()=='G')if(Next()=='G')if(Next()=='A')if(Next()==',')
  {
    if(ReadParam()>=0)      // Time in UTC of position
    if(ReadParam()>=0)      // Latitude of position
    if(ReadParam()>=0)      // Latitude N or S
    if(ReadParam()>=0)      // Longitude of position
    if(ReadParam()>=0)      // Longitude E or W
    if(ReadParam()>=0)      // GPS quality                            (0=fix not available, 1=Non-differential GPS fix available, 2=Differential GPS (WAAS) fix available, 6=Estimated)
    if(ReadParam()>=0)      // Number of satellites                   (00 to 12)
    if(ReadParam()>=0)      // Horizontal dilution of precision       (0.5 to 99.9)
    if(ReadParam()>0)       // Antenna altitude above mean sea level  (-9999.9 to 99999.9)
    {
      alt=atof((char*)&k[0]);
      if(ReadParam()>=0)    // Units of antenna altitude, meters      M
      if(ReadParam()>=0)    // Height of geoid above ellipsoid        (-999.9 to 9999.9)
      if(ReadParam()>=0)    // Units of geoid height, meters          M
      if(ReadParam()>=0)    // Age of differential GPS data, seconds  Null
      if(ReadParam('*')>=0) // Differential reference station ID      Null
      if(ReadParam(10)>0)   // Checksum                               *HH
      {
        if(alt>apogee)
        {
          apogee=alt;
          EEPROMSetFloat(APOGEE_ADDR,alt);
        }
        if(alt>IGNITION_ALTITUDE)digitalWrite(IGNITION_PIN,HIGH);
        if(alt<PARACHUTE_ALTITUDE)if(apogee>SAFETY_ALTITUDE)digitalWrite(PARACHUTE_PIN,HIGH);
      }
    }
  }
}

miércoles, 15 de diciembre de 2010

balloon + Launching-ramp = Aerial launching ramp


English
Today we tested our skill and strength "building" our revolutionary aerial launch ramp. By now you know that this is based on a PVC pipe attached "curiously". Tree month ago we did a test and the memory I had was a superhuman effort to get the PVC pipe into the nozzle of the balloon through the shims (the Chinese). She feels that with a new balloon is no such effort. The trick is without doubt the timing and the steps are:
  1. First of all be careful with the balloon (the part that is not the nozzle) is very delicate and can seriously compromise the properties of this (it can reach an altitude exploit unintended).
  2. Having taken all precautions, enter 4 shims from the nozzle 2 to 2.
  3. Begin to enter the PVC pipe through the nozzle.
  4. As the mouthpiece widens go separating 4 shims.
  5. Enter fifth shoehorn (it was necessary, because the diameter of the tube, we complicated the operation if not we used).
  6. Pull down (the two people to do so) slowly but steadily (to prevent sidewall).
  7. Once all the nozzle of the balloon, remove shims one by one looking at the mouthpiece is as straight as possible.


Castellano
Hoy hemos puesto nuestra habilidad y fuerza a prueba "construyendo" nuestra revolucionaria rampa de lanzamiento aerea. A esta altura ya sabeis que esta se basa en un tubo de PVC acoplado de una forma muy "curiosa". Hicimos una prueba hace 3 meses y el recuerdo que tenia era de un esfuerzo sobrehumano para entrar el tubo de PVC dentro de la boquilla del globo mediante los calzadores (de los chinos). Pues se ve que con un globo nuevo el esfuerzo no es tal. El truco es sin duda la sincronización y los pasos son los siguientes:
  1. Antes de nada tener mucho cuidado con el globo (la parte que no es la boquilla) es muy delicado y podemos comprometer seriamente las propiedades de este (este puede llegar a explotar a una altitud no deseada)
  2. Una vez tomadas todas las precauciones, introducir 4 calzadores por la boquilla 2 a 2.
  3. Empezar a entrar el tubo de PVC por la boquilla.
  4. A medida que se ensancha la boquilla ir separando los 4 calzadores.
  5. Introducir un quinto calzador (era necesario, pues por el diametro del tubo, se nos complicaba la operación si no lo utilizabamos).
  6. Tirar hacia abajo (las dos personas que lo hagan) poco a poco pero sin parar (para evitar que se salga)
  7. Una vez introducida toda la boquilla del globo,  retirar uno a uno los calzadores mirando de que la boquilla quede lo más recta posible.



    domingo, 12 de diciembre de 2010

    Monegros launch test




    English
    In our plan, the first step was the validation of our Stage2 on the ground, this means, throw our stage from the ground with all the limitations we have to attest that our Stage2 will be desired. So we decided to head towards the desert of Monegros (Zaragoza) to test our stage safely. 

    Test: Ground test of our stage, see the behavior, analyze the launch and see what can be improved. 

    Test results: We prepared a check list, but we failed a component that is not critical, we have to weld a mass and gas welder that we had, do not work (we think due the cold), this mass function is used to make our called "payload" formed by the GPS and our board AWIP to do a tracking of the stage, this was a secondary test for as we say before, our main objective in this test is to see the behavior of the stage. This is the first test (we have many miles) and arrive to the conclusion that if I was going well but that we did not, would launch the Stage2 also. So we skip the steps related to the recording of tracking and proceed to the following, we put Roberto and me each with cameras to capture the moment (a reasonable long distance) and Joshua do all pre-launch preparations. When is about to launch, the stage reached three meters making loops and drops to ten feet from where we launched, "a disaster? Was it expected? 

    Test conclusions: This test gives us a starting point, therefore, is not a disaster, says that we have much work ahead, lower weight and overall structure of payload and improve system reliability (chance is not an option)


    Castellano
    Dentro de nuestro plan, el primer paso era la validación de nuestra segunda etapa en tierra, esto quiere decir, lanzar nuestra etapa desde el suelo con todas las limitaciones que tenemos para dar fe de que nuestra segunda etapa hará lo deseado. Así pues nos decidimos a ir dirección al desierto de los Monegros (Zaragoza) para probar con seguridad nuestra etapa.

    Test: Prueba en suelo de nuestra etapa, ver el comportamiento, analizar el lanzamiento y ver que se puede mejorar.

    Resultados del test: Nos preparamos una check list, pero nos falla un componente que no es crítico, tenemos que soldar una masa y el soldador de gas que llevamos no funciona (creemos que por el frío), esta masa sirve para hacer que funcione nuestra supuesta "carga de pago" formada por el GPS y nuestra placa AWIP para poder hacer un tracking de la etapa, esto era una prueba secundaria pues como decimos antes, nuestro objetivo principal en este test es ver el comportamiento de la etapa. Esta es la primera prueba (hemos hecho muchos quilometros) y ya llegamos a la conclusion que si iba bien pero que si no iba, lanzariamos igualmente la segunda etapa. Así pues nos saltamos los pasos relacionados a la grabación del tracking y pasamos a los siguientes, nos colocamos Roberto y yo con sendas cámaras para inmortalizar el momento (a una distancia siempre prudencial) y Joshua hace todos los preparativos pre-lanzamiento. Cuando esta a punto lanza, la etapa llega a unos tres metros haciendo loopings y cae a tres metros de donde lo hemos lanzado, ¿un desastre? ¿era lo esperado?

    Conclusiones del test: Este test nos da un punto de salida, por lo tanto, no es un desastre, nos dice que tenemos mucho trabajo por delante, rebajar pesos de estructura y sobretodo de carga de pago y mejorar la fiabilidad del sistema (el azar no es una opción)

    jueves, 9 de diciembre de 2010

    Check list (Fire box)

    English
    Material:
    • Stage2.
    • Tube-Launch ramp.
    • Fire Box.
    • Tester.
    • Adhesive tape.
    • Gas solder.
    • Welder tin.
    • Cameras.
    Check list:
    • welded to the secondary mass.
    • Check for igniter continuity.
    • Pass the Fire Box wire (disconected from the Fire Box) from the "cobered" hole to the stage2 exit.
    • Connect the Fire Box wire with the igniter wire.
    • Connect the Fire Box wire with the tracking sistem.
    • Slowly entering into the tube-launch ramp recovering the wire excess.
    • Wear hearing protection.
    • Turn on all the cameras that we carry. 
    • Check that all of the Fire Box switches are OFF. 
    • Connect the cable to the Fire Box. 
    • Point the tube-launching ramp into the sky. 
    • Pass the Power switch of the Fire Box from OFF to ON. 
    • Wait for the line, you have to switch the GPS READY LED. 
    • Once aligned, to signal "ready to launch" to mate (by phone [missed call] if no visual contact or by signs if there is in visual field). 
    • Pass the RECORD switch from OFF to ON, then the Ignition from OFF to START.


    Castellano
    Material:
    • Segunda etapa.
    • Tubo-rampa de lanzamiento.
    • Fire Box.
    • Tester.
    • Cinta adhesiva.
    • Protección auditiva.
    • Soldador de gas.
    • Estaño para soldar.
    • Camaras.

    Check list:
    • Soldar la masa secundaria.
    • Mirar si el igniter tiene continuidad.
    • Pasar el cable de la Fire Box (desconectado de la Fire Box) del extromo "tapado" con el agujerito al extremo de salida del cohete.
    • Conectar el cable de la Fire Box con el cable del igniter.
    • Conectar el cable de la Fire Box con el sistema de tracking.
    • Entrar lentamente el cohete dentro del tubo-rampa de lanzamiento recuperando el sobrante de cable.
    • Colocarse los protectores auditivos.
    • Encender todas las camaras que llevemos.
    • Comprobar que todos los switchs de la Fire Box están en OFF.
    • Conectar el cable con la Fire Box.
    • Apuntar el tubo-rampa de lanzamiento hacia el cielo.
    • Pasar el switch de Power de la Fire Box de OFF a ON.
    • Esperar a que alinee, se tiene que encender el led de GPS READY.
    • Una vez alineado dar la señal de "a punto para lanzar" al compañero (mediante telefono [llamada perdida] si no hay contacto visual o mediante señas si hay campo visual).
    • Pasar el switch RECORD de OFF a ON, seguidamente del de IGNITION de OFF a START.

    jueves, 18 de noviembre de 2010

    Stage2 path simulations

    English
    We continue with our particular space race and now it is the turn of a key part of the project, the balloon. As we have explained our mission consist to reach space by a rocket launched from a balloon, our theory is that saving all the friction on the surface of the earth, we need smaller (and cheaper) rockets to get to space. 
    We are still at the beginning of the rocket creation, so we are at our worst case, we have a heavy rocket, amateur fuel, little aerodynamic, etc. so now we can only improve. So we do some behavior simulations of our rocket launched from different altitudes. The initial altitudes are going to give the maximum altitudes for balloons can get from our distributor, you can see in Table #1. In this Table #1 you can see the type which corresponds to the weight, we can see the diameter of the neck which in our case is very important because our private launch ramp is inserted into the nozzle, we can also see the size (Bodylength), payload which is very important because exceed this charge can result in not reaching the desired altitude, the lift that makes you the balloon when it is loaded (Free Lift) and finally the maximum altitude that it can reach (Averl.Altitude). On the other side has been ignored in this table the length of the neck and the rate of climb (which is 350 m/min for all types).
    Then we did a simulation with the latest prototype of rocket that have proven (this is the one used in the previous test) with a payload consisting of the GPS-AWIP explained in the entry "Tracking system". So the weights are as follows: 

    Structure weight: 128.8 g 
    Grains weight: 195.3 g 
    Fill Weight: 50 gr 
    Payload: 167.8 g 
    Total: 541.9 g 

    In Table #2 and Graphic #1 we can see the simulation results with the balloon types, burst altitude, Balloon diameter and the Apogee. If we analyze the results we realize that we don't reach our goal, but everything will come, now we must think about how and what to improve in order to reach our goal. Basics, reduce weight of the filling and the payload, every day we work to make the payload and a lighter structure.



    Castellano
    Seguimos con nuestra particular carrera hacia el espacio y ahora le llega el turno a una parte fundamental del proyecto, el globo. Como hemos explicado nuestra misión consiste en llegar al espacio con un cohete lanzado desde un globo, nuestra teoria es que ahorrandonos toda la fricción que hay en la superficie de la tierra necesitaremos cohetes más pequeños (y baratos) para llegar al espacio.
    Aun estamos en los inicios de la creación del cohete, por lo tanto estamos en nuestro peor caso, nos encontramos con un cohete pesado, de combustible amateur, poco aerodinamico, etc. por lo tanto ahora solo podemos mejorar, así pues vamos a hacer unas simulaciónes del comportamiento de nuestro cohete lanzado desde diferentes altitudes. Las altitudes iniciales las van a dar las altitudes máximas a las que pueden llegar los globos de nuestro distribuidor, estos los podeis ver en la Table #1. En esta Table #1 podeis apreciar el tipo (type) que se corresponde con el peso (weight), podemos ver el diametro de la boquilla (Neckdiam.) que en nuestro caso es muy importante pues nuesta lanzadera va insertada dentro de esta boquilla, también podemos ver la envergadura (Bodylength), la carga de pago o carga útil (Payload) muy importante pues sobrepasar esta carga puede tener como consecuéncia no llegar a la altitud deseada, el empuje que te hace el globo cuando esta cargado (Free Lift) y por último la altitud máxima a a que puede llegar (Averl.Altitude). Por otro lado se ha obviado de esta tabla la longitud de la boquilla y la velocidad de ascenso (que es de 350 m/min para todos los tipos).

    Entonces hemos hecho una simulación con el último prototipo de cohete que hemos provado (este es el que se utilizó en la anterior prueba) con una carga de pago consistente en el sistema GPS-AWIP explicado en la entrada "Tracking system". Así pues los pesos quedan de la siguiente manera:

    Peso estructura: 128.8 gr
    Peso granos: 195.3 gr
    Peso Relleno: 50 gr
    Payload: 167.8 gr
    Total: 541.9 gr

    En la Table #2 y Graphic #1 podemos ver los resultados de la simulación con el tipo de globo (Type), la altitud màxima del globo (burst altitude), el diametro del globo (Balloon diameter) y hasta donde llega el cohete o apogeo (Apogee). Si analizamos los resultados nos damos cuenta de que no llegamos a nuestra meta, pero todo se andará, tenemos que pensar en como y que mejorar para poder llegar a nuestro objetivo. Lo básico, reducir peso del relleno y el payload, dia a dia trabajamos para hacer ese payload y una estructura más ligera.

    Links:
    http://www.meteorologyshop.eu/Radiosonding_balloons/ENG_276_EUR_38_0__.html


    Table #1:
    Overview of deliverable pilot balloons
    Type Weight(g)
    Neckdiam. (cm)
    Bodylength
    (cm)
    Payload
    (g)
    Free Lift
    (g)

    Averl.Altiude (km)
    100
    1,4±0,3
    55 200 480
    18,5
    200
    3,2±0,4
    75 300 1150
    21,0
    300 300±15
    3,2±0,4
    95 650 950
    24,0
    500 500±25
    3,2±0,4
    130 1150 1250
    26,5
    600 600±27
    3,2±0,4
    145 1150 1300
    28,5
    700 700±28
    3,2±0,4
    160 1150 1300
    29,5
    800 800±30
    3,2±0,4
    170 1150 1350
    30,5
    1000 1000±31
    3,2±0,4
    180 1150 1400
    32,5
    1200 1200± 45
    3,2±0,4
    200 1150 1400
    33,5
    1500 1500±50
    3,2±0,4
    220 1150 1500
    35,0
    2000 2000±80
    5,0±0,4
    250 1150 1550
    37,0
    3000 3000±110
    5,0±0,4
    295 1150 1600
    39,0



    Table #2:
    Type BURST Altitude Balloon diameter Apogee
    100gr 18,5 km 0,55 m 24,7 km
    200gr 21,0 km 0,75 m 29,0 km
    300gr 24,0 km 0,95 m 35,0 km
    500gr 26,5 km 1,30 m 40,8 km
    600gr 28,5 km 1,45 m 45,8 km
    700gr 29,5 km 1,60 m 48,5 km
    800gr 30,5 km 1,70 m 51,1 km
    1000gr 32,5 km 1,80 m 56,3 km
    1200gr 33,5 km 2,00 m 58,8 km
    1500gr 35,0 km 2,20 m 62,3 km
    2000gr 37,0 km 2,50 m 66,8 km
    3000gr 39,0 km 2,95 m 70,8 km

    Table #3:
    Click on the picture to maximize.
    Haz click en las foto para maximizar.



    Pictures (Fotos):
    Click on the pictures to maximize.
    Haz click en las fotos para maximizar.

    Picture #1

    Picture #2



    Graphic #1:

    Blue line (Stage2): Behind the points: baloon type; Stage2 apogee. Al lado de los puntos: tipo de globo, apogeo de la Stage2
     Red line (balloon): Burst altitude; altura de explosión

     Graphic #2, #3 & #4:


    lunes, 15 de noviembre de 2010

    Tracking system

    English
     We want to take a step in our project and we met the tracking, we want to know the path that our rocket does. In another post we talk about APRS, we don't discard it yet, but we will decant to a GPS + Arduino system, the problem of this system is that we need to recover the platform to treat the data, we don't have this problem with the APRS as we receive the coordinates via radio.

    GPS installation and configuration: 
    We put a DB-9 female connector to the GPS, we feed it with 5 volts and connect it directly to the computer and we look at the results in the arduino's hyperterminal (speed: 4800 baud).

    We can see the results in the annex #1.


    The 4 sentence by default that give us the GPS are repeated periodically, we can know the meaning of each frame in the GPS specifications that you can find in the link of the Annex #2 (the GPS does not converge since we are in the lab).

    Condition the GPS signal with TTL level converter. Image only use the settings to low because we only want to receive data from GPS, doeth he Transmission cable does not use GPS. 

    We use a board made by us based on ATmega (Arduino), this was design  for the WikiSat project and his name is AWIP. 

    We went outside with a laptop and switch on the board with the GPS, this converges almost immediately and with startling accuracy. 

    As we mentioned at the beginning, the system we have chosen have not wireless transmission and therefore will have to save the data that GPS provide us. And the way this data will be stored in an EEPROM (Programmable ROM) for subsequent extraction and treatment. 

    And to end we made up a safe system of ignition, it is a remote control that we call "FIREBOX". It consists of a 9 volt battery with internal circuitry and its most important function is to prevent accidentally rocket launched. First you have to turn on, some LED's warn us that the rocket is armed and the other that the GPS is aligned, once we see that the GPS is aligned, we burn the arduino to below (without wasting time and memory that we have is quite low) ignite the rocket.


    Castellano
    Queremos dar un paso en nuestro proyecto y nos topamos con el tracking, queremos saber el recorrido que hace nuestro cohete. En otra entrada hablamos del APRS, no lo desechamos aún pero nos vamos a decantar hacia un sistema GPS + Arduino, el problema de este sistema es que necesitamos recuperar la plataforma para poder tratar los datos mientras que con el APRS recibíamos las coordenadas via radio.

    Montaje y configuración del GPS:
    Ponemos un conector DB-9 hembra al GPS, lo alimentamos con 5 voltios y lo conectamos directamente al ordenador y miramos los resultados en el hiperterminal del arduino (velocidad: 4800 baud).

    Podemos ver los resultados en annex #1.

    Las 4 "frase" por defecto (default) que nos da el GPS se repiten periodicamente, se puede saber el significado de cada trama en las especificaciones del GPS que podeis encontrar en el enlace del Annex #2 (el GPS no converge ya que estamos dentro del laboratorio).

    Acondicionamos la señal del GPS con un convertidor de nivel TTL. De la imagen solo usamos la configuración de a bajo ya que solo queremos recibir datos del GPS, el cable de transmissión hacial el GPS no lo utilizaremos.


    Utilizamos una placa hecha por nosotros en base ATmega (arduino), esta se diseñó para el proyecto WikiSat y su nombre es AWIP
     
    Salimos al exterior con un ordenador portátil y encendimos la placa con el GPS, este converge casi inmediatamente y con una precisión asombrosa.

    Como hemos comentado al principio, el sistema que hemos elegido no dispone de transmisión inalámbrica y por lo tanto se tendrán que almacenar los datos que nos proporciona el GPS. Y la manera de almacenar estos datos sera mediante la EEPROM (memoria ROM programable) para su posterior extracción y tratado.

    Ya para terminar nos inventamos un sistema seguro de ignición, se trata de un mando a distáncia que hemos llamado "FIREBOX". Consta de una pila de 9 voltios con una circuiteria interior y su funcion más importante es evitar que se lance el cohete accidentalmente. Primero se tiene que encender, unos leds nos advierten que el cohete esta armado y otro de si el GPS esta alineado, una vez vemos que el GPS esta alineado, ponemos a grabar el arduino para seguidamente (sin perder tiempo ya que la memoria que tenemos es bastante escasa) igniciar el cohete.

    Annex #1:
    $GPRMC,163918,V,2503.7166,N,12138.4152,E,,,121110,003.5,W*7A
    $GPGGA,163918,2503.7166,N,12138.4152,E,0,00,,,M,,M,,*50
    $GPGSA,A,1,,,,,,,,,,,,,,,*1E
    $GPGSV,1,1,02,21,14,192,00,22,69,310,00*7A
    $GPRMC,163919,V,2503.7166,N,12138.4152,E,,,121110,003.5,W*7B
    $GPGGA,163919,2503.7166,N,12138.4152,E,0,00,,,M,,M,,*51
    $GPGSA,A,1,,,,,,,,,,,,,,,*1E
    $GPGSV,1,1,02,21,14,192,00,22,69,310,00*7A
    $GPRMC,163920,V,2503.7166,N,12138.4152,E,,,121110,003.5,W*71
    $GPGGA,163920,2503.7166,N,12138.4152,E,0,00,,,M,,M,,*5B
    $GPGSA,A,1,,,,,,,,,,,,,,,*1E
    $GPGSV,1,1,02,21,14,192,00,22,69,310,00*7A
    $GPRMC,163921,V,2503.7166,N,12138.4152,E,,,121110,003.5,W*70
    $GPGGA,163921,2503.7166,N,12138.4152,E,0,00,,,M,,M,,*5A
    $GPGSA,A,1,,,,,,,,,,,,,,,*1E
    $GPGSV,1,1,02,21,14,192,00,22,69,310,00*7A
    $GPRMC,163922,V,2503.7166,N,12138.4152,E,,,121110,003.5,W*73
    $GPGGA,163922,2503.7166,N,12138.4152,E,0,00,,,M,,M,,*59
    $GPGSA,A,1,,,,,,,,,,,,,,,*1E
    $GPGSV,1,1,02,21,14,192,00,22,69,310,00*7A

    Annex #2:
    http://static.garmincdn.com/pumac/425_TechnicalSpecification.pdf

    Annex #3:
    CP210x USB driver
    http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx

    Arduino code:
    // ATmega168@16MHz 5V
    // Garmin GPS-18x VLC 010-00321-36
    // http://www8.garmin.com/manuals/GPS18x_TechnicalSpecifications.pdf
    // 1 Bounding.     Vcc (+5)
    // 2 White.        Data in. The satellite sends TTL level, NMEA information, from the satellite (Function not used)
    // 3 Green.        Data out. The FIRE BOX send TTL level, NMEA information, to the satellite (Function not used)
    // 4 Small black.  Igniter 9Vcc. The FIRE BOX provide ground to the Igniter
    // 5 Black.       *GND
    // 6 Red.         *Armed. The satellite starts to record puting to LOWLEVEL (GND)
    // 7 Yellow.      *GPS aligned. The satellite sends a flashing signal 5Vcc
    // 8 Small black.  Igniter 9Vcc. The FIRE BOX provide Positive to the Igniter
    // 9 -             Not connected
    // * Means that should be connected to the satellite
    // WARNING: The switches must be in OFF or DOWN position before to plug the wires into the FIREBOX
    // This configuration needs a FIREBOX whit a charget 9V battery for the igniter (1.5V Bulb filled with powder and covered by epoxy)
    // When de satellite has GPS coverage, the ALIGNED led will flash. Rise the ARMED switch and then rise the LAUNCH to start the ignition
    // http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=bks&fname=/SGI_EndUser/MSB3xx_UG/ch07.html
    //
    // Battery pack before launch 6.35V


    #include <SoftwareSerial.h>
    #include <EEPROM.h>
    SoftwareSerial GPS = SoftwareSerial(11,13); // SoftwareSerial(rxPin, txPin)
    int addr;
    int val;
    int onair;
    byte a[13];
    void setup ()
    {
      pinMode(12, INPUT); // 12 is the ISP central top pin
      addr = 0;
      val = 36; // '$' 36=00100100
      onair=0;
      a[0] = 0;
      a[1] = 0;
      a[2] = 0;
      a[3] = 0;
      a[4] = 0;
      a[5] = 0;
      a[6] = 0;
      a[7] = 0;
      a[8] = 0;
      a[9] = 0;
      a[10] = 0;
      a[11] = 0;
      a[12] = 0;
      GPS.begin(4800);
      Serial.begin(115200);
    }


    byte Next()
    {
      // BYTE, BIN, OCT, HEX, 1 = number of decimals
      val = byte(GPS.read());
      Serial.print(val, BYTE);
      if(digitalRead(12) == LOW)
      {
        onair = 1;
      }
      return val;
    }

    void loop()
    {
    // $GPGSA,A,1,,,,,,,,,,,,,,,*1E
    // $GPGSV,2,1,08,02,18,099,00,04,14,066,00,09,50,112,00,22,03,255,00*77
    // $GPGSV,2,2,08,25,56,278,00,27,36,117,00,29,24,198,00,30,19,263,00*7E
    // $GPRMC,060937,V,4116.5264,N,00159.1348,E,,,131110,000.8,W*77
    // $GPGGA,060937,4116.5264,N,00159.1348,E,0,00,,,M,,M,,*52
      if(Next()=='$')
      {
        if(Next()=='G')
        {
          if(Next()=='P')
          {
            if(Next()=='G')
            {
              if(Next()=='G')
              {
                if(Next()=='A')
                {
                  //Serial.println(" GPRMC sequence");
                  while(Next()!='.');
                  // Latitude sequence
                  a[0] = Next();
                  a[1] = Next();
                  a[2] = Next();
                  a[3] = Next();
                  while(Next()!='.');
                  // Longitude sequence
                  a[4] = Next();
                  a[5] = Next();
                  a[6] = Next();
                  a[7] = Next();
    /*
                  while(Next()!=',');
                  while(Next()!=',');
                  while(Next()!=',');
                  while(Next()!=',');
                  while(Next()!=',');
                  // Altitude sequence
                  a[8] = Next();
                  a[9] = Next();
                  a[10] = Next();
                  a[11] = Next();
                  a[12] = Next();
    */
                }
                if((addr<512) && (onair==1))
                {
                  Serial.println("");
                  EEPROM.write(addr, a[0]);
                  addr++;
                  EEPROM.write(addr, a[1]);
                  addr++;
                  EEPROM.write(addr, a[2]);
                  addr++;
                  EEPROM.write(addr, a[3]);
                  addr++;
                  EEPROM.write(addr, a[4]);
                  addr++;
                  EEPROM.write(addr, a[5]);
                  addr++;
                  EEPROM.write(addr, a[6]);
                  addr++;
                  EEPROM.write(addr, a[7]);
                  addr++;
    /*
                  EEPROM.write(addr, a[8]);
                  addr++;
                  EEPROM.write(addr, a[9]);
                  addr++;
                  EEPROM.write(addr, a[10]);
                  addr++;
                  EEPROM.write(addr, a[11]);
                  addr++;
                  EEPROM.write(addr, a[12]);
                  addr++;
    */
                }
              }
            }
          }
        }
      }
    }


    Pictures (Fotos):

     Picture #1
    Garmin GPS 18x LVC.
    Picture #2
    TTL level converter, we only use the botom configuration.
    Convertidor de nivel TTL, nosotros solo usamos la configuración de abajo.

    Link:
    http://freecircuitdiagram.com/2009/03/27/simple-ttl-rs232-level-converter-using-transistor/

    Picture #3
    TTL level converter.
    Convertidor de nivel TTL.
    Picture #4
    Picture #5
    Picture #6
    GPS + AWIP system in the stage2 nose.
    Sistema GPS + AWIP en el morro de la etapa 2.
    Picture #7
    FIREBOX.
    Picture #8
    FIREBOX pins
    Pins de la FIREBOX