12-21-2020 04:37 PM
Hi all,
I have a very short but important question:
Ineed to read uncompensated magnetometer values from the BMX160 (no api compensation) in uT. Unfortunately I do not know the LSB to uT conversion factor on XY and on Z for the raw data. Is it just LSB * 0.3 for both? The result seems very inaccurate (compared to the temperature compensated values).
According to datasheet:
Range XY: +/- 1300uT, 13 bit signed integer -> I assumed -1300 / -4096 = 0.31738 as conversion factor (which seems to be quite correct when comparing it to compensated values)
Range Z: +/- 2500uT, 15 bit signed integer -> I assumed -2500 / -16384 = 0.15258 as conversion factor (values cannot be correct)
Can you please help about the conversion factor LSB to uT for raw data?
Thanks in advance,
Timm
Solved! Go to Solution.
12-21-2020 07:36 PM
Hi Timm,
Sorry about my mistake. BMM150 x and y axes (based on Bosch flip-core technology) also use z axis (based on Hall effect) r_hall input value for temperature compensation.
The factory trimmed dig_xyz1 value in each BMM150's NVM is used as a reference to the input of r_hall. If you don't want to do temperature compensation on BMM150 x/y/z axes, then you can pass constant r_hall = dig_xyz1 to those functions.
Thanks.
12-21-2020 07:45 PM
Hey there, thanks a lot for your excellent support! Everything clear now 🙂