#8581 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 30.11.2011 21:56:45
Crizz, was haben die Wellen denn für ein Maß?
Code: Alles auswählen
// ************************************************************************************************************
// board orientation and setup
// ************************************************************************************************************
//default board orientation
#if !defined(ACC_ORIENTATION)
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = X; accADC[PITCH] = Y; accADC[YAW] = Z;}
#endif
#if !defined(GYRO_ORIENTATION)
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] = -X; gyroADC[YAW] = Z;}
#endif
#if !defined(MAG_ORIENTATION)
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = X; magADC[PITCH] = Y; magADC[YAW] = Z;}
#endif
Code: Alles auswählen
//#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
#define I2C_SPEED 400000L //400kHz fast mode, it works only with some WMP clones
#define PROMINI //Arduino type
//#define MEGA
//enable internal I2C pull ups
//#define INTERNAL_I2C_PULLUPS
//if you use independent sensors
//leave it commented it you already checked a specific board above
/* I2C gyroscope */
#define ITG3200
//#define L3G4200D
/* I2C accelerometer */
//#define ADXL345
//#define BMA020
#define BMA180
//#define NUNCHACK // if you want to use the nunckuk as a standalone I2C ACC without WMP
//#define LIS3LV02
/* ITG3200 & ITG3205 Low pass filter setting. In case you cannot eliminate all vibrations to the Gyro, you can try
to decrease the LPF frequency, only one step per try. As soon as twitching gone, stick with that setting.
It will not help on feedback wobbles, so change only when copter is randomly twiching and all dampening and
balancing options ran out. Uncomment only one option!
IMPORTANT! Change low pass filter setting changes PID behaviour, so retune your PID's after changing LPF.*/
//#define ITG3200_LPF_256HZ // This is the default setting, no need to uncomment, just for reference
//#define ITG3200_LPF_188HZ
//#define ITG3200_LPF_98HZ
#define ITG3200_LPF_42HZ
//#define ITG3200_LPF_20HZ
//#define ITG3200_LPF_10HZ // Use this only in extreme cases, rather change motors and/or props
hast du außer dem usb vom pc noch eine weitere spannungsquelle angeschlossen? zb den flugakku.muggel117 hat geschrieben:Sagt mal, wie kann man die korrekte Funktion einer IMU testen? Ein Ozi habe ich leider nicht.
Folgendes Problem, ich habe mir eine drotek.fr 6DOF IMU gekauft http://www.drotek.fr/shop/en/32-imu-6do ... ensor.html
und sie nach Warthox Anleitung http://www.rcgroups.com/forums/showthre ... +fr&page=4 konfiguriert und das Sketch entsprechend geändert.
Code: Alles auswählen
// ************************************************************************************************************ // board orientation and setup // ************************************************************************************************************ //default board orientation #if !defined(ACC_ORIENTATION) #define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = X; accADC[PITCH] = Y; accADC[YAW] = Z;} #endif #if !defined(GYRO_ORIENTATION) #define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] = -X; gyroADC[YAW] = Z;} #endif #if !defined(MAG_ORIENTATION) #define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = X; magADC[PITCH] = Y; magADC[YAW] = Z;} #endif
(...allerdings weiß ich nicht, warum der gute Warthox den 42Hz Tiefpass aktiviert hat, aber sei's drum)Code: Alles auswählen
//#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP #define I2C_SPEED 400000L //400kHz fast mode, it works only with some WMP clones #define PROMINI //Arduino type //#define MEGA //enable internal I2C pull ups //#define INTERNAL_I2C_PULLUPS //if you use independent sensors //leave it commented it you already checked a specific board above /* I2C gyroscope */ #define ITG3200 //#define L3G4200D /* I2C accelerometer */ //#define ADXL345 //#define BMA020 #define BMA180 //#define NUNCHACK // if you want to use the nunckuk as a standalone I2C ACC without WMP //#define LIS3LV02 /* ITG3200 & ITG3205 Low pass filter setting. In case you cannot eliminate all vibrations to the Gyro, you can try to decrease the LPF frequency, only one step per try. As soon as twitching gone, stick with that setting. It will not help on feedback wobbles, so change only when copter is randomly twiching and all dampening and balancing options ran out. Uncomment only one option! IMPORTANT! Change low pass filter setting changes PID behaviour, so retune your PID's after changing LPF.*/ //#define ITG3200_LPF_256HZ // This is the default setting, no need to uncomment, just for reference //#define ITG3200_LPF_188HZ //#define ITG3200_LPF_98HZ #define ITG3200_LPF_42HZ //#define ITG3200_LPF_20HZ //#define ITG3200_LPF_10HZ // Use this only in extreme cases, rather change motors and/or props
Leider ist in der GUI keine Reaktion zu sehen, weder bewegt sich der virtuelle Copter, noch bewegen sich die Linien der Grafik.
Flightboard ist das MWC-Board von flyduino mit Arduino von flyduino. 3,3V Spannungsversorgung ist gegeben.
Zum Testen, ob Board und Arduino einwandfrei funktionieren, habe ich ein WM+/BMA020-Kombi behelfsmäßig angelötet und das Sketch entsprechend geändert.
Diese Kombi funzt im GUI einwandfrei, IMU wieder angelötet und Sketch geändert -> keine Reaktion.
Meine Vermutung also, die IMU hat einen weg.
Oder wie seht ihr das?
top, dann sollte das ja passen. hast du den lötjumper auf der unterseite gemacht um die i²c adresse festzulegen?muggel117 hat geschrieben:@Warthox, natürlich ist ein Regler mit Akku dran und die 5V-Leitung vom FTDI ist natürlich getrennt.
...und die 3,3Volt liegen natürlich auch an, unter "Last" gemessen, wie sich's gehört.
Yepp, so wie auf Deinem Bild zu sehen und 2k2 Pullupwiderstände sind auch drauf. Sind das auf Deinem Bild eigendlich wirklich 2k2? Auf dem Bild sieht's aus wie 348Ohm.warthox hat geschrieben: top, dann sollte das ja passen. hast du den lötjumper auf der unterseite gemacht um die i²c adresse festzulegen?
348 oder 34B bedeuten entweder 3,4 GOhm (34+8Nullen) oder 340 Ohm (34+10¹) beides nicht im richtigen Wertebereich (3,3 kOhm bis 10 kOhm)...muggel117 hat geschrieben: Yepp, so wie auf Deinem Bild zu sehen und 2k2 Pullupwiderstände sind auch drauf. Sind das auf Deinem Bild eigendlich wirklich 2k2? Auf dem Bild sieht's aus wie 348Ohm.
jop sind es.muggel117 hat geschrieben:Yepp, so wie auf Deinem Bild zu sehen und 2k2 Pullupwiderstände sind auch drauf. Sind das auf Deinem Bild eigendlich wirklich 2k2? Auf dem Bild sieht's aus wie 348Ohm.warthox hat geschrieben: top, dann sollte das ja passen. hast du den lötjumper auf der unterseite gemacht um die i²c adresse festzulegen?
Ach, btw wo Du einmal hier bist,warum der 42Hz Tiefpass, hattest Du eine Unwucht oder hatte das einen anderen Sinn?