Seite 749 von 1010
#11221 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 25.05.2012 16:43:48
von Feuerstein
Hallo Schachti,
dafür beim FPV das Teil vor die Kamera.......
schöne Pfingsten
Fred
#11222 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 25.05.2012 17:18:28
von Schachti
gute idee dann muss das ding aber auch TV empfangen dann kann ich beim fpv fliegen fernsehen

#11223 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 25.05.2012 18:11:11
von Michael Brakhage
Schachti hat geschrieben:leute ihr hab doch alle einen an der waffel !!
wer soll das logen den erkennen wen der copter fliegt

die telemetrieanzeige ist für mich nicht wirklich interessant.
aber zu jeder zeit ohne zusatzhardware wie lappi oder die multiwiiconfig-box mal eben das setup ändern können hat doch was oder nicht ?
vom gewicht merkst du es nicht.
ich finde das teil sowas von genial und will es nicht mehr missen.
#11224 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 25.05.2012 22:44:37
von Schachti
beim rum knallen merkt man jedes gramm
aber das teil is schon gut, ich pesönlich finde die bt handy geschichte besser, nur leider unterstüzt die app im moment nur die 2.0
#11225 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 27.05.2012 10:41:39
von frankyfly
*quatschgeschrieben*

#11226 Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 27.05.2012 10:57:26
von Luxar
Moin !
Hat jemand schon gute Erfahrungen mit der Return to Home Funktion und welche Werte für GPS pids habt ihr so ?
Gruß Ralf
#11227 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 27.05.2012 12:57:43
von Goldfussel
Hi,
Habe mein Gyro zum laufen bekommen. *freu
Nun bin ich der Wirkrichtung prüfen und habe schon mal festgestellt das Pitch ( Nick ) Falschrum geht.
Wo muss ich die Wirkrichtung für den WMP ändern damit ich die richtige Wirkrichtung bekomme.
Software habe ich die 2.0 drauf.
#11228 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 27.05.2012 13:17:53
von el-dentiste
Hi
Meinst du wirkrichtung vom Nick gyro ? Oder läuft nick falschrum?
Das erste änderst du in der Config.h unter: define gyro Direktion. Das andere bei der servo Umkehr im Sender.
Die gyro Linie von Nick sollte beim Copter nach hinten kippen nach unten ausschlagen!
Eigentlich braucht man die jedoch nicht zu ändern, wenn der wmp wie bei
www.multiwii.com ausgerichtet ist!
#11229 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 27.05.2012 13:21:08
von Goldfussel
Hi el-dentiste
Ich habe den Sensor über Kopf angeklebt deswegen muss ich die Sensor Richtung ändern, nur leider komme mit dem ganzen kram noch nicht so klar.
#11230 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 27.05.2012 13:57:28
von Goldfussel
el-dentiste hat geschrieben:Hi
Meinst du wirkrichtung vom Nick gyro ? Oder läuft nick falschrum?
Das erste änderst du in der Config.h unter: define gyro Direktion.
Die , define gyro Direktion , finde ich nicht.
habe jetzt unter Config.h
//****** end of advanced users settings ***********************************
/* ===================================================================== */
//if you want to change to orientation of individual sensor
//#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = Y; accADC[PITCH] = -X; accADC[YAW] = Z;}
//#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] = -X; gyroADC[YAW] = Z;}
//#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = X; magADC[PITCH] = Y; magADC[YAW] = Z;}
Den Gyro auf der x Achse geändert, leider ohne Erfolg.
#11231 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 27.05.2012 14:44:00
von ronco
Goldfussel hat geschrieben:el-dentiste hat geschrieben:Hi
Meinst du wirkrichtung vom Nick gyro ? Oder läuft nick falschrum?
Das erste änderst du in der Config.h unter: define gyro Direktion.
Die , define gyro Direktion , finde ich nicht.
habe jetzt unter Config.h
//****** end of advanced users settings ***********************************
/* ===================================================================== */
//if you want to change to orientation of individual sensor
//#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = Y; accADC[PITCH] = -X; accADC[YAW] = Z;}
//#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] = -X; gyroADC[YAW] = Z;}
//#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = X; magADC[PITCH] = Y; magADC[YAW] = Z;}
Den Gyro auf der x Achse geändert, leider ohne Erfolg.
Hi,
da die WMP etwas speziell ist gehen diese orientierungs sachen bei der nicht.. das geht nur mit normalen gyros.
wenn du mir aber sagst welche version du nehmen willst kann ich dir en code shnipsel machen mit dem du das drehen kannst.
gruß
felix
#11232 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 27.05.2012 15:20:21
von DUKE40
ronco hat geschrieben:wenn du mir aber sagst welche version du nehmen willst kann ich dir en code shnipsel machen mit dem du das drehen kannst.
Steht doch oben
Goldfussel hat geschrieben:Software habe ich die 2.0 drauf.
#11233 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 27.05.2012 15:47:14
von ronco
DUKE40 hat geschrieben:ronco hat geschrieben:wenn du mir aber sagst welche version du nehmen willst kann ich dir en code shnipsel machen mit dem du das drehen kannst.
Steht doch oben
Goldfussel hat geschrieben:Software habe ich die 2.0 drauf.
ok dann hätte ich mal genauer lesen sollen
naja hier der code ums zu drehen..
gehe in die Datei IMU.pde und ersetze die funktion computeIMU mit der hier:
Code: Alles auswählen
void computeIMU () {
uint8_t axis;
static int16_t gyroADCprevious[3] = {0,0,0};
int16_t gyroADCp[3];
int16_t gyroADCinter[3];
static uint32_t timeInterleave = 0;
//we separate the 2 situations because reading gyro values with a gyro only setup can be acchieved at a higher rate
//gyro+nunchuk: we must wait for a quite high delay betwwen 2 reads to get both WM+ and Nunchuk data. It works with 3ms
//gyro only: the delay to read 2 consecutive values can be reduced to only 0.65ms
if (!ACC && nunchuk) {
annexCode();
while((micros()-timeInterleave)<INTERLEAVING_DELAY) ; //interleaving delay between 2 consecutive reads
timeInterleave=micros();
WMP_getRawADC();
getEstimatedAttitude(); // computation time must last less than one interleaving delay
while((micros()-timeInterleave)<INTERLEAVING_DELAY) ; //interleaving delay between 2 consecutive reads
timeInterleave=micros();
while(WMP_getRawADC() != 1) ; // For this interleaving reading, we must have a gyro update at this point (less delay)
for (axis = 0; axis < 3; axis++) {
// empirical, we take a weighted value of the current and the previous values
// /4 is to average 4 values, note: overflow is not possible for WMP gyro here
gyroData[axis] = (gyroADC[axis]*3+gyroADCprevious[axis]+2)/4;
gyroADCprevious[axis] = gyroADC[axis];
}
} else {
#if ACC
ACC_getADC();
getEstimatedAttitude();
#endif
#if GYRO
Gyro_getADC();
#else
WMP_getRawADC();
static uint16_t WMP_tmpData[3];
for (axis = 0; axis < 3; axis++)
WMP_tmpData[axis] = gyroADC[axis];
/////////////////
gyroADC[ROLL] = WMP_tmpData[ROLL];
gyroADC[PITCH] = WMP_tmpData[PITCH];
gyroADC[YAW] = WMP_tmpData[YAW];
/////////////////
#endif
for (axis = 0; axis < 3; axis++)
gyroADCp[axis] = gyroADC[axis];
timeInterleave=micros();
annexCode();
if ((micros()-timeInterleave)>650) {
annex650_overrun_count++;
} else {
while((micros()-timeInterleave)<650) ; //empirical, interleaving delay between 2 consecutive reads
}
#if GYRO
Gyro_getADC();
#else
WMP_getRawADC();
#endif
for (axis = 0; axis < 3; axis++) {
gyroADCinter[axis] = gyroADC[axis]+gyroADCp[axis];
// empirical, we take a weighted value of the current and the previous values
gyroData[axis] = (gyroADCinter[axis]+gyroADCprevious[axis]+1)/3;
gyroADCprevious[axis] = gyroADCinter[axis]/2;
if (!ACC) accADC[axis]=0;
}
}
#if defined(GYRO_SMOOTHING)
static uint8_t Smoothing[3] = GYRO_SMOOTHING; // How much to smoothen with per axis
static int16_t gyroSmooth[3] = {0,0,0};
for (axis = 0; axis < 3; axis++) {
gyroData[axis] = (gyroSmooth[axis]*(Smoothing[axis]-1)+gyroData[axis]+1)/Smoothing[axis];
gyroSmooth[axis] = gyroData[axis];
}
#elif defined(TRI)
static int16_t gyroYawSmooth = 0;
gyroData[YAW] = (gyroYawSmooth*2+gyroData[YAW]+1)/3;
gyroYawSmooth = gyroData[YAW];
#endif
}
in der mitte der neuen computeIMU funktion findest du diesen teil:
Code: Alles auswählen
/////////////////
gyroADC[ROLL] = WMP_tmpData[ROLL];
gyroADC[PITCH] = WMP_tmpData[PITCH];
gyroADC[YAW] = WMP_tmpData[YAW];
/////////////////
wenn du jetzt z.B. pitch und roll tauschen wilst sähe das so aus:
Code: Alles auswählen
/////////////////
gyroADC[ROLL] = WMP_tmpData[PITCH];
gyroADC[PITCH] = WMP_tmpData[ROLL];
gyroADC[YAW] = WMP_tmpData[YAW];
/////////////////
wenn du z.B. pitch umderhen willst (+zu - und anderstrum) geht das einfach per *-1 also:
Code: Alles auswählen
gyroADC[ROLL] = WMP_tmpData[ROLL];
gyroADC[PITCH] = WMP_tmpData[PITCH]*-1;
gyroADC[YAW] = WMP_tmpData[YAW];
habs nicht gestestet .. müsste aber gehen
[edit]das geht so allerdings nicht mit WMP und nunchuck[/edit]
gruß
felix
#11234 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 27.05.2012 19:27:27
von Goldfussel
So, Fettes Danke an ronco
Nach dem wir Zwei das per Tele eingestellt haben ist nun der Erststart nicht mehr weit.
Habe jetzt noch die Steuerrichtung geprüft diese scheint auch roll Umstellung auch zu stimmen.
Liege ich richtig das als nächstes der Erststart mit Drimmung dran ist?
#11235 Re: Der WII-Copter ( Selbstbau-Projekt )
Verfasst: 27.05.2012 19:48:15
von ronco
jo würde ich sagen ..
hast du mal mit ein bischen gas in der hand getestet ob er sich in alle richtungen "wehrt" ?
gruß
felix