Neu: Die KI-Firewall überwacht die gesamte Plattform und erklärt jeden Vorfall in einfachen Worten. So funktioniert es

Kompass-Heading hinkt bei Kurven hinterher, ist der Filter falsch?

Kompass-Heading hinkt bei Kurven hinterher, ist der Filter falsch?

Gelöst 6 5

Von Türkçe mit KI übersetzt ·

Wir arbeiten an einem kleinen autonomen Boot zur Wasserqualitätsmessung, das auf einer Route zu Probenahmepunkten in Teichen fährt. Ich bin für die Daten zuständig, aber das Elektronikteam ist im Urlaub, deshalb liegt das Problem bei mir.Für das Heading haben wir einen QMC5883L-Magnetometer, und der ESP32 liest mit 10 Hz. Fährt das Boot geradeaus, ist das Heading in Ordnung, aber bei Kurven hinkt es 2–3 Sekunden hinterher: Das Boot hat sich gedreht, der Wert zeigt noch den alten Stand und holt dann langsam auf. Die Verzögerung scheint bei Rechts- und Linkskurven unterschiedlich zu sein. Deshalb schwankt die Routenverfolgung.Die Werte gehen außerdem an Hermetry, wo wir die Route auf einer Karte zeichnen. Außerdem gibt es etwas Merkwürdiges: Im Wochendiagramm erscheint das Heading manchmal um 180, obwohl das Boot an diesem Tag nach Norden gefahren und zurückgekommen ist.

♥ 0

Von Türkçe mit KI übersetzt ·

Wenden Sie einen Filter auf den gelesenen Wert an?

Sahadan selamlar.
♥ 0

Von Türkçe mit KI übersetzt ·

Ja, es ist der Mittelwert der letzten 20 Messwerte. Bei 10 Hz dauert es 2 Sekunden.

♥ 1

Von Türkçe mit KI übersetzt ·

Stellen Sie das Fenster auf 50, dann wird es stabiler.

Ağ geçidi yine bağlanıyor…
♥ 0

Von Türkçe mit KI übersetzt ·

Wurde die Kalibrierung durchgeführt? Wenn die Hard-Iron- und Soft-Iron-Kalibrierung nicht gemacht wurde, treten je nach Drehrichtung unterschiedliche Fehler auf, und der Unterschied zwischen links und rechts könnte daher kommen.

♥ 0

Von Türkçe mit KI übersetzt ·

Das Vergrößern des Fensters erhöht die Verzögerung, man muss das Gegenteil tun. Ich hatte dasselbe Problem einmal, als ich mich mit Drohnen beschäftigt habe.Die Ursache der Verzögerung ist der Mittelwert selbst: Ein gleitender Mittelwert über 20 Messwerte kommt etwa 1 Sekunde verspätet an, und der Fehler wächst mit steigender Drehgeschwindigkeit. Der von Büşra Hanım erwähnte Kalibrierungsmangel erklärt außerdem den Unterschied zwischen rechts und links.Die Lösung ist die Kombination mit dem Gyroskop. Das Gyroskop erfasst die Drehung sofort, driftet aber langsam, das Magnetometer ist langsam, driftet aber nicht. Ein komplementärer Filter kombiniert beide:

// dt = 0.1 s, gz = derece/s (z ekseni jiroskop)
float a = 0.98;
heading = a * (heading + gz * dt) + (1 - a) * magHeading;
// 0/360 geçişini düzelt
float fark = magHeading - heading;
if (fark > 180) heading += 360 * (1 - a);
if (fark < -180) heading -= 360 * (1 - a);
heading = fmod(heading + 360, 360);

Falls auf der Platine kein Gyroskop vorhanden ist, ist das Hinzufügen eines MPU6050 der günstigste Weg. Drehen Sie das Boot zuerst im Wasser zwei volle Umdrehungen und führen Sie die Hard- und Soft-Iron-Kalibrierung durch.Das 180-Problem ist davon getrennt: Ein Winkel lässt sich nicht mitteln. Der Mittelwert von 359 und 1 ergibt 180. Das Wochendiagramm liest stündlich aggregierte Werte, und die Standardfunktion ist Mittelwert. Stellen Sie im Kursdiagramm die Funktion auf last und senden Sie für die Analyse zusätzlich heading_sin und heading_cos neben dem Kurs; deren Mittelwert ergibt das richtige Ergebnis.

Kayıtta yoksa olmamıştır.
Akzeptierte Lösung♥ 7

Von Türkçe mit KI übersetzt ·

Mit dem komplementären Filter ist die Verzögerung fast verschwunden, das Team hatte ohnehin schon einen MPU6050 gefunden. Wir haben auch die Kalibrierung gemacht, der Unterschied links-rechts ist weg. Beim Grafik-last ist auch der 180-Unsinn verschwunden. Gut, dass ich diesen Beitrag gelesen habe, bevor ich Hakan Beys Vorschlag ausprobiert habe 🙂

♥ 2
Ansicht von 7 Beiträgen – 1 bis 7 (von insgesamt 7)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.

Mitdiskutieren

Melde dich an, um Fragen zu stellen und zu beantworten, hilfreiche Beiträge mit „Gefällt mir“ zu markieren und die Antwort zu kennzeichnen, die dein Problem gelöst hat. Jeder Beitrag bringt Punkte und Stufen.

Teilen