LSM6DS33 => problem with self test
Hello,
I recently bought two Pololu IMU03a systems, and both of them gives me negative self test (both accel and gyro). To communication I use I2c protocol. During the test the device is stationaryCalibration:
Rej. 0x10h => Value: 0x30h;
Rej. 0x11h => Value: 0x5Ch;
Rej. 0x12h => Value: 0x44h;
Rej. 0x13h => Value: 0x00h;
Rej. 0x14h => Value: 0x00h;
Rej. 0x15h => Value: 0x00h;
Rej. 0x16h => Value: 0x00h;
Rej. 0x17h => Value: 0x00h;
Rej. 0x18h => Value: 0x38h;
Rej. 0x19h => Value: 0x38h;
After calibration i wait 200ms for stable output, then i erase first five values (by reading registers from 0x22h to 0x2Dh).
Then I read these five registers, I combine them (0x22h with 0x23h ...) and average them in each axis (OUT_NOST).
Then I write 0x01h into registry 0x14h to enable self-test, wait for about 200ms, and discarded next five values (from registers from 0x22h to 0x2Dh).
Then I read five times values for each axis (OUT_ST), calculate average those values, and find min and max value for each axis.
For each axis I make a compare as below:
abs(min_ST_x)<=abs(OUTX_ST - OUTX_NOSTD)<=abs(max_ST_x)
Values I recive:
XGyro without self test [8, 14, 6, 9, 7], with self test [ 2994, 4491, 4499, 4492, 4494]
YGyro without self test [-66, -74, -66, -62, -73], with self test [ 2649, 4020, 4020, 4014, 4
015
]ZGyro without self test [-1, -1
,
-1, -1
, -1
], with self test [ 3207, 4848, 4843, 4845, 4845]XAkcel without self test [575, 505, 455, 502, 564], with self test [ 8114, 7962, 8036, 8056, 8098]
YAkcel without self test [434, 445, 529, 480, 449], with self test [ 9674, 9734, 9681, 9732, 9668]
ZAkcel without self test [
-16131,
-16276,
-16273,
-16260,
-16154]
, with self test [-10374
,-10543
,-10510
,-10446
,-10412
]Am I doing something wrong, or should I return those IMU's ??
Thanks for any answer or clue
