Nice new build, based on 1/2 ally tube, RCT 750 kv motors, 30 amp 4S ESC's, 10 by 4.5 props.
Overall width 680mm , length 840mm
About 5 hours work in it so far, the centre section and motor mounts are pre made for me out of 2.5mm fibreglass
The aluminium is all hand cut and drilled (lots of holes) !!
Nuts/bolts 3mm and 4mm
ESC's were stripped so they could be "daisy chained" on the input side, and have the motor wires direct soldered on the output side.
They are mounted on the side pods, as this keeps the high current DC (and associated mag fields) far away from the Magnetometer , about 120mm seperation
FC is an ardu, with mag, gps and sonar.
Now to get into the code, and do a custom mix, will take the Y6 code, as its close , and modify it, will do one version for the Vtail 8 (needs 5 channels) and a version for the Vtil Y6/Y4 (needs 4 channels)
Batteries will be 4S 12000 mah (good for about 10 kg total thrust) and carrying a maximum of 1kg DLSR
Comments
Hi Mathew, I'm using the frame above .... only 4 motors
HI Max, depends on what layout you want to run, would then depend on which of the motor configs are the best ones to modify, but essentially whichever motors are doing the VTAIL, any roll control equations need to be deleted, and for every other motor remove any yaw equations
if you are doing a Y6 with a vtail instead of coaxial at the rear, you can use the standard code
Hi Mathew, any idea how should I set mixing for Vtail ???
Theres a file called motors_Y6 and thats the one i change, as its close to what i need
motor layout is up to you, you basically decide on a number/channel for each one, and then work out the roll/pitch/yaw values to achieve what you want
for your 10 motor setup,i would modify a H6 config file, as i doubt you need to control all 10 motors individually,
Mathew,
Looks good. How is have things progressed since September? I'm hoping to put together a multirotor for aerial photogrammetry, and am interested in something similar to your layout. I am new to all of this, and I'm contemplating building something like the butterflycopter shown in the video here: kkmulti
I have two questions I'm hoping to figure out. First, where did you find the code to modify regarding the motor arrangement? I've been searching the code, and haven't found it yet.
Also, does anyone know of a document that describes how to define motor layout? I know the AeroQuad folks are working on a mixing table for defining new arrangements. I'd like to have the option to use more rotors, like the ten in the link before.
Anyhow, good work. If anyone can help with those questions, please let us all know.
Wow great progress...I personally like the cover of the APM :D
Hope to see your gimbal and the frame in action...
Finished
Thanks Denny, yep a distribution board could have a circulating magnetic field :)
OK, i think the motor code is right, modified a Y6 one
front two motors from CH_1
left middle motors CH_2
right middle motors CH_3
Left Rear Motor CH_4 (does left yaw control)
right rear motor CH_7 (does Right yaw control)
/// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
#if FRAME_CONFIG == Y6_FRAME//matts Vtail 8 mix
static void output_motors_armed(){ int out_min = g.rc_3.radio_min; int out_max = g.rc_3.radio_max;
// Throttle is 0 to 1000 only g.rc_3.servo_out = constrain(g.rc_3.servo_out, 0, 1000);
if(g.rc_3.servo_out > 0) out_min = g.rc_3.radio_min + MINIMUM_THROTTLE;
g.rc_1.calc_pwm(); g.rc_2.calc_pwm(); g.rc_3.calc_pwm(); g.rc_4.calc_pwm();
int roll_out = g.rc_1.pwm_out; int pitch_out = g.rc_2.pwm_out;
//left motor_out[CH_2] = g.rc_3.radio_out + roll_out; // dual motors
//right motor_out[CH_3] = g.rc_3.radio_out - roll_out; //dual motors
//front motor_out[CH_1] = g.rc_3.radio_out + pitch_out; //dual motors
//back motor_out[CH_7] = g.rc_3.radio_out - pitch_out; // CCW Right Rear motor_out[CH_4] = g.rc_3.radio_out - pitch_out; // CW Left Rear
// Yaw motor_out[CH_4] += g.rc_4.pwm_out; // CCW Yaw right motor_out[CH_7] -= g.rc_4.pwm_out; // CW Yaw left
// limit output so motors don't stop motor_out[CH_1] = max(motor_out[CH_1], out_min); motor_out[CH_2] = max(motor_out[CH_2], out_min); motor_out[CH_3] = max(motor_out[CH_3], out_min); motor_out[CH_4] = max(motor_out[CH_4], out_min); motor_out[CH_7] = max(motor_out[CH_7], out_min); motor_out[CH_1] = min(motor_out[CH_1], out_max); motor_out[CH_2] = min(motor_out[CH_2], out_max); motor_out[CH_3] = min(motor_out[CH_3], out_max); motor_out[CH_4] = min(motor_out[CH_4], out_max); motor_out[CH_7] = min(motor_out[CH_7], out_max); #if CUT_MOTORS == ENABLED // Send commands to motors if(g.rc_3.servo_out > 0){ APM_RC.OutputCh(CH_1, motor_out[CH_1]); APM_RC.OutputCh(CH_2, motor_out[CH_2]); APM_RC.OutputCh(CH_3, motor_out[CH_3]); APM_RC.OutputCh(CH_4, motor_out[CH_4]); APM_RC.OutputCh(CH_7, motor_out[CH_7]); // InstantPWM APM_RC.Force_Out0_Out1(); APM_RC.Force_Out6_Out7(); APM_RC.Force_Out2_Out3(); }else{ APM_RC.OutputCh(CH_1, g.rc_3.radio_min); APM_RC.OutputCh(CH_2, g.rc_3.radio_min); APM_RC.OutputCh(CH_3, g.rc_3.radio_min); APM_RC.OutputCh(CH_4, g.rc_3.radio_min); APM_RC.OutputCh(CH_7, g.rc_3.radio_min); } #else APM_RC.OutputCh(CH_1, motor_out[CH_1]); APM_RC.OutputCh(CH_2, motor_out[CH_2]); APM_RC.OutputCh(CH_3, motor_out[CH_3]); APM_RC.OutputCh(CH_4, motor_out[CH_4]); APM_RC.OutputCh(CH_7, motor_out[CH_7]); // Instan
I have to say Mat I could not follow the logic of not having the daisy chain. Saves some weight. Is a power distribution board not flowing in one direction also?