Thursday, 5 September 2013

rotary wing to fixed wing...

Flying the Bixler advanced trainer over Hampshire, UK with a HD wing cam from HobbyKing :)

Bixler v1.1 EPO 1400mm - (ARF) (UK Warehouse)

Although this flight doesn't show it, I added 3-axis stabilisation using OpenAero and a redundant KK Multicopter control board. After some messing around with the KK flash tool software, I gave up and flashed the board from a command line using AVRdude

Saturday, 20 July 2013

Headcrab quadcopter - Successful PID tuning!

So the last outing the 'Headcrab' had showed I had some vibration issues that may have been affecting the gyro performance... On reflection I think that the ESCs were not properly calibrated to the new motors I'd paired them with.

I wasn't very satisfied with the double sided foam attachment method for the flight controller board, so I made up a stand-off board with some scrap laser-cut plywood and used vibration damping foam to isolate it from the bolts holding the board up. Hopefully this will reduce the gyro interference to a manageable level using low-pass filtering in software. I also calibrated each ESC, just in case.

Vibration testing didn't look that much better, but I strung the quad' up to test its stability in acro mode and level mode:

This time the quad' looks rock solid at all power settings... the new Turnigy motors may be a tad overpowered :) I hope the ESCs and batteries can cope with the amps!

Batteries are on charge now. If I'm feeling brave tomorrow there may be a free-fright test :]

Wednesday, 17 July 2013

Tuning the 'Headcrab' quadcopter - bad vibrations

The 'Headcrab' quadcopter design now has an underslung battery carrier and vibration-damped camera mounting, thanks to some more laser-cut plywood from RazorLab. It's ready to fly! Almost!

But first, I needed to spend some quality time with the PID controller built into the MultiWii code. Basically, if this bit isn't right then the 'copter will be an un-flyable, rogue manhack that will not stop until it has lacerated its maker into mincemeat... or it crashes, or whatever...

PID tuning is a bit hit and miss (for me) but a nice safe way is to pop the 'copter on strings that hold it in one place and let it rotate about either the pitch or roll axis. This was working great, but I noticed that the quadcopter needed a constant pitch down input to stay level. As the throttle went up, more pitch down was needed to hold the drift in check. At this point I did the only sensible thing: put the quad away and thought about the problem for a few weeks (don't rush me!).

[Video of the gyro noise at different power settings - sad face]

I concluded that the likely cause was vibration (despite using foam tape and a big mass on the flight controller to try and damp things down). This is not a good sign. I already had concerns that the lovely body shape I'd created in Sketchup might act like a multi-modal resonator (kinda like how a guitar or violin amplifies vibrations).

Next stop is some serious damping efforts before I give up and try a different body plate design. I really wish sometimes that I could remember my lectures from university, especially the ones with control laws...

Monday, 17 June 2013

Building the 'headcrab' quadcopter

I've recently been busy building the new 'headcrab' quadcopter rather than fixing up the ol' X600 frame... The deployed frame is starting to take shape, with motors and ESCs (four yellow bits with all the wires coming out) mounted and connected up.

Here's the quad folded

The flight controller board will have a separate mounting plate that will be vibration-isolated from the main board. In addition, I've ordered another laser-cutting run to make a battery/camera mounting plate to hang underneath the quad, again using an anti-vibration mounting.

If this thing flies well and if anyone is interested, I'll put up the build steps and links to the laser cutting plans... but only if I see some comments from all three of you! :D

Thursday, 6 June 2013

'Headcrab' quadcopter laser cut

Beer is a necessary component

Control board mount on the centre of gravity

Folded up - the quad stays in the unfolded position with friction - no more carrying a ratchet and a hex wrench!

Monday, 27 May 2013

Quadcopter crash - Deja vu, again

Another random crash from my X600 quadcopter... Same as before, the quad oscillated nearly 90 degrees each way on an axis and lost height rapidly. Cutting power to save it from wrecking a motor, I heard a 'thunk' as it dropped onto a grassy slope out of my view. The quad suffered from another broken prop and a busted up aluminium arm where the wire landing gear broke out from its hole in the arm. I'm starting to wonder if the new avionics bay has an intermittent faulty connection.

Before the crash I did risk shooting some footage with my Wife's point-and-shoot camera mounted on the tripod thread on top of the quad... its nothing like this, but it does show that as a camera platform the quad isn't bad when a decent camera is fitted (R.I.P. Veho Muvi and its jelly vision)

New props ordered from Ebay - I might try out some wooden arms to replace the aluminium section arms, as a prototype for my scratch-build quad

Oh, and last time I weighed the X600 quadcopter with battery it came in at 1.2kg... a bit on the porky side...

Monday, 20 May 2013

Quadcopter redesign - the headcrab

After auguring in the 'copter, snapping a motor mount and losing my Veho Muvi camera in the bracken, grass and heather of Hampshire heathland, I decided to try designing my own quad frame...

[subsequent AAIB investigations showed that although pilot error was suggested by onlookers (my boy) the crash was most likely due to a wiring failure on a soldered bullet connector to one of the motors... with one phase gone the motor stopped working and the quad flipped]

The redesign was taking some time to finalise (ooh, what about a tricopter?), so I cobbled the X600 back together without the fibre board motor mounts, instead bolting and zip-tying the 'plus' shaped motor adapters that came with the kit onto the arms.

Meanwhile, the current design looks like this:

The aim is to have all the arms fold backwards (like an octopus?) to improve transportability. The arms will be held in place by friction by adjusting the pivot and stopper bolts so the top/bottom plates grip each arm with enough force to hold it still in flight, but still be able to fold up for transport (or a crash!)

The offset body/CG design also allows for an underslung battery tray that can double as a vibration damped camera mount.

Materials will likely be wood (I've some hardwood 1/2 inch sticks) and laser-cut plywood for the body plates and landing gear. Razorlab (UK Ponoko franchise) will be my source for cutting.

Thursday, 2 May 2013

MORE videos from a quadcopter

Soon to appear - write up on the modification to the avionics bay and attempt to damp out some of the vibrations that are coming from the prop/motor shaft :(

Monday, 22 April 2013

Sunday, 31 March 2013

First flight with new PID parameters

Hovering the Quad' was OK, but it still seemed to be unstable if a gust hit it or too much control was put in. This suggested the P term in the PID tuning was too large, causing oscillations if the difference between the commanded stick input and the measured attitude of the 'copter was too large. So I used the quadcopter on strings method to tune out P and I for pitch and roll (and had a stab at the yaw values). The results seemed good, so I found a nice large field in Devon, grabbed three battery packs and went flying...

PID values used were (low pass filter on the MPU-6050 set to 42Hz):

Roll and pitch: P=1.2 I=0.008 D=3
Yaw: P=2.5 I=0.016 D=0

Next step is to calibrate the auto-level!

Oh, and the crash at the end resulted in a snapped prop, and an excuse to buy lurid green and orange props :)

Wednesday, 20 March 2013

Quadcopter PID tuning and in-flight footage

Now that my quadcopter has its low-pass filter set on the accelerometer, I can fly again! This time I've put on a wee video camera from Veho to capture the quads-eye-view of the flight.

Still need to do some PID tuning as the quad reacts a bit too much to large disturbances, but its now controllable in a hover :)

Monday, 18 March 2013

MultiWii quadcopter - re-flashing the board with new code

So its March and in the UK this means we get glorious sunny skies and 20 degrees C temperatures... oh, wait... that was March 2012. This year we've mostly had snow, wind, fog and rain. All of which are counter-productive to quadcopter testing and flying.

This would be frustrating enough if I hadn't tried to re-flash the flight control board with new MultiWii software that then made the 'copter as unstable as an elephant riding a unicycle on a bouncy castle in an earthquake...

After lots of staring at code and running tests on my ECU, transmitter and motors, I noted that the accelerometer data lines on the multiwii config software were dancing all over the place. Remembering the bit of code in config.h:

      /* MPU6050 Low pass filter setting. In case you cannot eliminate all vibrations to the Gyro, you can try
         to decrease the LPF frequency, only one step per try. As soon as twitching gone, stick with that setting.
         It will not help on feedback wobbles, so change only when copter is randomly twiching and all dampening and
         balancing options ran out. Uncomment only one option!
         IMPORTANT! Change low pass filter setting changes PID behaviour, so retune your PID's after changing LPF.*/
      //#define MPU6050_LPF_256HZ     // This is the default setting, no need to uncomment, just for reference
      //#define MPU6050_LPF_188HZ
      //#define MPU6050_LPF_98HZ
      //#define MPU6050_LPF_42HZ
      //#define MPU6050_LPF_20HZ
      //#define MPU6050_LPF_10HZ
      //#define MPU6050_LPF_5HZ       // Use this only in extreme cases, rather change motors and/or props

I tried going through the low-pass filters until the wobbles seemed to be manageable using the 98Hz filter. I also balanced the motors, as these seemed to be creating much noise and vibration. I also added another layer of rubber grommets onto the flight controls mounting board. The results can be seen below on a kitchen table tethered flight:

Roll on Spring! Next step is to get outside and do some hardcore PID tuning :)

Saturday, 26 January 2013

Quadcopter's new brain

A new flight controller for my quadcopter arrived yesterday - a MultiWii 'Standard Edition' board. Now its half the size of the KK Multicopter board that came with my X600 kit, but after a bit of bodging with a carton from Proto-Pic, I came up with an avionics bay...

Unfortunately the FTDI (USB to serial) board didn't arrive with the MultiWii, so out came ol' faithful (without the ATMEGA chip) to let me connect the flight controller to my PC.

MultiWii has a GUI for checking the board is working and setting up the PID and receiver systems. This is incredibly useful as it lets you see what the control inputs are, the sensor values and the motor outputs. I didn't play around with the pre-loaded PID values, but I did set my radio transmitter end-stops so that the flight controller can detect full deflection or min/max throttle. There is a multiwii guide here that covers PIDs. Example guides on Tx/Rx tuning etc are here and here.

First flight with the new board was in a gently gusting south-easterly wind. I'd set an AUX channel on the transmitter to enable ACC/BARO/MAG hold (basically to stabilise pitch, roll, heading and altitude!) and flew with it ON almost exclusively. The quadcopter is much easier to handle and recover when a gust pushes it out of position. I even had a go at a few fast flybys... Not quite up to this standard though:

Monday, 21 January 2013

Quadcopter control system

I had an MPU-6050 6-axis accelerometer/gyro and an Arduino Pro-Mini, so I thought I'd have a go at breadboarding a flight control system based on open-source software/hardware

The open source options I looked at were:

Although FreeIMU isn't technically a flight control system, it provides a sound basis for coding one, as many have done!

After much code gazing, I2C pin swapping and re-flashing of the Arduino mini with known-to-work-code, eventually I gave up trying to get the MPU-6050 to work as it didn't want to talk with the MultiWii code. Instead I bought a multiWii-based board, but its really just an ATMEGA328P (like in the Arduino Uno) with a bunch of sensors on board plus handy pin headers for wiring up the receiver and motors... a snip at under £30 (The MPU-6050 breakout board is £30 on its own...) - I hope it works!

Saturday, 5 January 2013

Quadcopter first flight

With expectations of at least breaking a prop and probably bending an arm, I took to the skies today with my X600 quadcopter...

The first flight was in a steady breeze on a local football pitch (soft muddy grass to cushion landings!) I fitted the props and tightened the bolts on the folding arms, plugged in the battery and took a deep breath as I armed the quadcopter from the transmitter.

From flying IR indoor helicopters I knew that a half-hearted throttle input would tip the machine, so I ran up the motors to idle, checked everything looked OK, then gave it some beans. The quad sprang up and almost hovered. I tried to correct for the wind drift and brought it down again in a controlled flop. Success! Nothing broken!

The next 30 minutes I got to grips with the controls. First impressions are that these machines need you to fly all four axis simultaneously. My experience with fixed wing aircraft wasn't much use as the quad could go in any direction equally fast. The immediate problem I had was I couldn't always tell which way was forward... pulling back on the stick to slow down may result in the quad going faster or sideslipping.

Next step will be to put something (lights? ball-and-string?) to show which way is 'forward' on the quad. Ultimately I'd like to implement and accelerometer based system to stabilise the quad and possibly do some control mixing to make it fly more like an aeroplane.