Friday, July 11, 2014

HPR L1 - part two - The Payload

As I stated in my last post, I can explore and learn with the Torrent kit in a number of ways, but my immediate goal is Level One HPR certification. That said, however, I can't just leave an empty seat in a payload bay when a rocket is going up with a $30 motor.

Aside from rocketry, the other things I've been playing around with a lot lately are electronics and microcontrollers. Some time ago, I'd picked up a GPS component on clearance at Radio Shack for pretty cheap. After testing it out with an Arduino, I decided that I could build a data logger to ride along on my L1 flight. In addition, I've added a couple of very inexpensive sensors I got from China on eBay - a barometric pressure sensor to detect altitude, and a 3-axis accelerometer.

Here's the parts list:
  • Arduino 3.3V Pro Mini - $4 (Arduino Day sale price - thanks SparFun!)
  • Parallax PMB-648 GPS module - I don't remember how much it was.
  • BMP-180 pressure sensor - $2 (from eBay)
  • ADXL345 accelerometer - $3 (from eBay)
  • SD card reader breakout board - $3 (from eBay)
  • 9V batter holder
  • RGB LED
  • 3 resistors
  • Adafruit half-size Perma-Proto board
  • a small slide switch
  • some 22 gauge wire
  • female headers
  • solder
  • some M2 and M3 screws, nuts, and standoffs for mounting everything
Overall, under $40.

It's not the most compact or elegant package, but mainly with this version I want to see if it works, how everything holds up under launch G-forces and recovery conditions, and what kind of data I get. If it works well, I plan to build a new version, using a 10 DOF board, a micro-SD card, and maybe a better/smaller GPS and a LiPo battery.

Here's a diagram of how I wired it. I mounted the Arduino, the pressure sensor, and the accelerometer on the proto-board, but in this diagram I just included the headers to show where they would be placed, since there are some wires running underneath the breakout boards. The specific Arduino pin connections are detailed in the comments of the sketch.




The ADXL345 board I have has two rows of 5 pins, and is mounted in rows I6-10 and A6-10. The BMP180 is in E12-15. The Arduino has pin 9 at the top left. Note also that the Arduino Micro has A4 and A5 hole that are not on the outer edge, so the green and yellow wires shown at D14 and D15 are actually wires that are soldered directly to the Pro Micro. Also, I chose a 470 Ω resistor for the green portion of the LED because otherwise it looked a whole lot brighter than the red and blue components.

The pressure sensor and the accelerometer communicate with the Arduino over I2C, and I use the Adafruit libraries to interface with them. The SD card connects over SPI. In initial testing, I tried reading the GPS with SoftwareSerial, but found that it was a lot faster connected to the hardware UART TX/RX lines. Note that in my final configuration, I did not solder the GPS line that connects to RX1, but instead connect it with a jumper, because this needs to be disconnected whenever I re-program the Arduino.

I didn't bother making any sort of power switch that I could access when this is set up inside the payload bay for two reasons: First, since this device doesn't arm any sort of ejection charge, there is no safety consideration for doing it. Second, in testing I found that it will easily run for over two hours on a rechargeable 9V, so it is no problem to just power it up as I prep the rocket for launch, even if it means that it runs and collects ground data while I wait for a launch spot.

When running, the LED flashes each time a write is done to the SD card,  with one color indicating if each of the three sensors is working. Typically it will  flash with red and green immediately on power-up, then after 30s or so, when the GPS gets a fix, the blue will kick in. I've found that I can see these colors by peaking into the vent hole of the bay when it is all loaded up for a final check.

The data is written to a CSV file on the SD card. I get about 12 lines per second of altimeter and accelerometer data, and a new GPS read about once or twice a second (this seems to come in at random times). With an old 2GB SD card in there, I have more space than I'll ever need. I'd considered using EEPROM modules to store the data to save some physical space and power, but it would limit the memory space too much and make it harder to download the data. Plus power use doesn't seem to be an issue, so it didn't seem worth pursuing. Maybe in a future version.

Partly because of its bulk, and partly because I want to save the sled that came with the Torrent kit for a "real" dual-deployment altimeter, I made my own sled for mounting of the electronics. I epoxied four 1.5" lengths of aluminum tubing to a piece of 1/8" thick craft plywood cut to fit all the components, then mounted everything up with the screws. Except the GPS, which has no mounting holes - that is just held on with double-stick foam tape. I'm crossing my fingers on that one (though I may do something else to reinforce it - zip tie holes?).

Overall weight of the electronics, battery, and sled is 148g.

All completed, here is what it looks like, before and after mounting it on the sled:




And finally, here is the Arduino sketch I put together:

/* Torrent datalogger payload
   
 OUTPUT FILE FORMAT:
   millis, altitude (m), x accel (m/s^2), y accel, z accel,
   lat, long, GPS altitude, course, speed, satellites, date, time
 
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11 - green
 ** MISO - pin 12 - blue
 ** CLK - pin 13  - yellow
 ** CS - pin 4    - orange
 
 Altimeter, accelerometer (I2C):
   Connect SCL to analog 5
   Connect SDA to analog 4
   Connect VDD to 3.3V DC
   Connect GROUND to common ground
   
 GPS
   Yellow wire to Arduino RX

 Status LED
  red - 7 green - 8  blue - 9
   
 */
 
#include <SD.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP085_U.h>
#include <Adafruit_ADXL345_U.h>
#include <TinyGPS.h>

int led = 13;
int red = 7;
int green = 8;
int blue = 9;
boolean red_status = LOW;
boolean green_status = LOW;
boolean blue_status = LOW;
unsigned long last_fix = 1;

File myFile;
Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);
float adxl[3];
TinyGPS gps;

void setup()
{
  Serial.begin(4800);  // necessary for GPS read
  pinMode(led, OUTPUT);
  pinMode(red, OUTPUT);    
  pinMode(green, OUTPUT);
  pinMode(blue, OUTPUT);
  
  /* Initialise the altimeter */
  if(!bmp.begin())
  {
    //Serial.print("Ooops, no BMP085 detected ... Check your wiring or I2C ADDR!");
    ;
  }
  
  /* Initialise the accelerometer */
  if(!accel.begin())
  {
    /* There was a problem detecting the ADXL345 ... check your connections */
    //Serial.println("Ooops, no ADXL345 detected ... Check your wiring!");
    ;
  }
  accel.setRange(ADXL345_RANGE_16_G);

  // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
  // Note that even if it's not used as the CS pin, the hardware SS pin 
  // (10 on most Arduino boards, 53 on the Mega) must be left as an output 
  // or the SD library functions will not work. 
   pinMode(10, OUTPUT);
   
  if (!SD.begin(4)) {
    //Serial.println("initialization failed!");
    return;
  }
  //Serial.println("initialization done.");
    
}  // setup

float get_altitude() {
  sensors_event_t event;
  bmp.getEvent(&event);
  if (event.pressure) {
    float temperature;
    bmp.getTemperature(&temperature);
    float seaLevelPressure = SENSORS_PRESSURE_SEALEVELHPA;
    //Serial.println(seaLevelPressure);
    float my_altitude;
    my_altitude = bmp.pressureToAltitude(seaLevelPressure,
                                        event.pressure,
                                        temperature);
    if ( my_altitude < 0 ) {
      red_status = LOW; 
      return -1;
    }
    else {
      red_status = HIGH; 
      return my_altitude;
    }
    
  }  
  else { 
    red_status = LOW; 
    return 0; }
}

void get_accel(float *pdata) {
  sensors_event_t event; 
  accel.getEvent(&event);
  if (event.acceleration.x) {
    pdata[0] = event.acceleration.x;
    pdata[1] = event.acceleration.y;
    pdata[2] = event.acceleration.z;
    green_status = HIGH;
  }
  else {
    green_status = LOW; 
    pdata[0] = 999; 
    pdata[1] = 999;
    pdata[2] = 999;
  }
}

bool feedgps() {
  while (Serial.available()) {
    if (gps.encode(Serial.read()))
      return true;
  }
  return false;
}


void gpsdump(TinyGPS &gps) {

  float latitude, longitude;
  unsigned long fix_age;
  gps.f_get_position(&latitude, &longitude, &fix_age);
  
  if (fix_age == TinyGPS::GPS_INVALID_AGE )
    blue_status = LOW;
  else if (fix_age > 2000)
    blue_status = LOW;
  else
    blue_status = HIGH;
  
  int year;
  byte month, day, hour, minute, second, hundredths;
  gps.crack_datetime(&year,&month,&day,&hour,&minute,&second,&hundredths);
  
  
  myFile.print(",");
  myFile.print(latitude,5);
  myFile.print(",");
  myFile.print(longitude,5);
  myFile.print(",");
  myFile.print(gps.f_altitude());
  myFile.print(",");
  myFile.print(gps.f_course());
  myFile.print(",");
  myFile.print(gps.f_speed_kmph());
  myFile.print(",");
  myFile.print(gps.satellites());
  myFile.print(",");
  myFile.print(month, DEC); myFile.print("/"); myFile.print(day, DEC); myFile.print("/"); myFile.print(year);
  myFile.print(",");
  myFile.print(hour, DEC); myFile.print(":"); myFile.print(minute, DEC); myFile.print(":"); myFile.print(second, DEC);

}


void led_on () {
  digitalWrite(red, red_status);
  digitalWrite(green, green_status);
  digitalWrite(blue, blue_status);
}

void led_off () {
  digitalWrite(red, LOW);
  digitalWrite(green, LOW);
  digitalWrite(blue, LOW);
}


void loop()
{
  myFile = SD.open("torr06.csv", FILE_WRITE);
  if (myFile) {
    //digitalWrite(led, HIGH);
    if ( millis() - last_fix > 4000 ) {
      blue_status = LOW;
    }
    led_on();
    //Serial.println("writing");
    myFile.print(millis());
    myFile.print(',');
    myFile.print(get_altitude());
    get_accel(&adxl[0]);
    myFile.print(',');
    myFile.print(adxl[0]);
    myFile.print(',');
    myFile.print(adxl[1]);
    myFile.print(',');
    myFile.print(adxl[2]);
    if (feedgps()) {
      last_fix = millis();
      gpsdump(gps);
    }
    myFile.println(' ');
    myFile.close();
    //digitalWrite(led, LOW);
    led_off();
  }

}



Tuesday, June 24, 2014

HPR L1 - part one - Building the Rocket


The next few blog entries concern my attempt for NAR Level One High Power Certification.

the motivation

At the end of July, I plan to attend NARAM 56 in Pueblo with my family. The initial motivation for this was to watch some of the really big HPR stuff, in particular the ULA launches. But of course I have to participate to some degree. In talking about it with my wife, she actually was the one who convinced me to go for my certification, reasoning that as long as we're taking several days to go down there, I might as well make the most of the event. How could I argue?

the rocket

For my L1 build, I selected the Madcow Torrent, for several reasons:
  • I like the kit designer. I've had one other Madcow kit, and really liked it.
  • The kit is not a giant stretch in terms of construction techniques, since it is all cardboard and wood.
  • I like the vendor. The Torrent is available (only) from Apogee. Their website is really excellent in terms of education and information, including a whole series of videos on construction of the Torrent. They have great customer service, and are always responsive with questions. Plus I like to buy from a local (Colorado) company, and it doesn't hurt that I was in the Springs so I didn't have to pay shipping.
  • I wanted something with a good size payload so I can experiment with my own custom-built avionics.
  • I can grow quite a bit with this kit. If all goes well, after I get my L1, I can further pursue L2 with this same rocket. Also, I can get experience with dual deployment easily since it comes with an ebay.

The one thing I don't like about the rocket is that, due to its weight, I can't fly it at the local CRASH launches. So for future flights, I'm going to have to attend either NAR national events, or else join up with NCR. Not a big deal though, since the 38mm H+ motors for this aren't cheap - I won't be flying it all that often. 

the build

I don't see the need to post any pictures of the build, because it's basically been "by the book" - or video in this case, following along with the Apogee tutorials. There are a couple things I will note:

  • Glue or epoxy? I struggled with this decision quite a bit. In general, I'd rather not use epoxy unless I need to. And reading around, the results are interesting. Everyone says that for wood and paper, wood glue with give you just as strong a bond as epoxy. But it's rare to see anyone say that they've done an HPR build with wood glue, with the very notable exception of the Apogee videos. I even went so far as to email Mike Stoop at Madcow to ask his opinion. His answer was interesting:  
me: I'm following the Super DX3 instructions from Madcow, which say to use epoxy.
On Apogee's website, they have a series of construction videos in which they use wood glue for all the wood/cardboard joints.
Reading various forums, the general consensus seems to be that for wood/cardboard, wood glue is as strong as epoxy, and lighter. Yet a lot of people still exclusively use epoxy on their HP builds.
I was just wondering what your take is on this. 
Mike Stoop: I would tend to agree on the wood glue - it is much easier to use.  However, we have not built any of our kits with wood glue, we only use epoxy.  Sorry can’t be more help on this. 
In the end, I decided to go with wood glue, though I still lose a little sleep over the decision, particularly since it really wouldn't have hurt to just have used the darn epoxy. Will it hold up? time will tell. But it's only my first HPR build - probably won't be my last.
  • Shock cord/mount. Not a big modification, but I did not tie my shock cord to the eye bolt on the forward ring. On this 4" diameter rocket, it is easy enough for me to reach in there and attach it with a quick link. I like the flexibility this offers. Also, I purchased a nomex sleeve for the tubular nylon shock cord.
  • Internal fillets. There are a couple of nicely documented builds of this model on the Rocketry Forum. Following the lead of a couple of these, I put some good internal fillets on my fins and motor mount. First I glued only the forward centering ring onto the motor tube. I then glued this inside the airframe, using the UNglued aft ring to position it. Removing the aft ring, I was able to put good heavy fillets on both sides of the forward ring. Next I mounted the fins, and again, with the aft ring not in place, I was able to put good internal fillets on the fins where they connected to the airframe and motor tube. Then finally I glued in the aft ring.
  • Motor retention. I bought an Aeropack retainer to use with this rocket, which would've been great if I hadn't messed up and left not quite enough of the motor tube exposed to attach it fully. So instead I went with a Madcow retainer.
  • Finally, I added parachute swivel.

I've considered getting a larger parachute than the 36" that comes with the kit. Some reviews indicate that it may be a bit undersized, and my simulations with OpenRocket bear this out, showing an approximate descent rate of 28 fps for the fully built rocket with ebay sled. I've decided to stick with the stock chute for the initial flight and see what the actual descent rate is from my Jolly Logic 2 altimeter. Again, hopefully I won't regret this decision, as a damaged rocket will result in a failed certification attempt.

Throughout the build, I've weighed all components and re-weighed them as they'd been assembled, updating a detailed OpenRocket design. I'll do the final real-world CG measurements when I've go the paint on, but for now it looks like I've got good stability (1.5 to 1.6 cal) for H and I motors.

One other thing I'll comment on. Being a little old-fashioned, I like books. And you can't argue that Harry Stine's Handbook of Model Rocketry is anything but a great book to have. I also like the comprehensiveness and level of detail in Tim Van Milligan's Model Rocket Design and Construction. So I decided to buy Modern High Power Rocketry - 2nd ed. from NARTS. I won't mince words here - it was mostly a waste of money. While the book is a good overview of the topic, it doesn't really go into great depth on anything. The information it provides is readily available from vendor/organization websites, casual web browsing, or even the two books formerly mentioned. Many of the diagrams look like they were done on a Commodore 64. Further, it is extremely repetitive. Each chapter not only rehashes much information from other related chapters, but there are numerous sidebars that add nothing other than repeating information from the main text. The chapters on Level 3 are interesting and fun to read, but most likely won't ever be of practical use to me. There is exactly one new and worthwhile piece of information I got from this book: substitute closed (forged) eyebolts for the open eyebolts generally supplied with kits. They don't weigh much more and are much stronger. Alas, I read this after I'd already mounted my open bolts with epoxy, but I don't imagine it will be a problem on the four pound Torrent. But definitely something to keep in mind for future HPR builds, especially if I ever get to something big and really heavy.

the motor

For my certification attempt, I'll be using a Cesaroni H120 in a Pro38 casing. I've never used a reloadable motor before, so the simplicity of the Cesaroni system (compared to Aerotech) was appealing. Also, I like having the ability to put spacers in the casing, so the Pro38 case can be used with various sizes of reloads. I purchased 3-grain case with two spacers, but plan to purchase 6-grain case as well in the future for L2 certification. This will allow me to use a huge range of Cesaroni 38mm reloads.

The clincher, however, was the Cesaroni certification special, which gives you the casing for free. Can't beat that.

the payload

On the certification flight, I plan to have my trusty little Jolly Logic 2 on board, as well as a custom-built data logger. I've got all sorts of plans and ideas for avionics, but for this initial attempt, I plan to build something to log GPS, altimeter, and accelerometer data. Details on this in my next post…



Monday, February 10, 2014

How do you keep track of your launch data?


Once I got back into model rocketry, I realized that I'd like a good way to keep track of my rockets, and where and when they launched. By profession, I'm an Oracle DBA and developer, so naturally my first thought was to create a database app. My next thought was that it would be nice to have it online, so the data would be available - and updatable -  on any device at any time. But I'm not a web developer.

The perfect solution for me is Oracle Application Express. It is an easy-to-use web platform for development of database applications. At least it has been easy for me to learn, with a background in database development.

The best part of it is that Oracle operates a free Application Express (ApEx) instance, and you can sign up to get a free workspace for personal use in about two minutes. You get (I think) 10MB of space, which is plenty of you're just keeping track of your own launch data, or even that for your own club. (And if you want to grow it beyond that, you can run your own db and app server for free with Oracle XE - up to 4GB.)

So I set about to create my own app, the brilliantly named rocket log. It took me just  a couple hours to put the entire thing together, from start to finish. It keeps track of three main entities:

1. Rockets, of course. For each rocket, I can track basic attributes like name, manufacturer, build date, engines used, etc. plus a single photo.



2. Launch Sessions, to track the places, dates, and conditions for each launch day.



3. Launches. Each launch is associated with a single rocket and launch session. Not only do I track the basic data like date and motor used, but I also have spaces for specific launch data provided by the altimeters I have, including functionality to upload a CSV of time vs height data from my FD-Altimeter, then compute status such as max speed and height and display the data as a graph. I also keep launch simulation data (from OpenRocket) here, so I can quickly reference it when trying to choose a motor for a launch.



Finally, I have a page where I maintain a list of motor types I use, along with links to the NAR motor data sheets.

Another nice feature of ApEx is that it provides templates for easy development of mobile-friendly pages as well. So I've got one app that I can access either from a laptop or from a smartphone, so I can check motor data or add launch info out in the field.



Since I built it, I've put it to good use keeping track of 21 rockets and 80+ launches so far. Of course, once I got the basic functionality completed, I moved on to other projects, and I have a list of desired enhancements that I'll probably never get to:
  • Provide the ability to easily switch between English and Metric units.
  • Allow for the addition of URLs/links on most pages. For example, on a rocket page, I should be able to add links to the manufacturer's product description page, or to reviews and launch reports on external websites. On the launches page, I should be able to add links to external photo sites. Also maybe a page for general links to favorite vendors and such.
  • I need to do some clean-up on my implementation of motors, including making the recommended motor list on the rockets page a pick list.
  • I need to enhance the navigation within the app.


I've created a read-only guest login to the app so anyone can log in and look it over. Please do, and leave comments if you have ideas or suggestions. Or let me know what you do to track your own data.

Monday, October 21, 2013

It's Always Interesting


One of the things I love about model rocketry is that even when you're in familiar territory, the unexpected can happen and there are always new things to learn and deal with.

I recently launched my Estes Mini Comanche 3, configured with all three stages. It's kind of obvious from this picture that it didn't go quite as planned.



The problem is that the second stage failed to ignite. The first booster ignited, the rocket flew about 40 or 50 feet up, then gracefully arced straight down for a perfect lawn dart landing.

One of the only good things about this is that I was left with a situation that allowed for full investigation. Nothing bugs me more than a failed launch that results in a lost rocket (or bits of it) that make it hard to piece together what happened.

Not that I can fully explain it in this case. I of course verified that  the correct motors were installed, in the correct order, and not backwards. It just looks to me like the first booster (an A4-0T) burned through and failed to ignite the second stage (another A403T). What seems really odd is that there are no burn markings at all on stage two. It's like the first booster never burned all the way up - though it did.

Of course I will try again. The other good thing was the the only damage was to the long skinny body tube of the main rocket. This was easily cut off and I've replaced it with a new section, so I'm ready to go.

Tuesday, August 6, 2013

Swing Test - oops!


Here's one thing that authors never tell you when they suggest a swing test to check your rocket's stability: if your string is wrapped around a section of plain body tube on a longish rocket, don't swing too fast.

I'm currently finishing up work on an Estes Super Neon XL. It strikes me as bottom-heavy, so I was more concerned than usual about the stability. I probably shouldn't worry because it's a proven Estes design, built to spec, with plenty of successful launches listed on RocketReviews.com. (I actually did one small modification - I added an ejection baffle. But this should push the CG forward, if anything.) But I obsess.

I looked online at two posted Rocksim files. I don't have Rocksim (I use OpenRocket, but it doesn't support tube fins), but the pages show the calculated CG/CP values: 18.25"/25.25" and 19.5"/28.8". Quite different, though the former doesn't appear to have included the balsa fins. What then concerned me was that my measured CG value was more like 25" with no engine, and 28.25" with an E9-6, and that seemed a bit too close for comfort even if the CP were truly 28.8. Hence the swing test.

Sure enough, I couldn't get a stable swing, so I began taping lead weight onto the nose. Playing with the Rocksim design in OpenRocket, I figured that I'd need at least a couple ounces at the tip of the nose to get very comfortably stable. Sure enough, once I'd added 2.25 oz I got my first clearly stable swing test. But of course I couldn't stop there, and I had to back off and try again with a little less weight. Again, I had trouble getting it to go stable, so I thought "maybe if I swing just a little faster…" and that's when - FOLD!


Fortunately I had the couplers and spare tube on hand for a quick splice.



But what to do about the stability? I've decided to add just 0.25 oz at the tip of the nose and go for it. Here are my reasons:
  • I've read that the swing test is a very conservative measure, and difficult with larger/longer rockets. 
  • It is a proven design, As stated, I built it to spec, and my finished rocket (minus primer/paint) is 6.25 oz - less than the Estes estimated weight of 7 oz - so it's not like I incorrectly piled weight on the back end.
  • None of the reviews I've read suggest any instability.
  • While the rocket is well under the max lift weight for a D12-5 or E9-6, the idea of piling on a couple of ounces also concerns me. As is now, OpenRocket simulations show a speed of just under 25 mph off the rod with an E9-6 (better with the higher max thrust of a D12-5), which again seems to be cutting things close.


So I'm going to prime it, paint it, and cross my fingers. I'll update this post once it's flown.


Update: Back in September the Super Neon flew beautifully - then landed at the top of a very tall tree, where the bright parachute and nose cone still flutter in the wind five months later. (Oh, and I lost my Little Bucky Jones on its first flight the previous month. Losing streak.

Friday, July 12, 2013

Where and When?


There are always questions about where and when to launch. The circumstances vary wildly depending on where you live: city or rural, rainy or none-dry. And of course, what are the local laws and regulations? This is another topic that is interesting to revisit now that I'm a "responsible adult" rocketeer, as opposed to my days launching as a kid, without adult supervision. And I'm not lucky enough to live near friendly Farmer Brown and his gazillion acre fields. So I thought it would be interesting to document what I've learned in case anyone else can benefit from it - particularly any rocketeers in the Denver area.

I'll start by stating two assumptions: (1) All laws and regulations should be followed: those of the city, state, and the NAR. (2) You have a car to get you someplace (not really an option when I was a kid).

The first and most obvious answer is to launch with a club. Here in the Denver area there are CRASH and NCR, or farther south, COSROCS. I've launched with CRASH once and plan to do it again - especially when I'm launching high or with mid-power engines. But I also like to launch on my own schedule, with family and friends, sometimes making a picnic of it. So that is more the direction of this post: where can I do that?

There I several things to consider, so I'll discuss them in sections:

Finding a Site That is Physically Appropriate

NAR guidelines specify minimum site dimensions. Maybe there is an obvious spot near you, maybe not. I've used Google Maps to search for areas that look big and open, are mostly devoid of trees, and are public. Car accessibility is also a factor. But you can't tell everything from a map, so you need to scout it out to see what it really looks like. I'd rather launch in the soft, well-watered grass of a public park than in a field of tinder-dry brush or in the middle of a bunch of dirt and prairie dog holes.
Also, who else uses the park? A big open field is no good for a launch if it is full of soccer games. You need to be aware of the safety of others who won't be looking out for rockets. 
Finally, what borders the area? We all know that rockets can and do go out of the "minimum site dimensions." Could it land on private property? Power lines? In a lake? On the roof of the nearby rec center? On a highway?

Is It Legal to Launch There?

So you've got a site that you think will work. Is it legal? My initial assumption was to check fire codes, again turing to Google. In Denver (and every other municipality in the area that I've checked), the fire code does make a distinction between fireworks and model rockets. In all cases, the wording is something like this: 

The storage, handling and use of model 
and high-power rockets shall comply with the requirements 
of NFPA 1122, NFPA 1125, and NFPA 1127

Inconveniently, the NFPA rules are not immediately available online. But you can read (not download) them for free if you create a logon to the NFPA site. PITA, plus they then send you weekly (or more) emails about buying their products. But here it is in a nutshell:

NFPA 1122 -- Code for Model Rocketry - This is the NAR code, almost word for word. I don't know the history, but I think the NAR helped develop it. Hooray for the NAR!
NFPA 1125 -- Code for the Manufacture of Model Rocket and High Power Rocket Motors - A big N/A for me.
NFPA 1127 -- Code for High Power Rocketry - Maybe this will apply to me someday, but in that case I'd be off in the desert launching with NCR.

It is interesting to note that while the fire code makes a distinction between fireworks and model rockets, any fire fighters you talk to may not. Consider their perspective. They're not exactly in the business of encouraging people to find new ways to burn things fast and hot. If they aren't familiar with model rocketry, they may just assume that rocket = fireworks if you ask. I was lucky enough to speak with a very nice guy from the Denver FD who, despite a lack of familiarity, took my name and number, looked into it, and called me back a couple hours later to confirm that yes, I'm "good to go" in Denver.

But then there is another question. Recently I was launching in a public open space in Northglenn, Colorado. An officer drove up and approached - very friendly. I immediately told him that, though I'd never launched there before, I'd checked fire codes for the town. His answer was that while it may be OK according to fire codes, it may be against municipal codes. Though he said it in an odd sort of way, like he didn't know or care all that much. He checked out my gear, asked a few general question, took my name and number, and left with a friendly "be safe" and that was that.

(I'll also point out that, while he said that he saw a launch from the road and came to check it out, the area was also bordered with houses on one side. While I never got anything near them, that is something else to consider: Are nearby residents going to freak when they see missiles going up from the field near their house, and call the police? It may be legal, but it may also be a hassle for you and the police.)

I've honestly never known of a place where it was actually, all-around illegal to launch model rockets, but I'm sure some places exist. Bottom line: Ask the Fire Department. Ask the Police. CYA.

(You might also ask your local hobby shop or other rocketeers that you meet. I imagine the local hobby shop may have liability concerns about recommending places. As far as any other advice, I'll say it again: CYA.)

Really? Is It Legal to Launch There *Now*?

As I write this, at least half of Colorado's counties have fire restrictions in place due to wildfire danger. The rules on what constitutes a fire restriction vary by county, and even within counties there may be different stages or levels of restrictions - and they may split the county, with different restrictions in different areas. It gets complicated. And on top of that, there may also be municipal or state-wide bans. And not every county or city clearly posts when there is or is not a ban in place. Colorado just lifted its statewide ban a week ago, and the only way I know is from a Denver Post article that came up in a Google search.

One handy place to check for county fire restrictions is the Colorado Office of Emergency Management.
The Denver Fire Department can be contacted at 720-913-3473 Monday through Friday, and they've always been helpful when I've called to check on things.


There are a couple big parks in the area that I like for launching. One is in Golden, but Jefferson County is always among the first to enact fire restrictions, so this year and last, this has been out from late spring through summer. I've launched many times at Ruby Hill Park in Denver. It's not perfect - it's surrounded by big trees, and beyond them are power lines. But while I've had a couple of severe weathercocking launches, I've never gone near the power lines or surrounding roads (though I did have to wade into a pond once) and I've never lost a rocket in a tree. The Denver FD has confirmed for me that I'm OK to launch there. The center of the park is a big basin (the name Ruby Hill strikes me as the opposite of what it should be) that is never overly dry, and that section has no soccer fields or anything. I never see more than the occasional person stroll through, though the nearby playground gets a lot of action, and I have had a landing there. It's a bit of a walk from the parking area to the center of the field, but it is a pleasant setting, and feels surprisingly isolated given its location.

Update - 12/2016: It gets even more complicated. I was with a small group of friends and their kids, many launching their first rockets, at Ruby Hill Park a couple months ago. We were approached by a ranger from Denver Parks (who even know that never parks had rangers?) who told us that although it is OK with municipal and fire codes, launching is a violation of parks codes. Jeez, how can you ever know? He was super friendly, and lest us do a last launch or two, but then we shut it down. Sadly no more launches at Ruby Hill.

Since I first wrote this post over three years ago, I've attended many launches with CRASH, NCR, SCORE, and even one with Tripoli Colorado. Unfailingly, they are fun and friendly. So while I'll miss the family-only spur-of-the-moment option, it looks like it will only be club launches for us from here on in. (Unless we make a new friend with loads of empty farmland!)

DISCLAIMER NOTE:    This information  presented  only as my personal experience, and is not intended as specific or authoritative advice..  The  author  is  not   responsible  for  any  liability  or  loss  related  to  the  launches of others, and all individuals are responsible for selecting and verifying the viability of their own launch areas.. 



Tuesday, July 9, 2013

The Secret to Perfect Fins


It's shaping up to be another skimpy summer for rocket launching in Colorado. Fire bans have been declared almost everywhere in the state, and even in places where there are none (including Denver) you can't help but feel guilty just thinking about launching with all the wildfire destruction going on.

But there is always building. I've just finished two kits: Pemberton's Little Bucky Jones and FlisKit's Buck Shot.



The Buck Shot is my first MicroMaxx kit, so I'm excited to venture into that territory. I know my limitations, and my build skills aren't up to the challenge of making a high quality small model, so I just put it together and painted it as best I could without sinking in time going for perfection.

The LBJ, on the other hand, is such a unique and gorgeous kit that I found myself obsessing over it for weeks. Which brings me, sort of, to the topic of this post.

For several months I'd been vaguely planning on writing my tract on the ultimate solution to perfect fin finishing. Of course, most of the delay involved figuring out how to perfectly finish fins. There is no shortage of information out there on blogs, vendor videos, and message boards, and everyone has their favorite techniques. But something must be the best, right?

I have, I'm proud to say, discovered the true, absolute best solution. Are you ready?

Patience.

There's sanding sealer, Elmer's Fill 'n' Finish, microballoons, CA glue, Kilz, urethane, on and on. But ultimately, no matter what materials you use, it comes down to patience. Lots of layers, lots of sanding, until you have it just right.

Sanding sealer stinks, FnF can be a little delicate, watered down Elmers can warp fins. But for me, the patience thing is harder to manage than any of those. Though if I stick to a willingness to always do another layer of fill/sand, or primer/sand, the imperfections that I see (and there are always some) get smaller and smaller.

That said, here is my current process when I'm tying to do a really nice job on a rocket. I'm not going to go into extreme detail on any particular technique; there is so much info on the web, and really you just have to try things out and experiment. But here are my favorite methods. And I couldn't help myself - I've gone beyond fins to describe all of my "best practices."

Construction Adhesive

I've barely dabbled in mid power rockets at this point, so for me the go-to glue is wood glue. I've used a lot of Elmer's, but lately I've been using Titebond. Used properly on balsa and cardboard/paper, this will make a bond stronger than the materials themselves. I do, however, sometimes use 5 minute epoxy in two cases. First, because it doesn't grab as quickly as wood glue, it is handy for doing things with a tight fit, like engine mounts, centering rings, and couplers. Second, it is nice to use if I have to fill a nose cone with some lead shot to weigh it down. Stinky stuff though. I avoid it when I can, and wear nitrile gloves when I do use it (but even here, the web has lots of conflicting information on what gloves are best protection from epoxy).

Fins

Light plywood and basswood are great because the grain is typically a lot tighter than balsa. I've gotten some terrific, smooth finishes on these with just one thin layer of FnF, sand, and then a couple primer/sand cycles.

I find balsa tricker. I've gotten decent results with one or two FnF/sand cycles, followed by a couple of layers of sanding sealer (sanding in between), then primer/sand/primer/sand. But lately, I've become a fan of this:

  1. Before mounting, laminate the fins with ordinary copier paper, glued on with a thin layer of wood glue. It is very important to make sure you smear the entire fin surface with the glue before sticking on the paper. I smooth out the paper as best I can - I use a small section of PVC pipe. The fins may warp like crazy with the wet glue on them. Put them between wax paper sheets and press them between two very flat surfaces, weighted down amply, for a day or so to dry.
  2. Smear the fins with a thin layer of CA glue (crazy glue) and let them dry. This will turn the white paper covering translucent as the CA glue penetrates and hardens the paper and wood fibers.
  3. Sand sand sand until smooth. The CA glue will leave a bit of texture, but with a lot of sanding you can get them glassy smooth.
  4. Mount the fins on the rocket.

This process adds a ton of strength, and you don't have to worry about grain showing. I recently did a test where I weighed fins before and after this process, and also compared the weight to lite ply fins of the same size. The laminated fins were still a lot lighter (but I lost my data!).

Body Tube Spirals

This is something that I never considered early in my rocket career, but now I can't stop myself from doing it - I'm compulsively bothered by visible spirals on a painted rocket. I use some slightly watered down Elmer's FnF (now just called Wood Filler) and paint it along the spirals. Then after it dries, I sand the whole tube. It's not a lot of effort, so it is totally worth it (though I might not say the same thing if I built an Estes Mean Machine). Some people claim to get rid of spirals with several coats of primer and sanding, and that might work with a thick primer like Kilz, but I think this is a good approach. Sanding the tube also helps with fin and paint adhesion.

Fillets

I have two favorites here. For small, light rockets, I like Titebond Molding and Trim glue. It doesn't run, and shrinks and bubbles less than other wood glues. (I had a hard time finding it. Regular hardware stores don't seem to carry it. I had to go to a specialty woodworking store.)

For bigger and higher power rockets, I like Fixit epoxy clay. You can find some good directions for its use on the Apogee Components website. It's not quite as easy as it looks. When mixed, it's just a little too firm to just smooth out with a swipe of your finger. You have to work at it. In fact, you need to work at it. When dry, it sands nicely, but of course is much harder than the body tube and fins, so if you need to do a lot of sanding to get the fillets nice and smooth, you might end up digging in to the other components. It takes practice - my first rocket using this had OK-looking fillets. My second one had a few that were perfect, and a couple with minor imperfections. But in the end, you can get super solid joints, with fins that look like they grew right out of the body tube.




Nose Cones

For balsa, I've gotten amazing looking results with a layer or two of Fnf/sanding, then the same with sanding sealer, then a few coats of primer and sanding, finishing with wet sanding with a really fine grit. Totally worth the effort, though it still results in a nose cone that will get dinged the first time you chuck it in the back of the car with a bunch of other stuff. I've seen recommendations to add a couple layers of CA glue to harden it up and give it a sort of shell, so I'm still experimenting with that.
For plastic nose cones, like BT spirals, I'd never considered anything to do in my early days. Now, I always sand the seams *completely* down so they cannot be seen or felt at all. Then I need to smooth it out with successively fine layers of sandpaper. Ten more minutes of effort, but a way way nicer looking nose cone.

Primer

Lots and lots of people swear by Kilz because it goes on so thick. And it is great for hiding all the little blemishes - just like the "orange peel" texture applied to drywall in all modern residential work. So there is typically a lot of sanding needed to get back to a really smooth finish. If you're willing to do that, Kilz is great. However, I prefer not to use it on small models, or ones with lots of detailed pieces and angles that are hard to sand. In that case, I'll use a "regular" sandable primer (I use Rustoleum).

Paint

I don't have experience with enough brands to give a strong recommendation here. I can only say that Valspar is awful, and that I use Rustoleum Ultra Cover 2x glossy pretty exclusively and am happy with it. It goes on pretty well and there is a good color selection.

Clear Coat?

Question mark here. Do you need a clear coat? It is often recommended over decals (though I'm not a huge decal user), but many say that it will eventually dry and crack/peel the decals. I found this process on the web, using Pledge and Simple Green. It works, but it is not magically transforming. I use it occasionally and am still undecided if it is worth it.

So there we are - that's the state of my technique as of mid-2013. Perhaps, even hopefully, I'll want to totally revise this in years to come. I like to try new materials and methods, and I'm sure I'll get new favorites.

But it all comes back down to the P-word. Without lots of patience, nothing is going to look good.

Of course, despite all this, I look at every rocket I build, especially the ones I really really tried on, and just see the little flaws. And the parts, that were perfect? Well, they get bashed up in flight anyway. So at some point in a build, I always end up saying "enough is enough" and I just call it done so I can get the bird in the air. Patience has its limits, at least with me.