Controller for rc flight models like helicopters, quadcopters and tilt-rotors

Hi there,

I'm planing on a 10-year-project;) I'd like to build a V22. Since there is no controller, which cost less than 500$, I have to develop my own... Before actually trying to develop the V22, I'll start with the control of the tail of a helicopter, then plan on developing the controller for all three axis, maybe a quadcopter afterwards, followed by a CH47 and finally the V22. We'll see.

I'm trying to decide on a controller-board at the moment and have serious difficulties, because I'm absolutely new to this field. The board should comply with the requirements for all the projects. I've got some general questions, I couldn't find an answer in the forum yet:

  1. Does anyone have information about the failure rate of the Arduino boards? The models are quiet expensive, but even worse would be, if someone gets harmed, only because the controller failed. (I'm flying a T-Rex 500 for a couple of years, I'm member of a model sports club (don't know, if you'd say that. It's a plain translation from german:D ) and have insurance, just in case someone is keen telling me about the risks;) )

  2. I can't estimate the necessary clock rate. As far as i know by now, the most extensive computer operation will be the integration of the signal of the gyros. Apart from that, I think there will be simple algebraic and boolean operations only. The outputs should be send with a frequency of 400Hz. Would 16 Mhz be enough? Or should I use the Ardurino Due, which would be my first choice, apart from the fact, that the input voltage is limited to 3.3V. The output voltage of the gyros and the receiver varies between 3 and 5 V.

  3. Has anyone some general advice on this specific project? I think I'll find enough general advice on all sorts of other projects on the web, but I couldn't find anything, that was interesting by now;) I plan on purchasing a board based on your advice along with some servos, a receiver and a gyro to get started with the first experiments...

Thanks in advance
Windy

I suggest you start by looking at the Arduplane project. There are some Arduino clones that integrate the various sensors needed for an autonomous drone to fly, and open source code to manage the sensors and apply the various types of feedback control needed to control the vehicle. It's been adapted to work on various airframe layouts and your tilt rotor would just be one more variant.

Get a KK2 multicopter board

http://www.seeedstudio.com/depot/kkmulticontroller-smd-v55-blackboard-p-739.html?cPath=132_136

For $25 you can't go wrong

It will support V22 style aircraft as well as other configurations

That KK2 board is getting pretty dated. The gyros are old school piezo and it uses an ATMega168 which is too small for the newer firmware. That's why Seeed has it on closeout.

This board uses a MPU-6050 (acc + gyro) and is compatible with MultiWii which supports pretty much any configuration you can think of.

That KK2 board is getting pretty dated. The gyros are old school piezo and it uses an ATMega168 which is too small for the newer firmware. That's why Seeed has it on closeout.

The KK2 is up to version 5.
This is the TH version

whats wrong with the Murata peizio gyro's?

I think the KK2 wont work for a V22, because I can mix elevator, aileron, pitch and rudder linearly only, but the signals for the rudder and aileron actuators depend on the angle of the nacelles and small-angle approximation wouldn't be valid. The source code of "Power Tower - Osprey" seems to prove this wrong...
I just had a look at the manual of the KKmulticontroller v5.5. It provides input for aileron, elevator, pitch and rudder only, so I can not decide, when to convert from helicopter mode to airplane mode but it seems to be linked to the pitch command. Apart from that, I would like to implement some features like feed-forward to the speed governor, before processing power consuming inputs or adjusting gains depending on the current speed or transition state of the V22. That wont be possible with the KK2 or KK5.5 either.

I doubt, that the V22 would be another configuration of arduplane. A plane or a quadcoper has way more stable flight characteristics compared to a helicopter or the V22. I had serious difficulties to setup and install the 3D-gyro on my T-Rex 500 to get rid of the vibrations of the tail rotor. So implementing a controller will be more complex i guess. But I found this Variable Pitch Quad-copter - Discussions - diydrones. I thought about a variable pitch quadrocopter:D

The KK5.5 has a '328, according to the forum posts there is a tonne of space to implement extra functionality.

But there are 4 inputs only http://i01.i.aliimg.com/img/pb/582/629/420/420629582_377.jpg, or am I worng?

from what I can glean from the code, It only uses 4 of the 6 outputs.
the other 2 outputs are unused and could be used for inputs.

one thing I was just thinking about was control is solely done by pitching the "rotors", a full size V22 has control surfaces on the tail and wings.

stuff knows how you would go about mixing those together.

I'd still prefer a board with more ports. I reckon, I'll need at least 9 input and output ports for the V22. Inputs: elevator, aileron, pitch, rudder, transition, toggle motor and 3 ports for the gyro, maybe another 3 for an accelerometer, not sure yet what signals I'll need. I might omit pitch and mix it with the angle of the nacelles. Outputs: 3x2 servos of each swash plate, 2 servos for transition and motor governor. Would be nice, if i could modify some gains with the potis of my transmitter. That would make finding the right settings easier but I'd need some more inputs...

Rotormast is the only supplier of a V22 I found on the web http://www.rotormast.com/. They don't use control surfaces on the tail and wings. so first of all I try to do what they did. If it works, I might go for control surfaces. I think it would be possible only to switch from controlling the tip path plane of the rotors to controlling the control surfaces on the tail and wings, when flying in airplane mode.

JWindy:
I think the KK2 wont work for a V22, because I can mix elevator, aileron, pitch and rudder linearly only, but the signals for the rudder and aileron actuators depend on the angle of the nacelles and small-angle approximation wouldn't be valid.

The core of the flight controller is going to calculate the current orientation and movement from the sensor inputs, compare that with the desired position and movement, and generate some control demands like 'pitch up' or 'yaw left'. The code to convert this into actuator commands would be specific to each airframe type. Some would move flight surfaces, others would vary rotor speeds. In your case you'll need a combination of both approaches which will depend on which mode you're flying in. As long as the controller has enough hardware outputs to drive the number of servo outputs you need, and enough processing power and memory to keep up with the calculations, I don't see why it wouldn't be possible. However, I'd look for a forum focusing on drones for guidance on doing it. I'm sure there will be one somewhere, and you'd get more and better advice there about how to go about it.

Can I adapt the code running on the KK2? I thought I can only set the configuration of the airframe and overlay some inputs. At least that's what i figured out reading the manual...

A forum about drones is a good idea. I have been looking for forums about rc flight models, but hardly anyone knows about how to develop the controller. Most of them only use of the shelve controllers for fix pitch quadcopters...

10 years? Think about distributed intelligence with stand-alone chips on a bus.

Do you think the resources of one chip wouldn't be enough? I'd like to reduce weight, where possible. The mechanical structure will be heavy enough...

10 years is a pessimistic guess:D It'll definitely take a couple of years, especially after I read, that another well-known company tried to develop a V22 and canceled the project, because it turned out to be to complex. I hope my theoretical background in developing helicopters leads to success:D

Have you designed and or built any aircraft?

Simply relying on a "smart" controller is going to be hard.
Without flight experience it'll be even harder.

I only got theoretical background so far, no practical. I'm studying mechanical engineering and focused on the development and flightphysics of helicopter. But if I start with one axis of a regular helicopter, develop a control of a quadcopter... I get the experience necessary to develop the V22. I'll start on my master thesis in the field of flight test at Eurocopter on Friday. That's how I plan on finding out, what to do with all the data of the sensors:D

So you got a ten year project, and you are concerned about obsolescence ?

What do you mean with obsolescence?

This is not about flying a V22, if I wanted to do this, I'd just save 2000€ and go for the model of rotormast;) If it takes 10 years, I got an interesting hobby for 10 years. I'm fine with that:D

You can find a lot of design tips here:

JWindy:
Do you think the resources of one chip wouldn't be enough? I'd like to reduce weight, where possible. The mechanical structure will be heavy enough...

10 years is a pessimistic guess:D It'll definitely take a couple of years, especially after I read, that another well-known company tried to develop a V22 and canceled the project, because it turned out to be to complex. I hope my theoretical background in developing helicopters leads to success:D

You want to reduce weight, use a surface-mount minimal Duino like a Teensy or Nano or just chip in a socket with components and wires soldered to the socket legs.

Your motor-drivers and batteries will be massive compared. Even the wiring will weigh more.

I suggest sub-systems to make programming and design changes easier. But don't put full size Arduino's in there. Those are development boards.