Hallo zusammen,
ich baue derzeit an einem Hex+, Mega 2560 mit Multiwii 2.0 und Pan/Tilt-System zur Stabilisierung. Als Sensoren sind ein WMP, BMA020, BMP085, HMC5883 und seriell ein GPS PA6E verbaut. Funktioniert alles auch soweit. Mit AUX1 schalte ich (3-Wege-Schalter) HH - ACC - ACCund MAG, mit AUX2 GPSHOME, mit AUX3 GPSHOLD und mit AUX4 HEADFREE. Jetzt habe ich die Camerastabilisierung eingerichtet und dabei ist mir folgendes aufgefallen: Kopter mit Rechner und Strom verbunden, CAMSTAB funktioniert einwandfrei, in der GUI sieht alles gut aus. Später dann bei aktivierter Fernbedienung: Sowohl PAN als auch TILT der Kamerahalterung stehen total schief, reagieren aber auf Bewegung des Kopters. Mehr durch Zufall bemerke ich, das bei Schalteränderungen an AUX3 und AUX4 die Servos der Kamerahalterung in die entgegengesetzte Richtung fahren.
Lange Rede, kurzer Sinn: Im Code der 2.0 werden die AUX3- und AUX4-Werte zu PAN bzw. TILT hinzugefügt. Das ist zwar recht praktisch, wenn man auf AUX3 und AUX4 Potis der Fernsteuerung legt, um die Ausrichtung der Kamera zu steuern, ist aber glaube ich nirgends dokumentiert. Und stört natürlich, wenn man AUX3 und AUX4 für Schaltvorgänge nutzen möchte.
Falls jemand das gleiche Problem hat:
Ich habe es im Codebereich "Output" auskommentiert ("+ rcData[AUX3]-1500;" und "+ rcData[AUX4]-1500;")
#ifdef 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;
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
Gruss, Stefan
ich baue derzeit an einem Hex+, Mega 2560 mit Multiwii 2.0 und Pan/Tilt-System zur Stabilisierung. Als Sensoren sind ein WMP, BMA020, BMP085, HMC5883 und seriell ein GPS PA6E verbaut. Funktioniert alles auch soweit. Mit AUX1 schalte ich (3-Wege-Schalter) HH - ACC - ACCund MAG, mit AUX2 GPSHOME, mit AUX3 GPSHOLD und mit AUX4 HEADFREE. Jetzt habe ich die Camerastabilisierung eingerichtet und dabei ist mir folgendes aufgefallen: Kopter mit Rechner und Strom verbunden, CAMSTAB funktioniert einwandfrei, in der GUI sieht alles gut aus. Später dann bei aktivierter Fernbedienung: Sowohl PAN als auch TILT der Kamerahalterung stehen total schief, reagieren aber auf Bewegung des Kopters. Mehr durch Zufall bemerke ich, das bei Schalteränderungen an AUX3 und AUX4 die Servos der Kamerahalterung in die entgegengesetzte Richtung fahren.
Lange Rede, kurzer Sinn: Im Code der 2.0 werden die AUX3- und AUX4-Werte zu PAN bzw. TILT hinzugefügt. Das ist zwar recht praktisch, wenn man auf AUX3 und AUX4 Potis der Fernsteuerung legt, um die Ausrichtung der Kamera zu steuern, ist aber glaube ich nirgends dokumentiert. Und stört natürlich, wenn man AUX3 und AUX4 für Schaltvorgänge nutzen möchte.
Falls jemand das gleiche Problem hat:
Ich habe es im Codebereich "Output" auskommentiert ("+ rcData[AUX3]-1500;" und "+ rcData[AUX4]-1500;")
#ifdef 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;
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
Gruss, Stefan
Zuletzt bearbeitet: