Hi, ich hab die von Paul angebotene RoboBee 10DOF IMU (http://flyduino.net/Robo-Bee-10-DOF-IMU) mal testweise in meinen QuadX eingebaut. Nach Anpassen der MultiWii 2.0 gemäß Pauls Ausführungen:
#define ITG3200
#define ADXL345
#define BMP085
#define HMC5883
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = X; accADC[PITCH] = Y; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = X; gyroADC[PITCH] = Y; gyroADC[YAW] = Z;}
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = -Y; magADC[PITCH] = X; magADC[YAW] = Z;}
#define ADXL345_ADDRESS 0xA6
#define ITG3200_ADDRESS 0XD0
läuft die Kiste auch...zumindest die Kommunikation! Wenn ich jedoch MultiWii Conf 2.0 starte, den Copter in der Hand halte und zB nach rechts neige (Roll) geht die Anzeige in der GUI erst kurs nach Roll-links und dann erst nach rechts. Genauso der Pitch - bei Bewegen immer erst kurz in die entgegengesetzte Richtung und dann in die korrekte Position. Irgendwas passt da nicht ganz. Kann es sein, dass Gyro und ACC genau gegenläufige Roll und Pitch Orientierungen haben und deswegen dieses Verhalten entsteht?
Gruß
Viper
#define ITG3200
#define ADXL345
#define BMP085
#define HMC5883
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = X; accADC[PITCH] = Y; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = X; gyroADC[PITCH] = Y; gyroADC[YAW] = Z;}
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = -Y; magADC[PITCH] = X; magADC[YAW] = Z;}
#define ADXL345_ADDRESS 0xA6
#define ITG3200_ADDRESS 0XD0
läuft die Kiste auch...zumindest die Kommunikation! Wenn ich jedoch MultiWii Conf 2.0 starte, den Copter in der Hand halte und zB nach rechts neige (Roll) geht die Anzeige in der GUI erst kurs nach Roll-links und dann erst nach rechts. Genauso der Pitch - bei Bewegen immer erst kurz in die entgegengesetzte Richtung und dann in die korrekte Position. Irgendwas passt da nicht ganz. Kann es sein, dass Gyro und ACC genau gegenläufige Roll und Pitch Orientierungen haben und deswegen dieses Verhalten entsteht?
Gruß
Viper