Che Guevara
05.02.2013, 17:39
Hi,
ich habe einen HMC5883L (3-Achs Kompass I2C), welcher auch funktioniert. Außerdem befindet sich am selben Bus auch noch ein MPU6000 (3-Achs Gyro & ACC).
Jetzt möchte ich den Kompass Neigungskompensieren, weiß jedoch nicht wie. Hab schon einiges gegoogelt, aber bis jetzt noch keine Formel gefunden.
Wäre nett, wenn jemand einen Link, eine Formel oder eine Beschreibung hätte :D
Vielen Dank & Gruß
Chris
EDIT:
Hab gerade die AN00022_COMPASS gefunden (NXP). Darin sind die beiden benötigten Formeln enthalten:
Hxe = HXC * cos(nick) - HYC * sin(nick) * sin(roll) - HZC * sin(nick) * cos(roll)
Hye = HYC * cos(roll) + HZC * sin(roll)
Kompass = atan(Hye/Hxe) / PI * 180
Aber ich weiß nicht, ob und wie die Werte von ACC & Kompass genormt werden müssen!?
Ich denke mal, die Werte von Nick & Roll sollen in Grad angegeben sein. Bei den Kompass werten hab ich keine Ahnung.
ich habe einen HMC5883L (3-Achs Kompass I2C), welcher auch funktioniert. Außerdem befindet sich am selben Bus auch noch ein MPU6000 (3-Achs Gyro & ACC).
Jetzt möchte ich den Kompass Neigungskompensieren, weiß jedoch nicht wie. Hab schon einiges gegoogelt, aber bis jetzt noch keine Formel gefunden.
Wäre nett, wenn jemand einen Link, eine Formel oder eine Beschreibung hätte :D
Vielen Dank & Gruß
Chris
EDIT:
Hab gerade die AN00022_COMPASS gefunden (NXP). Darin sind die beiden benötigten Formeln enthalten:
Hxe = HXC * cos(nick) - HYC * sin(nick) * sin(roll) - HZC * sin(nick) * cos(roll)
Hye = HYC * cos(roll) + HZC * sin(roll)
Kompass = atan(Hye/Hxe) / PI * 180
Aber ich weiß nicht, ob und wie die Werte von ACC & Kompass genormt werden müssen!?
Ich denke mal, die Werte von Nick & Roll sollen in Grad angegeben sein. Bei den Kompass werten hab ich keine Ahnung.