Seite 69 von 1010

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

Verfasst: 05.01.2011 11:40:36
von yacco
Steffen, wenn man die MWC-Software etwas umstrickt, könnte man noch ein paar Ausgabepins freischaufeln und an denen dann LEDs als Positionslichter betreiben. Die Codeänderungen müßte man dann aber bei jedem SW-Update nachziehen. Ausserdem kann ein Ausgang ohne Transistorschaltung maximal eine LED ansteuern. Ein einfaches Beleuchtungsmodul wie das von Hobbyking ist sicher die bessere Lösung.

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

Verfasst: 05.01.2011 11:43:14
von calli
Apropos Regler: Die piepen bei mir nur Wild wenn ich versuche sie über das Arduino Board einzulernen. Was habe ich gemacht:

- PID alles auf NULL
- #define MAXTHROTTLE 2001 (habe auch 2100 probiert)
- #define MOTOR_STOP
- Vin (BEC von einem Regler) vom Board getrennt
- Board per USB versorgt, YAW rechts zum starten, jetzt kann ich Throttle von 1000 bis 2000 mit dem Stick abfahren
- Akku angesteckt -> Regler piepsen wie wild anstatt in den Progmodus zu gehen? WARUM?
- Wenn ich jetzt Throttle auf 0% mache initialisieren die Regler.

Irgendwo reicht der Weg nicht aber ich sehe nicht wieso.

Carsten

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

Verfasst: 05.01.2011 12:33:07
von trailblazer
Max. throttle sollte afaik nur so um die 1850-1900 sein. Die 1000-2000 (µs) sind eigentlich nur für den Weg gedacht, den das Arduino entgegennimmt.
Ich hab meine Regler "klassisch" alle einzeln direkt am Empfänger eingelernt.
Dazu habe ich im Gui Menü geguckt bei welchen Servowegen (an der Funke) ich im Ardu ca. auf 1070-1850 komme (also etwas niedriger bzw. höher als man es nachher wieder einstellt).
Dann hab ich jeden Regler einzeln direkt eingelernt (ohne das Ardu)

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

Verfasst: 05.01.2011 12:38:52
von dynai
hier noch das versprochene video vom frame im flug



und auch meine derzeitigen gui werte

achja @calli... selbes bild bei mir.. am arduino mit bekomm ich meine roxxys auch nicht in in den prog mode... ich werd heut mal schaun ob ich mit meim arduino uno rausfinden kann bei welchen werten die regler anfangen in den prog modus zu gehen...

gruß Chris

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

Verfasst: 05.01.2011 12:47:07
von calli
trailblazer hat geschrieben:Max. throttle sollte afaik nur so um die 1850-1900 sein
Das habe ich doch auch nur zum einlernen der Regler gemacht. :shock:

Carsten

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

Verfasst: 05.01.2011 12:57:35
von calli
dynai hat geschrieben:hier noch das versprochene video vom frame im flug
Na, das sieht doch super aus. Ich trau mich nur noch nicht raus ;-) Zu kalt.

C!

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

Verfasst: 05.01.2011 13:05:26
von Hifly
Andre,
die Regler sollen doch auf 1000 - 2000 eingelernt werden. Daher doch die Initialisierung in initilizeMotors(). Diese funktioniert aber nur mit Reglern, die sich automatisch kalibrieren, also ohne dass Gas auf voll gestellt wird beim Anschalten. Habe mal eine kleine Routine "gebaut", die alle Regler gleichzeitig auf 1000- 2000 kalibriert, wenn man den Gashebel auf voll stellt beim Einschalten. Kann ich heute abend mal posten, wenn Interesse besteht. Funktioniert auf jeden Fall mit meinen Hobbywing Pentium Reglern und habe noch keine negativen Auswirkungen festgestellt.
Copter fliegt zwar insgesamt noch nicht zufriedenstellend, aber das Kalibrieren der Regler funktioneirt wenigstens. :wink:

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

Verfasst: 05.01.2011 13:11:42
von calli
Das

Code: Alles auswählen

  writeAllMotors(2000); //max motor command is maintained for 100ms at the initialization
  delay(100); //it's a way to calibrate the ESCs
werd ich mal rausnehmen, brauchen meine Regler nicht und ich finde es schrecklich wenn beim Init des Boards von der GUI aus die Motore kurz anlaufen.

Deine Routine ist aber sehr von Interesse!

Man sieht wie schwierig es wird alle Hardware in der Software zu berücksichtigen. Entweder man pflegt seinen eigenen Branch dann muss man immer die Änderungen vom offiziellen einbauen oder man nimmt "kompatible" Hardware. Ich werde eher ersteres machen, ich will das ja zum basteln haben.

Carsten

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

Verfasst: 05.01.2011 14:24:46
von Hifly
Mache ich heute Abend.
Sind nur ein paar Zeilen, die Abfragen, ob THROTTLE größer als MAXTHROTTLE beim Hochlaufen ist, wenn ja, dann wird 2000 an alle Motoren ausgegeben bis THROTTLE reduziert wird (damit man auf die 2 Piepser warten kann). Anschließend wird 1000 für eine kurze Dauer ausgegeben .
Außerdem muss noch die Initialisierungsreihenfolge geändert werden, da sonst zu spät abgefragt wird.

Interessanterweise ist das selbe Thema auch gerade im rcgroups Forum aufgetaucht.

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

Verfasst: 05.01.2011 14:37:03
von trailblazer
Ich weiss nicht, ob ich da jetzt nen Denkfehler habe, aber:

das #define MAXCOMMAND 1850 begrenzt die maximale Impulslänge am jewiligen Reglerausgang auf diesen Wert. Etwas höheres kommt am Regler im Betrieb nie an! Warum also soll ich im meine Regler mit 2000 einlernen? Falls der Regler linear von unten bis oben stellt, dann verschenke ich "oben" doch etwas (also der Regler geht nie auf 100%) ?!
Die 1000-2000 gelten nur von der Funke bis zum Arduino (für ideale Auflösung)

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

Verfasst: 05.01.2011 14:39:31
von calli
trailblazer hat geschrieben:Ich weiss nicht, ob ich da jetzt nen Denkfehler habe, aber:
Ich denke du denkst richtig ;-) Ich wagte es nur nicht bei rcgroups und beim Programmierer das mal auf den Tisch zu bringen ;-) nicht das es doch noch irgendwo einen versteckten Sinn hat (Regelungstechnik habe ich immer nur so grade bestanden ;-))

Was ich mir denken könnte aber noch nicht belegen kann anhand des Source ist das MAXTHROTTLE das ist was der "Mensch" maximal geben kann damit noch Luft ist für die Regelung, also wenn man vollthrottle gibt nach oben und jetzt eine Störung---> Regelung ist inaktiv.

Ich denke der Code ist ab Zeile 1580.

Code: Alles auswählen

maxMotor=motor[0];
  for(i=1;i< NUMBER_MOTOR;i++)
    if (motor[i]>maxMotor) maxMotor=motor[i];
  for (i = 0; i < NUMBER_MOTOR; i++) {
    if (maxMotor > MAXTHROTTLE) // this is a way to still have good gyro corrections if at least one motor reaches its max.
      motor[i] -= maxMotor - MAXTHROTTLE;
    motor[i] = constrain(motor[i], MINTHROTTLE, MAXTHROTTLE);
    if ((rcData[THROTTLE]) < MINCHECK)
      #ifndef MOTOR_STOP
        motor[i] = MINTHROTTLE;
      #else
        motor[i] = MINCOMMAND;
      #endif
    if (armed == 0)
      motor[i] = MINCOMMAND;
Auf den ersten(!) Blick würde ich sagen er macht es hier falsch. constraint() kappt ja auf MAXTHROTTLE? Ich kapier aber nicht warum maxMotor immer der 0-te Motor ist und auf den alles bezogen wird, das "motor -= maxMotor - MAXTHROTTLE;" versteh ich auch nicht. Für Motor[0] wird das doch negativ?!

IMHO sollte eine Regelung immer maximale Kontrolle über das Teil haben.

Carsten

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

Verfasst: 05.01.2011 15:02:01
von trailblazer
Das ist ein kleiner Trick! Falls die Regelung einen Motor über die 1850ms ansteuern will (was ja nicht geht), regelt er die anderen einfach dementsprechend runter :) Dadurch bricht der Quad bei Vollgas nicht aus, d.h. die Stabilisierung funktioniert weiterhin. Ich musste auch erst kurz überlegen, aber so macht es für mich Sinn.

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

Verfasst: 05.01.2011 15:22:26
von calli
Ah ja! Jetzt seh ich es auch.

Also müsste man doch MAXTHROTTLE doch auf 2000 setzen können?

Carsten

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

Verfasst: 05.01.2011 15:23:51
von trailblazer
Probiers aus und berichte :mrgreen: :mrgreen: :mrgreen: :mrgreen:

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

Verfasst: 05.01.2011 15:27:44
von kay23
Öghm, ich habe mir das mal angeschaut. Wenn man auf throttle max geht kommt man auf 1850 (oder so) wenn man dann noch schub gibt geht der motor aber och einmal höher. Ich denke darum ist maxthrottel begrenzt!