Measuring Altitude and Deploying Parachute

Hi there -

For my major design project in Year 12 as my final year of school I’m looking to create a failsafe parachute device that can be attached to my drone (DJI Mavic Pro / DJI Phantom 3) which will release when there is a sudden drop in altitude detected.

The issues that I’d love some help on at the moment are;

  • Would using the BME280 sensor to detect pressure variations be accurate enough? I did some research and found that there is slight variations in pressure constantly when using the feedback monitor in Arduino. However to combat this I can just set the threshold to deploy the parachute to be, for example say > than 10 pascal instead of 0.05 variations…

My plan is to have the arduino board trigger a servo that would release a spring-loaded parachute from a cylindrical compartment that is attached to the drone and this would be triggered by detecting a significant drop in pressure (height) in a small amount of time. Obviously, I’ll be factoring in the drone’s maximum descend speed to avoid false-positives.

Last question if I may - would it be easier to use a GPS module that can detect height or perhaps an altimeter instead of the pressure sensor? (my pressure sensor method sounds old school but I think would score more marks in HSC)

Any input would be amazing!

Attached is the output monitor from Ardunio showing some pressure variations over an average of 10 readings…

Screen Shot 2018-05-23 at 2.52.10 pm.png

Do a Google search on;

'parachute recovery for drone'

For lots of examples.

Willyson: my pressure sensor method sounds old school but I think would score more marks in HSC

You would score even more marks if you tested both methods yourself, so that you could show which one was best.

I suspect using an accelerometer to detect the sudden downward plunge would be more reliable.

...R

srnet: Do a Google search on;

'parachute recovery for drone'

For lots of examples.

You would score even more marks if you tested both methods yourself, so that you could show which one was best.

Yeah - that's the path that I'm undertaking now, testing all my possible solutions. e.g. GPS Module and the Pressure Sensor.

Thanks for your input!

Robin2: I suspect using an accelerometer to detect the sudden downward plunge would be more reliable.

...R

Thanks for your input - I'll definitely look into this too!

and this would be triggered by detecting a significant drop in pressure (height) in a small amount of time

A drop in altitude would be accompanied by a rise in air pressure.

Willyson: - Would using the BME280 sensor to detect pressure variations be accurate enough?

Should that be BM*P*?

There was a site which I can't find right now, but will look further if I have time, where the guy moved his sensor up and down a few metres in his room. I forget the model, it may have been a BMP280 but almost certain it was a BMPxxx of some description.

Assuming that his test was done in a short space of time where the actual pressure wouldn't have changed even if the sensor was stationary, he seemed to believe it was reading altitude to a resolution of a few metres.

I imagine the BMP280 datasheet will give some indication of how fine it is?

I'll try to find the site, time permitting.

Should that be BMP?

The BME device also has a humidity detector.

AWOL: The BME device also has a humidity detector.

Ah ok, thanks.

Robin2: I suspect using an accelerometer to detect the sudden downward plunge would be more reliable.

...R

For a tumbling drone, which way is down?

The pressure sensor seems like a much better idea to me. The sudden rise in pressure should be fairly easy to discriminate from other pressure changes.

MorganS: For a tumbling drone, which way is down?

I have no answer to that. There is at least one sad story of a large plane being flown into a hill at night upside down while (it is assumed) the pilot thought it was right-way up because the instruments had failed.

The pressure sensor seems like a much better idea to me. The sudden rise in pressure should be fairly easy to discriminate from other pressure changes.

My concern is that the drone will have hit the ground before the pressure difference has been detected - unless it is flying very high.

To go back to the accelerometer, maybe an unusual change of attitude could be detected?

...R

For the release mechanism: when your drone is falling suddenly, there's a good chance that's because it's run out of battery. Good luck activating a servo! Instead use a low-power solenoid, that's normally activated, but upon power loss releases the spring loaded mechanism and the parachute. Or you need a separate battery so your Arduino and the servo always work.

The speed controllers on RC models normally cut the power to the motors before the batteries go really flat.

Thus the power to the rest of a model, receiver and servos etc is preserved at least for a short while.

Hi everyone

Thanks for the replies.

I can confirm it's a BME280 sensor as its also got a humidity sensor.

@WVMarie, I see where you're coming from, I'm using an external 9V battery to power the Arduino whilst the drone is in flight, not exactly wanting to tamper with the electronics of the drone itself as it would void my warranty etc.

@Robin2, I've currently got the Arduino measuring pressure changes every 0.75 seconds so I'm going to experiment with that and see if that gives me enough time for the Arduino to detect a 'fall'.

@AWOL - Thanks for the correction, air pressure does rise when altitude is dropping.

Another interesting point indeed. How long does it take for the parachute to be released and deploy? That time plus that 0.75 seconds is the time you'll be in free fall.

Another thing: as this is due to the motors cutting out at low battery, isn't it better to check for the motors to be running? Current in the motor lines, voltage over the motor, noise and vibration are things that may open a way to directly read whether your motors are running, so that when they kick out you can immediately deploy your parachute.

By the way, a small 9V block battery may not have the power to move a servo.

wvmarle: Another interesting point indeed. How long does it take for the parachute to be released and deploy? That time plus that 0.75 seconds is the time you'll be in free fall.

Another thing: as this is due to the motors cutting out at low battery, isn't it better to check for the motors to be running? Current in the motor lines, voltage over the motor, noise and vibration are things that may open a way to directly read whether your motors are running, so that when they kick out you can immediately deploy your parachute.

By the way, a small 9V block battery may not have the power to move a servo.

I'm currently in the process of creating the compartment / cannister to house the parachute and the parachute itself at the moment so I don't have a definitive answer as of yet.

And I also get where you're coming from in terms of detecting motors with noise and vibration but I'd like to think that a pressure sensor that has a high threshold would be more accurate with a GPS module that reads height. However, correct me if I'm wrong!

I've already tested the 9V block battery and it powers the servo to move the arm just fine... unless you were referring to something else?

Willyson: And I also get where you're coming from in terms of detecting motors with noise and vibration but I'd like to think that a pressure sensor that has a high threshold would be more accurate with a GPS module that reads height. However, correct me if I'm wrong!

You'll have to do that part - by experimenting! All methods have their pros and cons. For pressure, I'd want to have three or more readings in a row showing a fall to be sure it's not a wrong measurement. Also you have to make sure a fast but controlled descent doesn't trigger the parachute. Vibration/noise: may fail due to ambient noise (though those drones are terribly noisy usually). Again I'd want a few measurements that all say "no noise" in a row before deploying the parachute. I think the most reliable and quickest would be to measure the motor current/voltage directly, but you may indeed have a warranty problem as you'd have to solder wires to the motors.

I've already tested the 9V block battery and it powers the servo to move the arm just fine... unless you were referring to something else?

I said MAY not have the power - not that it's sure. A small enough servo will work, but as those batteries can't provide much power larger servos don't work. That's why you have to test that, and it works, so that's great.

wvmarle: You'll have to do that part - by experimenting! All methods have their pros and cons. For pressure, I'd want to have three or more readings in a row showing a fall to be sure it's not a wrong measurement. Also you have to make sure a fast but controlled descent doesn't trigger the parachute. Vibration/noise: may fail due to ambient noise (though those drones are terribly noisy usually). Again I'd want a few measurements that all say "no noise" in a row before deploying the parachute. I think the most reliable and quickest would be to measure the motor current/voltage directly, but you may indeed have a warranty problem as you'd have to solder wires to the motors.

I said MAY not have the power - not that it's sure. A small enough servo will work, but as those batteries can't provide much power larger servos don't work. That's why you have to test that, and it works, so that's great.

Fair enough - thanks for your input.

I'll definitely be looking into making sure a false positive isn't triggered by finding the max descent speed of the drone itself and what not.

I do agree with you when you mention the drones are terribly noisy so I'm not sure if I would go ahead and investigate the noise/vibration method and unfortunately I won't be tampering with the motor / current / voltage as it will most definitely void the warranty of the drone.

And yeah I understand - a small servo is all I need. :)

Once again, much thanks for your input.

Good luck with your project, lots of testing to be done :-)

A normally "on" solenoid would be better than a servo as said, it would also deploy with power loss.

You should benchmark an altimeter, a pressure sensor and an inertia sensor / accelerometer together to see which gives a better response by throwing the package in each configuration off a building at the same height a few times, and see which deploys better.

Then you get really sexy, and put all three sensors together so you can pick up free fall AND monitor the time to deployment (you will see this data in the inertia sensor).

then if you use the GPS module with it all, you can even go and find your lost drone.

You can do WAY more with the bits of hardware you have with very little work than you are asking, and end up with a really nice project which, well documented, should earn you some serious marks, even if the project is a dud your methodology, provided it is solid and scientific, will show you really know your stuff.

Lastly, as well as deploying a parachute, look at testing streamers. Depending how much your drone weights, actually deploying streamer ribbons will be faster and likely effective enough to slow the descent to prevent damage. Cheaper and easier too and way less prone to failure!