Sunday, 29 April 2012

I did some work on the simulator today. The simulator had a bunch of bugs in it mostly due to the coordinates of the simulator and visualisation not lining up. Under certain situations the vehicle would not go in the direction you would expect it to.  Fixing this was not as straightforward as I initially thought as there were lots of places in the simulation I could account for offsets and rotations; most having unintentional consequences. I have never worked on something so counter-intuitive and difficult to get a hold of.

The simulator now has realistic mass and moments of inertia and I can control it with the joystick just by commanding roll. The pid outputs from roll and pitch are also combined intelligently to produce pure roll and pitch.

Unfortunately although being good at responding to desired roll and pitch inputs (step inputs) the PID's cant cope at all with uneven thruster forces.

I tried using both the trigger (Armidillo style) and slider throttle to control thrust but the throttle seemed much better. It does mean that it will be harder to shut off in an accident.

I tried varying the thruster position away from the centre between 0.4 and 1m. The vehicle was definitely more responsive for farther positions but was still easily controllable at 0.4m

Perhaps the most exciting thing I discovered is that sinulink can compile code that  can run stand alone on lots of different micro controllers! This is great because I wont have to implement the control system on a micro controller which is something I wasn't looking forward to doing. What's even better is that it can communicate with simulink running on a computer to display information, so I can interface the joystick directly to it and display gauges and other impressive looking but useless widgets! (I am considering a star trek theme). I plan on starting with an Atmel and going to a beagle board if I need more power.

If I can get the thruster unbalance correction working well then I think I will be ready to start working on the real thing. I think I will need to somehow account for thruster unbalances directly before the PID.

Saturday, 28 April 2012

We were planing on testing the thruster again today but since it is raining heavily we decided to postpone to Tuesday

I am still looking for a suitable reamer, I am not sure I will be able to find one so might have to settle for a small (5mm) boring bar. This should be able to cut the divergence with a 8mm throat.

I think I now have a good handle on the dynamics of the vehicle. The problem is that each motor produces torque in pitch and roll, and the way the control system is working now there are 2 PID's taking pitch and roll and outputting one thruster force. It works but not very well. A friend commented that the vehicle was allot like the 3 wheels omni drive robots we made in high school and he is right, what I really needed to do was think in terms of vectors. What I couldn't understand was how I could take two outputs (one from roll and pitch PID's) and transform that into three motor forces. Well it seems obvious now that I just need to have an expression for  roll and pitch, and to just think about the PID's output as a desired moment (although I an not sure what they are). I was sort of doing this before however I got really confused about how the PID constants matlab choose varied depending on if I was commanding "pure torque" to the vehicle or interpreting it as forces which then later got converted back to toques to make the simulation realistic.

Up until now I had been using a simple extruded triangle to represent the vehicle in the simulation. I finally managed to convert our solid edge assembly file of our protype to a VRML file via IGES. It was a huge pain but I finally got it working only to find that VRML viewer built into simulink couldn't render it fast enough (because it is too complicated). It was made in 1997......

So I had to remake the vehicle with simple shapes and while I was making it I thought, why are the engines so far out? Well I couldn't think of a good reason except they night have to be to get the control we need, but from my limited simulator experience I have found that very small thrust variations can induce large rotations quickly. In addition our current design is needlessly complicated. The original plan for fixing the tank to the vehicle was to epoxy brackets to the nitrous tank. I have had some second thoughts about that, mainly because it is a permanent solution. I have come up with a much simpler design:

The basic concept at-least is to bring the engines in as close as possible (model is really only for simulation purposes). We will probably need to have two  triangular plates separated with spacers between which can sit the valves and electronics. The tank can sit upside-down and its neck protrude through the first plate (with syphon removed). We can then have one plate on the top of the vehicle (bottom of tank with threaded rod to clamp the tank to the vehicle.

Tuesday, 24 April 2012

Simulator, New engine machining

Today I started machining up the new engine out of 304 stainless. I have never machined stainless before and for some reason I thought that it was going to be really difficult but as it turns out it wasn't too bad. I prefer aluminium or brass where possible but stainless does have some advantages;  unlike brass it doesn't break up into millions of tiny fragments which give you splinters. I have heard that 316 stainless is worse.

The stainless stock I has was 60mm diameter and as the actual chamber is only 26mm in diameter there was quite a bit to take off. The reason I got such a big piece was that we weren't sure how big to make the flange. As it turns out the flange doesn't need to be very big if we have a radial o-ring instead of a gasket/face seal. This design also saves weight. I was tempted to go with a design that diffident have any flange, only radial bolts to secure the thing, but because it is already so small a flange is really the only way we are going to be able to mount the engine to the vehicle. We are going back to top injection because on the vehicle we can just have a hole on the mounting bracket for the line to go through.

One issue I had was trying to cut the divergence for the nozzle. For brass and aluminium I use a special tool I made which has the divergence profile in it. It is made from soft steel and was not able to cut the stainless. What I really need is a tapered reamer however I have not been able to find one with the right angle. The other option is to get a big piece of tool steel and remake the tool.

Because I wasn't able to cut the divergence I thought it was pointless continuing on the new thruster as machining the 60mm stock to 26m is allot of work. I am looking for a tapered reamer which might take a while to get here. In the mean time I can get some smaller stock.

We still need to test a long duration firing so we can start work on the vehicle. Because we wont have the stainless thruster for a while we will need to make do with the brass one. I modified the test stand so it could be used with the load cell and drilled a hole at the bottom of the chamber so we could insert a pressure tap and measure chamber pressure. Hopefully this weekend we can do a 30 second firing and get good pressure and thrust data. The throat is currently 6mm which is a bit small for 100N so we might not get as much thrust as I wanted. The peroxide propulsion spreadsheet says 8mm but that's with a much lower feed pressure so we will see.

Simulator progress is going well. I have added in joystick functionality so I can command roll with it. I dident realise it before but the way the control is now the roll pitch PID's each only controll one thruster. This means that it is able to stabilise only using two thrusters but the system response is coupled so you cant have pure roll and pitch. This also seems to also induce a yaw.  One way to fix this would be for the output of the pitch and roll to be a torque which I could then convert to a thruster input.

Sunday, 22 April 2012

The plan was to test a new stainless light thruster yesterday but that diffident end up happening as Buren had a class and Scott was busy. The simulation is going fairly well, I now have a nice 3d model which falls under gravity and has basic roll control via PID control that can correct for misalignments in starting orientation. I have found the biggest challenge is working with the coordinate system and trying to understand if it is behaving as it should. Ariel seems to think that countering gravity should be the main task and roll control should then come in, which will stop the vehicle loosing altitude wheel translating. This involves either having an estimate for mass which is always changing, or minimising vertical acceleration. I think this is too complicated and think that roll control should come first. For manual control this is probably the case but I am not sure for automatic control.

The first task I would like the vehicle to perform is a basic hop. That will mean throttling up until it senses positive acceleration, throttling to achieve neutral acceleration while travelling up for a period of time, throttling down for negative acceleration then maintaining till it detects positive acceleration via impact with the ground. All the while the roll control will need to stabilise the vehicle.

I am still unsure weather I want to peruse manual control like Armadillo did. After I get basic hops working I suppose I will want to get translational motion working, which without a joystick will involve some positional sensors. GPS is really appropriate for the small distances the vehicle will be travelling and a range finder for height will be quite expensive. Manual input would bypassing the need for any absolute sensors.

I really need to machine up the new engine and we need to conduct a ling duration firing so we can start on the vehicle. By the time this is done the simulation should be at the point where we can see what geometries are optimal.

Saturday, 14 April 2012

Today Scott, Buren and I tested the new 100N engine with %90 peroxide and silver mesh catalyst. The test went much better than I was expecting for a first try with complete decomposition and clear exhaust after a few warm up pulses. We slowly increased the length of the pulses, to one run of about 6 seconds. The runs were really smooth and we couldn't hear any roughness. Towards the end the runs did sound a bit funny But I think this is just the peroxide running out. We didn't bother measuring pressure or thrust, we just wanted to see if we could get complete decomposition. Here is a video of the test. Unfortunately I didn't have my video camera and had to settle for my phone zip-tied to a pole. As such the camera angle is a little strange.

We only need about 100 x 21mm diameter 20 mesh discs for our flow rate (3.6L/min), however we used about 144, 72 of which were 40 mesh. The 40 mesh were on top because they had more resistance. We had 3 anti channel discs in the pack, although I think these probably did more harm than good as they were too thick (radailly) and would have meant the peroxide wouldn't have perminated though the parts immediately before and after each anti channelling disc and effectively lowered the pack area. I think we can probably do without the anti channelling discs as the chamber is so small. 

We grossly overestimated the space the discs would take up and they when were compressed half the chamber was empty. I machined up a spacer but since the flow tray was part of the injector it made the tray useless as the flow would have spread out. The top few layers of 40 mesh were slightly melted/mangled which is, I believe because if the high speed flow hitting it as the tray is not doing its job. A few layers of stainless mesh should fix this, although we should shorten the chamber. If we went for a plated catalyst this would probably have stripped quite a few layers. The pack came out in one piece and seems to be slightly melted together. It could be just compressed together but seems to be fused. I didn't want to try breaking it apart and risk damaging it as its the only catalyst we have at the moment. I am getting quotes for chinese suppliers of silver mesh as however convient the 60mm jewellers mesh squares are buying in larger sheets is much better value. Here are some pictures of the pack after the test. I was surprised with how easily it came out. The brass was quite discoloured and clearly got really hot.

There was a small issue with the lower nitrile gasket melting and burning. Towards the end of the video you can see some smoke which doesn't seem to be coming from the nozzle; I think this is the gasket burning. We will probably want to rethink our gasket design for the next engine.  The left one is the lower gasket which does between the chamber and flow plate.

Here is a photo of the engine as it looked when we opened it.

The test itself went really smoothly. Following some advice we received at out last test we created a written procedure for filling and testing and followed it. The vent valve was unfortunately too small to work effectively but because the pressure drop over the new catalyst was much lower than the granular one venting was quicker anyway. I might just remove it as it is no longer necessary. 

Unfortunately the national instruments DAQ doesn't seem to work over the usb lan link. In addition it is actually worse for PWM'ing  than the arduino as it doesn't have any hardware timers. I didn't fancy going back to serial text based commands so after some investigation I discovered a way to change the frequency of the Arduino PWM command in  lab view. It was quite simple actually all I need to do was change the prescaler of the hardware timer on the arduino. Luckily it is easy to add your own code to the NI firmware on the arduino. Unfortunately 30Hz is about as low as it can do, at least with this method.

The next step is a light weight motor. We are Meting on monday to discuss possible designs and I would like to have a prototype ready by next weekend. I would also like to start work on a mock up of the vehicle so we can start work on integrating the tank and motors as well as electronics. I really need to start working on the simulator. I have been playing around with the aerospace toolbox in simulink which is exactly what I need but I am having trouble understanding some of the example simulations that come with it. 

Thursday, 12 April 2012

Testing didn't happen today as Buren was sick, Scott couldn't make it and I didn't consider testing alone particularly safe.

Instead I worked on converting the Arduino based control box to a National Instruments DAQ based one. Its something I have been wanting to do for a while but now has become necessary as I cant seem to pulse the solenoid fast enough with the arduino through lab-view. I couldn't figure out why but I think it has something to do with the lag in the wireless communication and the way the labview-arduino interface woks. Using the DAQ should fix the other problems we have had with the data logging.

I also installed a vent solenoid to the test stand plumbing which will make venting  much safer than our current manual venting procedure. In addition I switched out the main run solenoid for a smaller one as the minimum flow rate was way to high. Reading an article about pulsing solenoids for auto nitrous systems I had an idea that the spring in check valve down stream from the solenoid could be messing with the solenoid. This could explain why those tests in which the solenoid was actually opening and closing gave such crazy results. I put the check valve before the solenoid, and put the solenoid as close as possible to the engine and am keen to see what difference this makes.

Hopefully we can test on saturday afternoon.

Tuesday, 10 April 2012

New engine progress

Over the last few days Scott and I machined the pieces for a new 100N thruster. It isn't designed particularly efficently weight wise but is purely to test different configurations of catalyst pack.

Also I made a punch to cut out discs of silver mesh:

Punching more than one sheet by hand didn't go so well so I bought a press:

With which it was much easier to punch multiple discs at once:

The plan is to test the new thruster on thursday. I am not expecting to get perfect results first try but I want to start with more mesh than we need and reduce the number until we don't get complete decomposition. 

Wednesday, 4 April 2012

Today I received the 20L of %90 peroxide I ordered last week. I also managed to find a supplier of solid pure silver mesh in Australia and ordered 18 pieces of 60x60mm mesh in approx. 20 and 60 mesh with .25 and .5 mm wire thickness, which arrived today. I am hoping to get 162 20mm discs from these.

I was considering going down the plating route but after some pricey quotes for plating, and considering the stripping troubles others have had I am going to go with solid mesh. I may consider going to plated for a larger engine, but at the moment solid silver is not much more expensive.

This weekend I would like to machine up a basic brass chamber and start to test various mesh configurations. Funnily enough i have been having more trouble finding stainless mesh than pure silver so my plan at the moment involves kitchen strainers......