12-02-2021 03:48 PM
We are working at migrating from the BMI055 to the BMI085. One issue we had in the past with the BMI055 is asymmetrical railing due to vibration when the IMU is in an orientation where the z-axis has a 1g (gravity) offset. For example, at the 4g setting if the sensor already has a 1g offset it sensing range is +3g and -5g. Because we are using the internal low pass filter of the BMI055 we could not use a software offset because the output of the BMI055 would shift because of asymmetrical railing.
One way to deal with this was to store a 1g offset of the Z offset register on the BMI055 (register 0x3A). This significantly improved our performance with respect to vibration where the output of the accelerometer reached the limits of its range. In our application asymmetric railing still occurs at the 16g setting.
Looking at the BMI085 and BMI088 datasheet I see that access to the raw unfiltered data has been removed and so has the offset register. Without the internal offset our application will not function correctly. We were looking at the BMI085 because it is a pin for pin compatible replacement for the BMI055 and we have been told the BMI055 is going EOL. Does anyone have any ideas on how to compensate for asymmetric railing without access to the raw data or having an internal offset register on the IMU?
12-15-2021 09:32 AM
Hello kscrowe,
What is the unit of vertical coordinates in your picture?
According BMI055 data sheet, min/max raw data should be +/-128 LSB.
Usually, the zero offset is only a few tens of mg. How to see the offset of 1g?
12-17-2021 06:40 PM - edited 12-17-2021 11:49 PM
The unit of the Y-Axis (Vertical) is 820 counts/g with a 0g position of 2048. The BMI055 is mounted so the IC is facing toward the ceiling (up). As you can see that on the left side the zero point is at roughly 1220 which is approximately 820 counts lower than 2048. This equals 1g which is the effect of gravity. This is when the z-axis offset register (0x3A) is zero. Then on the right the at rest position is 2048 which is our 0g position. This is done with the z-axis offset register (0x3A) is set to 1g. Our application requires an output of 820 counts/g regardless of the range selected. We handle this through a scale factor.
I think this is getting a bit off track. What we have here is two identical tests. The left side has the z-axis offset register (0x3a) at 0g. The right side has the z-axis offset register (0x3A) at 1g. Why is the data output from the IMU so different between these two scenarios. And what does the BMI085 offer to correct the effects of this asymmetric railing problem given that the register has been removed.
This is becoming even more critical for us. We know that having this register at 0g causes problems in our application. We have just been informed by a Bosch representative that we cannot procur any BMI055 allocation for 2022. We are looking into migrating to the BMI085, which is why I started this thread. We need to know how to migrate to the BMI085 and how to deal with asymmetric railing on the BMI085 part given that the solution we have used in the past on the BMI055 has been removed.
12-21-2021 06:17 AM
Hello kscrowe,
We have taken offline discussion by email.