Baro Code Änderungen

fomape

Erfahrener Benutzer
Hallo Roberto,

verflogen Deine Änderungen schon seit dem Anfang und jetzt habe ich das ganze auch mals ausführlich getestet.

Erstmals Danke für Deine super arbeit.

Ich verwende folgende Ver: MultiWii_2_1_NewBaroPIDVario4LastBeta.zip

Der Kopter hat folgende Komp.

Warthox Board mit Promini
und Drotek 9DOF mit folgender Bestückung
ITG3205
BMA180
HMC5883L
BMP085

Motore Suppo 1000KV mit 9x4,7 Prop.
20A Simon K Regler

Und noch das Drotek Ic2 GPS

Höhe halten funktioniert auf jeden Fall weit besser als mit der original FW 2.1
BMP085 habe ich schön sauber verpackt.

Getestet Barologic1 und 2
Bei der Version 1 hölt er die Höhe so zwischen 0,2 und 0,5m finde ich eigentlich sehr gut für eine WII
Aber was ein wenig stört ist das doch sehr Spunghafte nachregeln dadurch bleibt er nicht wirklich auf der Stelle stehen.

Bei Version ist das nicht so der Fall aber irgenwie ist hier die Stick eingabe für mich gewöhnungsbedürftig.

ACC ist sauber getrimmt (war eigentlich fast nicht nötig richte den Kopter vor der Kalibrierung immer mit der Wasserwaage aus)
Im ACC alleine steht er auch schön sauber in der Luft.

Nun zu meiner Frage an welchen Parametern muss ich schrauben damit er nicht so Sprunghaft auf die Höhenänderung reagiert.

habe einmal P auf 8 und D auf 80 getestet brachte aber auch nicht wirklich den gewünschten Erfolg.

Wäre für Deine Hilfe dankbar.

LG

Peter

Sorry hätte ich fast vergessen LPF für ITG auf 42 gesetzt
 

Roberto

Erfahrener Benutzer
@franko@honkong

Was man bei euch einstellen muss kann ich von hier aus nicht sagen. Primär habt ihr beide den BMA180, den ich auch drauf habe. Der Baro BMP085 ist natürlich nicht mehr so der Knaller, funktioniert aber auch. Neben der Alt - PID Einstellerei, die sich gegenüber der alten Final nicht verändert hat (alte Anleitung ist da noch richtig: http://fpv-community.de/showthread....o-vern%FCnftig&p=200133&viewfull=1#post200133) kommt es auf die Vibrationen im Copter an, die den ACC und die Höhenregelung stören/unmöglich machen. Hier mal ein Negativbeispiel aus der Rubrik "Männer ohne Nerven" (mit so einer Schüssel wäre ich nicht gestartet, egal ob mit mwii, apm oder naza usw):

http://www.youtube.com/watch?v=KBoNY843EO4

Am besten ist es, wenn man auf Nummer sicher gehen will, ob der Acc noch besondere Aufmerksamkeit bzgl Vibrationen braucht:
in der config.h die Zeile "#define AccBaroDebug" auskommentieren. Dann bekommt Ihr in Debug 0 die reine ACCZ Komponente von eurem ACC geliefert (nicht winkelkorrigiert) mit bei euch durch die mwii per default eingestelltem HARDWARE lowpassfilter (LPF) für den BMA180 von 20% (MPU per default 0%!!). Debug 1 zeigt dann die regelungsrelevante winkelgerechte Projektion aller ACC Achsen auf die Lotrechte (Acc muss natürlich kalibriert sein) inclusive eines optional zuschaltbaren SOFTWARE LPF. In den älteren Videos hier aus dem Thread kann man sehen, wie man sich das graphisch anzeigen lassen kann:

http://fpv-community.de/showthread.php?14199-Baro-Code-%C4nderungen&p=214511&viewfull=1#post214511
http://fpv-community.de/showthread.php?14199-Baro-Code-%C4nderungen&p=215857&viewfull=1#post215857
http://fpv-community.de/showthread.php?14199-Baro-Code-%C4nderungen&p=216118&viewfull=1#post216118

Der Unterschied ist nur, dass es jetzt nur noch 2 Kurven gibt (weil: reicht vollkommen) und dass Accz(debug0) auch gleich auf die 0 Linie gezogen wird, damit die beiden Kurven deckungsgleich und vergleichbar sind. Denn wenn man jetzt bei laufenden Motoren zuviel Geraffel in der relevanten Kurve "Debug1" hat, kann man (ausser Propeller wuchten etc) noch einen #define AccBaroLPF definieren mit einem Wertebereich von 0-100%. Dadurch wird natürlich die Latenz erhöht (Verschiebung der Kurven zueinander) und das Nutzsignal abgeschwächt (Amplitude in debug1 wird gegenüber debug0 kleiner). Das Ziel muss es dann sein einen Filterwert zu finden, der möglichst klein ist. Wie gesagt, das ist optional und z.B mit meinem Copter (BMA180) und gutem Rundlauf nicht erforderlich.

Ach nochwas:
Der ACC läuft immer mit, ob man jetzt im Levelmodus fliegt oder nicht.
Der ACC_LPF_FACTOR in der config.h hat unmittelbar nichts mit der Verwendung des ACC für die Barofunktion zu tun weil: Dieser LPF ist viel zu stark und wird zur Kompensation der Gyrodrift verwendet (Lage-Winkel-Erkennung) leider sind die Gyros naturgemäss blind in Vertikalbewegungen und daher für unsere Zwecke ungeeignet. Den Lagewinkel aus acc & gyro nehmen wir natürlich später gern zur Winkelkorrektur der acc Komponenten.

Ich hoffe, euch helfen die Infos und es bringt etwas Licht in die Sache!

LG
Rob
 

Roberto

Erfahrener Benutzer
@ fomape
Herzlichen Dank für Dein Feedback!
Das lässt sich leider in dem Urmodus nicht verhindern, das kommt nur von der ALT_HOLD_THROTTLE_NEUTRAL_ZONE und lässt sich mit alt pids nicht rausbügeln. Die ist mit 50 gross, probiere mal "20", das schwächt den Effekt ab. Vielleicht ist die Barologic2 etwas für Dich?
LG
Rob

EDIT: Sorry, ich habe Deinen Post nicht richtig gelesen/verstanden, das "D" ist nur die Winkelkorrektur. Wenn dann sind "P" und "I" (Variometerbremse) Deine Anlaufstellen. Wenn es damit noch unschön regelt, kommt das entweder vom Baro oder vom ACC. Den Acc kannst Du nach der Anleitung von oben abklopfen und "beruhigen". Den Baro kann man auch über einen Parameter stärker filtern (nicht zugänglich in config.h), nur dann befürchte ich, dass der BMP085 zu langsam wird.

LG
Rob
 

merlin4

Erfahrener Benutzer
Hallo Roberto,

ich habe jetzt auch erfolgreich (na ja, zum Teil zumindest) deine letzte Version getestet. Dabei bin ich über einen Punkt "gestolpert", den ich für bedenklich halte: Beim Landen hatte ich - warum auch immer - den Baro noch eingeschaltet gehabt (war mir eigentlich sicher, ihn vorher ausgeschaltet zu haben, aber war halt nicht). Nach der Landung hatte der Copter sich aber wieder selber Gas gegeben (hatte ja wohl nicht mehr die Höhe, die er hatte haben wollen). Dabei hat sich der Kopter auf den Rücken gelegt. Mein Problem: ich konnte ihn nicht ausschalten!
Normalerweise arme ich über einen Schalter (finde ich persönlich besser als über eine Stickkombination). Das ist für mich gedanklich auch immer mein Not-Aus. Aber der hat nicht mehr funktioniert. Ein Not-Aus sollte aber immer möglich sein, da ja keiner weiß, in welche "doofe" Situation man kommen kann. Und egal, was ich derzeit aktiviert habe - im Zweifelsfall will ich mit einem Schalter alles ausschalten können. Sicherheit muss vorgehen.
Zum Glück muss ich nur Props tauschen. Vielleicht überdenkst du ja deinen Code noch mal in diesem Zusammenhang.
Ansonsten mein "kurzes" Testfazit: Deutlich besser als bei der Final3. Super. Und dank vorhergehender Diskussionen ist jetzt mein Kompass auch um 2 cm höher gelegt und nach untern mit Alufolie abgeschirmt. Seitdem habe ich auch keine Veränderungen mehr durch Vollgas.

LG Holger

P.S. In deine Version MultiWii_2_1_NewBaroPIDVario4LastBeta habe ich wieder die Aktivierung der Serial1-Schnittstelle für meinen Bluetooth-Adapter integriert. Bei Bedarf: Anhang anzeigen QuadX_H_BT_SUM_Baro4_121020.zip
 

Roberto

Erfahrener Benutzer
@Merlin4:
Danke für Deinen Test und die Einarbeitung der Bluetooth Geschichte - das wird gleich auf der Hauptseite verlinkt!
Schade, dass Dein Test mit einem Propellerbegräbnis endete!!!!!
Das mit der Überschlagsgefahr ist mir schon bewusst, aber ich wollte verhindern, das die Baroregelung mit dem virtuellen Gas die Lageregelung und ggf. die Motoren abschalten kann. (http://fpv-community.de/showthread.php?14199-Baro-Code-%C4nderungen&p=218065&viewfull=1#post218065) Es funktionierte so, wie es sollte.... Ich habe bei dem Download jetzt noch einen weiteren Warnhinweis eingefügt. Selbst ein niedrigeres Barostandgas "#define MinThrbaro (MINTHROTTLE+10)" kann das nicht ganz ausschliessen. Ich schaue mir das aber noch mal genauer an. Vielleicht kannst Du auf den Motoraus Schalter noch das Baroaus in der Funke mischen.

LG
Rob
 

merlin4

Erfahrener Benutzer
Hallo Roberto,

für mich ist war bisher virtuelles Gas und armen/disarmen ein Unterschied. Virtuelles Gas kann bis minthrottel (oder evtl. auch weniger?) heruntergeregelt werden. Dann laufen aber noch die Motoren – wie langsam auch immer. Armen/Disarmen schaltet nach meinem Verständnis gezielt die Motoren an bzw. aus.
Der Schalter war bisher immer mein gedanklicher Notanker, falls was Unvorhergesehenes passieren sollte. Das würde ich natürlich gerne beibehalten wollen. Vielleicht hast du ja doch noch eine Idee, wie du beides miteinander verbinden kannst.

Leider weiß ich nicht, wie ich das in meiner Funke (T12FG) kombinieren kann. Bisher habe ich auf einem Schalter Aux1 (low: Motor aus, mid: Motor an mit ACC, high: Motor an ohne ACC). Bevorzugt fliege ich zunächst im Level-Mode, daher diese Reihenfolge.
Auf einem 2. Schalter liegen dann (low: ohne Funktion, mid: ACC und Baro, high: ACC, BARO und MAG). So stelle ich sicher: sollte ich bei Schalter1 ohne ACC fliegen, dann schalte ich mit Schalter2 auf jeden Fall mit Baro auch ACC dazu.

LG
Holger
 

Roberto

Erfahrener Benutzer
@Merlin: Das Problem ist nur bei der Relativsteuerung mit Gasmitte, dass man schnell mal nach unten hin in den Bereich kommen kann, wo die Mwii die absolute Stickposition direkt als "Regelung aus" versteht. Das Übel habe ich wohl zu radikal abgeschaltet...das dürfte aber keine grosse Sache sein, Dein Notaus wieder zu aktivieren.

LG
Rob
 

merlin4

Erfahrener Benutzer
ist "Regelung aus" nicht immer eine Doppelstickfunktion? Zum armen/disarmen per Stick ist doch Gas auf Null UND Roll ganz rechts bzw. Roll ganz links. Gas nach unten reicht da nicht.
LG Holger
 

Roberto

Erfahrener Benutzer
Da hast Du Recht, Holger. Das ist ein Denkfehler von mir. Ich habe Arm auch auf einem Schalter und schalte ihn im Flug manchmal aus (wenn es "eng" zu geht), damit ich beim Gaswegziehen den Copter sofort abschalten kann. Bei diesem Vorgehen kann ich eben sehr wohl mit der Barologic2 unbeabsichtigt den Copter abschalten.

LG
Rob
 

merlin4

Erfahrener Benutzer
Der eigentliche Fehler liegt m. E. in der Art, wie die MW-Soft das armen/disarmen per Schalter umsetzt.
Folgendes ist mir aufgefallen:
AUX1 ist mein arm/disarm-Schalter. Wenn der Gas-Stick auf Null steht, funktioniert das ja auch einwandfrei (quasi ist das ja auch der Normalfall). Sollte aber der Gas-Stick nicht ganz auf Null stehen, passiert erst einmal überhaupt nichts, wenn du den AUX1 auf disarm stellst. Die Motoren laufen munter weiter und du kannst fliegen wie du möchtest. Bis dann irgendwann der Gas-Stick ganz unten ist. Ja, dann gehen die Motoren aus. D.h. doch, dass das Ausschalten per Schalter nicht konsequent umgesetzt wurde, wenn doch zusätzlich noch der Stick richtig stehen muss zum Ausschalten.

Da ich die Ursache nicht verändern kann, habe ich die zweitbeste Variante gewählt und das Symptom „bekämpft“. Aus diesem Grund habe ich in der Funke zu der Schalterstellung disarm eine Gasgerade von -100% programmiert. Wenn ich jetzt per Schalter disarme, ist mir die Stellung des Gas-Sticks im Grunde genommen egal, das Ausschalten der Motoren funktioniert(e) einwandfrei. Ich habe also mein Not-Aus :).
Das du dann im Baro-Mode mit virtuellem Gas übersteuerst und dadurch „gewinnst“ – die Ursache ist halt immer noch fehlerhaft.

Ich denke, ein disarm-Befehl (egal ob über Stick-Kombination oder Schalter) muss immer – ohne Ausnahme – umgesetzt werden. Leider verstehe ich selber den Code zu wenig, um das umsetzen zu können. Aber vielleicht kennst du bzw. einer der vielen anderen Mitstreiter die richtige Stelle, um die Anweisung disarm (auch unbhängig von der Stellung des Gas-Sticks, wenn per Schalter gewünscht) konsequent umzusetzen. Dann sollte auch ein virtuelles Gas leichter handhabbar sein.

LG
Holger
 

Bastelix

Erfahrener Benutzer
So, ich hab nun auch mal einen test gewagt. Nach dem ich viel Stunden damit verbracht habe meine Props und Motoren einigermaßen zu Wuchten. Hat leider nicht so toll geklappt weil an drei Motoren die Wellen einen winzigen Schlag haben :-( Neue Motoren sind schon seit Ewigkeiten bestellt aber kommen einfach nicht. Als erst mal aus den Alten das Beste gemacht. Leider nur mit mäßigen Erfolg. Das kleine Wildpferd lässt sich noch nicht zähmen. Trotzdem hab ich mal ein paar Versuche gestartet. Er liegt etwas Zappelig in der Luft aber trotzdem Stabil. Baro scheint zu klappen trotz der Vibrationen. Na mal sehen wie es läuft wenn alles wieder in Ordnung ist.
 

Bastelix

Erfahrener Benutzer
Eben habe ich noch mal zwei Akkus leer geflogen. Vorher noch ein wenig die Schwingungen bekämpft. Das hat schon deutlich besser funktioniert. Ich konnte ausgiebig die Baroregelung testen. War schon schwer begeistert und das obwohl ich noch keinerlei Dämmung um den Barosensor gemacht habe. Morgen werde ich mit Dämmung starten noch die PIDs bearbeiten. Bin mal gespannt.

lg
 

Roberto

Erfahrener Benutzer
Danke Zong für Deine Rückmeldung und schön, dass es bei Dir läuft!
Wundert mich, das es ohne Dämmung funktioniert hat. Wenn noch direkt Sonnenlicht einfällt ist auf jeden Fall der Ofen aus.
Mittlerweile habe ich die Barologic1 doch handzamer bekommen. Bei Höhenwechsel mit Barologic1 lasse ich einfach die Variobremse für 0,3 Sek an, dann sackt er nicht so durch, und man kann sich entspannter am Gas austoben. Jetzt nehme ich mir noch die Schalter Notausgeschichte von merlin4 zur Brust, dann müsste es eigentlich nicht mehr beta sein. Barologic3 habe ich rausgeschmissen. Ausserdem war ich heute viel mit der APM2 unterwegs (du weisst doch Zong, den ich auf dem Papsthügel dabei hatte), ich will ja nichts sagen, aber vom Barohold und der Knüppelsteuerung können die sich hier direkt noch eine Scheibe abschneiden. Mittlerweile habe ich "Randy" aus dem DIYDrones Forum unseren Code und Doku rübergemailt mit Antworten hat der es aber irgendwie nicht so.....

LG
Rob
 

helste

Erfahrener Benutzer
Super Rob. Ich wollte schon vorschlagen, dassa Du denen mit dem Barocode etwas unter die Arme greifst. Nachdem ich nun wieder ohne Multiwii mit Baro bin, dafür aber 2 mal APM, wäre ich da stark dafür;-)
 

martinez

Erfahrener Benutzer
Guten Morgen,
hier noch ein paar Worte von mir.
Beide Copter funktionieren sehr gut! Ich habe bei beiden den Mode 2 aktiv, klasse! Sinken und steigen geht sehr schön von der Hand! Ich bin am Freitag 4 Akkuladungen geflogen. PERFEKT!
Das Standgas musste ich nicht absenken.

Ich sag nur umbenennen zur FINALVERSION :D

Leider war am Sa und So bei mir Dauernebel :( sodass ich leider nicht fliegen konnte.

Viele Grüße
Martinez
 

Roberto

Erfahrener Benutzer
@martinez:

Danke für Dein positives Feedback! Geilerei, dass es mit vereinten Kräften dann doch noch hingehauen hat. Was auch gut kommt ist, wenn man den Copter aus guter Höhe richtig abschmieren lässt und im Fallen den Baro einschaltet. Das ist mittlerweile mein Lieblingssport. Zur Final: Die Regelung lasse ich so, läuft. Heute habe ich einen Lipo nur im Baromode leergeflogen (bis 3,5V/Zelle) ohne wirklichen Höhenverlust. Ich denke auch, an der Logik2 ändere ich nichts mehr, die läuft gut. Benutzt irgendwer eine andere Geschwindigkeit als das voreingestellte "Normal"? Eigentlich könnte man die Geschwindigkeitseinstellungen auch aus der config.h entfernen, das verwirrt vielleicht nur? Auf der anderen Seite frisst das kein Byte-Brot. Der Modus1 ist jetzt etwas besser nach unten hin und kürzer durch reduzierte Timerauflösung (auf 100ms genau reicht dabei auch um 1/2 bzw 1 Sek abzuwarten).

Die merlin4 Sache bereitet mir noch Kopfzerbrechen.
Den Armswitch zum Killswitch machen geht m.E aus 2 Gründen nicht: 1. Weil man dann die InflightACC Kalibration verlieren würde und 2. Bei Empfangsverlust sofort die Motoren tot wären. Das sollte man wirklich besser in die Fernsteuerung auf einen anderen Schalter programmieren. Mittlerweile habe ich die Logik1, was das angeht, wieder auf normal geschaltet. Bei logik2 ist die Gefahr des Regelungsausschaltens in der Luft einfach zu gross. Da muss ich allerdings noch mehr im mwii code umstricken und testen, damit das nicht ins Auge geht.

LG
Rob
 

merlin4

Erfahrener Benutzer
Müsste bei Empfangsverlust nicht die Failsafe-Einstellung ziehen? Und wie würde sich eigentlich ein Failsafe auf dein virtuelles Gas auswirken? Wobei die Wahrscheinlichkeit für ein Failsafe doch eher gering ist.

Ich verstehe nicht, wie durch ein disarmen die ACC-Kalibrierung gelöscht werden kann. Und ich glaube immer noch, dass die disarm-Anweisung über Schalter in der Standard-MW-Soft (nicht im Baro-Mode-Teil) nicht richtig umgesetzt ist (zusätzlich zum Schalter muss der Gasstick auf Null stehen, ansonsten funktioniert der disarm nicht). Wäre die disarm-Anweisung per Schalter richtig umgesetzt, wäre es egal, wieviel Gas (real oder virtuell) noch anliegt. Zum Kalibrieren des ACC-Modes stelle ich den Gasstick ja auch auf max und kann dann über Roll und Nick trimmen, ohne das die Motoren anlaufen.

LG
Holger
 

Roberto

Erfahrener Benutzer
".. disarmen die ACC-Kalibrierung gelöscht werden kann." Das passiert nicht.
"..Und wie würde sich eigentlich ein Failsafe auf dein virtuelles Gas auswirken?.." Ganz einfach, der Baromode mit virtuellem Gas wird abgeschaltet und ein voreingestelltes Gas "FAILSAVE_THROTTLE" wird angelegt.
Eigentlich finde ich die derzeitige Umsetzung in der mwii Soft mit dem "Arm" Switch sinnvoll und die Killswitch Funktion lässt sich dann über einen Mischer in der Funke [Disarm & MinimalThrottle (& Baro aus)] realisieren.

LG
Rob
 

bigbretl

Erfahrener Benutzer
Servus miteinander,
ich werde mir jetzt die Version 4 draufspielen. Jedoch steige ich langsam nicht mehr durch. Beim Anpassen der config.h aktiviere ich den gewünschen Baromod. Ich wollte den Baro3 nehmen, da hier das Gas gesteuert wird und nicht die absolute Höhe. Jetzt sagt ihr aber, dass dieser Modus nichts taugt und Rob ihn wieder raus nehmen will. Worin besteht jetzt der Unterschied zwischen Baro2 und Baro3? Mir geht es darum, dass ich mit eingeschalteten Baro einen gleichmäßigen Steigflug zustande bringe und wenn ich auf der gewünschen Höhe bin wieder in Gasmittelstellung gehe, damit er dort bleibt wo er ist. Selbiges natürlich auch beim Sinkflug, also gas weg bis er die Zielhöhe erreicht hat und dann wieder "Schwebegas" (Mittelstellung).
Welcher Baromod ist dafür der beste.
Was muss ich eigendlich im Bereich "TX-related" der config.h noch alles kommentieren, bzw. auskommentieren?
Sorry für die "blöden" Fragen, aber ich will ja nichts falsch machen.

Gruß bigbretl
 

FireN

trägt sonst keine Brille!
FPV1

Banggood

Oben Unten