Quad mit Motorschwenkbewegung

ronco

User
Hallo Heinz,

also wenn ich das sehe brauchte man 4 servos und 4 motoren.

die motoren müssten dann nur den angle also die horizontale yaw und roll machen pitch leuft ja dann über die servos? oder wie meinst du ist das in dem video?
(der kopter im viedo würde sonst was machen wenn er echt wäre .. so wie der sich verhält)

umsetzen kann man sowas (wenn man ne halbweegs schlüssige theorie hat) dann in den files..

wenn man jetzt z.b das machen würde: (ungetestet aber theorethisch solltest gehen)

in multiwii 2.0 in der config.h einen eigenen typ anlegen

Code:
/*************************************************************************************************/
/****           CONFIGURABLE PARAMETERS                                                       ****/
/*************************************************************************************************/

/* Set the minimum throttle command sent to the ESC (Electronic Speed Controller)
   This is the minimum value that allow motors to run at a idle speed  */
//#define MINTHROTTLE 1300 // for Turnigy Plush ESCs 10A
//#define MINTHROTTLE 1120 // for Super Simple ESCs 10A
//#define MINTHROTTLE 1220
#define MINTHROTTLE 1150 

#define SERVOQUAD // das ist dann dein persönlicher special typ

/* The type of multicopter */
//#define GIMBAL
//#define BI
//#define TRI
//#define QUADP
#define QUADX // quad x bleibt an da er als basis genommen wird
//#define Y4
//#define Y6
//#define HEX6
//define HEX6X
//#define OCTOX8
//#define OCTOFLATP
//#define OCTOFLATX
//#define FLYING_WING
//#define VTAIL4

in der def.h die gewünschten servos aktivieren

Code:
...
#if defined(GIMBAL)
  #define NUMBER_MOTOR 0
  #define PRI_SERVO_FROM   1 // use servo from 1 to 2
  #define PRI_SERVO_TO     2
#elif defined(FLYING_WING)
  #define NUMBER_MOTOR 1
  #define PRI_SERVO_FROM   1 // use servo from 1 to 2
  #define PRI_SERVO_TO     2
#elif defined(BI)
  #define NUMBER_MOTOR 2
  #define PRI_SERVO_FROM   5 // use servo from 5 to 6
  #define PRI_SERVO_TO     6
#elif defined(TRI)
  #define NUMBER_MOTOR 3
  #define PRI_SERVO_FROM   6 // use only servo 6
  #define PRI_SERVO_TO     6
#elif defined(QUADP) || defined(QUADX) || defined(Y4)|| defined(VTAIL4)
  #define NUMBER_MOTOR 4
#elif defined(Y6) || defined(HEX6) || defined(HEX6X)
  #define NUMBER_MOTOR 6
#elif defined(OCTOX8) || defined(OCTOFLATP) || defined(OCTOFLATX)
  #define NUMBER_MOTOR 8
#endif

#if defined(SERVOQUAD) // zu den vom quad x aktiven 4 motoren noch 4 servos aktivieren
  #define PRI_SERVO_FROM   1 // servo 1-4 aktivieren
  #define PRI_SERVO_TO     4
#endif

...

das ganze dann in der output.ino mischen
Code:
...
  #ifdef QUADX
    // den normalen PID mix können wir ja nicht nehmen da pitch auf den servos liegen soll
    // also axisPID[PITCH] wird durch angle[PITCH] ersetzt
    #define PIDMIX2(X,Y,Z) rcCommand[THROTTLE] + axisPID[ROLL]*X + angle[PITCH]*Y + YAW_DIRECTION * axisPID[YAW]*Z

    motor[0] = PIDMIX2(-1,+1,-1); //REAR_R
    motor[1] = PIDMIX2(-1,-1,+1); //FRONT_R
    motor[2] = PIDMIX2(+1,+1,+1); //REAR_L
    motor[3] = PIDMIX2(+1,-1,-1); //FRONT_L

    //jetzt noch pitch auf die 4 servos legen
    //1500 = mitte, 1020 minimum auschlag und 2000 maximun auschlag
    servo[0]  = constrain(1500 + axisPID[PITCH]), 1020, 2000); //REAR_R
    servo[1]  = constrain(1500 + axisPID[PITCH]), 1020, 2000); //FRONT_R
    servo[2]  = constrain(1500 + axisPID[PITCH]), 1020, 2000); //REAR_L
    servo[3]  = constrain(1500 + axisPID[PITCH]), 1020, 2000); //FRONT_L

  #endif
...

die pins an die die servos dann z.b am arduino promini kommen sind

servo[0] = pin A0
servo[1] = pin A1
servo[2] = pin A2
servo[3] = pin 12

die motoren würden so wie beim normalen quad x angeschlossen


gruß

Felix
 
wie man sowas angeht? indem man ein paar cgi artists engagiert ;) das video ist gefaked.
aber ich kann mir vorstellen dass man das auch 'real' bauen kann. nur der vorteil erschließt sich mir nicht.
nachteile aber schon: viel mehr gewicht und mechanik = wesentlich anfälliger.
 
Hallo,

so ins "Gewicht" würde das nicht fallen denke ich...
ein Quad mit ordentlich "Bums" unter Haube verträgt das sicher:)

es geht ja hier um die Machbarkeit....Video hin oder her...egal.
also....ich denke wenn man die Motoren in alle Richtungen schwenken will, braucht man mind. zwei Servos pro Motor..
nur, wer steuert dann Pitch???


Gruß Heinz
 

Crizz

User
Durch ThrustVectoring steuerst du im MC nur Roll und Nick, Yaw und Pitch steuerst du über Gas. Anders funktionieren meine EDF-TriCopter auch nicht, egal ob mit ThrustVector-Gearing oder Tilt-Gearing.
 

Jasmir

User
Ich denke mal, das mechanische Verstellen der Propellerdrehebene ist nur interessant, wenn man die Raumlage des Chassis unabhänig von irgendwelchen Copter-Bewegungen halten will. Die normalen Nutzlasten (Kameras) lassen sich da mit weniger Aufwand schwenkbar anbauen, da die ja i.d.R keinen Rückstoss haben ;)
 

Crizz

User
Der Vorteil von einem Nick-Schwenken der Rotoren liegt halt darin, das das Chassis eine neutralere Fluglge behält. Wird halt auch gerne bei BiCoptern gemacht, da geht es nicht anders um Vortrieb zu erzeugen. Beim Quad ist es halt quasi wie ein Gimbal, das direkt auf das Chassis ausgelegt ist ansttt auf einer Halterung für das gerät, was niveliert bleiben soll.
 
Ansicht hell / dunkel umschalten
Oben Unten