Seite 473 von 1010

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

Verfasst: 21.08.2011 20:02:56
von Hifly
Hallo Manfred,

..und das nennst Du Küchendienst???? :mrgreen:
Hab mich dann doch eben daran gemacht, die Neugierde....

Folgende Änderungen (als Kommentar mit vielen Sternchen):
In MultiWii1_8.pde:
neu (Reihenfolge geändert und eine neue Zeile):

Code: Alles auswählen

void setup() {
  LEDPIN_PINMODE
  POWERPIN_PINMODE
  BUZZERPIN_PINMODE
  STABLEPIN_PINMODE
  POWERPIN_OFF  
  configureReceiver(); //*****************nach oben gewandert
  delay(200); //************* neue Zeile
  initOutput();
  Serial.begin(SERIAL_COM_SPEED); //********************** nach unten gewandert
  readEEPROM();
  checkFirstTime();
  initSensors();
  previousTime = micros();
  #if defined(GIMBAL) || defined(FLYING_WING)
   calibratingA = 400;
  #endif
  calibratingG = 400;
  #if defined(POWERMETER)
    for(uint8_t i=0;i<=PMOTOR_SUM;i++)
      pMeter[i]=0;
  #endif
}
In output.pde:
alt:

Code: Alles auswählen

 void initOutput() {
 for(uint8_t i=0;i<NUMBER_MOTOR;i++)
    pinMode(PWM_PIN[i],OUTPUT);
  writeAllMotors(1000);
  delay(300);
ersetzen mit
neu:

Code: Alles auswählen

void initOutput() {
  for(uint8_t i=0;i<NUMBER_MOTOR;i++)
    pinMode(PWM_PIN[i],OUTPUT);
  for(int i=0;i<4;i++)    //computeRC will take the average of last four readings, initial value is set to 1500
    computeRC();
  if (MCUSR & 0x01) //If Power On Reset
  {
    if(rcData[THROTTLE] > MAXCHECK)
    {
      writeAllMotors(2000);
      delay(300);
      while(rcData[THROTTLE] > MAXCHECK)
        computeRC();
      writeAllMotors(MINCOMMAND);
      delay(300);
    }
  }
  else
  {
    writeAllMotors(MINCOMMAND);
    delay(300);
  } 
  MCUSR &= ~(0x01);
So klappt es bei mir.

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

Verfasst: 21.08.2011 20:13:17
von warthox
mal zur trimgeschichte.

den gyro muss man nicht kalibrieren. das passiert jedes mal beim akku anstecken.
den acc sollte man über das gui kalibrieren wenn der copter waagerecht steht.

wenn der copter im flug mit wmp only wegdriftet dann trimmt man am sender. wie bei einem flugzeug.
wenn der copter dann im stablemode wegdriftet dann trimmt man über den sender in der software direkt.
d.h. wenn er zb nach vorne driftet, landen, motoren aus, vollgas und dann mit nick nach hinten. jedes mal wenn man nick nach hinten nimmt blink die led kurz 2 mal. das ist dann ein trimmschritt.
das macht man solange bis er gerade schwebt.

ein copter der nur mit gyro oder mit gyro und acc fliegt bleibt nie ewig an einer stelle stehn.
er driftet einfach aufgrund von wind oder anderen einflüssen.

an einer stelle kann ein copter nur für längere zeit verweilen wenn man gps hat und dadurch position hold.



damit sich die regler automatisch beim akku anstecken einlernen muss man bei der fw 1.8 in 'output' ab zeile 81 vollgendes hinzufügen:

Code: Alles auswählen

void initOutput() {
  for(uint8_t i=0;i<NUMBER_MOTOR;i++)
    pinMode(PWM_PIN[i],OUTPUT);
  writeAllMotors(2000); <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  delay(3000); <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  writeAllMotors(1000);
  delay(300);
  #if defined(SERVO)
    initializeServo();
  #elif (NUMBER_MOTOR == 6) && defined(PROMINI)
    initializeSoftPWM();
  #endif
}
aber achtung. wenn man den akku ansteckt und sich dann die regler eingelernt haben sind sie ja scharf. wenn man nun zb den resetknopf drückt und dadurch die software neugestartet wird, wird die software wieder die regler veruschen einzulernen. da diese aber schon scharf sind gibt der copter nun 3sec vollgas!

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

Verfasst: 21.08.2011 20:21:09
von 135erHeli
Ahh jetzt weiss ich endlich wie ich den BMA Trimmen kann super erklärung danke :)

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

Verfasst: 21.08.2011 20:27:14
von 135erHeli
Noch ne Frage wenn ich Akku wechsel mache kann ich die Motoren nicht starten,weil die LED Dauerhaft blink.Wenn ich jetzt aber den BMA Aktivier und den Copter Schräghalte gibt es ne Postition wo die LED erlischt ich dann den Copter Scharf stellen kann und mit Deaktivierten BMA fliegen kann,wie man den BMA trimmt weiss ich ja erst seit jetzt,aber das mit dem Schräghalten nervt doch.

Und ja ich haben den ACC Kalibriert und Write gedrückt.

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

Verfasst: 21.08.2011 20:58:46
von Hifly
Die einfachere SW-Änderung ist natürlich die von warthox, aber man muss bei jedem Start drei Sekunden (!!!!!) extra warten während der Kalibrierung. Da könnte man ja schon längst fliegen.... :mrgreen: :mrgreen: :mrgreen:
warthox hat geschrieben:aber achtung. wenn man den akku ansteckt und sich dann die regler eingelernt haben sind sie ja scharf. wenn man nun zb den resetknopf drückt und dadurch die software neugestartet wird, wird die software wieder die regler veruschen einzulernen. da diese aber schon scharf sind gibt der copter nun 3sec vollgas!
Das kann verhindert werden, wenn man Deinen Code wie folgt ergänzt:

Code: Alles auswählen

 void initOutput() {
  for(uint8_t i=0;i<NUMBER_MOTOR;i++)
    pinMode(PWM_PIN[i],OUTPUT);
  if (MCUSR & 0x01) { //If Power On Reset
     writeAllMotors(2000); 
     delay(3000); 
     MCUSR &= ~(0x01);
  }
  writeAllMotors(1000);
  delay(300);
...
...
Damit wird eine Abfrage gemacht, ob es sich um einen Power-On-Reset handelt.

Edit: im code die letzte geschweifte Klammer durch Punkte ersetzt

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

Verfasst: 21.08.2011 21:14:16
von rex2010
Abend,

ich habe heute meine Tricopter um einen Sensor erweitert den HMC5883L Magnetometer dann habe ich ihn in der GUI kalibriert und ihn um jede Achse gedreht.
Die Werte vom WMP und BMA020 laufen aller auf einer Linie aber der vom Magnetometer nicht woran kann das ligen?
Magneto.jpg
Magneto.jpg (147.13 KiB) 833 mal betrachtet

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

Verfasst: 21.08.2011 21:26:10
von dynai
hi, die mag linien von mir laufen auch nicht schnurgerade macht aber nix ist normal



gruß Chris

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

Verfasst: 21.08.2011 21:56:44
von Zuse
Warthox schrieb:
den gyro muss man nicht kalibrieren. das passiert jedes mal beim akku anstecken.
Ja, ja, das ist wohl so... bei MEINEM Aufbau / WMP / xxx sind aber die Pausen offenbar zu knapp, so dass ich jedesmal NOCH EINMAL händisch kalibrieren musste.

Manfred

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

Verfasst: 21.08.2011 22:01:10
von yacco
Mmh, das Problem, das die automatische Kalibrierung am Anfang falsche Werte ergab, hatte ich auch schon, die 100 ms Pause zum Initialisieren des I2C ist wohl bei einigen WMPs zu kurz.

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

Verfasst: 21.08.2011 22:08:33
von bennyheizer
Hab heute meine Quadro auch zum fliegen gebracht.

Nur hab ich folgende Probleme:
1. Gieren geht sehr langsam
2. Gieren nach rechts verursacht ein richtig heftiges Absaufen nach hinten rechts
3. Fliegen mit aktiviertem ACC (Nunchuck) hat ein starkes pendeln auf der Nickachse zu Folge

Könnt ihr mir weiter helfen? Software 1.8

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

Verfasst: 21.08.2011 22:12:41
von dynai
Hi benny,

yaw rate erhöhen
und level P verringern :)

gruß Chris

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

Verfasst: 21.08.2011 22:21:17
von bennyheizer
dynai hat geschrieben:Hi benny,

yaw rate erhöhen
und level P verringern :)

gruß Chris
Danke,

Yaw Rate auf 0,31 erhöht,
Level P auf 7 verringert.

Gibts irgendwo ne dokumentation für die GUI? Deutsch wäre von Vorteil

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

Verfasst: 21.08.2011 22:33:10
von dynai

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

Verfasst: 21.08.2011 23:04:23
von bennyheizer
das ist sehr hilfreich.
morgen wird wieder getestet....

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

Verfasst: 21.08.2011 23:08:43
von warthox
wenn man den akku ansteckt darf sich der copter nicht bewegen. wenn man nur nen wmp hat ist es egal in welcher lage sich der copter befindet aber eben nicht bewegen. ich leg in zb meist aufn kopf.
wenn man noch einen acc hat sollte man den akku anstecken wenn der copter rel. waagerecht ist.