efb
03.03.2014, 12:25
Hallo,
ich habe hier ein Kompassmodul CMPS10, das ich über I2C anspreche. Es gibt einen Wert von 0-255 äquvalent zu 360° aus. Soweit so gut.
Problem 1)
Wenn ich bei 0 anfange, messe ich nach Drehung um jeweils 90 Grad: 0, 71, 123, 177 (also Differenz nach jeweils 90°: 71,52,54,78 )
Ich gehe jetzt mal davon aus, das die Daten beim Verändern des Moduls aber alle 90° eine Differnz von 64 haben sollten, was kann da nicht stimmen? Die Messungen sind ohne Nähe von Eisen oder Elektronik und an zwei Stellen im Zimmer gemacht, sie bleiben ähnlich.
Problem 2)
Nun wollte ich das Modul kalibrieren.
"enter the calibration mode by writing 0xF0 to the command register (22). To calibrate the first point write 0xF5 to the command register, this should also light the LED, then move the object through 90° and write 0xF5 to the command register. Repeat this twice more so four points are calibrated and the LED should also turn off to confirm calibration completion. "
Ich verwende dazu HTerm und einen USB-I2C Adapter von ELV, Geräteadresse ist C0
Wenn ich
s C0 22 F0
und danach
s C0 22 F5
zum Modul schicke, bekomme ich zwar ein K als Antwort, die Modul-LED geht aber nicht an, er ist also nicht im Kalibriermodus.
Was mache ich da falsch?
Vielen Dank und Viele Grüße
Ernst
ich habe hier ein Kompassmodul CMPS10, das ich über I2C anspreche. Es gibt einen Wert von 0-255 äquvalent zu 360° aus. Soweit so gut.
Problem 1)
Wenn ich bei 0 anfange, messe ich nach Drehung um jeweils 90 Grad: 0, 71, 123, 177 (also Differenz nach jeweils 90°: 71,52,54,78 )
Ich gehe jetzt mal davon aus, das die Daten beim Verändern des Moduls aber alle 90° eine Differnz von 64 haben sollten, was kann da nicht stimmen? Die Messungen sind ohne Nähe von Eisen oder Elektronik und an zwei Stellen im Zimmer gemacht, sie bleiben ähnlich.
Problem 2)
Nun wollte ich das Modul kalibrieren.
"enter the calibration mode by writing 0xF0 to the command register (22). To calibrate the first point write 0xF5 to the command register, this should also light the LED, then move the object through 90° and write 0xF5 to the command register. Repeat this twice more so four points are calibrated and the LED should also turn off to confirm calibration completion. "
Ich verwende dazu HTerm und einen USB-I2C Adapter von ELV, Geräteadresse ist C0
Wenn ich
s C0 22 F0
und danach
s C0 22 F5
zum Modul schicke, bekomme ich zwar ein K als Antwort, die Modul-LED geht aber nicht an, er ist also nicht im Kalibriermodus.
Was mache ich da falsch?
Vielen Dank und Viele Grüße
Ernst