02-05-2021 07:14 AM
Hi,
I have set up the magnetometer as per secton 2.4.3.1.3 in the BMX160 datasheet.
I am able to read consistent data from the DATA registers and convert that into MagX and MagY.
However when I rotate the PCB, and graph some sample points, this is what I get. It looks like it is saturating very quickly.
According to Table 4 of the datasheet the magnetic field range is +-1150uT. I compared with my phone to check the field in the area around the PCB and it is ~60uT, peaking at 140uT at the power supply 2ft away on the bench, either way it is well inside spec.
I dont see any settings for the range like the ACC or GYRO have, and the offset is only to do with the time between triggering and reading.
Am I missing something obvious? Is there a way to make this look more sinewavey?
Thanks,
Luke
Solved! Go to Solution.
02-05-2021 08:28 PM
Hello Imills,
I believe that you are using our github source as below.
https://github.com/BoschSensortec/BMI160_driver (For BMX160 general )
https://github.com/BoschSensortec/BMM150-Sensor-API ( For BMM150 )
And, I attached the my BMX160 source code. When I tested, it was okay.
Could you check with my code, and please let me know if you have further questions. ( The unit is uT)
Thank you.
02-06-2021 03:55 AM
I'm not using the API, as nice as it looks it looks like it would be way more work to use, for this application, than to write things myself.
Anyways I solved the issue, turns out im a moron and it was in 2s compliment. I need to use a signed int.
Thanks,
Luke