I got a few more pieces of the plumbing system finished - the high-pressure helium manifold, the propellant tank burst and transducer holder and the vent valve assembly used for the fuel and LOX tanks. The helium manifold has connections for an AN6287-1 strut valve (for filling), an Endevco 8511A 5000 psi pressure transducer, a 4000 psi scuba burst disc, and a -4 AN outlet. The propellant tank burst disc holder is used inline and has connections for two -4 AN fittings, a Kulite XTM-190 500 psi pressure transducer, and a 750 psi burst disc. My original burst disc idea used a cap with 6 fasteners to hold the burst disc in place but I wanted to use a design closer to what Oseco recommended. I was able to modify an AN814-8D plug to hold the burst disc in place, similar to the reference design from Oseco. Next tasks are to finish making brackets, tubes, and the rest of the fuselage frames to hold the tanks. Then I can start on the cold tests and perform a hot-fire to check everything out.
For the flight computer software, I added a state machine class that will be used to run the sequencer and keep track of events. I considered developing the state machine in Dia and using a plugin to auto-generate the code but it wasn't really doing what I wanted so I'm going to use Dia to just design the state machine and then implement it by hand. Messages from the ground station (launch, abort, deploy, self-test, etc.) will just be events to the state machine.
For the transducers, I had been looking for an external ADC because the onboard 12-bit ADC in the MCF54415 only has an ENOB of 9 (effective number of bits) and poor accuracy. I tested a TI ADS1115 4-channel 16-bit ADC with an INA125 instrumentation amplifier on the front end in single-ended mode. Using a precision voltage source to simulate a bridge transducer and after calibrating for gain, this combination had a maximum error of 0.01% which is more than adequate. The ADS1115 is I2C so I'll use two of them on the bus to get 8 high-accuracy channels and keep the onboard channels for measuring voltages, etc. that don't need as much accuracy.
The rest of the plumbing design is complete for the rocket. I couldn't figure out how to draw tubing in PRO/Engineer so the fittings are just sitting in space in the CAD model. That's fine as I was able to use the model to check clearances, etc. but it turned out to be a lot more work than expected. I ended up changing many of the fittings for the pressurization system to get it all to fit within the 6 inch body diameter without adding extra length to the vehicle. I've ordered the additional fittings so when those arrive I can continue assembling the vehicle. In the meantime, I can get started on the new manifolds for the pressure transducers and burst discs along with the new valve brackets. For the helium tank, I'm using a scuba burst disc which is rated for 2400 psi working pressure and 4000 psi burst pressure. These off-the-shelf flat discs are designed for a 60% operating ratio (working pressure / burst pressure). Since I'll be filling the helium tank up to 3000 psi (a 75% operating ratio), I expect the disc to have a lower lifespan than normal. I ordered 8 of the discs and I plan to test a few of them with the hydro tester to see how much the 75% ratio reduces the lifespan. Worst case I can replace the disc just prior to launch to make sure it doesn't pop prematurely on the pad or during flight.
One of the things I wanted to do to reduce the likelihood of FOD is to eliminate all NPT fittings on the vehicle. As part of that, I drilled out the female NPT end on an Aqua Environment 955 check valve to turn it into a -6 AN female port. The dimensions worked out just right so I plan to do the same thing to the inlet on the Aqua 1247 regulator also. The interface between the regulator and check valve will still be NPT because I'm running out of enthusiasm for custom plumbing work. However, I could machine down the male NPT end on the check valve to turn it into a -4 male end and then use a -4 female to -6 male adapter to couple it to the output of the regulator.
I was invited to give a presentation at the Space Access '15 Conference this past weekend. A copy of the presentation is located in the Media section.
I've been able to make some progress on construction of the aft end of the rocket. The engine and LOX tank brackets along with the main valve are attached to the four stringers that will run the length of the vehicle. I had to switch to right-angle fittings for the igniter to help with clearance between the igniter body and LOX fitting. The area between the engine and LOX tank looks pretty clean now but there are still a lot of parts to fit in there including: igniter tubing, igniter heat exchanger, igniter check valves, fuel filter, fuel tube, fuel drain, LOX fill valve bracket, the RC-EXL ignition module, wiring, and the igniter pressure transducer. It all should fit but it will be interesting to work out the best sequence for assembly and disassembly.
My first attempt at turning down E-size oxygen cylinders for the propellant tanks was a bit frustrating. After taking off the desired amount on the lathe, the diameter of the tanks were different at each end. It turns out the floor in my garage had shifted somewhat over the years and the lathe needed to be re-leveled. After some adjustments, I was able to get the tanks turned down essentially straight although I took a few more thousands off than I wanted to on the wall thickness. To make sure there was enough wall left over, I bought an inexpensive ultrasonic thickness gauge (GM100) and was able to measure thicknesses around 0.091 - 0.098 at various points on the tanks. For an ultimate hoop stress of 38 ksi and an outside diameter of 4.150 inches, that works out to an ultimate tank pressure of 1705 psi (about 3x factor of safety for the fuel tank, 5x for the LOX tank). The final weights for the tanks were between 4.37 and 4.49 lbm compared to an original weight of 7.75 lbm each which is a combined weight savings of 6.7 lbm. The tanks are held in place with four #10-32 dog point setscrews mating up with shallow indentions in the tank heel. I considered several options including Click-Bond fasteners, hose clamps, plastic clamps, and decided that the setscrews into the heel was the best way to go for the fuel and LOX tanks. An FEA run of the tank shows essentially no stress in the area where the setscrew indentions will be. I haven't decided yet if I'll use the same technique for the helium tank since I really don't want to take the chance of weakening it by drilling into the heel.
After staring at them for over a year, I finally got around to testing the pressure regulators for the propellant tanks. I'm using the Aqua 1247-1 which has a range of 200-1000 psi and a Cv of 0.03. They're made 6061-T6 and weigh about 0.3 lbm each. The Cv is a bit small but my flow rates (13 in^3/s at 500 psi and 17 in^3/s at 300) seem to be in the linear range for the regulator. To simulate the engine, I made some test orifices that allowed me to run the regulators at the design pressures (500, 300 psi) but match the same flow rates with water that they will see in normal operation. I tested with both nitrogen and helium and as expected, there was less droop with the helium. One thing I thought was interesting is that as the "propellant" tank emptied out, the regulator took longer to stabilize. With a full tank of water, the regulator stabilized within ~0.75 sec but when the tank was only half full, it took 2-3 seconds for it to get back on target after opening the outlet valve. That could create a feedback loop with the engine during startup (I should have compared them to my existing welding-style regulators). These spec on these claim an 8 psi drop per 1000 psi of supply pressure drop which I think is pretty low for a single stage regulator. I wasn't able to completely validate that spec because by the time I figured out what I was doing with the tests, I was down to about 1200 psi in both cylinders. After going through about 20 gallons of distilled water, I wondered whether I could have done this testing using an all-gas setup with orifices (and maybe a gas flowmeter?) but I don't think I would have observed the same dynamic behavior I saw with a tank of water.
There were two interference problems with the original injector LOX cap, one with the igniter and the other with the OD of the vehicle. In addition, a 45 degree -6 AN boss fitting was going to be $75 on special order. So, I made a new one that has a straight -6 AN male fitting machined into the part which also eliminates the need for a K-seal at that location. The only place left that I need a K-seal is at the LOX tank exit but I'm having trouble finding a distributor for small quantities of them.
Here is the current plumbing layout. The pressurization lines will use 1/4 inch and the liquid lines will use 3/8 inch 6061-T6 aluminum tubing. Igniter lines will be 1/8 inch 3003-O tubing. The LOX vent will be located between the fuel and LOX tanks to keep the cold liquid away from the regulator, pressure transducer, and burst disc. For the fuel filter, I'm considering a 40 micron Holley filter just upstream of the fuel valve. In theory I could be real careful and just filter the fuel going into the tank but on several of my test stand runs, there were unexplained thrust shifts during the runs that seemed to disappear once I put a fuel filter on the test stand. The LOX line will not have a filter onboard but will have to rely on a sintered bronze filter on the fill line.
I want to keep the avionics development going in parallel so I spent some time updating the messaging classes in the flight program to stream selected messages over UDP to the ground station for debugging. After some research, I decided to use the Qt framework for developing the ground station software that will control the rocket prior to launch and for viewing telemetry during flight. I've used Visual Studio with MFC in the past but I wanted to upgrade my skill set to something newer and also open source. In a few evenings, I was able to prototype a message viewer using a QTreeWidget control that receives altimeter data from the flight computer and displays it in a hierarchical manner. I bought Raspberry Pi 2 and BeagleBone Black modules to evaluate their use for any offboard ground equipment that may need to be controlled. The Raspberry Pi is definitely faster when using X Windows but for controlling DIO lines in a headless environment, either one should be fast enough. I'm leaning toward the BeagleBone Black mainly because it has full hardware documentation and more resources are exposed on the header pins. The flight computer is still the Netburner MOD54415.
I ran a round of cold tests with LN2 this week on the new main, vent, and fill valves. It wasn't perfect but after some adjustments, I think they will work good enough for a flight vehicle. For all the tests the sequence was as follows:
Close the main valve, then open the fill and vent valves
Fill the test stand tank through the fill valve until liquid squirts out the vent valve
Close the fill valve (manually operated) and open the valve to drain the fill hose
Close the vent (with an AX-12A servo), checking for stickiness
Pressurize the system using N2 in steps at 50, 100, 200, and 300 psi to check for leaks
Open the main valve for a couple of seconds to check for leaks on video and verify smooth operation of the servo/gear setup
Check for leaks in between cycles of the main valve
After the tank was empty, open the vent valve
On the first day of testing, I was able to perform one fill and three main valve actuations before the tank burst disc popped. I didn't have a gauge hooked up after the pressurization check valve but it shouldn't have been much over 300 psi. It had been sitting for about 10 minutes closed up so you would expect the pressure to increase somewhat. However, that particular disc had been on the test stand for several years so maybe it failed due to fatigue (it was rated for 580 psi). A few days later when I continued testing, the fill valve which had worked OK the first day started was leaking liquid like crazy out the stem during the low pressure fill. I took the valve apart and discovered some damage to the spring loaded stem seal which was likely the cause of the leak. I can't explain why the same valve worked fine a few days earlier without being disassembled in between. I also noticed the four body bolts on all the valves were not as tight as they were originally so I re-torqued them. After that they stayed tight for the rest of the testing.
Inserting the stem seal into the valve bore is very tricky because there is a small step (0.005 for the LOX valve) that the bearing sits on. So the seal has to be pushed past that step without damaging it. I had been inserting the seal at an angle to get past the step (which puts it into an oval shape) then straightening it out. I discovered this process tends to put a small kink in one of the edges which creates a leak path later. I also noticed some excessive extrusion in the ID caused by just inserting the stem into it. I experimented with using aluminum foil as a sleeve to push the seal in past the step but then it was hard to get the foil out without tearing it and leaving some in the valve. I finally made made a little plunger out of some PTFE bar stock to just push the seal in past the step (after polishing up the step edge a bit). In general, this design doesn't lend itself well to inserting the seal without damaging it.
I was using vented balls in the valves to allow any trapped cryo fluid to expand either upstream or downstream. Normally the vent is pointed upstream when the valve is closed to keep the ball pushed against the downstream seat. However, this exposes the ball cavity and stem seal to cold liquid the entire time. If the upstream seat spring is stiff enough, the ball vent can be pointed downstream but if not, there is the chance that liquid will leak past the upstream seat, through the side of the ball, then out the vent downstream. I found in my testing with the main valve vent pointed downstream that there weren't any leaks until after the first open/close cycle of the valve. And even then the leak was extremely small - with 300 psi upstream of the valve, you could just barely feel the gas coming out of the exit. Since the main valve will only be operated once in the flight vehicle, this may be acceptable. But then I got to thinking about whether the ball really needs to be vented. The only reason for the vent is to release the trapped liquid but what if there was another way to release the internal pressure? Ben Brockert mentioned a while back that these little spring loaded seals can act as check valves so I thought if the seal was installed backwards, then any trapped liquid could burp itself around the seal as it expands to a gas. Another seal in an opposing configuration would keep anything from getting out the bearing end. I had designed in #10-32 ports in the stem bore of all the cryo valves so any leaks can be sent overboard in a controlled manner through a tube. I replaced the balls in the vent and main valves with a solid ball and the idea seemed to work. This eliminated all the liquid leaks out of the stem at the expense of an extra seal in each valve. The main valve already had two opposed seals so the cavity could be pressurized as it is the only valve that will be actuated under pressure. This revised arrangement (along with the new valve bore dimensions to compensate for shrinkage) seemed to dramatically reduce the stem leakage from the fill and vent valves. Only a very small gas leak is audible from the stem instead of the liquid leaks there were last year.
I also noticed a very small gas leak from the body seals of the main valve after it had been opened and closed once under pressure. The original Swagelok design uses a regular o-ring as the body seal so it's not surprising it leaks a bit when cold. At one point, I used an air gun to blow off the frost and the leak stopped so it must have pushed some ice into the gap between the end piece and body which sealed it back up. Without a drastic redesign, a second o-ring or maybe just a tighter o-ring groove may get rid of the leak completely.
I didn't have time to fabricate new male -6 AN fittings for all of the valves so both sides of the vent and the main valve exit were using an older female -6 o-ring boss fitting I had on hand. I had thought the o-ring fittings were working fine at cryo temps but on every run there was a liquid leak around the fitting at the main valve exit. I went back and looked more closely at the 2nd camera view from the 2013-09-15 hot-fire test and saw a similar but much larger LOX leak at the injector fitting. About halfway through that video you can see LOX dripping down onto the load cell bracket. Not good but at least I caught it before having LOX spray all over the inside of the rocket. The fix will be to either weld an aluminum AN fitting to the LOX injector cap or switch back to using NPT threaded fittings. I had sworn off NPT fittings after ruining an injector on the 100 lbf engine by stripping out the threads but maybe if I'm careful, they will work. The LOX cap is easier to make than the injector so I could always make a spare or two. The problem with NPT fittings though is if you accidentally back it off at all while tightening the tube nut, then you have to pull out the whole fitting to re-tape it. And then you run the risk of FOD from the PTFE tape.
The AX-12A servos seemed to have no problem opening the main valve (3:1 gear ratio and linked to the fuel valve) and vent valve (direct connection). On the very last run, the vent valve was a bit sticky and didn't close initially. Some alternating open/close cycles eventually freed it up but I suspect condensed moisture left over from previous runs got into the bearing and froze it up. I also found a "feature" with the AX-12A where it reports that it isn't moving anymore when it gets stuck prior to reaching its destination. The control code was using that flag to decide when it was done moving and disable the servo. I changed the code to also check the position error when deciding if the move is complete or not. There were two other changes that eliminated the intermittent comm problems I saw during previous tests. A scope on the half-duplex TTL line showed that the default 1 Mbps baud rate didn't leave enough time with long cable lengths for the logic low signal to be recognized. Turning the rate down to 500 kbps seemed to be enough. There was also a logic level problem that I needed to address properly. The AX-12A is a 5V TTL part but the 74HC126 that is performing the TX/RX switching is connected to the MOD54415 runs at 3.3V. The 74HC levels at 3.3V meet the TTL spec but the reply back from the servo exceeds the 3.3 Vcc of the buffer. There are dedicated chips for this but most require +5 operation. It turns out the 74HC parts have ESD protection diodes on the inputs so with an appropriate series resistor to limit the current, the extra voltage can be safely shunted through the diode to Vcc. Certain 74HC vendors had the resistor built in but you can't count on that so I added a 470 ohm resistor on the data line in between the servo and buffer. Checks with a scope afterwards show all logic levels were met and I haven't seen any comm errors since then.
Next up will be some tests of the Aqua regulators and shop work on the flight propellant tanks.
For archived articles, check out the News section.