Der WII-Copter ( Selbstbau-Projekt )

Feuerstein
Beiträge: 51
Registriert: 12.06.2009 20:57:43

#11221 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag von Feuerstein »

Hallo Schachti,

dafür beim FPV das Teil vor die Kamera....... ;-)

schöne Pfingsten
Fred
Benutzeravatar
Schachti
Beiträge: 1232
Registriert: 30.05.2010 18:03:17
Wohnort: Berlin
Kontaktdaten:

#11222 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag von Schachti »

gute idee dann muss das ding aber auch TV empfangen dann kann ich beim fpv fliegen fernsehen :shock:
BildBild
Benutzeravatar
Michael Brakhage
Beiträge: 450
Registriert: 22.01.2011 19:46:29
Wohnort: 32689 Kalletal

#11223 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag 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 :mrgreen:

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.
--
Gruß Michael
Benutzeravatar
Schachti
Beiträge: 1232
Registriert: 30.05.2010 18:03:17
Wohnort: Berlin
Kontaktdaten:

#11224 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag 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
BildBild
Benutzeravatar
frankyfly
Beiträge: 12239
Registriert: 09.07.2006 20:47:03

#11225 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag von frankyfly »

*quatschgeschrieben* :oops:
Benutzeravatar
Luxar
Beiträge: 104
Registriert: 27.09.2011 21:12:04
Wohnort: Cuxland

#11226 Der WII-Copter ( Selbstbau-Projekt )

Beitrag 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
Gruß Ralf
Benutzeravatar
Goldfussel
Beiträge: 1337
Registriert: 28.10.2006 00:54:01
Wohnort: Wettenberg

#11227 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag 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.
Gruß Fussel
----------------------------------------------
Diabaolo - E700
Futaba T14 / IISI
Haetbox : -> HaDi-RC.de
Benutzeravatar
el-dentiste
Beiträge: 4526
Registriert: 15.07.2005 20:11:39
Wohnort: Erde

#11228 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag 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!
...Zahnfee....
Benutzeravatar
Goldfussel
Beiträge: 1337
Registriert: 28.10.2006 00:54:01
Wohnort: Wettenberg

#11229 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag 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.
Gruß Fussel
----------------------------------------------
Diabaolo - E700
Futaba T14 / IISI
Haetbox : -> HaDi-RC.de
Benutzeravatar
Goldfussel
Beiträge: 1337
Registriert: 28.10.2006 00:54:01
Wohnort: Wettenberg

#11230 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag 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.
Gruß Fussel
----------------------------------------------
Diabaolo - E700
Futaba T14 / IISI
Haetbox : -> HaDi-RC.de
ronco
Beiträge: 282
Registriert: 19.11.2011 16:13:42

#11231 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag 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
Benutzeravatar
DUKE40
Beiträge: 1119
Registriert: 04.07.2009 10:58:14
Wohnort: Karben
Kontaktdaten:

#11232 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag 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.
Liebe Grüße von Bild aka Jean-Gabriel
Meine Helis: http://www.helifleet.com/DUKE40
FPV Spacewalk Quadrocopter, T-Motor MT2216-11, Flyduino SimonK 20A ESC, AutoQuad 6.0 DIMU, 11x5" mit SJ4000
CamCruiser FPV KlappQuad, T-Motor MT3510-15, ESC32 v2, AutoQuad 6.0 DIMU, 12x4" mit SimpleBGC Gimbal und GoPro Hero 3 Black Edition
Hexa-Spider, Flyduino Micro Titan 2204, KISS ESC, AutoQuad M4,6x2", Fatshark 600TVL, Fatshark 25mW, 7ch 5.8GHz, FatShark PredatorV2
Eyefly Scout, Eyefly 1306 3100kv Motoren, Eyefly Hammer 20A ESCs, Flip32 mit Minim OSD, Fatshark 600TVL, FT951 25mW, RC808, 7" Monitor
NanoQuad, T-Motor MT1306, Flyduino 7A - BLHELI ESC , NanoWii, 5x3"
Graupner/SJ MX-20 HoTT
Robbe AirBull, Pichler Delta Rocket, diverse andere Quadrocopter
Ladeequipment / Heatbox : -> HaDi-RC.de
DMFV Zusatzversichert IV
ronco
Beiträge: 282
Registriert: 19.11.2011 16:13:42

#11233 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag 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
Benutzeravatar
Goldfussel
Beiträge: 1337
Registriert: 28.10.2006 00:54:01
Wohnort: Wettenberg

#11234 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag 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?
Gruß Fussel
----------------------------------------------
Diabaolo - E700
Futaba T14 / IISI
Haetbox : -> HaDi-RC.de
ronco
Beiträge: 282
Registriert: 19.11.2011 16:13:42

#11235 Re: Der WII-Copter ( Selbstbau-Projekt )

Beitrag 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
Antworten

Zurück zu „Allgemeines“