Flight Data Recorder - Hardware

Back

Schematic
Basic Infrastructure:
The Basic Infrastructure consists of...
  • Connections to a 9V battery
  • A Diode to protect against reverse polarity
  • Main Power switch
  • A Reset pushbutton
  • Connections to the 5V power bus and ground bus
  • Connections to a Laptop
Battery Monitor:
The Battery Monitor simply uses a 2 to 1 resistive divider to divide the switched 9V in half and monitors with an ADC input.
Collect/Upload Switch:
The Collect/Upload Switch allows you to select the Mode that to Flight Data Recorder will run in at next reset. You can either set it to Collect Data (after a trigger,) or Upload Collected Data to the Laptop for the Flight Data Analyzer program.
Acceleration Sensor:

I'm using an ADXL150 Accelerometer connected to a BasicX-24 ADC input. I got four of them on E-Bay for $18.50 and I managed to ruin the first one because it was my first experience with SMT (Surface Mount Technology) components (good thing I had spares!) At first I tried soldering wire extensions on the pins I was using, and then epoxying everything in place. Apparently one of the connections opened up, and I couldn't cut through the epoxy (it was like trying to cut through glass.) I ended up taking a Dremel tool and grinding it off (ouch!)

Then I used my head! I bent the pins I wasn't using out of the way, and soldering the pins I was using to the circuit traces on the BACK of the circuit card (why didn't I think of that in the first place?!?!) That worked! I'll epoxy it in place before the first flight. The Self Test function assumes that the Rocket is upright on the Launch Rod and checks for 1G +-10%; Self Test will fail if the Rocket is laying down (0G) or upside down (-1G).

Absolute Pressure Sensor:
I'm using a MPXA4115A that I got on E-Bay connected to a BasicX-24 ADC input. At Self Test it remembers the ambient Air Pressure, and reports the Altitude difference from that initial setting (daily Barometric changes can represent as much as +-500 feet altitude.)
Temperature Sensor:
I'm using a LM34DZ that I got from www.AllElectronics.com connected to a BasicX-24 ADC input. I don't expect the Temperature to change too much from the ground to one or two thousand feet up, but it was so easy to do I figured I'd just add another Sensor.
Igniter Voltage Sensor: (not implemented yet)
Haven't figured this one out yet (and may just skip it and fallback on Sensing >2G to start recording data.) The reason I want to use this instead of just sensing >2G or using a break wire, is that I'd like to record the 1 or 2 seconds of quiescent data between the time the Launch Button is pushed and the motor actually kicks in. I'd like it to be sensitive enough to detect the small voltage generated when doing a continuity check (and issue a Blip on the Piezo Siren so you know it's connected properly,) but still protect the BasicX-24 from the 12V and (possibly) reversed polarity (anything over 5.2 volts or under -0.2 volts will damage the BasicX-24.) That was my first idea, then I read that someone else used a small wire (break wire) that got burned through when the motor ignited. That sounds like a better idea (K.I.S.S.); I might borrow that idea and just wait for the connection to open to trigger the Data Logger.
Camera Trigger:
For starters I'm using a cheap Digital Camera that I picked up at a yard sale for $2.00. I'll probably use a better Digital Camera after I get all this working, but this one is small, weighs next to nothing, and uses very little battery power, so it's a good choice to develop with.
Piezo Siren:
I'm using a HexFET to control the Piezo Siren. It's a 105dB (Damn Loud!) that I picked up at Radio Shack. The Software has five different control patterns that can each be repeated one, two or three times. The control patterns are...
  1. Blip (on for 0.10 Seconds)
  2. Short (on for 0.20 Seconds)
  3. Long (on for 0.40 Seconds)
  4. Very Long (on for 0.80 Seconds)
  5. Warble (pulses four times every 0.10 Seconds)
I use a single Blip to indicate Self Test Passed, three Longs for Self Test Failed and Launch Detect, the Warble is used for low battery warning. Five minutes after Launch it will start blasting the Piezo Siren (three Longs every 10 seconds) to help locate the Rocket if it is lost (typically I expect to retrieve it less than five minutes after Launch so this is only if it really is lost.) After 20 minutes it will cut back to two Shorts every 10 seconds (to conserve battery power) and continue that until it detects a Low Battery condition, then it will cut back to a single Blip every 10 seconds (until dead.)


Hardware Construction Progress
(Click on Image for a Larger View)
 
2004/12/04 - Just getting Started:
Here I'm just getting started on the Electronic Hardware. All I can do is turn it on/off, and Communicate with the PC.
2004/12/12 - Added:
  • Battery Monitor
  • Collect/Upload Switch
  • Wiring for the Altitude Sensor
  • Wiring for the Acceleration Sensor
2004/12/12 - Added:
  • Altitude Sensor
  • Acceleration Sensor
2004/12/24 - Added:
  • Power FET to Drive Piezo Siren
  • Connector to Temperature Sensor and Piezo Siren
2005/01/13 - Had a Major Setback!:
The BasicX-24 Module stopped accepting downloads
  • The BasicX-24 Module stopped accepting downloads.
  • Tried everything people on the BasicX Forum suggested to no avail.
  • Took my scope and looked at the signals to and from the PC, tried another PC COM port; nothing worked. It appears to be the AT25256 EEPROM; my program is storing data in the unused area of the EEPROM and even that is coming back garbled (maybe 10% appears correct.)
  • I Even scoped out the signals to the AT25256 EEPROM on the BasicX-24 module it self; all appears correct, it just ain't takin' new programs. The last program I was able to download appears to be running as expected; I just can't modify it.
  • I wrote a small program to test the GetEEPROM and PutEEPROM commands in upper memory (it did take the small program after about 10 trys.) It failed on my BasicX (I got random data back instead of the data I stored.) Then I had someone run it on another BasicX and it passed. Now I know for a FACT that the EEPROM is bad.
I called NetMedia Customer Support and explained the problems I was having, the signals I saw on my scope, and how the test program failed on my BasicX, but passed on someone elses. They agreed that the EEPROM was probably bad, but they refused to replace it.

Poo Poo on NetMedia!

That is NOT the way to build a loyal customer base! It will be a L_O_N_G time before NetMedia gets another dollar out of me (and I can't recommend you buy anything from them either.)
Back
Hosted by www.Geocities.ws

1