Omnibus F4 V6 findet I2C Magnetometer nicht

Knuspel

Erfahrener Benutzer
#1
Hi,

ich habe eine Omnibus F4 V6 mit der aktuellen iNav Version geflasht (2.0.1 stable) und einen HMC5883L Magnetometer angeschlossen. Weil es so bequm ist habe ich ein BN880 GPS Modul mit eingebautem Magnetometer über den 6 Port Anschluss angestöpselt. Das GPS wird einwandfrei erkannt.

Wie viele andere habe ich das Problem, dass der Magnetsensor nicht erkannt wird. Leider finde ich in den "großen" Foren auch keine Lösung. I2C geht an sich, da der auf dem Board verlötete Baro auch erkannt wird.

Jemand Ideen / eine Lösung?

Grüße
Knuspel
 

Reaver

Erfahrener Benutzer
#3
Könnte nur eine Vermutung äußern. Bei mir im LR Quad ist ein Radix verbaut. Das unterstützt überhaupt kein Magnetometer über I2C und empfiehlt auch, keines zu verdrahten. Hab mich erst gefragt warum, aber Betaflights „GPS Rescue“ ist ohne Kompass genauso einsatzfähig. Und ich meine gelesen zu haben, dass Inav beim Quad auch keines (zwingend) benötigt.
 

Knuspel

Erfahrener Benutzer
#4
Hängt der OnBoard-Baro evtl. auf einem anderen I2C als der rausgeführte?
Kann ich nicht mit Sicherheit sagen. Scheinbar gibt es gar keine offizielle Omnibus F4 V6 Firmware in iNav. Seit Version 2.1 wird auch das Omnibus F4 V6 Nano unterstützt, aber nicht das "große" Board.

@Reaver: Das Omnibus hat ja I2C extra am JST Stecker herausgeführt und auch 2 Lötpads dafür vorgesehen. Ich denke mal es ist vorgesehen diese auch zu nutzen.

Unmannedtech schreibt, dass bei der V6 wieder I2C und UART3 die gleichen Pins nutzen:
I2c magnetometer not working on Omnibus f4 v6

Der interne Baro ist dann wohl auf einem anderen I2C unterwegs.

Ich bin verwirrt.
 
Zuletzt bearbeitet:

Elyot

Erfahrener Benutzer
#5
ggf. selbst kompilieren, vorher mal die Hardwarekonfiguration checken und anpassen. Oder irgendwie den anderen I2C rausführen ...
 

Knuspel

Erfahrener Benutzer
#6
ggf. selbst kompilieren, vorher mal die Hardwarekonfiguration checken und anpassen. Oder irgendwie den anderen I2C rausführen ...
Inzwischen bin ich etwas weiter. Und zwar funktioniert die Firmware, die ich weiter oben verlinkt hatte. Allerdings ist das eine hex von einer INAV 2.0 Version. Der Mag wird erkannt.

Das CLI verrät den "Fehler". Und zwar sind für das Target "FireworksV2" die Ports nicht richtig gesetzt. Also ist das Target für das Omnibus F4 V6 nicht 100% geeignet.

Ich lerne gerade, wie ich INAV selbst kompiliere ... Bei INAV scheint man vor lauter neuer Boards nicht mehr hinterherzukommen ...
 

Heinz-Willi

Erfahrener Benutzer
#7
Hallo,
stehe vor dem gleichen Problem, allerdings mit der iNAV Version 2.5.2
Geflasht habe ich das Target "OmibusF4V6". In dem verwendeten Target wird wie vorher beschrieben
B08: I2C1 SCL und B09: I2C1 SDA verwendet. Und damit der Kompass nicht erkannt.
Gibt es eine einfache Möglichkeit das Target "OmibusF4V6" so zu verändern, das SDA auf PB11 und SCL auf PB10 verweist. Beide sind frei.
Oder ist jemand in der Lage das File umzuschreiben?
Ich hoffe ich habe mein Problem verständlich dargestellt.
Viele Grüße
 

kalle123

Jugend forscht ....
#8
Mal blöde gefragt, ist da ein HMC5883L oder ein QMC5883L drauf? Hab nen F4 Nano V6 unter Arduplane mit BN-180 und QMC5883L und seh da kein Problem.

Ich weiss nur, wenn du versuchst, mit nem Arduino Uno und einen HMC5883L sketch das QMC5883L Magnetometer abgreifen willst, kommt nix. Sind zwar nur ein paar Register, die etwas unterschiedlich sind ....

Ich würde einfach mal probieren, das Magnetometer mittels Arduino auszulesen.

Gruß KH
 

kalle123

Jugend forscht ....
#12
Nochmal und dann hör ich auf.

Hier ist die Pinbelegung vom BN-880. Vcc, GND, SCL und SDA an nen Arduino und den entsprechenden sketch, dann sollte zu sehen sein, ob das Magnetometer Werte ausgibt.

Beitian GPS Modul BN 180 BN 220 BN 800 BN 880 GLONASS mit Antenne für Pixhawk Flight Controller FZ2917 FZ2918 FZ2919 FZ2920|u-blox gps module|u-blox m8u-blox gps - AliExpress

Wenn ich ein Problem mit einen Sensor habe, fang ich mit dem Sensor an und schau, ob der überhaupt Werte ausgibt. Und dann gibt es zwei Möglichkeiten

- Werte werden ausgegeben, dann kann man weiter suchen.

- Werte werden nicht ausgegeben, vermutlich defekt, mit einem Ersatz erneut probieren.

Ich würde das noch etwas verfeinern und zuerst mal nen I2C Scanner laufen lassen.

Aber jetzt ist es gut damit :)

cu KH
 

Heinz-Willi

Erfahrener Benutzer
#13
Hallo,
Danke für Deine Hilfe. Einen Defekt am Bauteil habe ich anders ausgeschlossen. In einem weiteren Copter sitzt eine Omnibus F4 pro mit dem gleichen GPS/Kompass BN 880. Dort werden GPS und Kompass in INav erkannt. Bin den Copter schon öfters geflogen und es funktioniert. Habe die beiden BN 880 getauscht. In dem einen funktioniert es, in dem mit der Omnisbus F4 V6 nano bleibt der Fehler.
In der Beschreibung des Nano sind die Uarts wie in nachfolgender Tabelle zugeordnet. Der UART 3 für den Kompass geht an den MCU PIN PB10 und PB 11.
Bei dem Target für den Nano geht Uart 3 auf die MCU PIN PB08 und PB09!

Es geht also genau um das Problem das Knuspel beschrieben hat und nicht um einen defekten Sensor oder falsch angeschlossene Kabel.

Beste Grüße Heinz-Willi
 

Anhänge

Heinz-Willi

Erfahrener Benutzer
#14
Folgenden Lösungsansatz habe ich gefunden:
Daraufhin habe ich mir Microsoft Visual Studio installiert. Der Aufruf der hex Datei liefert ein anderes Bild als in dem Video. Was muss zusätzlich installiert werden damit die Darstellung passt? Komme im Moment nicht weiter.

Beste Grüße Heinz-Willi
 
FPV1

Banggood

Oben Unten