PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tricopter mit Koax



Willa
01.11.2008, 16:48
.

News:
Dieser Tricopter existiert in der hier vorgestellten Form nicht mehr. Stattdessen wurde die Platine für eine deutlich verbesserte Tricopter - Version verwendet. Informationen dazu gibt es hier:
Roboternetz Tricopter Thread (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=44744&postdays=0&postorder=asc&start=0)

Hi!
Ich möchte hier kurz mein aktuelles Projekt vorstellen. Es wird (hoffentlich....!) ein Tricopter mit 4 Propellern. Ein Propellerpaar ist als Koax ausgelegt um kein Drehmoment um die Hochachse zu haben. Warum? Tja... weiß ich auch nicht... Schließlich kosten die Zahnräder mehr als ein Motor incl. Regler. Also wäre ein Quadrocopter eigentlich günstiger und einfacher zu bauen. Aber ich will nun gerne einen Tricopter ohne Drehmoment um die Hochachse zusammenfrickeln....
Mit viel Hilfe aus dem Forum habe ich die Gyros zum laufen bekommen. Einen ganz kurzen Probeflug in meiner Hand gab es auch schon. Daraus lernte ich:
- P-Regler alleine wird garantiert nicht funktionieren (Tricopter schwingt sich fürchterlich auf)
- Motoren laufen relativ unruhig. Das PPM Signal aus dem Empfänger ist zu stark verrauscht, da muss ich noch was ändern (was?)
- Es ist noch EINIGES zu tun!

Ich habe mir ein sehr praktisches Debug-tool programmiert. Es zeigt die Knüppelpositionen, Servo-Sollwerte, Gyrosignale etc. real time an.

Bilder sind immer angenehmer als Worte...:

http://www.villalachouette.de/william/krims/tricopter/1.jpg
der Koax-Ausleger, noch ohne Gier-Servo

http://www.villalachouette.de/william/krims/tricopter/2.jpg
Tricopter aus Aluprofilen und Flugzeugsperrholz. Das Ganze ist noch ziemlich zerrümpelt, noch sind keine Kabel etc. sauber verlegt. Der Reiz alles mal schnell zusammen zu stecken und auszuprobieren war einfach zu groß...!)

http://www.villalachouette.de/william/krims/tricopter/3.jpg
Die Platine

http://www.villalachouette.de/william/krims/tricopter/1a.jpg
Schubkurve vom Koax vs. Einzelwelle

http://www.villalachouette.de/william/krims/tricopter/1b.jpg
Ein schön linearer Zusammenhang zwischen Sollwerten und Schubwerten von Koax & Einzelwelle

http://www.villalachouette.de/william/krims/tricopter/1c.jpg
Die Effizienz des Koax ist aber geringer

Hier ist schließlich noch ein Screencapture Video meiner Software. Funktioniert schon ganz gut (im Gegensatz zum Tricopter):
http://www.villalachouette.de/william/krims/tricopter/tricopdebug.wmv (5MB, .wmv)

Daten werden per RS232 Kabel übertragen. Dafür braucht der µC natürlich auch etwas Zeit, meine Regelalgorithmus wird dadurch nicht besser.....
Über Feedback oder Fragen freue ich mich natürlich!
William

MSN
01.11.2008, 17:44
sieht super aus. in welcher sprache is dein debug tool?

HannoHupmann
01.11.2008, 18:40
Hast du die Motoren sauber entstört? Damit kann man schon einiges erreichen. Ansonsten würde ich versuchen eine Regelung so aufzubauen, dass die Drehzahl in den Regler mit einfliesst.

Die Regelung kann man auch dezentral aufbauen, dann kannst du die Totzeiten minimieren.

Willa
01.11.2008, 23:33
@MSN: Danke, mein Tool ist in VB.NET programmiert. Schön einfach... Genau wie mein Tricopter (BASCOM).
@HannoHupmann: Wie kann ich meine Motoren entstören? Ich kenne das Problem nur aus den "alten" Modellbauzeiten, bei denen konventionelle Brushed-Motoren ordentlich Störungen erzeugten. Ich dachte das Problem gäbe es nicht mehr in der Weise bei Brushless Motoren. Meine Sendersignale schwanken leider auch wenn die Motoren garn nicht angeschlossen sind... Trotzdem sollte ich die Motoren evtl. sicherheitshalber entstören?

Eine dezentrale Regelung ist sicherlich sehr interessant. Wie kann ich mir das vorstellen? Jeder Motor kriegt bspw. einen ATtiny, der dann das Gyro Signal mit dem Soll-Signal verrechnet? Irgendwie muss das ganze dann aber doch einen zentralen Punkt haben, denn den der linke und der rechte Motor teilen sich ja z.B. ein Gyrosignal...


Ansonsten würde ich versuchen eine Regelung so aufzubauen, dass die Drehzahl in den Regler mit einfliesst
wie meinst du das? Meines Wissens nach gibt so ein Brushless-Regler eine mehr oder weniger feste Drehzahl vor, nicht so wie bei konventionellen DC-Motoren. Demnach ist die aktuelle Drehzahl ~= die Soll-Drehzahl.

HannoHupmann
02.11.2008, 10:59
@Willa, ok bei Brushless weis ich es nicht so genau, aber ich hätte es jetzt einfachmal versuch mit der klassischen Lösung (hier aber besser nochmal recherchieren ob es so geht). Ansonsten muss man eine Filterelektronik aufbauen.
Was du beschrieben hast klingt so na parasitären Effekten die durch eine unsaubere Signaltrennung entstehen können. Grundsätzlich sollte die Leistungsmasse nicht direkt mit der Logikmasse verbunden werden.

Für Störungen mit dem Sender können auch Leiterschleifen und ähnliches verantwortlich sein. Die HF Entstörung ist ein bischen komplizierteres Gebiet. Wie das auf der Rückseite deiner Lochrasterplatinen aussieht seh ich nicht, aber es klingt alles so als wenn sich hier Signale überlagern die eigentlich sauber getrennt werden müssen.

So wie du es schon richtig erkannt hast, jeder Motor regelt sich selbst, bzw. bekommt eine Intelligenz die die Regelung übernimmt. Je näher der Regler am Motor ist, desto weniger Signalverluste gibt es auf der Leitung. Vermutlich sind deine Störungen auf die Lochrasterplatinen zurück zu führen. Daher braucht es wahrscheinlich keine dezentrale Regelung.

Das Problem bei Motoren ist immer, dass man eine Spannung anlegt und dann hofft daraus eine Drehzahl zu bekommen. Diese ist mehr oder minder proportional zu Spannung. Da Motoren fertigungsbedingt unterschiedlich sind, kommt bei z.B. 12V nicht immer die gleiche Drehzahl raus (Roboter die auf dem Boden fahren, haben dann einen links oder recht drift). Bei den BL Motoren ist es nicht anders.
Was mir aber gerade auffällt ist, dass dich nicht die Drehzahl sondern nur der Schub der Motoren interessiert, der Sensor dafür sind die Gyros. Wenn du für zwei Motoren ein Gyro verwendest, brauchst du aber trotzdem zwei Regler, den jeder Motor reagiert anders auf das Sensorsignal. Hier vielleicht nochmal anpassen.

Dein Regler muss natürlich entsprechen schnell und fein arbeiten (gerade bei Flugzeugen sind Totzeiten unbrauchbar). Der P Regler reicht nicht, das hast du schon erkannt, daher würde ich einen versuchen einen PID-Regler aufzubauen. Damit lassen sich Überschwinger eigentlich recht gut erschlagen.

BastelWastel
02.11.2008, 13:39
Vllt ist es noch zu früh für mein Hirn oder der Kaffee zeigt noch keine Wirkung..

Du hast auf einerm der 3 Ausleger ein Propellerpaar als koax, damit ist das Drehmoment das auf den Copter wirkt von da aus 0..
Das bedeutet gleichzeitig dass die anderen beiden auch gegenläufig sein müßen..soweit so gut, aber wie steuerst du Gier, also Drehung um die Hochachse?
Dazu müßtest du eine Drehrichtung langsamer machen bzw. um nicht an höhe zu verlieren die andere schneller?
Bei 3 Auslegern hast du doch dann gleichzeitig einen Nick & Roll?

Willa
02.11.2008, 14:17
Der Kaffe war wohl Coffeinfrei ;-D. Der Heckausleger wird mit einem Servo gedreht, das habe ich aber noch nicht eingebaut. Sicherlich lässt sich aber nicht ganz verhindern dass der Copter auch leicht giert wenn ich Roll steuere. Die Propeller sind so angeordnet dass er nach links gieren würde wenn ich nach links rolle. Kann ja nicht schaden. Oder falls doch mische ich das einfach raus.

Bei mir geht es übrigens grad in großen Schritten voran! Ich habe mal den Regeltakt bzw. den Programmtakt gemessen. Wenn Daten per RS232 an das Debugtool gesendet werden ist mein Regeltakt 23.25 Hz "schnell". Wenn ich keinerlei Daten per UART versende, dann ist der Regeltakt 609.75 Hz schnell. Das kann sich doch sehen lassen. Zwischenzeitlich habe ich auch einen D-Anteil programmiert.
Die ersten Flugversuche habe ich auch eben gemacht! Mein Tricopter liegt nahezu wie ein Brett in der Luft, man könnte ihn wahrscheinlich kurzzeitig loslassen. Wenn man den Tricopter versucht mit der Hand zu verdrehen ist das sehr schwer, es wird hart gegengesteuert. Der Copter schwingt sich nun auch nicht mehr auf (liegt hauptsächlich an dem nun viel höheren Regeltakt). Ob das Teil nun so fliegbar ist kann ich noch nicht sagen, ich habe auch noch gar keinen passenden Lipo. Außerdem muss ja noch das Heckservo angebastelt werden. Und wahrscheinlich ist meine Regelung auch noch gar nicht so toll wie sie mir im Moment vorkommt.

@Hanno

Grundsätzlich sollte die Leistungsmasse nicht direkt mit der Logikmasse verbunden werden
Wie kann ich das verhindern? Wahrscheinlich irgendwas mit Widerständen und Kondensatoren, oder...? Aber wie?


Wie das auf der Rückseite deiner Lochrasterplatinen aussieht seh ich nicht,
DAS zeig ich auch lieber niemandem.... Ich habe aber drauf geachtet dass die Leitung vom Empfänger in den µC sehr kurz ist. Dafür sind viele andere Leitungen unnötig lang.

Das Problem bei Motoren ist immer, dass man eine Spannung anlegt und dann hofft daraus eine Drehzahl zu bekommen.
Die Brushlessregler in meinen Helikoptern arbeiten im Regler Modus. D.h. man gibt tatsächlich eine Drehzahl vor und die wird gehalten egal was passiert. So ein Regler (JAZZ 40-6-18) kostet aber auch genau 20 mal so viel wie ein Regler in meinem Tricopter...

BastelWastel
02.11.2008, 14:54
Dann nehm ich alles zurück und behaupte das gegenteil.. ;)
*mir noch nen Kaffee hol*

Willa
02.11.2008, 15:10
Höhö :-D Ich hab mir auch eben mit nem Kaffee Mut angetrunken und meinen Tricopter 2 sekunden lang im Schwebeflug losgelassen...! Und er ist kaum weggedriftet :-D ! Im Schwebeflug ziehen die Motoren 14A, nicht grad wenig... Da werde ich mir wohl nen 2800mAh Lipo holen um ca. 10 min Schweben bzw. 8 min Fliegen zu können.

Willa
03.11.2008, 22:34
http://www.villalachouette.de/william/krims/tricopter/fliegt.jpg

Goil! Bin eben ca. 20 sekunden in meinem Zimmer geflogen (länger will ich meinen Nachbarn um diese Uhrzeit nicht mehr zumuten)!!! Der Tricopter fliegt sich anscheinend wie ein konventioneller Heli (ich fliege seit ca. 12 Jahren Modellheli). Für den ersten Einstellversuch doch gar nicht schlecht! Allerdings war ich nur ca. 10-20cm hoch, also musste der Tricopter sicherlich auch mit dem Bodeneffekt kämpfen. Die Hecksteuerung scheint ganz gut zu funktionieren. Allerdings habe ich die Gyroverstärkung (P und D anteil) hier ca. 10 mal so hoch wie auf den anderen Achsen. Nur so zeigt sich eine ordentlich starke Kompensation von Gierbewegungen. Die Steuerempfindlichkeiten haben auch fast auf Anhieb gepasst :-D . Jetzt muss ich mal rausgehen und testen ob die Einstellung auch für andere Sachen als Schwebeflug in 10cm Höhe passt. Bin sehr gespannt.......
Normalerweise verziere ich meine Beiträge immer gerne mit Videos, allerdings habe ich meine Videokamera in Hamburg vergessen... Ich reiche aber "Beweisvideos" nach!

HannoHupmann
03.11.2008, 23:50
@Willa erst mal Glückwunsch, da sieht man wieder was ordentliche Regelparamter alles ausmachen.

Aber noch kurz ein Wort zur Leistungsmasse und Logikmasse. Man braucht keine Widerstände und keine Kondensatoren, es sollte beim Layout einfach darauf geachtet werden: Leistungsmassen sehr groß und dick und möglichst nur an einer Stelle nahe der Quelle mit der Logikmasse verbunden. Dadurch erspart man sich, dass Rückwirkungen der Leistungsmasse (eben vom Motor) auf die Logik überschwappen. Gerade bei 14A kann es leicht passieren, dass die der Leistungs GND nicht mehr 0V hat sondern bischen drüber oder drunter liegt, schlicht er ist nicht konstant. Liegt er jetzt bei ~2V oder so, dann wirds für nen µC schon eng zu erkennen ob das jetzt +5V oder 0V sind. Grundsätzlich sind auch GND Leiterschleifen zu vermeiden, immer schön Sternförmig verlegen oder nochmal nen zweiten Stern basteln.

MeckPommER
04.11.2008, 11:37
@Willa

Glückwunsch!

<sing>Wir wollen Wideo, äh, wir wollen Video :-D</sing>

Gleich die richtigen Werte für den PID-Regler zu finden ... na ja, man kann ja nicht immer nur Pech haben ;-) Aber man bekommt schon recht schnell ein Gefühl dafür, wo es etwas zu justieren gibt.

Noch nen Pfund 100nF-Kondensatoren auf die Platine werfen und ... noch nen kleinen Tipp: mein Quadkopter funktionierte ganz prächtig, allerdings haben die Motoren bzw. deren Störungen bewirkt, das die Reichweite meiner Funke (kein 08/15-Teil) nurnoch 50m war. Mit ausgeschalteten Motoren waren es hunderte von Metern. Also lieber auch Reichweiten-Tests machen, bevor der Kopter Löcher ins Beet knabbert.

Gruß MeckPommER

Willa
04.11.2008, 11:56
Leistungsmassen sehr groß und dick und möglichst nur an einer Stelle nahe der Quelle mit der Logikmasse verbunden. Dadurch erspart man sich, dass Rückwirkungen der Leistungsmasse (eben vom Motor) auf die Logik überschwappen.
Danke für den Tipp, ich werde mal genauer nachschauen und gucken was ich ändern kann.


Noch nen Pfund 100nF-Kondensatoren auf die Platine werfen und ... noch nen kleinen Tipp: mein Quadkopter funktionierte ganz prächtig, allerdings haben die Motoren bzw. deren Störungen bewirkt, das die Reichweite meiner Funke (kein 08/15-Teil) nurnoch 50m war.
Wie und wo schließe ich denn die Kondensatoren an.......? Gibt es da ne Faustregel? Und was machen die dann...? Mit der Reichweite des Empfängers hab ich auch ein bisschen Angst... Mein Failsave funktioniert noch nicht, das muss auf jeden Fall zuverlässig ansprechen bevor ich fliegen gehe... Solange das noch nicht geht halte ich auch ein bisschen Abstand zum Tricopter.
Ich versuche mal heute abend ein Video mit meiner Handy-Kamera zu schießen.... Grausame Qualität aber was solls.

HannoHupmann
04.11.2008, 12:05
@Willa die 100nF schaltet man immer zwischen GND und Vcc. Meistens bekommt jedes IC so einen Abblockkondensator und alles was irgendwie viel Strom braucht auch. Also in deinem Fall vor jedem Sensor und jedem µC.

BastelWastel
04.11.2008, 12:08
Dicken Glueckwunsch auch von mir :D
Bin schon auf bewegtes Bild gespannt ;)

Willa
04.11.2008, 13:01
Also in deinem Fall vor jedem Sensor und jedem µC.
Vor dem Empfänger und dem Servo auch...? Ja, oder?
@all: danke für die Glückwünsche :-D
Früher oder später sollte ich mir die Grundlagen der Elektronik vielleicht doch mal aneignen... Das würde euch viel Arbeit ersparen. Ich werde mich mal nach einem gut lesbaren (= im Urlaub am Strand lesbar, höhö) Grundlagenbuch umhören...

Willa
04.11.2008, 19:34
www.villalachouette.de/william/krims/tricopter/2ndflight.avi
hier ein Handyvideo vom zweiten Flug meines Tricopters. Etwas wackelig am Anfang, ganz stabil ist es noch nicht, aber ich hab schon ne Idee was ich ändern könnte.

EDIT: Oh mann.... Ich habe einen Tippfehler in der Software entdeckt... Dieser Flug ist OHNE D-Regler Anteil. Nur der P-Anteil wird verwendet... Dafür ist der Flug doch relativ stabil :-D

sloti
04.11.2008, 20:31
EDIT: Oh mann.... Ich habe einen Tippfehler in der Software entdeckt... Dieser Flug ist OHNE D-Regler Anteil. Nur der P-Anteil wird verwendet... Dafür ist der Flug doch relativ stabil :-D

Hehe, das sind immer noch die besten Fehler, die man machen kann...solange es danach besser funktioniert ;). Sieht doch aber schon gut aus.

mfg
Erik

Willa
04.11.2008, 23:05
Hmmm, ich habe da noch ein Problem mit dem D-Anteil... Meine Regelung läuft mit ca. 500 Hz. Ich messe zum Zeitpunkt t die Winkelgeschwindigkeit (w). Anschließend messe ich zum Zeitpunkt t+1 erneut die Winkelgeschwindigkeit.

w_t - w_t1 = delta_w <--Das ist mein D-Anteil

Da aber die Messfrequenz so hoch ist (500Hz), ist der Unterschied zwischen w_t und w_t1 minimal bis nicht messbar (angeblich haben die Gyros eine Messrate von 50Hz). Wenn ich jetzt bspw. delta_w mit dem Faktor 50 multipliziere kommt zwar für den D-Anteil was raus, aber das Signal ist natürlich extrem verrauscht...
Wie umgehe ich dieses Problem? Sollte ich evtl nicht jeden Zyklus messen sondern z.B. nur jeden 10. Zyklus? Hat jemand einen Tipp?

MeckPommER
05.11.2008, 11:03
Hi,

das Flugverhalten sieht ja schon sehr gut aus für den Anfang! Mit dem D-Anteil sollte man sowieso recht vorsichtig sein, da er halt generell sensorbedingt verrauscht ist.
Äh ... sag mal ... du fliegst also nur mit D-Anteil? Nicht auch mit I-Anteil? Gerade der I-Anteils ists ja, der dir eine ruhige Fluglage beschert.

Was die Auswertung deines D-Anteils angeht ... *kopfkratz* ... das mit dem nur jeden 10. Zyklus messen wäre schonmal ne Idee, was Schlaueres fällt mir dazu auch grade nicht ein. Alles besser, als entweder keinen oder einen 50-Fach hochgejubelten Wert zu benutzen.

Gruß MeckPommER

Willa
05.11.2008, 11:28
Hi Meckpommer,
im moment flieg ich nur mit P, das Ziel ist ein PD regler. Den I Anteil kann ich nicht so ohne weiteres verwenden. Jedenfalls sind das die Infos die ich bisher aufgeschnappt habe. Gyros haben einen nicht unerheblichen Drift, die Integration des P anteils liefert also keine zuverlässigen Werte für die absolute Lage im Raum. Wertet man zusätzlich einen Beschleunigungssensor aus (der weiß fast immer wo unten ist) und verrechnet die Signale irgendwie (das Stichwort Kalman-Filter taucht hier vermehrt auf) kann man angeblich einen I Anteil realisieren. Das ist für mich aber noch Zukunftsmusik...

Socke
05.11.2008, 12:18
Hallo Willa,
ich würde bei der Winkelgeschwindigkeit den Mittelwert über 10 Werte bilden und daraus dann einen Messwert machen. Dann bist Du auch bei 50 Hz und nicht mehr so verrauscht.
Gruß Socke

MeckPommER
05.11.2008, 12:58
@Socke: wenn die verrauschten Messungen nur alle 10 Auswertungen vom Gyro aktualisiert werden, dann wird es mit dem Mittelwert nicht besser, oder? Das Rauschen entsteht ja in der Erfassung im Gyro selbst und nicht in der Übertragung des Signals zum µC.

@Willa: deine Informationen sind sooo nicht ganz richtig. Das mit der Drift ist Tatsache, da hast du recht, und der Kalman-Filter ist der neue Heilige Gral der Quadflieger, aber:
Bis vor einiger Zeit sind die Kopter alle mit normalen PID-Reglern geflogen und grade der I-Anteil macht die Flieger erst steuerbar. Du kannst dir, was den Drift angeht, damit behelfen, das du den I-Anteil immer ganz wenig gegen Null führst. Damit kannst du deinen Flieger zwar nicht stundenlang in der Waagerechten halten, aber Hauptzweck des Reglers ist ja grade das schnelle Korrigieren kleiner Abweichungen und das wirst du ohne I-Anteil nicht hinbekommen. Im Gegenteil: D-Anteil ohne I-Anteil wird dir deinen Kopter noch unfliegbarer machen weil er dann leichter ins Schwanken kommt.
Das du das Teil ohne I-Anteil überhaupt in die Luft bekommst, ist nur deiner Erfahrung als Helipilot zu verdanken, dafür höchsten fliegerischen Respekt! Mit I-Anteil kann das sogar meine Omi neben Stricken und Musikantenstadl :-)

Versuchs einfach mal mit dem I-Anteil, du wirst positiv überrascht sein.

Gruß MeckPommER

Willa
05.11.2008, 13:32
Hallo Meckpommer,
ich beschäftige mich erst seit sehr kurzem mit Regelungstechnik, mein Wissen stamm fast ausschließlich von hier:
https://www.roboternetz.de/wissen/index.php/Regelungstechnik#Die_Regelstrecke


aber Hauptzweck des Reglers ist ja grade das schnelle Korrigieren kleiner Abweichungen und das wirst du ohne I-Anteil nicht hinbekommen

Ich dachte, dass das I-Glied nur zur Korrektur der bleibenden Regelabweichung dient. Das D-Glied dient m.M. nach dem schnellen Gegensteuern, quasi schon bevor sich eine Abweichung einstellt. Den I-Anteil würde ich - so dachte ich mir - als Pilot einfach selbst in die Hand nehmen. Ich werde das ganze aber mal versuchen. Grad der Trick mit dem "gegen null führen" sollte die Problematik entschärfen.

MeckPommER
05.11.2008, 14:02
Der P-Anteil bist du mit deiner Steuerung.
Der I-Anteil ist die summierte Abweichung, also der zentrale Teil deiner Stabilisierung mit hoher Gewichtung. Warum, wieso und weshalb und wohin ausgeglichen werden soll, macht die Steuerung am I-Anteil fest.
Der D-Anteil soll "nur" die Regelungsgeschwindigkeit erhöhen. Er verstärkt das Gyrosignal mathematisch um den gemächlichen I-Anteil etwas auf die Sprünge zu helfen. Hier gilt es, wirklich vorsichtig den Regelungsanteil zu erhöhen. Kopter mit zu hohem D-Anteil findet man zumeist platt an der Wand ;-)

Wenn du bisher nur mit P-Anteil geflogen bist, hättest du deine Gyros auch ausbauen können :)

Mein Wissen über Regelungstechnik ist ... öhm ... sehr fundiert *hüstel* und besteht aus jahrelangem Studium irgendwann in den letzten beiden Wochen ^^ Mein Kopter von vor 2 Jahren war zwar selbstgebaut, aber die Elektronik war nicht von mir erdacht und programmiert. Hatte nur da Gelegenheit mich mit den Reglerwerten und deren Auswirkungen experimentell zu befassen.

Gruß MeckPommER

jeffrey
05.11.2008, 14:37
hi,
also der io-anteil it schon hauptsächlich gegen die bleibende regelabweichung. allrdings denke ich, dass du da was mit drift und i-anteil durcheinender bringst. der drift ist dann ein problem, wenn du die winkelgeschwindigkeit aufintegrierst, um die winkellage zu erhalten. beim i-anteil integrierst du aber den reglefehler auf, und nicht den gyro messwert.
noch was zur abtastung. wenn dein sensor nur 50hz kann, ist es nicht sinnvoll ihn mit 500hz abzutasten, auch nicht dann den mittelwert zu bilden. eine möglichkeit wäre mit 50hz ab zutasten, und den messwert trotzdem filtern. z.b. gleitender mittelwert.
mfg jeffrey

Willa
05.11.2008, 15:41
Jetzt bin ich ziemlich verwirrt.... Ich dachte eigentlich ich hätte das nötige verstanden.
Ich schreibe jetzt hier mal meinen Wissensstand auf. Bitte korrigiert mich:
(Zitate aus dem RN-Wiki Regelungstechnik)

P-Glied: Der proportionalwirkende Regler multipliziert die Regelabweichung mit seinem Verstärkungsfaktor Kp und gibt das Ergebnis unverzögert weiter.
Sollwert: Winkelgeschw. = 0
Istwert: Direktes Gyrosignal
Regelabweichung= Direktes Gyrosignal - 0


I-Glied: Der integralwirkende Regler summiert die Regelabweichung über der Zeit auf und multipliziert die Summe (d.h. das Integral) mit dem Faktor Ki
Sollwert: Winkel = 0
Istwert: Summe aller bisherigen Gyrosignale
Regelabweichung= Summe aller bisherigen Gyrosignale - 0


D-Glied: Der D-Anteil bewertet die Änderung einer Regelabweichung (er differenziert) und berechnet so deren Änderungsgeschwindigkeit.
Sollwert: Winkelbeschleunigung = 0
Istwert: Gyrosignal(t=n) - Gyrosignal(t=n-1)
Regelabweichung = Istwert - 0

Wer liegt nun falsch...?


edit: Ich habe nochmal weiter recherchiert, auch das engl. Wikipedia versteht das so wie ich (oder ich verstehe beides falsch :-D ):

previous_error = 0
integral = 0
start:
error = setpoint - actual_position
integral = integral + error*dt
derivative = (error - previous_error)/dt
output = Kp*error + Ki*integral + Kd*derivative
previous_error = error
wait(dt)
goto start

jeffrey
05.11.2008, 17:08
hoi,
ich weiß jetzt gerade gar nicht, was du auf 0 regeln willst, den winkel, oder die winkelgeschwindigkeit. und der sollwert ist ja nicht immer 0.
mfg jeffrey

Willa
05.11.2008, 17:42
Ich möchte gerne die Winkelgeschwindigkeit, die Winkelbeschleunigung und den Winkel auf 0 regeln. Im Idealfall also Schweben auf einer Stelle (das wird kaum klappen, ist aber erstrebenswert).

MeckPommER
06.11.2008, 11:46
moin,

ich glaube, ich habe mich etwas schlecht ausgedrückt. Über den P-Anteil nimmst du den direktesten Einflus auf das Regelungsergebnis.

Es gibt so Sachverhalte, über die man sich am mit viel Papier, Bleistift und Bier unterhält ;-)

Achso ... hier kurz nachgeschoben, meine "3. Achse": http://www.youtube.com/watch?v=2o7_eyq9nG8
Der D-Anteil ist ausgeschaltet um nicht zu hektisch zu werden. Die dadurch bedingte langsamere Einregelung ist beabsichtigt.

1hdsquad
06.11.2008, 13:19
Schoenes Video, gut gemacht...

Willa
06.11.2008, 17:27
@Meckpommer: Sieht stark aus dein MArvin :-D
@1hdsquad: Danke sehr, hoffentlich wirds noch besser....

Ich habe jetzt mal probeweise einen I-Anteil einprogrammiert, der automatisch langsam gegen null läuft. Werde ich mit Glück heute Abend noch ausprobieren können. Mal schauen ob das was bringt, logisch klingt es ja schonmal...

1hdsquad
06.11.2008, 23:33
Um ehrlich zu sein meinte ich Meckpommers Video, ich habe nur kurz in diesen Thread geschaut und nicht ueberlegt dass es eigentlich nicht um den Hexabot ging. Dein Video habe ich jetzt erst gesehen, aber hier gilt das gleiche: Schicke "Wespe"hast du da gebaut ;)
Ich warte auf das naechste Video!

Willa
09.11.2008, 17:47
Mit dem I-Anteil bin ich noch nicht wirklich weiter gekommen, der läuft mir immer noch weg nach einiger Zeit. Sieht allerdings vielversprechend aus, am Anfang steht der Copter ohne Probleme in der Luft.

Ich komme grad von den ersten 2 Outdoorflügen zurück. Fliegt sich echt gut, wird fast ein bisschen langweilig. Vielleicht sollte ich doch noch einen Quadro mit Verstellprops basteln. Damit kann man mehr machen. Aber erstmal möchte ich das Schweben noch mehr stabilisieren. Die LED-Beleuchtung hilft ziemlich gut um den Copter bei Dunkelheit noch einigermaßen zu erkennen.

http://www.villalachouette.de/william/krims/tricopter/tri1.jpg
http://www.villalachouette.de/william/krims/tricopter/tri2.jpg

goara
11.11.2008, 19:10
hui... hab den Thread erst gerade entdeckt...

erst mal glückwunsch, das sieht doch für den anfang ganz gut aus..
hab da viel länger gebracuht bis der so halbwegs stillstand.

wegen deiner regelstrecke, was hast du denn für ne abtsastrate? sieht aus wie wenn es ein wneig zu langsam wäre, alternativ speil mal mit dem D-anteil rum..

dürfte ich den code mal sehen ;)

grüße

goran

EDIT:

noch was, ist mir gerade iengefallen, wie willst du denn jawen ??
dazu musst du ja die drehzahl z.b. links erhöhen rechts senken, dann kippt der copter aber. musst warscheinlich doch 2 seperate Motoren für den koax verwenden befürchte ich, mir fällt zumindest grade nichts bessere ein (ausser du machst den koax kippbar oder noch nen zusätzliches masserad drauf.

Willa
11.11.2008, 21:57
Goran, hatte dir sogar ne PM geschickt zu diesem Thread. Nur deinetwegen und wegen dem TT-Copter habe ich überhaupt erst die Motivation bekommen sowas selber anzugehen. Die Abtastrate, hmmm... Mein main loop läuft mit ca. 500 Hz. Allerdings können die Gyros (ENC 03R) angeblich nur 50 Hz, die Regler sind nicht modifizierte Modellbauregler mit theoretischen 50Hz. Die bekommen ihre Signale allerdings mit ca. 200 Hz. Für Yaw hab ich ein Servo am Heck der den ganzen Koax dreht. Den Code darfst du gerne sehen, allerdings ist der irgendwie 3 mal so lang wie deiner..... Ich muss öfter mal was als single ausrechnen, danach aber wieder zu nem Word runden. Und dafür muss ich wohl jedesmal ne neue Variable deklarieren...? Najo, zum normalen Rundflug ist es bei weitem stabilisiert genug, ich versuche das nochmal mit nem I anteil für den Schwebeflug so wie Meckpommer das vorgeschlagen hat. Aber meine Freizeit ist leider mehr als knapp....

goara
12.11.2008, 18:23
@ Willa..

hmm habe keine bekommen :( is wohl von Dr. Schäuble stibitzt worden)
Schick mir mal den code, dann schau ich mir den mal an..
welche Regler hast du denn ?? die kann man teilweise recht einfach umprogrammieren. 50 Hz sollten aber eigentlich reichen..

Willa
13.11.2008, 08:27
@goran: Kann es sein dass dein PN-Posteingang voll ist...? An den Reglern (TowerPro irgendwas) liegt es glaube ich nicht, denn der TT-Copter fliegt mit den gleichen Reglern und den gleichen Motoren. Und es sieht so aus als hätte der einen stabileren Schwebeflug.
Gestern war ich nochmal draußen und habe den Copter durch die Gegend gescheucht. Ab Montag habe ich meine Videokamera wieder dann mache ich maln hübscheres Video. Dazu muss es aber auch aufhören zu regnen...

1hdsquad
13.11.2008, 09:05
Ich habe mal ein Video von einem wasserdichten Quadrocopter gesehen, der konnte schwimmen und fliegen. Vielleicht waere das was? ;)

Pr0gm4n
13.11.2008, 09:21
Hi,

das mit dem wasserdichten teil hört sich echt ganz interressant an, könntest du für uns/mich nochmal schaun ob du es nochmal findest?

wär cool danke xD

naja, eigentlich garnicht soooo schwer, unten schwimmer dran, dann alle elektronik und motoren in ein gehäuse mit rein und dann über gut abgedichtete wellen nach draußen führen, mal schauen :)

aber wenn ich sowas bauen würde, dann wär ich wieder nich zufrieden, weil man die rotoren nich abknicken kann und dann aufm wasser kaum speed kriegt xDD

LG Pr0gm4n


ps: offtopic: iss es eig. dann auch möglich nen normalen heli mit top und heckrotor nen autopiloten zu bauen?

HannoHupmann
13.11.2008, 10:03
@Willa, wo hast du den deine Sensoren her, ich meine die Gyros und Beschleunigungssensoren?

Willa
13.11.2008, 13:15
iss es eig. dann auch möglich nen normalen heli mit top und heckrotor nen autopiloten zu bauen?
Ja, es gibt auch schon auf rc-movie.de ein Video in dem jemand die Mikrokopter Steuerung an einen normalen Modellheli gebaut hat. Sollte eigentlich eher einfacher sein als ein Quadrocopter zu stabilisieren.
@Hanno: Die sensoren sind von http://www.pluesch-tiere.de/ Murata ENC-03R. Der ACC (LIS3L02AS4) ist auch von dort. Ich sehe aber grad das es die im Shop gar nicht mehr gibt.....

goara
13.11.2008, 14:32
@progman habe auch jemanden meien steurplatine leicht modifiziert geätzt für nen heli.
der einzige unterscheid ist eigentlich, dass du nicht die motordrehzahl änderst, sondern die servos ansteuern musst. (und dass der heli von alleine schon viel besser fliegt)

Pr0gm4n
13.11.2008, 18:22
Hi alle v.a. goara,

also da ich selber noch ned so gut heli-fliegen kann, aber hier nen Hubi stehen hab seit nem Jahr würd ich gern sowas bauen...

ich hab einen freien kanal mit 2 einrastpositionen an der funke, den ich dann gern für den autopiloten hernehmen würde, wenn du das eh (fast) fertig hast, kannst du mir da mal (evtl. per pn) nähere infos geben?

LG Pr0gm4n

ps: weiss nich, ob ich das wirklich schon selber bauen kann/wirklich zutraue dann mit dem dingens zu fliegen...

goara
14.11.2008, 13:54
habe die heliverision meiner platine als Target - datei, wenn du willst kann ich sie dir mal schicken...

Pr0gm4n
14.11.2008, 16:46
Hi,

kann ich die target-datei auch irgendwie mit eagle öffnen?

oder kA, kann man das irgendwie konvertieren?

LG Pr0gm4n

Willa
09.12.2008, 18:29
Der Copter ist fertig - hier geht es weiter:
https://www.roboternetz.de/phpBB2/viewtopic.php?p=412187#412187

RP6conrad
09.12.2008, 22:07
Nach mein gefuhl soll isch sagen : wie gross ist die empfindlichkeit von gyro ? Ist das unterschied nach 20 mS (50 Hz) bedeutend ? Sag mal die winkelgeschindigkeit vergrossert sich von 10°/sek nach 20°/sek. Das ist dan gerade eine Aenderung von 0.02°/20msek². Kommt dan noch ein unterschiedliches Signal aus der gyro ? Wen nicht , dan ist diese 50 Hz zu schnell. Soll du besser Samplen jeden 100 mS. Vergess nicht : D-Anteil mit mehr Rausch als Signal bringt nichts, nur Verslechterung von Regelkreis.
Den Mittelwert bilden scheint mir auch Sinnfol.