Der WII-Copter ( Selbstbau-Projekt )

speedy
Beiträge: 9028
Registriert: 22.10.2004 10:45:57
Wohnort: Stuttgart
Kontaktdaten:

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

Beitrag von speedy »

Mataschke hat geschrieben:Prinzipiell ne Virtuelle TS Drehung
Und das kannst du in deiner Funke nicht programmieren ? Also einfach 2 Modelle und das eine drehst halt mit irgendwelchen Mischern oder so.


MFG
speedy
Benutzeravatar
Mataschke
Beiträge: 10112
Registriert: 29.11.2004 12:37:50
Wohnort: irgendwo im Nirgendwo

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

Beitrag von Mataschke »

speedy hat geschrieben:Also einfach 2 Modelle und das eine drehst halt mit irgendwelchen Mischern oder so.
und dann?

ich brauch die Berechung der Sensoren um 45° gedreht sonst wird das nix ;-)
grüße Michael
----------------------------------------------------------



Flying is the best fun you can have - with your pants on :mrgreen:

T8FG mit SpeckDrumm MOD/ T9CP,MCPx @T8FG SpeckDrumm,TT Mini Titan FBL ,GAUI EP200 FBL,
TREX 500 FBL, suche Sponsor für MicroBeast Test ....
Status: Rundflug mit Kunstflugeinlagen manchmal Tic und weniger Toc

Besucht uns auf HeliChat.de - Von Helipiloten für Helipiloten
speedy
Beiträge: 9028
Registriert: 22.10.2004 10:45:57
Wohnort: Stuttgart
Kontaktdaten:

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

Beitrag von speedy »

Mataschke hat geschrieben:ich brauch die Berechung der Sensoren um 45° gedreht sonst wird das nix
Ach - du bekommst das sicher auch ohne dem hin. ;)

Die Umschaltung der Berechnung der Sensoren sollte man doch mit nem zusätzlichen "Schalter" im Code hinbekommen ? So nach dem Motto "Wenn + oder achHeuteMalPlus dann mach Berechnung +"


MFG
speedy
Benutzeravatar
Mataschke
Beiträge: 10112
Registriert: 29.11.2004 12:37:50
Wohnort: irgendwo im Nirgendwo

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

Beitrag von Mataschke »

speedy hat geschrieben:dann mach Berechnung +"
:joker: you made my day :mrgreen:
grüße Michael
----------------------------------------------------------



Flying is the best fun you can have - with your pants on :mrgreen:

T8FG mit SpeckDrumm MOD/ T9CP,MCPx @T8FG SpeckDrumm,TT Mini Titan FBL ,GAUI EP200 FBL,
TREX 500 FBL, suche Sponsor für MicroBeast Test ....
Status: Rundflug mit Kunstflugeinlagen manchmal Tic und weniger Toc

Besucht uns auf HeliChat.de - Von Helipiloten für Helipiloten
Benutzeravatar
crashspeed
Beiträge: 97
Registriert: 06.09.2006 22:19:55
Wohnort: Taunusstein
Kontaktdaten:

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

Beitrag von crashspeed »

Hi Chris,

der Nunchuk wird gar nicht erst erkannt. Die Leitungen habe ich durchgeklingelt. Die Brücke ist auch vorhanden und Kurzschlüsse kann ich auch ausschließen.
Habe zwar die Platine durchgesägt aber er lief ja danach. Kann man irgendwie nachmessen ob der Sensor überhaupt arbeitet , wenn Spannung am Nunchuk anliegt ?

Gruß Marcel
Gruß Marcel
speedy
Beiträge: 9028
Registriert: 22.10.2004 10:45:57
Wohnort: Stuttgart
Kontaktdaten:

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

Beitrag von speedy »

Mataschke hat geschrieben:
speedy hat geschrieben:dann mach Berechnung +"
:joker: you made my day :mrgreen:
Freut mich.

Und jetzt willst mir sicherlich noch erklären warum ?


Wenn ich mir den Code (MultiWiiV1_5.pde) so anschaue, dann sehe ich für die Berechnung nur an einer Stelle eine Unterscheidung:

Code: Alles auswählen

  if (armed ) {
    #ifdef BI
      motor[0] = 1500 + rcCommand[THROTTLE] + axisPID[PITCH]; //REAR
      motor[1] = 1500 + rcCommand[THROTTLE] - axisPID[PITCH]; //FRONT
    #endif
    #ifdef TRI
      motor[0] = 1500 + rcCommand[THROTTLE] + axisPID[PITCH]*4/3 ; //REAR
      motor[1] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL] - axisPID[PITCH]*2/3 ; //RIGHT
      motor[2] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL] - axisPID[PITCH]*2/3 ; //LEFT
    #endif
    #ifdef QUADP
      motor[0] = 1500 + rcCommand[THROTTLE] + axisPID[PITCH] - axisPID[YAW]; //REAR
      motor[1] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL]  + axisPID[YAW]; //RIGHT
      motor[2] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL]  + axisPID[YAW]; //LEFT
      motor[3] = 1500 + rcCommand[THROTTLE] - axisPID[PITCH] - axisPID[YAW]; //FRONT
    #endif
    #ifdef QUADX
      motor[0] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL] + axisPID[PITCH] - axisPID[YAW]; //REAR_R
      motor[1] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL] - axisPID[PITCH] + axisPID[YAW]; //FRONT_R
      motor[2] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL] + axisPID[PITCH] + axisPID[YAW]; //REAR_L
      motor[3] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL] - axisPID[PITCH] - axisPID[YAW]; //FRONT_L
    #endif
    #ifdef Y6
      motor[0] = 1500 + rcCommand[THROTTLE]                 + axisPID[PITCH]*4/3 + axisPID[YAW]; //REAR
      motor[1] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL] - axisPID[PITCH]*2/3 - axisPID[YAW]; //RIGHT
      motor[2] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL] - axisPID[PITCH]*2/3 - axisPID[YAW]; //LEFT
      motor[3] = 1500 + rcCommand[THROTTLE]                 + axisPID[PITCH]*4/3 - axisPID[YAW]; //UNDER_REAR
      motor[4] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL] - axisPID[PITCH]*2/3 + axisPID[YAW]; //UNDER_RIGHT
      motor[5] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL] - axisPID[PITCH]*2/3 + axisPID[YAW]; //UNDER_LEFT
    #endif
    #ifdef HEX6
      motor[0] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL]/2 + axisPID[PITCH]/2 + axisPID[YAW]; //REAR_R
      motor[1] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL]/2 - axisPID[PITCH]/2 - axisPID[YAW]; //FRONT_R
      motor[2] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL]/2 + axisPID[PITCH]/2 + axisPID[YAW]; //REAR_L
      motor[3] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL]/2 - axisPID[PITCH]/2 - axisPID[YAW]; //FRONT_L
      motor[4] = 1500 + rcCommand[THROTTLE]                   - axisPID[PITCH]   + axisPID[YAW]; //FRONT
      motor[5] = 1500 + rcCommand[THROTTLE]                   + axisPID[PITCH]   - axisPID[YAW]; //REAR
    #endif
  }
Und was spricht jetzt dagegen, aus den ganzen ifdef's folgendes zu machen:

Code: Alles auswählen

  if (armed ) {
    #if defined(BI)
      motor[0] = 1500 + rcCommand[THROTTLE] + axisPID[PITCH]; //REAR
      motor[1] = 1500 + rcCommand[THROTTLE] - axisPID[PITCH]; //FRONT
   #elif defined(TRI)
      motor[0] = 1500 + rcCommand[THROTTLE] + axisPID[PITCH]*4/3 ; //REAR
      motor[1] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL] - axisPID[PITCH]*2/3 ; //RIGHT
      motor[2] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL] - axisPID[PITCH]*2/3 ; //LEFT
    #elif defined(QUADP) || defined(heuteMalPlus)
      motor[0] = 1500 + rcCommand[THROTTLE] + axisPID[PITCH] - axisPID[YAW]; //REAR
      motor[1] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL]  + axisPID[YAW]; //RIGHT
      motor[2] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL]  + axisPID[YAW]; //LEFT
      motor[3] = 1500 + rcCommand[THROTTLE] - axisPID[PITCH] - axisPID[YAW]; //FRONT
    #elif defined(QUADX) && !defined(heuteMalPlus)
      motor[0] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL] + axisPID[PITCH] - axisPID[YAW]; //REAR_R
      motor[1] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL] - axisPID[PITCH] + axisPID[YAW]; //FRONT_R
      motor[2] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL] + axisPID[PITCH] + axisPID[YAW]; //REAR_L
      motor[3] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL] - axisPID[PITCH] - axisPID[YAW]; //FRONT_L
    #elif defined(Y6)
      motor[0] = 1500 + rcCommand[THROTTLE]                 + axisPID[PITCH]*4/3 + axisPID[YAW]; //REAR
      motor[1] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL] - axisPID[PITCH]*2/3 - axisPID[YAW]; //RIGHT
      motor[2] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL] - axisPID[PITCH]*2/3 - axisPID[YAW]; //LEFT
      motor[3] = 1500 + rcCommand[THROTTLE]                 + axisPID[PITCH]*4/3 - axisPID[YAW]; //UNDER_REAR
      motor[4] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL] - axisPID[PITCH]*2/3 + axisPID[YAW]; //UNDER_RIGHT
      motor[5] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL] - axisPID[PITCH]*2/3 + axisPID[YAW]; //UNDER_LEFT
    #elif defined(HEX6)
      motor[0] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL]/2 + axisPID[PITCH]/2 + axisPID[YAW]; //REAR_R
      motor[1] = 1500 + rcCommand[THROTTLE] - axisPID[ROLL]/2 - axisPID[PITCH]/2 - axisPID[YAW]; //FRONT_R
      motor[2] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL]/2 + axisPID[PITCH]/2 + axisPID[YAW]; //REAR_L
      motor[3] = 1500 + rcCommand[THROTTLE] + axisPID[ROLL]/2 - axisPID[PITCH]/2 - axisPID[YAW]; //FRONT_L
      motor[4] = 1500 + rcCommand[THROTTLE]                   - axisPID[PITCH]   + axisPID[YAW]; //FRONT
      motor[5] = 1500 + rcCommand[THROTTLE]                   + axisPID[PITCH]   - axisPID[YAW]; //REAR
    #endif
  }

MFG
speedy
Benutzeravatar
ChristophB
Beiträge: 190
Registriert: 19.12.2010 19:43:15

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

Beitrag von ChristophB »

Wäre dann eine virtuelle Taumelscheibendrehung nicht einfacher? Die Sensoren wirken dann weiterhin auf die korrekten Achsen den MWC wie gehabt. Nur du steuerst um 45 Grad versetzt. Ich glaube aber dann schmeißt du den öfter in den Dreck da sich das Gehirn immer an der falschen Ausrichtung orientiert.

Gruß Christoph
MX22 (2G4 Spektrum)
Logo 500 3D VStabi 5.2
Logo 600SE Mini-VStabi Blueline 5.2
Raptor 50V2 Elektro mit Retrostange
HK500GT Microbeast FBL selbstumbau
HK450Pro-TT Microbeast FBL selbstumbau
Blade mSR, mCPx
MultiWiiCopter X
MicroWiiCopter X
uvm.
Benutzeravatar
Crizz
Beiträge: 27061
Registriert: 12.04.2007 17:44:22
Wohnort: Haiger
Kontaktdaten:

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

Beitrag von Crizz »

@Marcel : das kann ich dir so nicht sagen. Ich hab mir extra einen Arduino, WMP und NK samt Empfänger "auf Halde" gelegt, damit ich jederzeit alle Komponenten prüfen kann, wenn mal was ist. So hab ich auch gleich Ersatz greifbar. Kostet ja nicht die Hölle, das Zeug. Und man hat schnell raus, ob die Hardware was hat, oder es an der Verkabelung liegt. Nei einfachere Idee hab ich aktuell leider für dich nicht parat, sorry.
_________________________________________________________________________________
"Leben ist das, was passiert, während du etwas ganz anderes planst" ... ( John Lennon )

! REVOLECTRIX-Distributor ! -> Ladeequipment / Akkus : -> HaDi-RC.de

Alle Projektberichte für den VTH-Verlag als PDF zum Download unter http://www.CrizzD.de !
Benutzeravatar
Mataschke
Beiträge: 10112
Registriert: 29.11.2004 12:37:50
Wohnort: irgendwo im Nirgendwo

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

Beitrag von Mataschke »

ChristophB hat geschrieben: Nur du steuerst um 45 Grad versetzt. Ich glaube aber dann schmeißt du den öfter in den Dreck da sich das Gehirn immer an der falschen Ausrichtung orientiert.
Nenene ,

es geht mir ja lediglich um das mechanische Problem der Sensoren dass die eben nicht 90° in FLugrichtung sind .... also muss ich ihm im Sketch die Drehung mitteilen ...
grüße Michael
----------------------------------------------------------



Flying is the best fun you can have - with your pants on :mrgreen:

T8FG mit SpeckDrumm MOD/ T9CP,MCPx @T8FG SpeckDrumm,TT Mini Titan FBL ,GAUI EP200 FBL,
TREX 500 FBL, suche Sponsor für MicroBeast Test ....
Status: Rundflug mit Kunstflugeinlagen manchmal Tic und weniger Toc

Besucht uns auf HeliChat.de - Von Helipiloten für Helipiloten
speedy
Beiträge: 9028
Registriert: 22.10.2004 10:45:57
Wohnort: Stuttgart
Kontaktdaten:

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

Beitrag von speedy »

Mataschke hat geschrieben:es geht mir ja lediglich um das mechanische Problem
aso - na aber das muß man doch auch rausrechnen können ? - halt immer "plus 45 Grad" ... oder du baust ne drehbare Elektronikplatine. :)


MFG
speedy
Benutzeravatar
crashspeed
Beiträge: 97
Registriert: 06.09.2006 22:19:55
Wohnort: Taunusstein
Kontaktdaten:

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

Beitrag von crashspeed »

Yeap , Vielen Dank Chris,

werde sehen das ich mir auch ein paar Ersatzteile hinlege!

Bis hoffentlich bald bei besseren Temperaturen...
Gruß Marcel
Benutzeravatar
Michael Brakhage
Beiträge: 450
Registriert: 22.01.2011 19:46:29
Wohnort: 32689 Kalletal

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

Beitrag von Michael Brakhage »

Hallo

bin neu hier im Forum, lese aber schon sehr lange mit.

Ich habe bereits einen tricopter und bin jetzt eben mit dem quadrocopter fertig geworden.
hat jemand erfahrung mit den roxxy820 bl reglern? die habe ich nämlich verbaut weil grade nichts anderes lieferbar war.

der quadro zeigt ein seltsames verhalten. ich muss noch minthrottle im sketch anpassen, weil die motore bei scharfschalten nicht starten. kommen die regler mit dem standartwert von 4 auf p nicht klar? ich habe schonmal von usern gelesen welche den roxxy720 mit einem p wert von 1.4 fliegen. ist ja sehr niedrig.

kann mir da jemand helfen?
daaaanke
--
Gruß Michael
Benutzeravatar
yacco
Beiträge: 4728
Registriert: 15.02.2009 19:27:59
Wohnort: Aßlar

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

Beitrag von yacco »

@Michael und andere, das ganze ist doch nichts anderes als eine Drehung der Nick und Roll Kanäle (2. EDIT) um die Yaw-Achse, also

Code: Alles auswählen

roll  = rcHysteresis[ROLL]  - 1500;
pitch = rcHysteresis[PITCH] - 1500;

rcHysteresis[ROLL]  =  cos(alpha) * roll + sin(alpha) * pitch + 1500;
rcHysteresis[PITCH] = -sin(alpha) * roll + cos(alpha) * pitch + 1500;
Mir fällt gerade auf, dass es doch einen Unterschied zwischen der QuadP und QuadX Konfiguration gibt: in der QuadX Variante gehen die axisPID Werte von ROLL und PITCH viel stärker in die Berechnung ein als in der QuadP Variante. Sprich, der QuadX müßte auf Roll und Nick eigentlich etwas aggressiver sein. Nach der Formel oben müßte der Code eigentlich so aussehen:

Code: Alles auswählen

    #elif defined(QUADX)
      motor[0] = 1500 + rcCommand[THROTTLE] - 0.707 * (axisPID[ROLL] + axisPID[PITCH]) - axisPID[YAW]; //REAR_R
      motor[1] = 1500 + rcCommand[THROTTLE] - 0.707 * (axisPID[ROLL] - axisPID[PITCH]) + axisPID[YAW]; //FRONT_R
      motor[2] = 1500 + rcCommand[THROTTLE] + 0.707 * (axisPID[ROLL] + axisPID[PITCH]) + axisPID[YAW]; //REAR_L
      motor[3] = 1500 + rcCommand[THROTTLE] + 0.707 * (axisPID[ROLL] - axisPID[PITCH]) - axisPID[YAW]; //FRONT_L
Seid ihr noch bei mir? :mrgreen:
Zuletzt geändert von yacco am 01.02.2011 22:20:48, insgesamt 4-mal geändert.
Ciao, Arnd
Benutzeravatar
Mataschke
Beiträge: 10112
Registriert: 29.11.2004 12:37:50
Wohnort: irgendwo im Nirgendwo

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

Beitrag von Mataschke »

ich bin immer bei dir wenn du Code Hackst ;-)

aber verstehen ich will ... :oops:
grüße Michael
----------------------------------------------------------



Flying is the best fun you can have - with your pants on :mrgreen:

T8FG mit SpeckDrumm MOD/ T9CP,MCPx @T8FG SpeckDrumm,TT Mini Titan FBL ,GAUI EP200 FBL,
TREX 500 FBL, suche Sponsor für MicroBeast Test ....
Status: Rundflug mit Kunstflugeinlagen manchmal Tic und weniger Toc

Besucht uns auf HeliChat.de - Von Helipiloten für Helipiloten
Benutzeravatar
Maik262
Beiträge: 2906
Registriert: 14.03.2008 20:50:28

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

Beitrag von Maik262 »

yacco hat geschrieben:Seid ihr noch bei mir? :mrgreen:
Jou Batman :shock:

Ich suche mir jez mal nen Strick, denn:

Code: Alles auswählen

#elif defined(keineSorgen)
Strick + Aufhängen = Sorgenfrei; //einfachste Problemlösung
Verbrennerheli auf Türkisch: Dröner Hebab
*mehr Mühe beim Tippen geben muss* © by Bastiuscha
"Schonmal im Porsche von einer Biertheke überholt worden? Dann war es wohl ein 190 2.5-16 Evo II"

Mini Titan E325SE Helifleet.com
Raptor E600 KM-SE Helifleet.com
Antworten

Zurück zu „Allgemeines“