SamuelBrucksch / open360tracker

Open source antenna tracker for FPV featuring a slipring for continuous 360 degree rotation.
41 stars 17 forks source link

Trouble with compass #20

Closed mcules closed 9 years ago

mcules commented 9 years ago

Jetzt ist es mir zu viel auf Englisch :smiley:

Hab jetzt mal noch ein wenig rum probiert. Bekomme den internen auch mit ganz einfachen Code nicht auf dem Crius zum laufen (siehe unten).

Das selbe Script läuft auf meinem Pro Mini jedoch problemlos. Ich bin jetzt mal hergegangen und hab einen i2c Kompass an den Crius angesteckt, den nimmt er sofort an und ließt die Daten brav aus.

Die I2C Adresse vom internen lauscht jedoch auch auf 0x1E also daran sollte es nicht liegen, die hab ich gescannt.

Irgendwie komisch oder? Gerade weil der MW Code direkt läuft?

Was mir lediglich aufgefallen ist, ist die genaue Bezeichnung der HMC Module. Auf dem Crius steht "L883 2240" und auf dem externen "L883 2108"

Das Problem ist halt das dieses Board im Thread damals empfohlen wurde und viele dieses nutzen dürften.

Lasse bei mir jetzt erstmal den externen dran damit ich weiter testen kann.

#include <Wire.h>

#define HMC5883L  0x1E

int x = 0;
int y = 0;
int z = 0;

void setup() {
  Wire.begin();
  Wire.beginTransmission(HMC5883L);
  Wire.write(0x02);
  Wire.write(0x00);
  Wire.endTransmission();
  Serial.begin(9600);
}

void loop() {
  Wire.beginTransmission(HMC5883L);
  Wire.write(0x03);
  Wire.endTransmission();
  Wire.requestFrom(HMC5883L,6);
  x = Wire.read() << 8;
  x |= Wire.read();
  y = Wire.read() << 8;
  y |= Wire.read();
  z = Wire.read() << 8;
  z |= Wire.read();
  Serial.print("X: "); Serial.println(x);
}
SamuelBrucksch commented 9 years ago

Da sollte man erstmal bei anderen Leuten nachhorchen, ob das Problem wirklich existiert. Nur weil du grad das Problem hast, muss es nicht auch bei anderen auftreten. Bei mir funzt es 100% und bei metzelmännchen, der bei der Implementierung am Anfang geholfen hatte auch. Bei MarenB im Forum scheint es auch zu funktionieren und wie du sagst bei dem externen Kompass auch.

Ich würde das ganze also erstmal auf was anderes schieben. Eine liste der genutzen Hardware bei denen das Problem auftritt wäre außerdem hilfreich.

mcules commented 9 years ago

Meister hat das selbe Problem ;)

Hardware bei mir Crius v2.5

mcules commented 9 years ago

Auf manchen Boards sitzt der HMC5883 nicht direkt im I2C Bus sondern am AUX des MPU6050. Hier muss ein Bypass gesetzt werden.