Harakiri07
Hi!
Hier gibts die Harakiri07, gegenüber der Harakiri06c
http://fpv-community.de/showthread....ative-Software&p=284706&viewfull=1#post284706 gibt es keine neuen Funktionen, sondern Verbesserungen im Bereich Baro und Mag:
Baro
- allgemein: Statemachine etwas gekürzt.
- BMP085: Genauigkeit erhöht, geht spürbar besser
- MS5611: Problem: Die Höhe steigt kontinuierlich im Stand. Ich bin mir absolut sicher, dass es ein Problem mit der I2C Initialisierung des Sensors ist (tritt nämlich nach Softreset durch CLI nicht auf). Die I2C Eingeweidesachen überschreiten meine Fähigkeiten und ich will auch nicht ggf. die Auslesung anderer Sensoren gefährden, deswegen habe ich eine "Lösung" gefunden. Bei der Initialisierung schicke ich den MS5611 zum Schluss 10 mal hintereinander in den Reset (ca 50ms). Dadurch ist das Problem nach meinen Beobachtungen minimiert.
Magnetometer
- Die Berechnung des Magnetometers wurde genauer/verbessert, dadurch würde es auch im Rückenflug funktionieren.
- Die Kalibration wurde genauer und die Kalibrierungszeit auf 60 Sek erweitert. Meinen grossen Kopter bekomme ich nämlich nicht in 30 Sek ausreichend geschwenkt. Wichtig ist auch, ihn auf dem Kopf um die Hochachse zu drehen. Wenn N und S nicht genau gegenüber liegen, wiederholt bitte die Kalibration. Die Mag Declination bitte VORHER eintragen und VORHER auch die ACC Kalibration durchführen! Nochmal zur Erklärung:
http://magnetic-declination.com/ aufrufen. Beispiel:
Code:
You are here*NUREMBERG BAYERN
Latitude: 49° 26' 52" N
Longitude: 11° 4' 6" E
Magnetic declination: [B]2° 19' EAST[/B]
Declination is [B]POSITIVE[/B]
würde diesen Befehl im cli erfordern: set mag_declination = 219 (natürlich "save" nicht vergessen..) . Edit: Es ist also NICHT wie bei der Multiwii, wo man selbst die Winkelminuten in Grad umrechnen muss.
Sonstiges
Angesichts der Daddy - Walross - I2C - Sonarplatine wird 200 ms nach Einschalten gewartet, bis der I2C Bus initialisiert wird. Dadurch haben auch andere Projekte am I2C Bus Zeit sich zu initialisieren und können dann auch gefunden werden.
Der übrige Text zur Harakiri06c ist gültig, deswegen kommt er hier gleich nochmal
.
Zusammenfassende Übersicht der Versionen:
Erweitertes Failsafe:
===============
Abhängig von der Naze Hardware gibt es 4 Fälle:
Vorweg:
feature FAILSAFE muss natürlich auch aktiviert sein.
Dabei ist/sind folgende Parameter relevant (die Defaultwerte sind dargestellt):
failsafe_delay = 10 (1sec) Bestimmt die Zeit des Senderausfalls, bis das Failsafe ausgelöst wird. Für alle 4 Fälle relevant.
failsafe_off_delay = 200 (20sec) Bestimmt die Zeit, ab wann die Motoren ausgeschaltet werden. Relevant für Fall 1 & 2
failsafe_throttle = 1200 Bestimmt die Gasvorwahl bei Senderausfall. Relevant für Fall 1 & 2
Roll/Nick und Gier Knüppel werden auf Mittenposition gebracht, Angle Modus (level) wird eingeschaltet Horizon Modus wird ausgeschaltet.
1: Keine extra Sensoren -> FS wie immer
2: Nur GPS -> RTL wird eingeleitet, wenn keine Homepos bekannt, versuche PH. Gasvorwahl und Motorauszeit wie bei Fall 1.
3: Baro -> Führe Baro Autolandung aus. (failsafe_off_delay irrelevant)
4: BARO & GPS (failsafe_off_delay irrelevant)
4a: Homeposition bekannt: RTL mit Autolandung
4b: Homeposition unbekannt: Führe Baro Autolandung aus, versuche dabei PH.
Neue Funktion AltHold:
================
Bei Einschalten des Baros wird die Höhe gehalten und es wird gewartet, bis der Pilot die Gasknüppelmitte erreicht hat, erst ab dann kann relativ zur Gasknüppelmitte die Höhe geändert werden. Dabei bestimmt der Pilot die Steig/Sinkrate (ca +-5m/s). Baro-Schalter-aus bewirkt das Ausschalten der Barofunktion und es liegt sofort wieder das echte Knüppelgas an.
Neue Funktion Autolandung:
====================
1. Flug im Baromodus
2. Der Throttlestick wird ganz nach unten gezogen dann passiert folgendes:
2a: Der Copter hält die Höhe für 2 Sekunden
2b: Der Abstieg mit ca 40cm/Sek wird eingeleitet
2c: Der Copter wird "Disarmt" d.h. ausgeschaltet, wenn 3 Sekunden lang die Motoren ununterbrochen nur auf Standgas laufen.
Neue/erweiterte GPS Funktionen:
=======================
Grundsätzlich wird jetzt in jedem GPS Modus automatisch der Angle Modus aktiviert
Die aktuell empfangene Satanzahl wird durch Blinken der roten LED angezeigt (ab 5 Sats, d.h. blinkt nicht z.B bei 4 Sats). Sinn: Sobald man den copter scharf schaltet, wird die Homeposition gespeichert, die ab 7 Sats auch brauchbar genau ist. Wenn man z.B bei nur 5 Sats startet, muss man sich bei einem RTL nich wundern, wenn er 20m weiter weg landet. Es wird immer ein "Block" geblinkt, dann werden 1,5 Sek Pause gemacht, dann wird wieder der "Block" Satnummer zum Mitzählen geblinkt.
Erweitertes RTH:
1. Althold und PH für 2 Sek (In dem Fall ist PosHold schon ab 5 Sats möglich)
2. Checken auf Mindesthöhe (voreingestellt sind 20m: "gps_rtl_minhight = 20") und ggf steigen. D.h. wenn ein RTL bei 50m ausgelöst wurde, fällt er nicht. Wird ein RTL bei 10m ausgelöst wird auf 20m gestiegen.
3. Return to launch wird ausgeführt
4. PH wird wieder aktiv und die Nase in die ehemalige Startrichtung gedreht (original Funktionen).
5. Nach 2 Sek wird die Autolandung ausgeführt, im PH Modus.
GPS position hold override:
D.h. Herumfliegen im PH Modus, bei Loslassen von Nick&Roll (BlindZone "30") wird PH nach 300ms wieder eingeschaltet.
Erweiterte Unterstützung/Initialisierung versch. GPS Module. Erweiterte Initialisierung mit Timeout nach 10 Sekunden.
Pos. Hold wird erst bei 7 Sats ermöglicht.
Sonstiges
========
Erhöhte Genauigkeit des Haupt-PID Kontrollers ("float PID") + "Pt1" Element. Der Copter liegt stabiler und das Roll/Pitch P kann erhöht werden. Insbes. der "Abstieg" wird dadurch ruhiger.
Neues Feature:
feature pass (Ausschalten
feature -pass) Schleift den Gaskanal direkt an die ESC durch (VORHER, in der Gui prüfen ob die Throttlewerte auch passen, also z.B 1000-2000).
IN DEM MODUS NICHT FLIEGEN - ich sags nur nochmal. Zur Warnung blinken die rote und grüne LED im Wechsel. Genaue Funktion: Die ganze Initialisierung der Sensoren wird übersprungen (acc/gyro/gps/mag/sonar) es wird nur Fernsteuerung, der Mischer und das CLI initialisiert. D.h. man muss natürlich den passenden Coptertyp eingestellt haben. Wenn ein QuadX (Voreinstellung) belassen wird, aber z.B ein Octo vorliegt, werden natürlich nur 4 Motoren angesprochen.....
Minthrottle/maxthrottle oder auch mincheck/maxcheck werden ignoriert. Das Signal wird unbearbeitet durchgereicht, man kann es auch in der GUI sehen.
Neue/erweiterte Parameter
led_invert: Invertieren des logischen Pegels der LED 0 & 1. Per default steht led_invert = 0 d.h. alles wie immer. Mit led_invert = 1 wird invertiert.
gps_rtl_minhight Meterangabe für die Mindest-RTL Höhe (Default 20) EDIT: Ein Wert von 0 schaltet die Funktion aus.
gps_type
Folgende Werte gelten für gps_type:
gps_type = 0 : GPS_NMEA (Default)
gps_type = 1 : GPS_UBLOX Binärprotokoll
gps_type = 2 : GPS_MTK16 Binärprotokoll
Unterstützung von 3drobotics 1.6 FW und kompatibler (z.B AXN1.51_2722_3329_384.1151100.5.bin)
1.6 FW:
http://api.ning.com/files/taDZ5KJK*...QmA__/AXN1.30_2389_3329_384.1151100.1_v16.bin
gps_baudrate = egal, wird automatisch initialisiert und automatisch auf 57K gesetzt.
gps_type = 3 : GPS_MTK19 Binärprotokoll (ein Stelle genauer als MTK16 od.NMEA !!)
Unterstützung von 3drobotics 1.9 FW und kompatibler (z.B Wollez Binär FW)
gps_baudrate = egal, wird automatisch initialisiert und automatisch auf 57K gesetzt.
1.9 FW:
http://code.google.com/p/ardupilot-...1.51_2776_3329_384.1151100.5_v19.bin&can=2&q=
Wollez FW:
http://www.wii-copter.de/forum/downloads.php?view=detail&df_id=29
Die MTK Binärfirmwares exsistieren z.Zt NUR für MTK 3329 mit Globaltop branding. Wenn es eine zum 3drobotics 1.9 Binärprotokoll kompatible FW für den MTK3339 geben sollte, funktioniert "GPS_MTK19" auch, da die Initialisierung gleich ist.
Stimmen die GPS Einstellungen nicht, oder liegt eine falsche Verkabelung vor, dann wird 10 Sek lang gesucht. In der Zeit ist kein Start o.ä möglich.
accz_vel_cf gibt an, wie stark das acc den Ton beim Variometer angibt. Default: 0.985 d.h 98.5%. Den Wert erst mal so lassen!
accz_alt_cf gibt an, wie stark das acc den Ton bei der Höhe angibt. Default: 0.940 d.h. 94%. Die Harakiri04b hatte hier den Wert von 0.85. Diesen Wert konnte ich erhöhen, da das Programm gegenüber meiner mwii-Version genauer arbeitet. Diesen Wert könnt ihr ändern (erhöhen), und damit eure Barokurve weiter bügeln, allerdings kann euch auch die acc Höhe weglaufen, wenn die Barokorrektur zu klein wird. 0.94 erscheint mir schon sehr gut.
nazedebug Mit dem Wert 1 könnt Ihr euch in den Debugfenstern (von li nach re) folgende Werte anzeigen lassen:
Barohöhe*10 cm
Höhe fusioniert mit acc Wert*10 cm (Regelungsrelevant für "Alt P")
BaroClimbRate
BaroClimbRate fusioniert mit acc Werten (Regelungsrelevant für "Alt I")
Code:
Das sind die Voreinstellungen:
accz_vel_cf = 0.985
accz_alt_cf = 0.940
nazedebug = 0
gps_type = 0 (NMEA)
gps_baudrate = 115200
acc_hardware = 2 (MPU6050)
gps_rtl_minhight = 20
looptime = 3000
deadband = 10
yawdeadband = 15
alt_hold_throttle_neutral = 50
acc_lpf_for_velocity = 10
acc_lpf_factor = 100;
minthrottle = 1150
maxthrottle = 1950
Mischer: QUAD X
LG
Rob