Go Down

### Topic: Arduino Rocket Ejection at Certain Altitude (Read 13243 times)previous topic - next topic

#30
##### Sep 18, 2012, 11:50 pm

I tend to agree with PeterH's thoughts but if this is a competition then this may be the important point;
Quote
where such an altimeter is the official altitude recording device

So the rocket has to perform at 750ft +/- 10ft as measured by the official device.
That does not mean it is actually happening at a true 750ft.

#### kg4wsv

#31
##### Sep 19, 2012, 03:15 am
Quote
That does not mean it is actually happening at a true 750ft.

So what will give you a "true" 750'?

-j

#### Constantin

#32
##### Sep 19, 2012, 03:37 amLast Edit: Sep 19, 2012, 04:01 am by Constantin Reason: 1
So what will give you a "true" 750'?

Easy.

A 6'-long (installed) screw-anchor, 750' of kevlar rope coiled up inside the rocket, and a good knots connecting all three items.

Might impact acceleration, attained height, etc. but the assembly is sure not to exceed 750' in height. At least in one piece.

#33
##### Sep 19, 2012, 05:04 pm
Quote
So what will give you a "true" 750'?

I think that is quite a hard thing to do. Constantin's rope will not work becuase the rocket could be flying horizontal. Barametric pressure probably reads a lower pressure i.e. higher altitude than true because of the venturi effects PeterH pointed out.

Knowing acceleration and attitude you might be able to calculate altitude?
Perhaps a laser rangefinder?

To get a true reading within 10ft sounds difficult to me.
I was using a handheld GPS last night and my altitude was shifting around by a couple of meters for no obvious reason. That is why they use a standard device in competitions I think.

#### Constantin

#34
##### Sep 19, 2012, 06:32 pm
Hey Hey Hey, let's not move the goal posts!  XD

The question was how to limit altitude to no more than 750'. A rope attached to a screw and chor and rocket would do that.

#### Far-seeker

#35
##### Sep 19, 2012, 06:48 pm

Quote
That does not mean it is actually happening at a true 750ft.

So what will give you a "true" 750'?

Nothing that's easy to implement...

Theoretically, if your rocket could accurately track two points of with a known and fixed distance apart (e.g. the launch pad and another point 50 feet away at roughly the same elevation) you could use triangulation to find an accurate distance.  While the math is well within the capabilities of an Arduino, implementing an adequate tracking system would be much easier said than done, as well as add a non-trival amount of weight and volume.

#36
##### Sep 20, 2012, 07:32 pm
I was walking again with a hand held GPS. I started at sea level (above high tide) and I went to a point (a gate) where I had previously noted my altitude. The reading I got was 80m but the previous time, at the same spot, it was 89m, a 9m difference. At the end of the walk I noticed that at some point I was supposedly at -1.8m, though I never went for a swim

The only thing I can think of to account for the 9m was that I was walking at a different time and so possibly triangulating with different satellites. I just looked up Garmin (it was not Garmin I was using) and they say their receivers are accurate to 15m on average. I was expecting 5-10m.

This does show the problem of trying to measure a 'true' altitude to +/- 10".

Point taken about the rope, shows how careful you have to be with requirements specifications.

#### Far-seeker

#37
##### Sep 20, 2012, 08:50 pm
After some thought, it also occured to me that it could be possible to rig small ground stations to track the rocket instead of the rocket tracking points on the ground.  That is if the competetion rules allowed it.  The math would be almost identical, but all the electro mechanical aspects of the system wouldn't need to be constrained by needing to ride on the rocket.  Depending upon what the rules allow, even the calculations could be done on the ground and the on-board microcontroller would just need to recieve an ejection signal.

The only thing I can think of to account for the 9m was that I was walking at a different time and so possibly triangulating with different satellites. I just looked up Garmin (it was not Garmin I was using) and they say their receivers are accurate to 15m on average. I was expecting 5-10m.

Remember all the US GPS satellites are still partially owned and operated by the Dept. of Defense, in conjunction with the Dept. of Transportation, thus pin-point accuracy for non-US military recievers isn't a priority for roughly half the people involved in making day-to-day decisions about the system.  Furthermore, I'm sure many in the Pentagon would view such a thing as a potential threat, given the abundance of relatively inexpensive GPS devices not entirely without reason.  At least it's much better than the late 1990's after the DoD was ordered to make GPS a dual-use technology (did you think the Pentagon would grant public access to one of it's most beloved "toys" out of the goodness of its collective heart?  ).  For the first few years they were allowed to introduced enough intentional error in the civilian-grade signals so they accuracy was at best within 100 m, not the 20 m or somewhat less you can get today.

Although there will always be some error in the system, GPS units with 5 m accuracy might exist right now.  Yet, if that's so I'd imagine they are restricted to the US military and certain three letter agencies.

#### Constantin

#38
##### Sep 20, 2012, 09:51 pmLast Edit: Sep 20, 2012, 09:59 pm by Constantin Reason: 1
GPS receivers can do much better than 5m in terms of accuracy, even with civilian signals. But it takes time to get the intentionally-introduced jitter out. Thus, you only find them in surveying gear that has very nice antennas and very pricey boxes to do the signal processing. The military stuff is encrypted but does not feature the jitter, hence better accuracy.

I remember how during Desert Storm every sailor on the East coast rejoiced because the DoD turned off the civilian Jitter for the duration of the conflict, allowing them much better accuracy. Nothing benevolent though, just a reflection of the fact that the military was using civilian gear in Iraq because they'd run out of military GPS units and the Iraqi's didn't have any GPS gear left after day one or two of that conflict. Anyhow, sufficient time to get a very accurate GPS location is something you don't have in a rocket ascending. So with that kind of error, my suggestion is out.

Approaches with transmitters on board and processing on the ground are feasible but likely super expensive relative to the altimeter approach. So I'd try out the altimeter and see how it fares in the nose. This commercial product takes out all the fun but appears to do the job and seems to be made by this company. Nifty variations on the product, note the version that offers a 3D accelerometer. Clean USB interface with a programming application makes popping the chute at the right height very easy to program.

Such a chip by itself might be good enough for the arduino to estimate the distance traveled through multiple integration cycles. But the fact that all of their smaller gear features altimeters makes me think that a accelerometer by itself is not good enough.

#### sbright33

#39
##### Sep 20, 2012, 10:07 pm
Even walking, barometric pressure has errors.  Walking on a level path along the water, I measured total ascent and descent with simple averaging to reduce noise.  It says I'm going up and down 200ft an hour.  Some GPS units might read 500ft per hour.  Not the best way to measure this...

#40
##### Sep 21, 2012, 12:17 am
Lets say you had ground sensing radar in the rocket, the reading you got would still depend on your attitude and if you were at an angle you could not be sure you were not above some prominent feature. It sounds like a simple problem, but it seems really difficult. Quite obviously the Curiosity landing is a fake   ]

#### PeterH

#41
##### Sep 21, 2012, 03:37 am

GPS units with 5 m accuracy might exist right now.

I have a GPS data logger that has sub one meter resolution - it very clearly shows lane change maneuvers. It's not pure GPS - it uses a combination of very precise GPS position sensing and accelerometers - but shows that this sort of accuracy is available if you're willing to put enough effort into it. I'm not clear what the accuracy requirements are in this case, though. If the objective is to hit an altitude target, then it's probably more important to be consistent with the equipment that the organisers use to measure height, than to be accurate in absolute terms.

#### kg4wsv

#42
##### Sep 21, 2012, 04:04 am
Quote
But it takes time to get the intentionally-introduced jitter out

The "jitter" is atmosphere induced, not DoD induced.

Quote
Thus, you only find them in surveying gear that has very nice antennas and very pricey boxes to do the signal processing.

The surveying gear has a differential GPS receiver as part of the system in addition to the mobile antenna the surveyor uses.  The ground station transmits a signal that lets a differential receiver know about the error currently in the signal.  This is a more localized but more accurate system comparable to WAAS.

-j

#### LividKiwi

#43
##### Sep 25, 2012, 01:22 am
Ok now the coding part, I got the example code running, and its like 10 feet off the altitude of where I live, but thats no big deal. I dont have any idea on where to start with coding.

The code would go something like this:

Zero the sensor once the arduino is turned on <==== The part I need help with, I have nothing with the coding, if i have one small example, i could go from there, and that would be greatly appreciated.
Read pressure and calculate it to feet every 5ms until it reaches 730 feet (730 feet because it will have some lag with the parachute catching.)
Turn servo

this is kind of scary lol

#### Constantin

#44
##### Sep 25, 2012, 04:58 am
OK,

Here is a couple of things you can do in advance.

1) read the datasheet on the altimeter / barometer to understand what output it produces. How many bits of resolution do you have? How quickly can it update?  Ideally, keep everything in integers, i.e. don't bother to translate to feet unless you have to. Makes life easier. Instead, calculate the difference (in raw sensor data) between the starting point and 730 feet.

2)  Take a couple of readings, average, store the number. Turn on a LED (green) to indicate that the microprocessor is ready for launch.

3) Program the unit not to deploy a parachute unless a) the rocket motor has turned on, and/or b) altitude > 100 feet.  Otherwise, a gust of wind could make for a bad day at the launch pad.

Go Up