4 weeks ago - last edited 4 weeks ago
I am using BMI270 gyroscope in a product and I am currently factory-testing it on a table (motionless) with -1..+1 dps criteria.
Gyroscope setup is as follow:
GYR_CONF 0x42 = 0xAA => ODR=400, osr2, norm-noise(ulp), perf-filter GYR_RANGE 0x43 = 0x00 => GYR_RANGE=+/-2000dps (4000 total => 16 LSB/dps), OIS_RANGE=+/-250dps
Especially I have 16 LSB per dps, meaning I consider soldered item as still good if gyroscope is within raw -15..+15 after FOC.
Most pieces succeed the test repetitively, but a few pieces fails this test (closer to +/- 2dps, sometimes up to 6 dps).
I guess I should try gyr_noise_pef=hp instead of current ulp and/or smaller range, but am I right thinking my bounds are reasonable even with ulp noise?
3 weeks ago
Hi aloiseau,
Thanks for your inquiry.
From your description, it appears that you read sensor data while the sensor is stationary to determine if it meets the standard of -1..+1 dps. This is testing offset, not noise. Setting gyrynoise_pef to bit hp does not affect offset.
Is FOC running normally for sensors with large offsets?
3 weeks ago
You are right, I should better plot measurements to sort offset and noise. I will try to to it when I can, likely within a few weeks. I will also try to reduce gyro range which is way larger than my needs.
FOC runs flowlessly and actually results in very small gyro offsets (raw values (-1,0,-2) in registers 0x74..0x77, with gyr_off_en set and gyr_gain_en unset)