Gimbal aktivieren funtioniert nicht. Bitte um Hilfe

NoFunAtAll

Neuer Benutzer
#1
Hallo,
ich hoffe Ihr könnt mir helfen. Habe viel gelesen, aber nicht die entscheidende Hilfe gefunden

Und zwar habe ich einen Multiwii 1.9 QuadX-Copter. Der funktioniert super.
Nun habe ich eine Gimbal-Mimik nachgerüstet.
in der config.h funktioniert diese auch wunderbar wenn ich #define GIMBAL auskommentiere,
aber dann bleiben die Regler im Programmiermodus und piepsen ununterbrochen. Scharfschalten klappt nicht.

Wenn ich, wie es ja sein sollte, nur #define QUADX und #define SERVO_TILT (aber kein #define GIMBAL) aktiviere, dann funktioniert der
Copter wieder einwandfrei, aber das Gimbal nicht.
Beim Scharfschalten schwenken die Servos einmal kurz aus und bleiben dann in der Nulllage.

Hat jemand einen Tipp für mich. Habe schon gestern den ganzen Abend gelesen ud probiert und nichts gefunden.

Danke im voraus

Gruß

Fritz
 

scritch

Erfahrener Benutzer
#4
im gui kannst/musst du noch einen schalter definieren (mit dem du stabi aktivierst)
Was genau meinst du mit "Stabi aktivieren"? Den ACC-Mode? Was genau muss ich denn jetzt in der GUI alles einkommentieren?

Was ist hiermit:
/* The following lines apply only for a pitch/roll tilt stabilization system. Uncomment the first or second line to activate it */
//#define SERVO_MIX_TILT
//#define SERVO_TILT
#define TILT_PITCH_MIN 1020 //servo travel min, don't set it below 1020
#define TILT_PITCH_MAX 2000 //servo travel max, max value=2000
#define TILT_PITCH_MIDDLE 1500 //servo neutral value
#define TILT_PITCH_PROP 10 //servo proportional (tied to angle) ; can be negative to invert movement
#define TILT_ROLL_MIN 1020
#define TILT_ROLL_MAX 2000
#define TILT_ROLL_MIDDLE 1500
#define TILT_ROLL_PROP 10

Das hat doch auch mit dem Gimbal zutun, richtig? Muss ich da vorher noch was ändern oderso? Ich möchte halt nicht, dass meine Servos gleich am Anfang geschrottet werden :)

Und wenn ich das Gimbal soweit funktionsfähig habe und sich der Copter meinetwegen um 15 Grad neigt und das Gimbal das aber nur mit 10 Grad Neigung ausgleicht, wo kann ich das denn ändern?
 

Andi

Erfahrener Benutzer
#5
#define SERVO_TILT = einschalten
#define TILT_PITCH_PROP 10 = Servoweg angleichen
#define TILT_ROLL_PROP 10 = Servoweg angleichen

Und über ein Auxkanal Kannste das ganze dann aus und an schalten.

Wenn auf AUX 3 und 4 je ein Proportional Kanal legst kannst du die Kamera zusätzlich über die Funke steuern.

Andi
 

scritch

Erfahrener Benutzer
#6
Ok, danke soweit :) Ich habe derzeit zwar nur eine 5-Kanal Funke, wollte mir aber bald eine mit 8 Kanälen besorgen (Mehr unterstützt MultiWii ja leider nicht :-(). Wie kann ich dann später auf die verschiedenen Kanäle die manuelle Kamerasteuerung legen? Und wenn ich sie dann manuell steuern möchte empfiehlt sich ja auch dann die Automatik auszuschalten, richtig?
 

Andi

Erfahrener Benutzer
#7
Hi
Wenn Du Kanal 7 und 8 anschließt an AUX 3 und 4 geht das direkt zur( bei einem Megaboard) Gimbalsteurung und zur AUX 3 und 4 Schaltsteuerung.
So kannst du bei vorhanden Gimbal auf Aux 3 und 4 nix schalten ,da du ja damit das Gimbal manuel steuerst.
Da z.B über Aux 2 z.B. Gimbal aktivierst , werden die Ausgleichbefehle + die Stellung der Funke an Pan /Tilt Servo (Pin 44,45 Megaboard flyduino) ausgegeben.
Mann kann auch im Code die Stellung der Kanäle von der Funke auskommentieren so das sie nicht zugemischt werden .
Das hab ich so gemacht , da ich die Kamera nur auf Tilt manuell verstehlen möchte , so hab ich AUX 3 um z.b Gimbal an und aus zu schalten oder andere Dinge.
Der Rollausgleich findet dabei trotzdem statt ,nur kannst du die Kamera über Roll nicht mehr manuell steuern.


Reiter "output"


/**************** Cam stabilize Sevos ******************/
#if defined(SERVO_TILT)
#if defined(A0_A1_PIN_HEX) && (NUMBER_MOTOR == 6) && defined(PROMINI)
#define S_PITCH servo[2]
#define S_ROLL servo[3]
#else
#define S_PITCH servo[0]
#define S_ROLL servo[1]
#endif
S_PITCH = TILT_PITCH_MIDDLE + rcData[AUX3]-1500;
S_ROLL = TILT_ROLL_MIDDLE + rcData[AUX4]-1500;
(((S_ROLL = TILT_ROLL_MIDDLE; // + rcData[AUX4]-1500;))) =Kanal mischung aus
if (rcOptions[BOXCAMSTAB]) {
S_PITCH += TILT_PITCH_PROP * angle[PITCH] /16 ;
S_ROLL += TILT_ROLL_PROP * angle[ROLL] /16 ;
}
S_PITCH = constrain(S_PITCH, TILT_PITCH_MIN, TILT_PITCH_MAX);
S_ROLL = constrain(S_ROLL , TILT_ROLL_MIN, TILT_ROLL_MAX );
#endif


/************************************************************************************************************/
// Bledi Experimentals
/******************************************************************************************************
 

scritch

Erfahrener Benutzer
#8
Habe heute die Servos vom Gimbal mal angeschlossen und einkommentiert im Sketch, ausser der "Initialisierung" am Anfang geschieht nichts. Auf Lageveränderungen reagieren die gar nicht. Wie mag das sein?

Edit: Doofe Frage, hat sich von selbst erledigt :) Musste es in der GUI noch aktivieren.
 
FPV1

Banggood

Oben Unten