Baro Code Änderungen

Roberto

Erfahrener Benutzer
Danke für die Publikation FireN !
Leider beziehen die sich dauernd auf Daten von der Bodenstation. D.h. am Boden und im Copter wird im Flug z.B die Höhe gemessen, korrigiert und die Info per Telemetrie wieder an den copter geschickt. Das kann man natürlich auf GPS und Kameras erweitern. Für einen Copter im Labor sicher sehr nützlich aber für ein einfaches System in freier Wildbahn eher ungeeignet.
Mittlerweile habe ich die Kernroutine "pimpen" können, und das Problem deutlichst reduziert. Ich bin zufrieden. Das ganze steckt jetzt in der dev_r1232. Die neuen Baroausleseroutinen habe ich allerdings gegen unsere bewährten ausgetauscht. Dem neuen Braten traue ich noch nicht so ganz, da es auch Berichte über Probleme gibt. Ich teste jetzt noch den softwareLPF und die Motorabschaltung, dann lade ich sie hoch. Unsere "Bigbretl - Poshold override" Sache ist nicht mehr drin, weil die Dev diese Funktion m.E direkt mitbringt als "//#define AP_MODE 20".

LG
Rob
 

Roberto

Erfahrener Benutzer
@Honkong:
Der AccBaroLPF 70 wird VIEL zu hoch sein. Du hast den BMA 180 d.h. der hat schon einen LPF in der Hardware eingestellt. Ich würde die Zeile auskommentieren, wahrscheinlich funktioniert es, wie bei mir auch, ohne zusätzlichen Softwarelpf. Den Baro gut einpacken.
LG
Rob
 

HongKong-Pfui

Antivibration-Master
super, danke, werde ich morgen direkt mal testen und berichtenb.

Was meinst Du mit "den Baro gut einpacken"? Gegen Vibrationen? Oder Wind?
 

Roberto

Erfahrener Benutzer
Die Final 4 ist da!

So, jetzt gibts wieder etwas.
Das ist die aktuelle Dev mit unseren Barosachen. Den Kern habe ich überarbeitet und das Durchsacken deutlich reduziert.
Die Barologic2 ist jetzt wasserdicht beim Ausschalten. D.h. auch beim Ausschalten bleibt der Baromodus an, bis man mit dem Gasknüppel das tatsächlich anliegende Gas gefunden hat. Das verhindert Überraschungen beim Baroausschalten. Beim Einstellen der Baropid kann das natürlich übel sein. Deswegen: Entweder mit der Barologic1 die Alt PIDs einstellen oder mit Barologic2 und aktiviertem "#define Rapid_Exit_Barologic2", dann liegt beim Ausgang aus Barologic2 direkt wieder Realgas an.
Wer mit Armswitch fliegt, kann diesen in der Luft auf aus schalten. Wenn man dann das Gas wegzieht, sind die Motoren sofort aus. Althold nur in der Luft verwenden! Starten kann noch gehen, aber Landen ist ABSOLUT NICHT ZU EMPFEHLEN. Ich habe alles nochmal in der config.h erklärt:
Code:
  /**************************************************************************************/
  /***********************                  TX-related         **************************/
  /**************************************************************************************/
    /* introduce a deadband around the stick center
       Must be greater than zero, comment if you dont want a deadband on roll, pitch and yaw */
    //#define DEADBAND 10

    /*** AltHold Common Variables ***/
    /***********************************************ONLY CHANGE IF REALLY NEEDED*/
    //#define ALT_HOLD_THROTTLE_NEUTRAL_ZONE XX  // Barologic1 XX is set to 20  and with Barologic2 XX is set to 50 per default
    //#define MaxThrbaro (MAXTHROTTLE-50)        // This is default uncomment to change
    //#define MinThrbaro (MINTHROTTLE+10)        // This is default uncomment to change
    /***********************************************ONLY CHANGE IF REALLY NEEDED*/
    
    /*** AltHold Common Variables SPECIAL ***/
    /***********************************************ONLY CHANGE IF REALLY NEEDED*/
    /* AccBaroLPF is off per default. ONLY USE THIS IF YOU HAVE VIBRATION PROBLEMS OR IF YOU HAVE MPU6050
       Use at least AccBaroLPF 75 (75%) when you use MPU WITHOUT "MPU6050 Low pass filter setting"
       Possible values: 0% up to 100% (strongest filter+delay), values probably useful >50%. Good combination for MPU seems to be: MPU6050_LPF_42HZ and AccBaroLPF 50 */
    //#define AccBaroLPF 50
    /* Visualize uncorrected RAW Accz Values in Debug0 (incl. Hardwarefilter - normally already activated with 20-25%, in case of mpu please activate at least MPU6050_LPF_42HZ)
       and resulting vertical value in Debug1 incl. softwarefilter ("AccBaroLPF"), if activated */
    //#define AccBaroDebug
    /***********************************************ONLY CHANGE IF REALLY NEEDED*/

    /*** BAROLOGIC 1 (DEFAULT) ***/
    //#define Barologic1                         // Defines Old Style This is default
    /***********************************************ONLY CHANGE IF REALLY NEEDED*/
    //#define Softcount 5                        // Defines how long in 100ms (5=500ms) the variobrake is applied during downmovement
    //#define AltHoldBlindTime 5                 // Time in 100ms after wich a new hight is locked. Softcount + AltHoldBlindTime should be 1 sec ("10")
    /***********************************************ONLY CHANGE IF REALLY NEEDED*/

    /*** BAROLOGIC 2 ***                            Change Altitude relative to throttlestick center ***/
    /* !! WARNING !!
       - When in Barologic2 YOU CAN NOT TURN OFF REGULATION COMPLETELY, use an Armswitch
       - DO NOT use together with "#define MOTOR_STOP" because they keep on running (see above)
       - DO NOT Start or Land in Altholdmode (can flip on ground)
       - DO small movements around Throttlestickcenter and WAIT for reaction to get used to it

       ENTERING ALTHOLD:
       Turn ON the baroswitch IN THE AIR and althold is engaged, before you can change the hight the controller waits till you reach the the central neutral zone
       with the throttlestick.
       
       EXITING ALTHOLD (DEFAULT):
       Turn OFF the baroswitch IN THE AIR and althold KEEPS ON RUNNING UNTIL YOU REACH THE CURRENT VIRTUAL THROTTLE WITH YOUR THROTTLESTICK - then you take over.
  
       EXITING ALTHOLD WITH #define Rapid_Exit_Barologic2:
       Turn OFF the baroswitch IN THE AIR and althold is disengaged immediately. So the current throttlestickposition is the real gas immediately.
       This is recommended when tuning althold mode "pid"
    */
    #define Barologic2                           // Defines Althold relative to Throttlemiddleposition. Logic: Change targethight. For Safety: Do NOT land in this mode
    /***********************************************ONLY CHANGE IF REALLY NEEDED*/
    //#define Rapid_Exit_Barologic2              // Leave this commented to do Softexit.
    //#define Barologic2SpeedFASTER
    //#define Barologic2SpeedFASTEST
    /***********************************************ONLY CHANGE IF REALLY NEEDED*/
Eure bisherigen Baro oder Alt Pids aus den anderen Testversionen könnt Ihr weiter verwenden. EEPROM Clear und ACC-Kalibrierung sind erforderlich. Wer bisher einen softwarelpf gebraucht hat (Martinez :) ), kann ihn wie gewohnt benutzen. Eigentlich hat sich in der Bedienung nichts geändert. Die Barologic3 ist weg, und Posholdoverride ist weg, da es in der Dev schon enthalten ist als "#define AP_MODE 20". Zum Einstellen brauch Ihr noch die Gui der Dev http://code.google.com/p/multiwii/downloads/detail?name=MultiWii_dev_r1232.zip&can=2&q= .
Die Version ist eigentlich Final und so sicher wie ich es machen konnte.

EDIT:
Die Barologic1 ist übrigens auch überarbeitet. Zum einen wird die Zeit nur noch in 100ms Schritten gemessen (kürzer und weniger Rechenzeit für den Arduino), das ist aber nicht wirklich ein Rückschritt (weil: millisekundengenau nicht nötig), zum anderen wird nur bei Abwärtsbewegungen für eine einstellbare Zeit ("Softcount") die Variometerbremse eingeschaltet (also Euer eingestelltes "I"). Die bisherige "AltHoldBlindTime" wird auch in 100 ms gemessen. Zusammen sollten Softcount und AltHoldBlindTime eine Sekunde (1000ms) also "10" ergeben. Am besten, einfach die Voreinstellungen so lassen.

EDIT:
Ich habe die Änderungen auch in die 2.1 eingebaut und mal gleich 4 Final genannt.
Mit der Dev ist in den neuen Flugmodi: Angle und Horizon Vorsicht geboten.
Die 2.1 Final4 enthält den Position Hold Override "Bigbretl" Mod.
Die grundlegende Pid Einstellerei von hier hat noch Gültigkeit: http://fpv-community.de/showthread....o-vern%FCnftig&p=200133&viewfull=1#post200133

Hier ist auch noch eine aktuelle Anleitung: http://fpv-community.de/showthread.php?14199-Baro-Code-%C4nderungen&p=237057&viewfull=1#post237057

Wichtig ist, dass man das ACC richtig einstellt und der copter vibrationsarm ist:
http://fpv-community.de/showthread.php?14199-Baro-Code-%C4nderungen&p=219720&viewfull=1#post219720

http://fpv-community.de/showthread....o-vern%FCnftig&p=231999&viewfull=1#post231999

http://fpv-community.de/showthread.php?14199-Baro-Code-%C4nderungen&p=237274&viewfull=1#post237274

Für Einstellungsflüge bitte die Barologic1 verwenden !!!

EDIT: Eure AccZ Wirkrichtung muss stimmen! http://fpv-community.de/showthread....o-vern%FCnftig&p=226592&viewfull=1#post226592
Hier sind Beispielwerte, die bei euch abweichen können, also z.B "512": http://fpv-community.de/showthread....o-vern%FCnftig&p=226416&viewfull=1#post226416

Die Kompatibilitätsliste hat sich nicht geändert:
Boards:
=====
Bezieht sich auf Rückmeldungen, tatsächliche Liste dürfte grösser sein.

ATAVRSBIN1 & ATAVRSBPR1
CRIUS ALL IN ONE PRO v1.0
CriusSE
Drotek AiO (MPU6050, HMC5883, MS5611)
Drotek 10DOF MPU6050, HMC5883, MS5610
Freeimu v0.4.3
Freeimu v0.3.5MS
GY-86 Board
LZ Midi 3.2 (Bitte ACC-Z Wirkrichtung prüfen!)
MultiWii SE V2.0 (HobbyKing)

Einzelsensoren:
==========
BMA180, BMA150
MPU6050
ADXL345
MS5611 Baro.
BMP085 Baro


Nicht funktionierende Setups:
===================
http://www.flyingeinstein.com/ Hardware durch geändert I2C Adressen nicht primär multiwii kompatibel.
Bekannte Fehler:
Bekannte Fehler:
============
- NICHT "Barologic1" und "Barologic2" gleichzeitig in der config.h aktivieren! Dieser Bedienungsfehler wird nicht abgefragt!

- Bei aktivierter "Barologic2" UND NICHT aktivierter "Rapid_Exit_Barologic2" UND gleichzeitig auftretender Failsavesituation (Empfangsverlust) WÄHREND des Fluges im Baromodus, hält der Copter die Höhe für immer.... bis Empfang wieder eintritt oder der Lipo sich verabschiedet.

- DEV: Allgemeines DEV Problem: Nicht angle & horizon Modus gleichzeitig verwenden (entweder oder)
- DEV: In dem Experimentalmodus "ACROTRAINER_MODE" den Baro besser nicht verwenden. Die Barofunktion kann in diesem Fall nicht richtig funktionieren, da die Sollhöhe und das Sockelgas permanent neu gesetzt würden. Die Kombination ACROTRAINER_MODE + Baro einschalten ist sowieso fraglich sinnvoll.

LG
Rob
 

Anhänge

Zuletzt bearbeitet:

HongKong-Pfui

Antivibration-Master
Hi Rob, das und die neue Datei werde ich morgen mal direkt draufschmeissen.

also das mit dem "Baro aktiv bis Gas gefunden" finde ich ein wenig gefählich weil man es ja auch abschaltet, um vielleicht Kopter zurückzuholen oder einzufangen. Das würde mich eher nervös machen. Da nutze ich Rapid_Exit :D

Muss ich bei meinem Mega Board auch einen eeprom clear machen? Habe ich bisher nie gemacht.
http://www.hobbyking.com/hobbyking/store/catalog/26588.jpg
 

Roberto

Erfahrener Benutzer
Ja, klar Rapid_Exit ist auch ok (und getestet). Eigentlich habe ich die Version gut durchgetestet. Ohne Rapid exit kommt man eigentlich auch gut klar, aber dann muss auch alles eingestellt sein. Da hast Du schon Recht, beides ist nicht ohne. Man muss nur in beiden Fällen darauf gefasst sein, was passiert. An die Komforteinstellung gewöhnt man sich allerdings schnell :). Die Horrorstories von hier http://www.multiwii.com/forum/viewtopic.php?f=8&t=2678 können nicht auftreten, da ich die bereits bewährten Baroausleseroutinen verwende.
Ohne EEPROM Clear kann es zu unvorhersehbaren Problemen kommen, egal mit welchem Arduino. Auch bei der APM lasse ich nochmal ein e-clear drüberlaufen.
Das EEPROM Clear (Arduino menü/Beispiele/EEPROM/eeprom_Clear) ist ungefährlich. Damit "brickst" Du Dir Deine FC nicht.
Du verlierst nur ALLE Einstellungen auch die ACC und Mag Kalibration. Ich mache deswegen einfach von der alten gui/konfig vorher einen Screenshot.

LG
Rob
 

TomW

Erfahrener Benutzer
Hallo
Bin auch mal wieder dabei. Die neueste Dev ist geladen, Danke Roberto. Bei der GUI sind nun ein paar Angaben für die Schalter neu, gibt es da Definitionen?
Mein Aufbau ist ein 40er EyeFly mit Wolles Midi und GPS
Danke und Grüße Thomas
 

FireN

trägt sonst keine Brille!
Wenn das schon nicht in deine FC passt dann brauch ich das garnicht erst auszuprobieren :rolleyes:
 
Also auf ein Pro Mini passt es mit i2c GPS
Binäre Sketchgröße: 25.910 Bytes (von einem Maximum von 30.720 Bytes)
Komisch finde ich nur, wenn ich Leonardo als Board auswähle wird das Sketch größer....
Binäre Sketchgröße: 30.926 Bytes (von einem Maximum von 28.672 Bytes)
Außer das Board habe ich nichts geändert.
Dann hab ich noch #define A32U4ALLPINS auskommentiert, aber daran ändert sich nichts.
Binäre Sketchgröße: 30.926 Bytes (von einem Maximum von 28.672 Bytes)
Aber ich hab da auch noch mal zwei Fragen.
Was bring mir die Zeile #define DEADBAND 10
und wo ist der unterschied zwischen dem Default wert und
einer Einstellung von //#define Barologic2SpeedFASTER
bzw. //#define Barologic2SpeedFASTEST

Jetzt geh ich erst mal Akku laden...
Gruß Ingo
 

FireN

trägt sonst keine Brille!
Deadband macht quasi um deinen Rastermittelpunkt (1500) ein weiteres Neutralfeld von plus und minus 10 klicks, so lässt sich der copter leicht in neutrallage bringen da die funken nie so genau sind um die klicks auf "mitte" zu halten :)
 
Jo danke FireN,
also gucke ich in der GUI um welchen Bereich die Mittelsteillug zappelt
und passe den Wer + 2-3 Klicks an damit die Totzone nicht zu groß ist.

Gruß Ingo
 

FireN

trägt sonst keine Brille!
die meisten schreiben einem als tipp 4-6 vor
 

merlin4

Erfahrener Benutzer
Habe leider ein merkwürdiges Phänomen. Bin folgendermaßen vorgegangen (Nanowii mit Baro und MAG):
- Eprom clear
- neuen Sketch (nach Anpassung) auf Nanowii hochgespielt
- MWC aus Dev r1232 genommen und Schalter angepasst, ACC kalibriert, WRITE nicht vergessen

Wenn der Kopter am PC (MWC) angeschlossen ist, funktioniert armen einwandfrei. Ist der Kopter nicht am PC (USB), funktioniert armen meistens nicht. Manchmal starten die Motoren kurz von alleine (unabhängig vom ARM-Schalter), gehen aber gleich wieder aus. Ganz selten hat auch das armen richtig funktioniert.

Danach habe ich wieder meine alte Konfig aufgespielt --> da ist alles wieder in Ordnung.

Hat vielleicht einer 'ne Idee dazu?

LG Holger
 

Roberto

Erfahrener Benutzer
@TomW: Der ANGLE MODE ist der bisherige "Level" oder ACC Modus.
@JinGej @FireN: Vielleicht, sollte ich noch die Original2.1 verändern, vielleicht passte es dann wieder ?

@Scotch:
#define DEADBAND 10 Steht normalerweise auf 6 und ist auskommentiert. Die "10" ist noch von meiner config.h übrig. FireN hat das schon treffend beschrieben.
//#define Barologic2SpeedFASTER bzw. //#define Barologic2SpeedFASTEST bezeichnen, wie schnell die Höhe bei Stickbewegung hoch oder herunter gezählt wird. Ich würde es aber so lassen.

@merlin4:
- Schau bitte, ob "MINTHROTTLE" in Deinen Configs unterschiedlich ist !
- Nur Armen mit ausgeschaltetem Althold.
Bei der DEV haben die allerdings auch viel am RC-Code geändert, hoffentlich mach das nicht auf dem Promicro Ärger.

Ich glaube, eine originale 2.1 mit Änderungen sollte ich auch noch machen, auch im Hinblick auf
@JinGej und @FireN.

LG
Rob
 

FireN

trägt sonst keine Brille!
wäre cool ^^ ansonsten lasse ich die beta drauf.
 

merlin4

Erfahrener Benutzer
Minthrottle sind in beiden Configs identisch (benutze 1150, könnte aber auch tiefer gehen, da ich SimonK-ESCs verwende)
Armen habe ich ausgeschaltet gehabt. Daran liegt es leider auch nicht.

Ich glaube, mit der originalen 2.1 tust du vielen einen Gefallen. In die Dev's sind ja bereits viele Änderungen eingeflossen, die aber - denke ich - noch nicht von wirklich vielen getestet wurden.
Mit der Dev habe ich zusätzlich Probleme mit der Android-Gui (die EZ-Gui verbindet sich nicht mit dem Handy (meckert die MAC-Adresse an), die Android MultiWii Configuration von Nando kommt mit der neuen Eprom-Struktur noch nicht klar (Verschiebung im Switch-Bereich). Bestimmt gibt es noch mehr kleine Baustellen, die ich aber alle im Moment gerne vermeiden möchte.

LG Holger
 

TomW

Erfahrener Benutzer
Hallo
Erster Test auf der Midi war erfolgreich. Baro 2 ist auf Fast Exit eingestellt, ist für den Anfang wirklich besser. Bin einmal zu weit durchgesackt, er hat sich nach einem leiten Aufsetzer sofort überschlagen. Kein Schaden.
Morgen sind 4 Akkuladungen in den Rheinwiesen dran.
Noch ein schönes WE, Tom
 
FPV1

Banggood

Oben Unten