Monday 13 February 2012

First Test Launch

On Last Friday Feb 10, we did a test launch. We didn't quite have a working barometer for the flight, but I built and tested one this weekend. For the launch, a solder on the data logger came loose and we didn't end up collecting any data. I worked this weekend to make the board robust and rather than soldering the wire connectors, I had put some wire sockets where we actually screw the battery connections in, and if they come loose, all we need is a screwdriver. Finally I reprogrammed the balloon exploder circuit which overloaded with the delay command and didn't function properly.

Here is the schematic for the new barometer.  The first op-amp and transistor is required to make a constant current source for the nph8100ah pressure transducer. The second op-amp is a differential amplifier which takes the difference in the output, and amplifies the voltage so at atmospheric pressure it puts out about 4 volts.

Lastly, here is the code for the new balloon exploder circuit.


/*
 Balloon Exploder
 Standby: Repeatedly blinks an LED at 1 second intervals
 Recieves voltage at input, turns off standby
 Waits x number of minutes, then sends a HIGH out to 12 and LED Rapid Blinks
 */

void setup() {              
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected
  pinMode(13, OUTPUT);    //pin 13 is set to an output
  pinMode(8, INPUT);      //pin 8 is set to an input
  pinMode(12, OUTPUT);    //pin 12 is set to output
  digitalWrite(12,LOW);   //pin 12 is initialized as low
}
void delayMinute()
// delays for a minute
{
  int counter = 0;
  while(counter<60){
    delay(1000);
    counter++;
  }
}
void delayXMinutes(int x){ //delays for x amount of minutes
  int counter = 0;
  while(counter<x){
    delayMinute();
    counter++;
  }
}
void loop(){
  while(digitalRead(8)==LOW){   // while loop reads pin 8 and will stay in loop until pin 8 recieves 5 volts
    digitalWrite(13, HIGH);
    delay(1000);            
    digitalWrite(13, LOW);     //slow blink to show that the switch has not been flipped yet
    delay(1000);            
  }                        
  delayXMinutes(5);               // delays x number of minutes LIGHT IS OFF WHILE waiting
  digitalWrite(12, HIGH);    //sets pin 12 to 5 volts for transistor
  while(digitalRead(8)==HIGH){ //stays in this state until switch is flipped again
    digitalWrite(13, HIGH);
    delay(100);            
    digitalWrite(13, LOW);   //fast blink to show that the fuse has gone off
    delay(100);            
  }            
}