Here is a flight video of my quad hovering above Petone, just north of Wellington city. A GoPro Hero4 Black was used to capture the footage.
Building a scratch built quadcopter has proved a lot trickier than I expected…
The quadcopter has undergone numerous revisions since January. It is almost a completely different craft to the one featured in the last video. I upgraded the flight controller to an HKPilot 2.7 Mega, which is based on the open source ArduCopter platform. GPS allows me to to lock my position in air – essential for aerial filming. Once I added the additional weight of the camera and gimbal though, hovering became erratic and a bit scary. Something was not right.
Thus began a three month slog to diagnose underlying problems and fix them one by one. A long, drawn out process of elimination not helped by having to ship new parts internationally to New Zealand.
With the additional camera weight, the quadcopter seemed rather underpowered. One should aim to hover at 50% throttle – I was however having to push 65% on my throttle stick. Battery life was also rather poor. There are two popular ways to increase thrust: Increase the size of propeller, and/or spin the motors faster. It is more energy efficient to use larger propellers instead of spinning them faster, but the additional mass requires greater torque from the motor. It is a delicate balancing act. I had to upgrade the entire drive system, using lower speed but higher torque motors and a 4S battery (a step up from 3S.) I hoped the additional capacity and improved efficiency would help battery life too.
The new craft seemed punchier in performance but the hover problem remained. After much research and log data analysis, excessive vibration seemed the clear culprit. The ArduCopter software relies heavily on integrating the accelerometer sensor readings to estimate its position. GPS is only accurate to a few meters. If the accelerometer signal is noisy, the flight controller gets confused and starts wandering.
Up until now, my props were cheap flimsy plastic. They were difficult to balance and flexed greatly. Time to upgrade. The Graupner eProps are much more expensive but are made of sturdy, glass fibre re-enforced plastic. They are also manufactured to tighter tolerances and require only minimal static balancing. I took great care to balance the motors and dynamically balance each motor+prop combination to minimise vibration, using the Vibration app on my iPhone.
The video captured on my GoPro was much smoother as a result… but the hovering was still erratic! Indeed, the vibration measured by the flight controller remained excessive. The remaining possibilities were shrinking, and I was beginning to worry. First, it could be a faulty flight controller unit. Or a software bug. Maybe the quadcopter frame was too flimsy and amplifying the vibration from the motors. Or perhaps I needed better vibration damping between the frame and flight controller.
I had been using Kyosho Zeal Gel for damping as recommended online, but it did not seem to be living up to its reputation. After asking the online community I ordered a more sophisticated mount from readymade3d.com. The results were astounding. According to my flight logs, vibration shrunk from +/-1.5g in the vertical axis to within +/-0.1g – an order of magnitude improvement.
Yet this still didn’t fix the hovering issue.
Fortunately, around this time, a thread appeared on DiyDrones written by people experiencing similar problems. There appeared to be an issue with the recent ArduCopter 3.2.1 software, resulting in poor hover performance on older Arduino based hardware. The best course of action was to downgrade to 3.1.5.
After all my efforts ordering new components from Hong Kong, and many weekends upgrading my build, it seems I could have avoided all this by just downgrading the firmware. That said, the last few months have forced me to improve the underlying physical performance of the craft. I have learnt a massive amount too – more than I ever imagined.
Still, I find it hard to believe that most people would be as crazy as me to persist this long. This is why scratchbuilt quadcopters are not for everyone. If you are lucky, you can get something working in a matter of days. If not, the process may take far, far longer.
My next step is to test the downgraded firmware and see if that makes a big improvement. After eliminating almost everything else, it is pretty much the last thing I can try.