Funktionieren bei Euch Kompass und Baro vernünftig ?

r0sewhite

Erfahrener Benutzer
@r0sewhite: Danke für Dein Vertrauen in die Änderungen und Deinen ausführlichenTest mit so einem beeindruckendem Coper! Durch Deine Rückmeldung weiss ich jetzt, dass der leicht geänderte MS-Baro Code bei "Sensors" (http://fpv-community.de/showthread....o-vern%FCnftig&p=154301&viewfull=1#post154301) funktioniert.
Rob, im Zweifelsfall kann der Copter schon einiges ab, sollte etwas schief laufen. Ich hab heute den ersten dieser laminierten CF-Smartprops kaputt gekriegt, doch peinlicherweise mit meinem Ellenbogen beim Anlernen des ESC. Der Ellenbogen hat auch schon mal besser ausgesehen. Hoffentlich liest das hier niemand. :rolleyes:

Der Code ist bislang nur für den alten BMP ausgelegt. Wenn Du die Sensorauflösung Deines MS nutzen möchtest, brauchst Du nur folgendes zu ändern
Hehe, nachdem ich vorhin mal Deinen Code durchgelesen habe, habe ich genau das vor etwa einer Stunde bereits getan. Ein Testflug ist für morgen (ähm,... heute) geplant. ;)

So eine FreeIMU muss ich mir auch noch zulegen. Der MS Barocode lässt sich bestimmt auch noch, wie der ursprüngliche BMP085 Code, pimpen. Ausserdem muss es doch möglich sein mit dem HMC5883 ein rudimentäres RTH ohne GPS zu machen.
Wenn die FreeIMU bei Paul vergriffen ist, kannst Du ebenso gut die Drotek 10DOF nehmen: http://www.drotek.fr/shop/en/62-imu-10dof-mpu6050-hmc5883-ms5611.html.

Ich hatte mit meinem LCD - Display (die einfache Ur-Version) auch Anlaufprobleme mit den neuen DEVs.
Der LCD Configurations code wird jetzt nämlich standardmässig nicht mitcompiliert. Die Multiwii Junx spaaren sich jedes Byte für das kommende GPS.
Hilft mir leider nix. Ich rede vom ConfigLCD mit eigener Soft. Und da die MultiWii-Jungs ja bei jeder neuen Version am Protokoll rumspielen müssen, muss ich warten, bis Arnd da mal wieder Lust und Laune hat: http://www.rc-heli-fan.org/quadroco...onfigurationsprogramm-fur-arduino-t80336.html.

Eventuell sollte ich mir doch mal so ein schickes I²C-Display holen.
 

Roberto

Erfahrener Benutzer
@r0sewhite
Aua! Hoffentlich gings nicht "bis aufs Blut...".
Die Drotek hatte ich auch schon ins Auge gefasst... mal sehen.. eigentlich brauche ich nur den Kompass... Da der GPS Code momentan ordentlich maturiert, braucht man vielleicht nur noch an ein paar Softwarefäden zu ziehen und ein basales RTH ist dann vielleicht auch ohne GPS drin ("komm einfach wieder zurück in Funk/Sichtweite").
Das es bei der LCD Config mit den neuen DEVs auch noch zu Inkompatibilitäten kommt, hätte ich nicht gedacht. Schade, dass es da solche Insellösungen gibt.
In der Zwischenzeit habe ich hier etwas herumgeknobelt, wie sich dass mit dem Höhehalten relativ zur Gasknüppelmitte realisieren lässt - da ist bis jetzt noch nichts vorweisbares herum gekommen.

Gute Ellenbogenbesserung!

LG
ROB

P.s.: Hier ist noch einmal der Link (PN-Anfrage) zu der modifizierten DEV und die Anleitung.
http://fpv-community.de/showthread....o-vern%FCnftig&p=156920&viewfull=1#post156920
http://fpv-community.de/showthread....o-vern%FCnftig&p=154297&viewfull=1#post154297

Pps: Jetzt, wo ich schon eine halbe Flasche Rotwein intus habe, gibts hier Flugwetter...
 

aileroned

Erfahrener Benutzer
Cool, morgen hab ich auch wieder Zeit mich mit Kampfschweben zu beschäftigen :D. Bin schon sehr gespannt, wie sich der Baro schlägt :D. Immerhin kommt ein Kollege mit Naza vorbei, hehe.
 

Philipp_Muc

Erfahrener Benutzer
Ich habe heute auch mal den Code mit der Änderung für den MS5611-Baro von Roberto getestet. Der Quad war bei eingeschaltetem Baro nicht wiederzuerkennen :D
Leider konnte ich noch nicht weitertesten, da mir beim zweiten Flug ein Regler abgeraucht ist.

Großes Kompliment und vielen Dank an Roberto!

Gruß Philipp
 

r0sewhite

Erfahrener Benutzer
Ich war heute auch nochmal draußen, mit der geänderten Auflösung auf 10cm. Allerdings fehlt mir hier der Vergleich, da es relativ windig war. Mit ACC hat der Copter zwar relativ gut die Höhe auf einem Korridor von etwa 1m gehalten, doch der ACC hat dem Copter ordentlich harte Tritte verpasst und einige Male auch gut übersteuert. Ohne ACC fing der Copter hingegen immer relativ schnell an, Jojo in einem Korridor von etwa 2-3m zu spielen.

Eigentlich glaube ich, den MS5611 gut genug gedämpft zu haben, werde es aber nochmal mit etwas üppigerem Schaumstoff probieren, um auszuschließen, dass es daran liegt.

Rob, hast Du irgendwo dokumentiert, welche Wirkung die P-I- und D-Regler des Baro in Deinem Code nun haben? Kann ich irgendwo den Einfluss oder noch besser - den D-Anteil des ACC auf den Baro verändern?

Beeinflusst der PID-Regler des ACC eigentlich auch die Wirkung auf den Baro-Code oder kriegt der Baro-Code die Daten direkt vom ACC?
 

aileroned

Erfahrener Benutzer
So,

getestet, mit MS Board, "BaroAlt=BaroAlt/10" gesetzt.

Im ACC Mode, unkontrollierbares angasen, mit Stock PID. Kein Abfallen, immer nur straight nach oben.
Sieht so aus, als ob das geringste Absinken sofort mit einem Gasschub beantworter wurde.
P weiter reduziert, brachte keine spürbare Besserung.

Im HH Mode, schönes glattes Schweben, kein Pumpen, oder irgendwas.
Durch Pitch/Roll eingebrachte Bewegung brachte ihn zum absacken und anschliessendem aufschwingen, nach ende der Rollkurve (normal). Anschliessend pendelte er sich schön wieder auf der Ausgangskurve ein.

Ich werde nacher noch ein paar Tests mit ner P-Reihe machen. Weil, Level und Baro, wär schon nice.
 

Joachim08

Erfahrener Benutzer
So, habe auch mal einen Akku verflogen. Echt super Rob, ich erkenne den Copter gar nicht wieder. Er schwebt wunderbar mit einer Höhenänderung von +- 50 cm :) im Level Modus. Schöne langsame Gegesteuerung. Irgendwie bekomme ich jedoch das leichte Wobbeln bei eingeschaltetem Levelmodus nicht weg, wenn ich P erniedrige wird der Copter "matschig" zu fliegen.

Da muss ich noch an den PIDS schrauben...

Ansonsten großes Lob Rob !!!!!
 

helste

Erfahrener Benutzer
Aileroned, Du musst da den D Wert reduzieren. Bei mir geht es mit D=6. Ab D=8 fängt es zu heftig an, aber mit 6 ist es super.

Joachim, versuche mal P von Level zurück zu drehen.
 

Roberto

Erfahrener Benutzer
Hallo!

Also, wie ich es in dem Beitrag http://fpv-community.de/showthread....o-vern%FCnftig&p=154297&viewfull=1#post154297 hier geschrieben habe.
Nicht die "Stock PID" verwenden!
Es gibt bei der jetzigen Version nur das "P", dass die Barowirkung steuert. D.h. Es ist ein reiner "P" Kontroller, d.h. es gibt (noch) kein "D" was ein Aufschwingen (Pendeln) des Regelkreises verhindern kann.
Das "D" steuert jetzt die Wirkung des ACC Codes. Der ACC Wert, ist der direkte Z Wert des ACC und wird von den üblichen ACC - PIDs (LEVEL MODE) nicht beeinflusst. Wer Ärger mit dem ACC hat, setzt ihn einfach auf 0.
Zum Schluss werden die Ergebnisse von "P" und "D" addiert. Das Ergebnis ist jetzt eine Änderung des momentanen "Gaswertes" d.h. erhöhen oder reduzieren.
Das "I" ist eine Prozentzahl, mit der man die negativen Änderungen (von P und D) des Gaswertes abschwächen kann. I = 0,100 bedeutet 100% I=0,080 sind 80% usw.
Vorgehen beim Einstellen: D auf 0, I erst auf 100% lassen. P von 5,0 ausgehend in 5er Schritten erhöhen, wenn er zu stark pendelt, reduzieren. Das Pendeln bekommt man nicht weg (reiner P Kontroller). Jetzt, das I in 20 Schritten reduzieren, d.h. das Absacken vermindern. Oder so lassen. Bei mir hat es jedenfalls das Pendeln reduziert. Jetzt das D langsam erhöhen in 1-2er Schritten. (Ausser bei dem BMA020, da kann man direkt bei 50 anfangen und in 5er Schritten hoch gehen).
Das Programm ist so einfach, dass es mich wundert, dass es überhaupt funktioniert.
Die Werte werden sehr ungefiltert an die ESC/Motoren durchgegeben, bei mir wurde durch Filterung das Ergebnis schlechter.
Das kann natürlich die ESC gefährden!!!!
@aileroned @Joachim08@r0sewhite: Setzt "D" zuerst auf 0.
@r0sewhite: "...MS5611 gut genug gedämpft zu haben.." Das hast Du bestimmt! Das Prg ist zu simpel....ein echtes D fehlt.
@Philipp_Muc: Der defekte ESC kann von der härteren Regelung kommen!!! Setzte "D" lieber auch erst auf 0.
@El-dentiste: Der Wein hat mich gestern schlagartig in Narkose versetzt. "Don't Drink, wenn man es nicht gewöhnt ist...."
@ALLE: VORSICHT! DIE ÄNDERUNG KANN EUREN ANTRIEBSSTRANG (ESC/MOTOREN) VERMEHRT BELASTEN! INSBES. DER "D" ANTEIL KANN HART ZUR SACHE GEHEN. ICH WILL HIER KEINE COPTER SCHROTTEN! VORHER DAS D IN DER HAND TESTEN. COPTER MIT GAS "LEICHT" MACHEN (LEVEL&BARO DANN ZUSCHALTEN) UND DANN SACKEN LASSEN. DAS D EINSTELLEN, BIS DIE REAKTION ANGEMESSEN ERSCHEINT.

LG

Rob
 

aileroned

Erfahrener Benutzer
Hier ist es zu Windig, für nen Aussagekräftigen Test.

Meine Momentanen PIDs sind im Anhang. (Config im Screenshot ist ohne HH/Baro Mode)

Das Wummern im Level Mode ist fast weg.

Test mit MS Board.
 

Anhänge

Roberto

Erfahrener Benutzer
@aileroned: Kein Wunder, dass Du "nur" ein D von 3 wählen kannst, Dein ACC liefert in Ruhe schon 512.
Da muss ich auf jeden Fall an meine ACC - Einfachformel ran.
Ich habe hier mal eine Liste gemacht, wie sehr sich die Ruhewerte in Abhängigkeit vom Sensor bei der Multiwii unterscheiden:
MMA7455 acc_1G = 64
BMA020 acc_1G = 63
NUNCHUCK acc_1G = 200
BMA180 acc_1G = 255
ADXL345 acc_1G = 265
LIS3LV02 acc_1G = 256
LSM303DLx acc_1G = 256
MPU6050 acc_1G = 255 in der FreeIMUc04 oder acc_1G = 512 sonst

LG

ROB

P.s. Aileroned, Du fliegst ganz schön sportlich....
 

martinez

Erfahrener Benutzer
Test NewBaroPID2 + Problem mit mein Magnetometer

So gestern und heute bin ich mal wieder richtig zum fliegen / testen gekommen...

Ein Problem an mein Copter ist mir dabei richtig klar geworden. Mein Magnetometer funktioniert meiner Ansicht nicht richtig.
Ich hab ein HMC5883L. (Im Code kann man nur "HMC5883" aktivieren)
http://www.ebay.de/itm/180846278947?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

Ich glaube die Z-Achse wird nicht richtig erkannt. Auf Y und X reagiert es meines Erachtens normal.
Schaut euch mal bitte das Video an, was meint ihr dazu?
Wenn ihr euren Copter um die Z-Achse dreht, ändern sich dann die Werte bei MAG YAW?
[video=youtube_share;kNfo11GGSqM]http://youtu.be/kNfo11GGSqM?hd=1[/video]

Sooo und nun zum BARO Code :)
Das funktioniert doch schon mal auch Klasse ROB!!!!! Großes Lob!!!!

Ich hab auch davon ein Video hochgeladen....
[video=youtube_share;qeeZZFBXjuY]http://youtu.be/qeeZZFBXjuY?hd=1[/video]

Die ersten 20 min hat alles super geklappt, Höhe +-50cm evtl. 1m.
Nach ca. 20 Min hat es nicht mehr so geklappt, dieses "ACC-Gegenwehren" hat dazu geführt, dass der Copter sehr schnell nach dem BARO aktiv von 2m auf ca. 6m gestiegen ist. Entweder hat sich durch die wärme etwas an den Sensoren geändert oder der Wind, der ist nämlich auch zu dieser Zeit stärker geworden...
Ich denke ich muss "D" noch etwas verringern, das habe ich im Moment noch auf 80...

Es wäre echt cool wenn jemand was zu mein Mag Problem schreiben könnte...
Das gleiche Problem ist auch bei mein anderen Quad, da hab ich auch diesen Sensor verbaut, also schließe ich ein Sensor defekt schon mal aus....

Vielen Dank schon mal!
Ich wünsche euch immer genug Saft in den Lipos ;)
LG
Martin
 

Roberto

Erfahrener Benutzer
@martinez:

Mit dem Mag kann ich Dir leider auch nicht helfen.
Hey, Danke für Dein positives Feedback und das Profi-Video! Du kannst natürlich auch probieren in der Zeile ACCZD das Constrain ...-10,+10 zu verringern. Also z.B auf 8.

Alle, die Probleme mit dem ACC und Baro haben und nicht das Accelerometer MMA7455/BMA020 verbaut haben, können diese geänderte Zeile in IMU/getEstimatedAltitude testen: (insbes. aileroned, rOsewhite, ggf. Helste, ggf. Joachim08, ggf. Philipp_Muc)

EDIT: 20.6. Zeile geändert (Klammer)
Code:
      ACCZD -= (((int32_t)conf.D8[PIDALT]*(abs(AccZHighest)+abs(AccZLowest))*(constrain (AccZHighest-abs(AccZLowest),-10,+10)))*63)/((int32_t)acc_1G*acc_1G); // conf.D8[PIDALT] Is scalefactor for ACCZ
Dabei werden die ACC Werte immer auf das kleinste gemeinsame Vielfache des BMA020 bezogen. D.h. es ist dann egal, ob eine MPU6050 oder ein BMA0180 verbaut ist. "Nunchuk" ist übrigens nicht zu empfehlen (taugt dafür nicht besonders).

LG

ROB

P.s.: Ich habe hier auch eine Version mit der geänderten Zeile: (Wer MMA7455/BMA020 hat, kann bei MultiWii_dev_20120606_NewBaroPID2 bleiben!)

EDIT: 20.06.: File gelöscht.
 

martinez

Erfahrener Benutzer
@Rob: Hast du ein Mag in dein Copter?
Danke :) ich filme und schneide recht gern..., nur leider macht sich das immer so schlecht, filmen und fliegen zur gleichen Zeit :D

@alle mit Mag Sensor: Wie ist das bei euch, wenn ihr den Copter 45° nach vorne kippt. Bleibt die Himmelsrichtung konstant oder driftet sie weg?
 

weisseruebe

Erfahrener Benutzer
@martinez: GENAU das Problem mit dem MAG habe ich mit meinem Crius SE auch. Bisher leider noch keine Lösung. Im Crius SE Thread und hier http://fpv-community.de/showthread.php?11588-Crius-SE-Mag-Kalibrieren hat auch noch keiner was geschrieben dazu.
Ich habe bereits alle Achsen mal getauscht und invertiert, aber das hat es nicht besser gemacht. Mehrfaches Kalibrieren des MAG hat auch nicht geholfen. Ich hatte manchmal das Gefühl, der Effekt ist geringer geworden und er ändert sich, je nachdem, wie man die Kalibrierung beginnt, aber vielleicht habe ich auch einfach ungenau gearbeitet.
Bei Gelegenheit wollte ich mal tiefer in den Code schauen, ob ich dem Problem auf die Schliche komme, aber bisher bin ich noch nicht dazu gekommen...
 

aileroned

Erfahrener Benutzer
Hi,

Lasst uns hier beim Baro bleiben.

Danke Rob, für den Code, ich werds heute Abend testen. Was wäre aus deiner Sicht ein "standard" PID für alt?
 

martinez

Erfahrener Benutzer
@weisseruebe: Das für das Feedback, gut zu wissen das es scheinbar kein Problem von meinen Sensoren ist. Aber blöd, dass es scheinbar ein Fehler im Code ist....

Feedback von weiteren wäre supi!
Sollte man dazu noch ein Thread aufmachen?! Der Titel von diesen passt eigentlich schon, nur ging es die letzten 20 Seiten nur um die (wie ich finde genialen) Änderungen vom Rob...


Man kann ja im Config File die Wirkrichtung aller Sensoren ändern.... ich hab folgendes getestet:
Ich habe nacheinander auf alle Achsen (Pitch, Roll, Yaw) immer nur eine MAG Sensorachse gelegt, also auf Pitch X, Roll X und YAW X.
Danach alles mit Y und dann mit Z. Dadurch andern sich alle Werte im GUI immer gleich und man hat immer nur eine Achse die wirkt.
X und Y funktionieren so wie sie sollen, ist auch in mein Video so zu sehen.
Die Z Achse macht aber ganz komische Sachen!
In der YAW Richtung (Drehung um die Hochache) passiert da garnichts (Hier passiert bei keiner Sensorachse etwas).
Die Sensor-Z-Achse reagiert nur blitzarte auf "auf dem Kopf liegen", also wenn oben unten ist und unten oben ist.
Bei dieser Aktion schießt der Wert bei mir von ca. -100 auf +100.
(Das auskommentieren aller anderen Sensoren bringt keine besseren, dann hat man aber freie Sicht im Diagramm... :) )

Könnt ihr das bestätigen?

Kennt jemand ein anderen Arduino Code mit den man den MagSensor mal testen könnte?


EDIT:
Wenn gewünscht können wir das natürlich in einen anderen Thread besprechen...
 
Zuletzt bearbeitet:
FPV1

Banggood

Oben Unten