VTail Configuration - Possible Update

Post Reply
User avatar
dialfonzo
Posts: 62
Joined: Sun Nov 20, 2011 3:18 pm
Location: Quebec, Canada

VTail Configuration - Possible Update

Post by dialfonzo »

Hi All,

As a user of VTail frame, i would like to feel what others think.
There is a bit of confusion around this config and teach people to use MultiWii for the first time and VTail also is a bit of a pain.

On to of that there is different Hack around that (in my taste) improve a lot the capability and i would like them to become part of the next version of MultiWii.

Hamburger told me about the MY_PRIVATE_MIXING define and here is the config i have fly.
It's a hack that came from Kipkool and all credit should go to him.. ;)

In a file call NewVTail.h that is define in Config.h
One can see that the prop rotation are all changed from the original VTail and the mixing is slightly different as well

Code: Select all

//New Kipkool mixing for DiaLFonZo/Bledi VTail's
//In config.h you must define that line in order to get the new mixing and rotations
//#define MY_PRIVATE_MIXING "NewVTail.h"
//Edited by Eric Nantel - DiaLFonZo - 21/01/2014

//  D3----------D10  (Front)
//        --
//        --
//     D9----D11     (Tail)

#define STAB_MIX(X,Y,Z)  rcData[AUX2] + axisPID[ROLL]*X + YAW_DIRECTION * axisPID[YAW]*Z
motor[0] = PIDMIX(+0,+1, +1);           //REAR_RIGHT    D11  CCW
motor[1] = PIDMIX(-1, -1, -0.64);       //FRONT_RIGHT   D10  CW
motor[2] = PIDMIX(+0,+1, -1);           //REAR_LEFT     D9   CW
motor[3] = PIDMIX(+1, -1, +0.64);       //FRONT_LEFT    D3   CCW


Let's talk and see... ;)

Thanks a lot

Eric Nantel - DiaLFonZo

jhgeesink
Posts: 3
Joined: Fri Jul 20, 2012 10:31 am

Re: VTail Configuration - Possible Update

Post by jhgeesink »

I fly your v-tail 400 with this copy and pasted in output.ccp.

#elif defined( VTAIL4 )
motor[0] = PIDMIX(+0,+1, +1/2); //REAR_R
motor[1] = PIDMIX(-1, -1, -0.32); //FRONT_R
motor[2] = PIDMIX(+0,+1, -1/2); //REAR_L
motor[3] = PIDMIX(+1, -1, +0.32); //FRONT_L

flys well first tried it with 0.64 but that was to aggressive for me then.
Now I may try it again, more experience with it.
Your v-tail is awesome its always get attention when i fly it, great frame, thanks for it.

Han.

copterrichie
Posts: 2261
Joined: Sat Feb 19, 2011 8:30 pm

Re: VTail Configuration - Possible Update

Post by copterrichie »

There is a reason to why I use different size motors and props between the front and rear. That is to adjust the Line of Trust to the Center of Gravity. This is the mixing table that I use. Using four motors and props of the same size is not an issue as long as the CG is adjusted accordingly.


Code: Select all

motor[0] = PIDMIX(+0,+1,-1);   //REAR_1 CW
motor[1] = PIDMIX(-1,-1, 0); //FRONT_R CCW
motor[2] = PIDMIX(+0,+1,+1);   //REAR_2 CCW
motor[3] = PIDMIX(+1,-1, 0); //FRONT_L CW

jhgeesink
Posts: 3
Joined: Fri Jul 20, 2012 10:31 am

Re: VTail Configuration - Possible Update

Post by jhgeesink »

I set the cg more to the front but that was more for space problems, it fly super stable anyway.

Han.

User avatar
dialfonzo
Posts: 62
Joined: Sun Nov 20, 2011 3:18 pm
Location: Quebec, Canada

Re: VTail Configuration - Possible Update

Post by dialfonzo »

Thanks guys.

I have fly mine here with the mixing posted.
With all four motor of the same size and KV (4 identical motor) and 4 of the same prop also, it fly solid and when you yaw it stay flat.

The thing is, i don't want to need to tell people to hack the mix to get a good flight.
I think it should be integrated in the VTail configuration.

(sorry for my english...)

MultiWii have a steep learning curve for new people and i don't want to add mixing changes in the sketch to that... LOL

copterrichie
Posts: 2261
Joined: Sat Feb 19, 2011 8:30 pm

Re: VTail Configuration - Possible Update

Post by copterrichie »

What is required in my opinion, is a means or technique to identify the CG and to adjust it accordingly. Not a firmware modification. This is an old argument and I digress.

User avatar
dialfonzo
Posts: 62
Joined: Sun Nov 20, 2011 3:18 pm
Location: Quebec, Canada

Re: VTail Configuration - Possible Update

Post by dialfonzo »

Kipkool gave me this modified version.
It integrate the angle of the V for frames that have other angle.

Code: Select all

//New Kipkool mixing for DiaLFonZo/Bledi VTail's
//In config.h you must define that line in order to get the new mixing and rotations
//#define MY_PRIVATE_MIXING "NewVTail.h"
//Edited by Eric Nantel - DiaLFonZo - 21/01/2014

//  D3----------D10  (Front)
//        --
//        --
//     D9----D11     (Tail)

#define VTAILANGLE 40                     // default angle for Dialfonzo VTAIL400/500. Change it for other config if fneeded.
#define VTAILTHRUST sin(VTAILANGLE)

#define STAB_MIX(X,Y,Z)  rcData[AUX2] + axisPID[ROLL]*X + YAW_DIRECTION * axisPID[YAW]*Z
motor[0] = PIDMIX(+0,+1, +1);             //REAR_R CCW
motor[1] = PIDMIX(-1, -1, -VTAILTHRUST);  //FRONT_R CW
motor[2] = PIDMIX(+0,+1, -1);             //REAR_L CW
motor[3] = PIDMIX(+1, -1, +VTAILTHRUST);  //FRONT_L CCW

User avatar
Hamburger
Posts: 2578
Joined: Tue Mar 01, 2011 2:14 pm
Location: air
Contact:

Re: VTail Configuration - Possible Update

Post by Hamburger »

if interested in optimizing loop time, the do yourself a favour and calculate that sin(whatever) once with a calculator and put the resulting number in that define.

User avatar
dialfonzo
Posts: 62
Joined: Sun Nov 20, 2011 3:18 pm
Location: Quebec, Canada

Re: VTail Configuration - Possible Update

Post by dialfonzo »

Hamburger wrote:if interested in optimizing loop time, the do yourself a favour and calculate that sin(whatever) once with a calculator and put the resulting number in that define.


I am not a programmer, i can understand basic things but that's all.
Kipkool told me that the calculating of the angle was made by the C PreProcessor and it would not add more calculation on the Arduino.
Yes - No... lol

VirtualEnder
Posts: 17
Joined: Sat Mar 08, 2014 3:18 am

Re: VTail Configuration - Possible Update

Post by VirtualEnder »

There's a problem with this formula. Arduino sin() expects the angle in radians. You'll need to convert from degrees to radians to get the right number, otherwise you'll be off rather drastically (getting a negative number when it should be positive).

And Kipkool is absolutely correct about the preprocessor. It should only be calculated once.

jihlein
Posts: 27
Joined: Sat Sep 08, 2012 3:10 pm

Re: VTail Configuration - Possible Update

Post by jihlein »

Starting to look at v tail mixing again. I think there are two errors in the update presented, and fortunately, they sort of cancel each other out and things work as expected. At least for the 40 degree case.......

The v tail thrust formula should really be:

vTailThrust = cos(d2r(vTailAngle))

For the case of 40 degrees, the thrust equals 0.76604444

Now look at the formula with the error in it:

vTailThrust = sin(vTailAngle)

The argument is interpreted as 40 radians, and the sin of 40 radians = 0.74511316, close enough that the difference between the two will not be noticed. Other angles won't work out as nicely.......

I believe the cos to be correct because of you take it to the limit, v tail angle = 0, or flat, the vtail thrust would be 1, and the yaw mixing would then look just like a standard quad.

Thoughts?

brm
Posts: 287
Joined: Mon Jun 25, 2012 12:00 pm

Re: VTail Configuration - Possible Update

Post by brm »

john,
your arguments make sense.

#define VTAILTHRUST cos(VTAILANGLE * D2R)

would be an alternative - having not to measure an angle in rads :)

Post Reply