Testing, failsafes, and lessons learned

I have been doing a lot of testing under adverse conditions, like what happens when the craft is so far away that the radio control no longer works?  What happens when the battery gets so low that it can barely hold the craft in the air?  What happens when the operator (me) screws up?

I now know that some of the conditions listed above result in a crash.  

Some examples:

When my craft gets out of radio range, and it is in AUTO mode, the craft just keeps on its merry way, and (if programmed to do so), returns home safely.  

But things aren't so controlled when the transmitter batteries are low. My transmitter (modified Turnigy 9X)  has a switching power supply that has a defined cutoff voltage.  If the battery voltage drops too low, the switcher stops and the radio stops.  But... when the switcher stops, the load on the battery goes down.  Which makes its voltage go back up - to the point where it stops and starts and stops and starts....

The result is that the craft gets lots of confusing signals and almost certainly crashes.  So I have added two things to my transmitter: I have added hysteresis to the switcher, so if it stops due to low voltage, it won't start again until the voltage rises by at least 1.5V (which is more than the voltage increase caused by no load).  I have also added a voltage monitor that turns a bright LED on when the voltage drops to near the dropout voltage of the regulator.  This should remind me to forget about flying until I recharge my battery.  I also need to rewrite the firmware in the controller such that if the command "mode"  (AUTO, MANUAL, RETURN TO LAUNCH, etc) changes too rapidly, just return to launch and ignore any further commands (this will take some testing).

When the batteries in the craft get too low, the ESCs (motor controllers) by default shut off.  The voltage that shuts them off is about 9.6V.  My controller is set to go into "Fail Safe" mode which is RETURN TO LAUNCH at 10V.  The problem is, the controller is not very accurate at measuring voltage. So what it thinks is 10V could actually be 9.6V.  As a result, the craft doesn't know it is real trouble until the point at which the motors stop. And it crashes.

The solution is to re-program the ESCs so that they NEVER shut off due to low voltage, and to set the controller to recognize that the battery is low when the voltage gets to 10.5V. 

Need for speed

I was flying last night, and I sent up one of my medium-sized quads (12" props, 910KV motors, 3 cell battery).   The sky was a bit threatening with quite a few dark clouds, but it wasn't raining.  The wind was blowing - mostly steadily at about 10MPH (I have a portable anemometer), but there were a few gusts that were a bit higher.  I was standing in a park that had buildings and trees all around, so I thought they might be blocking the wind a bit, so I looked to see if the treetops were waving.  They did a bit, all seemed OK.  

The quad I was flying is no "racer", that is, it isn't high performance.  But it is a really good stable platform for a GoPro.  It flies slow and steady and I have the camera gimbal well adjusted.  I programmed in a route that took it about a mile away.  I figured that was as far as I could claim to have "Line Of Sight".  After all, Line Of Sight can theoretically mean you can still see it with binoculars (which I carry).

So, I took off and flipped the switch to AUTO. It climbed to my usual 100 meters and took off to the east. Telemetry was telling me that it was going very fast for that quad - over 30 MPH (22 MPH is normal), so I figured it had a good tailwind.  It went to the furthest waypoint and started heading back.  Then it stopped!  At first I thought that it had crashed (I couldn't see it in the sky), but telemetry was telling me that it was still at 100 Meters and the artificial horizon on my laptop told me it was angled at 35 degrees "forward" (35 degrees is the maximum tilt angle I have programmed into that one).  Just then, I felt the wind come up strongly.  I realized that the quad was heading into a 22 MPH headwind and couldn't make any progress!  For 45 seconds or so, the telemetry told me that it was basically hovering.  I have a failsafe set such that if the battery gets too low, it will simply land.  But I didn't want it have to retrieve it in someone's back yard, I wanted it to come back to me.

Finally, the wind died down a bit and the quad slowly (excruciatingly slowly) made its way back "home" and landed. It had taken only 3 minutes to get to the furthest waypoint, but 11 minutes to make it back.

Just before it landed, I got the message "WARNING! Battery at 20%".  

So, if you fly, make certain that your craft can fly a lot faster than any wind you think it might encounter.  And always remember that the wind usually blows harder above the treetops than it does on the ground.

Santa Cruz now looks possible

I think I now have the capability to get to Santa Cruz from Campbell.  The secret is in some new batteries and better motors:

For thew batteries, I'll use LG 1850 cells.  These cells are are rated at 3AH at 3.7V., and they weigh around 47 grams each.  I need to measure their exact performance, but if they do what others say they can, they hold the secret of more power and less weight. Of course, they are expensive.

I'll have to build my own spot welder to weld the cells together with copper straps, and I'll put 12 of these cells together to form one battery of 3 paralleled strings of 4 cells in series. That will give me a 9000mAH battery at 16.8V that weighs less than 600g.

For the motor, I'll  use a HACKER (brand) A40-10L-14PV2 motor (500KV).  These motors are expensive ($118 each) but have more efficiency and power output than others with the same weight.  Each of these motors weighs 272 g.

These motors will spin APC Electric-E props 18 X 6.  

Now, I need to build an airframe that weighs less than 700g, use ESCs that weigh less than 90g each, and wire it with wires that weigh less than 150g total, and I'm in business.

My controller will be either an APC or PixHawk, and I'll have an extra PCB and associated weight to deal with the batteries.

I'll be able to carry a camera (GoPro or SJCAM), but unless I can design an extremely light gimbal, I doubt I'll be able to use one.

I'm going to be careful with this build.  The parts will not be cheap, it would be a shame to lose them.

Coming down is harder than going up

If you asked someone if a quadcopter took more energy going up than coming down, I believe most would say "going up".

But that isn't always true.  When a multirotor comes straight down, it is flying in its own downwash, which is very turbulent. Coming straight down too fast is a bit scary when you see how much the craft pitches.  Sometimes you might think that it is going to crash.  And that can happen - especially if the P-I-D control parameters are not set properly ("I" value set too high).

I have been practicing going straight up, then straight down.  I have the "up" speed set to 8 meters/second (26 feet/second or 1,560 feet/minute).  I have the "down" speed set to 3 meters/second (588 feet/minute).  Coming straight down much faster than that is not advisable if you have a craft with props larger than 10".  Bigger props have more trouble with stability while coming down. Side winds can add to the instability.

So, the time it takes to go up is less than half the time it takes to come down.

If - for example only, you wanted to climb to 1000 meters (3280 feet) with a craft that weighed 2.4KG and had a 3 - cell (12V battery).  I calculate that the battery current would be 75A during the climb.  That is 900Watts!  Coming down, I calculate that the battery current would be about 35A, which is about half the power used during the climb, but the time it takes to come down is MORE than twice the time it takes to go up. 

As a result, it takes more total energy to come down than to go up!  

Also remember, to produce the same amount of power, the current must go up as the battery voltage goes down (Watts = Volts X Amps).  That means that the current required for anything (climb, hover, etc.) will go up as your battery voltage falls - causing your battery voltage to fall even faster. Battery remaining capacity falls faster than battery voltage.

If you are someplace where you can try for an altitude record and you have less than 50% battery remaining at the maximum height, you are screwed UNLESS you can come down at an angle - where you don't have so much trouble with downwash and can come down faster.

Still at it

People have asked me if I have abandoned my idea of flying to Santa Cruz from Campbell.

The answer is NO!

I have found that things are harder than I first imagined, but every day I learn something more.  That knowledge will help me get there - rather than crash 3/4 of the way on the journey.

I have been doing extensive tests on the power consumed by the craft while going up straight, going up at an angle, moving horizontally and coming down.  These numbers are not closely related to the "hover time" that you see listed in most posts by others.

I have a spreadsheet that - if given the characteristics of the aircraft (current during climb, climb rate, current during travel, travel speed, current during descent, descent rate), will give me the maximum distance I can fly.  So far, I'm getting about 15 miles of travel distance, and I need 18.  During the journey to Santa Cruz, the craft will have to climb gradually to 2400', and then gradually descend to 328' (100Meters) before landing gracefully in Santa Cruz.  

So, I can't quite get there yet. 

But it won't be long.

Battery Switches/Controller

I have my battery switch/controller designed. Now it is in final layout phase.  This is an interesting electronic project.  The circuit has to be able to switch in one of 4 batteries to feed the aircraft. This will be used for the "Santa Cruz Project".  As you may have read before, the idea is to use 4 batteries, and one battery #1 is depleted, battery #2 will be switched in and battery #1 will be dropped to the ground.  The battery current on this craft will have to handle at least 60Amps continuously, and will run at 16.8V.

Relays are out of the question, due to size and weight.  So I'm using FETs.  During the flight, the resistance of the circuit is very important, since any resistance will be turned to waste heat. Even a .001 ohm resistance is a fair amount of waste, since the loss is equal to the current squared (60*60 = 3600) times the resistance (.001).  So one MILLI-ohm of resistance will have a loss of 3.6Watts. Consider that a 22 ga wire has more than 1 milliohm resistance per inch! 

If you are using a 10,000mAH battery, (10 Amp/Hours) at 16V, the capacity of that battery is 16 X 10 or 160 Watt hours.  A loss of 3.6Watts amounts to a loss of over 2% of the battery's capacity.  While that might not seem like much, when you are trying to get every last electron out of a battery, it matters. And you must consider that there will be many other losses in the rest of the system wiring as well. The ESC (Electronic Speed Controllers) will have several milliohms, the wiring to the motors will have resistance. In all, you will probably lose 8-10% of your battery capacity in wiring resistance.

But back to the switch/controller:

I'm using N-Channel FETs for their low on-resistance, and I'm using 4 of them per battery.  I have to use at least two per channel in a back-to-back arrangement because the switch must block voltage in both directions, and I'm paralleling two of those switches for lower ON resistance.  N-Channel FETs are hard to drive because their gates must be brought above the source in order to turn them ON.  That means I need a voltage about 10V higher than the supply voltage (16V).  In order to provide this voltage, I'm using a charge pump made from a 555 timer.

The timing and control is handled by a PIC18F2321, which has plenty of outputs and an A/D for voltage sensing.  It will sequence the FETs on and off and control the resistance wires that allow the batteries to fall to the ground.

If someone is interested in the circuit, I have an LTSPICE model that I'll send upon request.


I have been derelict lately.  I haven't had a chance to write. 

So many people get excited about drone racing.  Yes, I understand the draw - it is fast moving, and takes a lot of skill.  And is even fun to watch as a spectator.  But I don't think I'll ever be a drone racer.  Those who do it well almost always grew up playing video games.  I was in my late 20's when PONG came out.  And while I was possibly the best PONG player in Glenwood, Iowa for awhile, I never got too excited about any of the other games and never got good at any of them. And although I have good reflexes, it doesn't seem to translate. I simply can't fly as well as a lot of others. My opinion is that mastering video games is a prerequisite for drone racing,  I'll use that as my excuse anyway. But I have to admit that I have considered BUILDING the world's fastest drone, I always seem to find something I would like to do instead.

I have decided that my goal is to advance the art of all multirotors instead.

I have been working with a Raspberry pi Model 3B.  If you didn't already know, a Raspberry pi is a credit-card sized computer that very capably runs Linux. It also costs $35. It has an optional, 8MP camera module and can encode and stream live HD video (1080 X 720 / 30fps) over its built-in WiFi.  The Raspberry pi can also run Python, an easy-to-write, yet powerful programming language.  If you connect a Raspberry pi to the telemetry port of the flight controller, you can send/receive that telemetry (and control) information over WiFi  AT THE SAME TIME YOU ARE STREAMING VIDEO. 

But WiFi has very limited range.

So, I'm working with a Verizon 4G LTE USB "dongle" plugged into the Raspberry pi.  I don't have everything working yet, but I don't think I'm too far from success.  If a craft could communicate over 4G, it would be possible to control the multirotor and watch live video from Chicago while sitting in California.  I expect the latency to be less than 200mSec, which is good enough for flying.

I'll let you know as get more and more of the setup working.

I'm now a certified commercial drone pilot

Yesterday, I went to Watsonville, CA and took my FAA part 107 test which - in words, is the "Certified Commercial Drone Pilot's License" test.  I passed.

Without this license, it is illegal to sell drone services commercially.  In other words, if someone asks you to use your dji Phantom 4 to take pictures of his house for sale, or to check his roof and you charge money for the service, you have just done something illegal. 

With this certificate, I can legally charge for drone services. But more importantly, it allows me to apply for waivers. Waivers are used to selectively remove any restriction or set of restrictions, such as - flying at night, flying beyond Line of Sight.  It is the beyond Line Of Sight that I'm particularly interested in.  Without that waiver, I can't legal fly further than about a half mile away, since that is about as far as I can see the aircraft and sense its orientation.  If you don't have a part 107 license, getting a waiver is almost impossible.

The test itself consisted of several parts, such as:

Knowledge of the various types of airspace and how to read aeronautical charts;

Knowledge of how weather affects aircraft - wind, clouds, altitude, temperature and humidity effects

Reading weather information as provided by various agencies.

Aircraft loading - what happens when a craft is overloaded or in sharp turns

Human factors (alcohol, fatigue, attitude, etc)

Safety and what to do in case of accident

Where it is safe and legal to fly.

Aircraft maintenance to insure safety

Who to contact when you desire to fly in normally restricted airspace.

Unlimited range

If you are flying legally - within the FAA mandated "Visual Line of Sight" (VLOS) restrictions, you probably don't worry about exceeding the range of your on-board video and telemetry links.  600mW on the 5.8Ghz video and 200mW on the 915 Mhz telemetry is more than enough to provide a strong signal when you can always see your aircraft.

But if you fly outside of VLOS...

I got my FAA part 107 certification only because that gives me the right to apply for a waiver. The FAA grants several types of waivers.  One type lets you fly a drone at night.  Another lets you fly higher than 400 feet in certain areas. And one lets you fly further than VLOS. The last one is the one that I'm interested in.  And while there is no guarantee that I will be given such a waiver, my application for that waiver must have some sort of proof that I can fly my drone SAFELY when flying out of VLOS. 

Since my craft will be flying out of my sight, I need to prove that my aircraft can reliably fly autonomously (using GPS for guidance).  I have proven this to myself hundreds of times.  But the FAA will want to know what happens when certain failure conditions occur, such as loss of GPS, or obstacles in the flight path, and about the various Fail-Safes that I have in place.  One important piece of information is always knowing where the aircraft is.  And if it is not where it is supposed to be, is it possible to change its path?  

If a drone is flying autonomously, and goes out of radio range, the operator has no idea where it is, what is in front of it, and he certainly cannot control its direction.

How great it would be if it NEVER got out of radio range!

I am very close to that solution. By using a 4G LTE signal from Verizon, I can stream live HD video from the craft while simultaneously sending telemetry (battery voltage, current, attitude, altitude and location) AND sending control signals back.

This gives me virtually unlimited range - at least where 4G signals are available.

By using this technique, as well as a few others, I think I can convince the FAA that I deserve the waiver.