Monday, 22 October 2012

Vertical Test Stand

On Sunday I finished most of the new test stand:


Plumbing is not installed yet because I was missing a few bits and pieces. The good thing about the design is that the hovering rocket thruster+mount only requires two bolts to remove from the rocket and one to attach to the test stand. The frame itself was kindly donated by Ashley from Advanced Rocketry Queensland. We modified it slightly by putting a cross beam which the load-cell is bolted to. I will pickup the remaining fittings and we should be able to get it finished tomorrow night.

Also I found a new supplier of budget pressure transducer which I am highly excited about! I had been looking since the old supplier ran out of the surplus stock they had and finally found a new one! They key word was "pressure sender".... They are brass which is not idea but will be at the top of the tank so shouldn't be exposed to much liquid peroxide. They also stock 0-500PSI instead of  0-2000 as the old ones were, so should give better resolution. eBay store is here if anyone is interested.





Saturday, 20 October 2012

Pressure Vessel Burst Example

I have been doing some research lately into pressure vessel bursts in order to get an idea of the lethal distance in the event of a burst/explosion. I thought I would share an example as it might be useful to others.

In a pressure vessel burst there are two things that can hurt you, the pressure/shock wave and fragments of the vessel. In this post I will go through calculating the "overpressure" - the pressure above atmospheric and the impulse - The force due to the overpressure/ fast moving air.

What does that mean? Well, in a explosion, the pressure time relationship at a point some distance away from the blast will look like this:


The overpressure is the highest pressure experienced at the point and the impulse being the integral of the overpressure experienced as a force or wind. What does it mean? Well 10PSI or 0.069MPa will result in death of most people.


Internal Pressure:$P_1=3.5MPa$
Ambient Pressure:$P_0=0.1MPa$
Tank Volume: $V=9L$
Height of tank (mid point) $H_s = 1m$
Tank Diameter: $D=0.24m$
Tank Length: $L=0.5m$
Gamma: $\gamma=1.4$ (nitrogen)
Distance at which pressure damage is calculated: $D=5m$
Ambient speed of sound $a_0 = 340m/s$

Assumptions: Cylindrical pressure vessel at ground level with vertical orientation. All energy gets released from the vessel. In reality as much as %30-%40 would get transferred into fragments depending on the material and failure conditions.

Energy stored in vessel:


$E=\frac{(P_1-P_0)*2*V_1}{\gamma-1}$
$=\frac{(3.5-0.1)*2*9e-3}{\1.4-1}$
$=0.1125MJ$

Burst Pressure Ratio:

$=P_1/P_0$
$=3.5/0.1$
$=35$

Scaled Standoff Distance:

$\bar{D}=D(\frac{P_0}{E})^\frac{1}{3}$
$=D(\frac{0.1e6}{0.1125e6})^\frac{1}{3}$
$=4.8$

Scaled Side-On peak overpressure:


The above plot shows scales standoff distance vs scaled side-on peak overpressure for a variety of burst pressure ratios. So our scaled side-on peak overpressure is around 0.04

$\bar{P_s}=0.04$

Scaled Side-On Impulse:


Above is scaled standoff distance vs scaled side-on impulse. Scaled side-on impulse is around 0.03

$\bar{i_s}=0.03$

Correct for tank geometry:

The above plots are only true for a spherical pressure vessel in free air. In reality the ground reflects the shock wave generated when the vessel bursts and increases the pressure. Also a cylindrical pressure vessel can result in a higher overpressure depending on its orientation.

It is generally accepted that the ground doubles the effective length of the vessel for a upright cylinder

$L'/D = 2*L/D$
$=4$

Interestingly, for a horizontal vessel:

$L'/D = L/D^\frac{1}{2}$


The ratio of vessel height to diameter:

$H/R = H/D/2$
$=8$




The above are plots of Scaled standoff radius vs overpressure and impulse ratios (correction factors) for L/D and also H/R we can see we need that we need to multiply our scaled side on peak overpressure by 1.6 and 1.3. Also we need to multiply the impulse by 1.2 twice to account for the height and geometry.

$\bar{P_s}=0.04*1.3*1.6$
$=0.0768$

$\bar{i_s}=0.03*1.2*1.2$
$=0.0468$



Side-on peak overpressure:


So the side on pressure is simply the scales value multiplied by the atmospheric pressure.

$P_s=P_0*\bar{P_s}$
$=.0768MPa$ 


And the side on impulse is given by:

$I_s=\frac{\bar{i_s}*P_0^\frac{2}{3}*E^\frac{1}{3}}{a_0}$

$I_s=14.31Pa-s$


In the next post I will go into calculating the distance fragments from the explosion could travel. Fragments are what you would really want to worry about for a small, thin walled pressure vessel. They are much more dificult to account for because the fragmentation depends much more on the
vessel and failure conditions.

Tuesday, 16 October 2012

Test 5 and Tuesday Meeting

On Sunday we tested the addition of the attitude loop again with much better results compared to the previous test.


One problem we were having is that sometimes one of the engines would not get going ( would spray out un-catalyzed peroxide) so the vehicle would immediately fly to one side triggering the fail safe. In previous tests I warmed up the engines manually but   for consistency I have started using a auto warm-up routine. I tweaked the routine by increasing the time for engines 1 and after test 2 which helped but they are still too short.

I got all my goals done with the exception of ordering the new transducer which I couldn't do because they were out of stock. The real time clock worked well and made it much easier to sort through the log. Amusingly I diffident have enough time to get a clock to put in the video (my camera doesn't do it) so matching the log times up with the video while editing was painful. Nick is going to get a old computer to use as a clock for the next test.

The new stilts worked well at keeping the rocket stationary until take off but ironically the best hovers came after this because the engines had warmed up. Part of the problem is that the wall of the engines is really thin (1.5mm) so doesn't keep the heat. We got a good tip to try insulating the engines which we will try. Wood is not the ideal material for use with peroxide but after a small fire following test one we soaked them in water and had no more issues. We should look for a aluminum alternative.

After the test we started planing the new test stand and tonight we got most of it built. I dident get any photos of it but the new design is much better than the old one. We designed the stand so it would be easy to swap engines between it and the rocket.

We also took apart engine 2 tonight:





This was the supposedly "bad" or otherwise inconsistent engine. Basically it would cloud up easier and more often became unstated. I was quite happy to find that there was very little damage to it. There was a small amount of channeling at the top on one side so we might want to think about having more or thicker anti-channeling rings in future engines but overall I think it has fared really well. The layers of silver mesh in-between stainless were fairly bonded together but I think this is to be expected. Buren and I had a long discussion (more of an argument) about the cause of the inconsistancey. He thinks its because the silver is fused and I think it is because there isn't enough compression. It would have been a much better use of out time to just open up one of the other engines to see if it was fused, as according to his reasoning it shouldn't have been. While they are open we are going to replace the galvanized bolts with stainless ones as they have started to rust. I also want to make the injector home much smaller because I think it will help with the unstarts.

So our focus now needs to be ensuring that all engines are consistent, or at least make sure we thoroughly understand what the differences are (and preferably their cause) because we cant really go too far with the control system when we don't have a consistent platform to test on. I wanted to try some static tests this Sunday but know one else can make it (Buren has to go to some sort of "zombie walk"). I will see if I can get the new stand finished on Saturday and try to get someone else help me test.  Now is the wrong end of the semester for rocketry but there is a simple solution.....work harder! I have also started doing some work for a guy that sells inspection robots. I fixed a underwater robot yesterday then took it for a spin in the river which was really cool.

Goals:

Before Saturday:

  • Order Compression fitting from swagelok - Wednesday
  • See if 4wd place is open on Saturday - If not buy tank online


On Saturday:

  • Buy new tank
  • Buy new quick disconnects
  • Buy SSR
  • Buy new?
  • Finnish test stand




Tuesday, 9 October 2012

Goals

Its been a bit of a hodgepodge lately so I wanted to set some goals:

By Sunday:

  • Get and install real time clock on flight controller so logs can be easily compared to video
  • Order new pressure transducer - Try to figure out why they keep breaking. Possibly they need a better regulator.
  • Implement new logging system for compatibility with Matlab - One main log and one for auto commands with no text
  • Fix issue with control system that caused problem with last test
  • Write Auto warmup routine & command - 5 pulses @ 15 for 20ms


On Sunday:

  • Test the attitude loop again.
  • Lower test stand and make new fatter legs (from PVC pipe?)
  • Check that the lower rocket cant hit anything before test
  • Come up with basic design for new vertical test stand and start making frame
    • Uses current flight tank instead of nitrous bottle
    • Engine + extensions bolt directly to load cell adapter plate
    • Use Arduino instead of labview for easier controll and higher speed logging
    • Use flight computer on test stand or get dedicated controller? 
    • Re-use old stand that is under one of the benches?
If we can get all the bits for the new stand by next Tuesday we should be able to put it together then. If the attitude loop goes well on Sunday (maintain a vertical hover taking off from the legs) we might not have to test the engines but I would still like to get a good thrust curve by varying the duty cycle linearly as it will be useful later on.

Yesterday I had to be somewhere else so we didn't end up meeting. 



Monday, 8 October 2012

Fourth Test

Yesterday we tried a test of the attitude loop. I made a mistake when implementing Barts controller and as a result the vehicle didn't really show any control.


So we didn't really learn anything new control wise, except that if you have to reverse inputs to get the outputs the right way around there is probably a another problem. One of the issues we had in previous tests is that the rocket was always swinging when starting so had sideways velocity which caused it to drift and as a result it was difficult to see how much control it had. This test we used stilts to take off from which would then fall over from the exhaust.



They were too tall and the vehicle fell over once when pressurising and once when warming up the thrusters. It was a really windy day but the legs do need to be shorter and probably wider. This means we need to lower the vehicle. Our aim for future tests is to load only enough peroxide for a few seconds of hover and only test from the platform. This will ensure all tests are consistent in terms of pressure, orientation and velocity at take off.

When it was clear that the vehicle had no control we decided to do a through test of all the engines by pulsing them individually. It seems like there is a problem with engine 2. We are going to do some flow rate tests on Tuesday and will probably take it apart. I do remember it having less compression than the other two because the injector was slightly. This would cause a lower pressure drop and a higher flow rate which is what we are seeing.

At some stage we will probably need to take all the engines off and test them on the test stand to get better data on their thrust response. This will involve making a new test stand as the one we have now never gave very good results. There are a few reasons but it was not designed for the current engine and the engine is not restrained well. The new one will be test the engine vertically because the engines seem to behave differently vertically compared to horizontal. I also know much more about the thrust settings we need for the vehicle.

Buren and I also did some experimenting with methods of making plastic bladders from plastic sheet which could turn our flight tank into a positive expulsion tank. The idea is to insert the bladder and tube into the top 3/8" hole so we don't have to open the tank. We first tried joining PE film with a flame then with a hot edge which didn't work particularly well as the film would just melt. We then used hot glue which worked really well with a edge to press tow sheets together. We managed to make a fairly good bladder using this method. On tuesday night we will try butting it into the test tank we blew up. Teflon film/sheet seems to be fairly available so thats what we would use for a peroxide compatible bladder. I was thinking about also buying a plastic welding gun so we could use use polyethylene or another plastic to weld it together. It would be easier to join the sheets because the teflon wouldn't melt. The other method of joining would be epoxy but I don't think we could keep it all together well enough while setting. We have only been making "pillow" bladders so far but we are aiming for something like this eventually:



Wednesday, 26 September 2012

Third Flight Test

On Sunday we tested the vehicle for a third time with satisfying results. Last test we didn't get enough flight time to determine if the control system was working so we were all keen to see if we could get a controlled hover this time. In total we did two tests. In the first (3L of %85) the vehicle barely had enough power to lift off and we were were worrying that the engines might have gotten poisoned so we tried again with 1.5L of %90. There was a huge difference with clear exhaust and the engines having plenty of power in the second test.We have been using %85 for a while now because I thought it might be damaging/melting out catalyst but I don't think it is an issue with the stainless interleaved pack design we are now using (last pack was solid silver).  I think will use %90 for future tests as the performance is much better.  In total we got about 9 seconds of total hover in the second test although it was not supporting itself for some of the individual runs.


The only change we made to the control system was to fix the PI code to so it would update every cycle instead of every 4th or 5th as it was doing last test. The hops were not by any means perfect but the part of Bart's control system we were testing (inner velocity loop), worked well resisting rotation and we were all satisfied with the results. The main problem we were having is that when warming up the thrusters with a quick pulse before a test (they cool down quickly) the vehicle would start rocketing and so would usually have some sideways velocity which caused the vehicle to drift sideways during hovers. The other problem was that it is difficult to control the throttle manually so the vehicle would usually not have enough thrust or shoot up.

Here is the log of Roll angle, Rate and PI output for a 2.6 second hover:


As can be seen roll angle started at close to 0 and stayed within +- 0.8 Radians. I havent talked to bart since the test but I at-least am really happy with the performance considering that the system doesn't take the actual angle into consideration and only reacts once the vehicle has started to fall over so will naturally oscillate somewhat. The other thing is that Ki and Kp constants were calculated assuming 4L of peroxide and we only started with 1.5 so the system will want to under and overshoot. The changing system properties is something we need to start thinking about how to address. Next step is to add in the position loop.

We are somewhat divided on where to focus now. I think we should work on getting the altitude loop working with the laser rangefinder so we can maintain a level hover. A thought that we should work on getting absolute position so we can eliminate the sideways drift issue which would enable us to more easily refine the stabilisation system. His argument was that we already have a functioning rocket and we could dead-recon to get position for short periods if we started from stationary so why add something new. A also thought of a good idea which was starting on chocks which would fall away as soon as we take off. This would allow us to warm up the thrusters without starting the vehicle rocketing on its tether. It could also give us a fixed reference to start dead-reckoning from.

I recorded the first test in high speed at 400fps. It was really cool to see the vehicle fighting the tether in slow motion and you can see the vehicle making individual corrections and oscillating. It will take a while to edit as its really long in real time but when I get some time I will upload it. The unedited second test is on youtube here if anyone wants to see it.

After the test we were discussing future work and decided that it would be good (and useful) have a long term goal/challenge to work towards. One idea Marco/A came up with was to  be able to drop the rocket from a height and have it stabilise itself and land automatically. The current vehicle probably wouldn't have enough power to recover from a high height (maybe 20m) but wewould start by knocking it off the top of the test stand. We would probably need a positive displacement tank otherwise pressurisation gas would get in the thrusters when it falls over. We would also need a better IMU as the Arduimu goes crazy at large angles.

I am not sure if we will be able to test again this weekend as I have to go to a first aid course all day Saturday and have some uni work to catch up on so we will probally test the following Sunday.

Thursday, 20 September 2012

Data from last test.

Flight Data:

We have been going through the log from the test last sunday and picked up on a problem, The PI values not updating as fast as they should be. The stabilisation loop runs at 31Hz (same speed as the solenoids pulse at) however the PI values were updating slower. Bart figured out that we (or more specifically I) was not using the Arduino pid library properly. The library has two ways of updating itself, Automatic and Manual. Auto mode works like it sounds, the library updates values itself. Quasi-conservatelly, in manual mode you call an update command yourself. I was looking at an example which used auto mode but also called updates manually so that how I did it but apparently the manual updates were not doing anything.

Here is Pitch, Pitch PI output and Z acceleration for the longest test.



Despite the PI values not updating at the speed they should be the PI looks like it has some sort of control. I think that the rocket must have run out of peroxide because the deceleration ocors partway into the test. Either this of the steady state thrust (after the initial spike) was not enough to counter gravity. Either way the program did a good job to stabilise the rocket after it landed on the string because dropping it by hand on an angle (you can see it was at 0.6 rads when it hit) makes it go everywhere. Possibly I am just seeing what I want to see..... It could just be that the the rocket just bounced on the test stand....

Sam and Bart excited for the test!


The Improved Quick Disconnect:


My laser range finder and interface board came today. I nearly got pulled over by the police on the way back from collecting it at the post office because I was measuring the distance to the car in-front as I was driving..... excuses I thought of post-scare included... "Officer, anyone could see I trying to keep a optimal distance from the car in-front"and "What am I doing?... Well clearly I am calibrating my speedometer". If I have some spare time before sunday I will mount it on the rocket so we can get some data.