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?
Here is the data that shows the issue. Unfortunately, I do not have access to the source files but this should demonstrate the issue. In the graphs the vertical and horizontal scale are the same for each tick, but it is hard to read. The top graphs are with the Z-Offset register set to 1g in the BMI055 and the lower graphs are with the Z-Offset register set to 0g.
The test involved setting up two BMI055 on the same mechanical member. Then the member was struck producing an impulse response. All BMI settings are the same for both IMU's except for the Z-Offset register. There are three graphs. The baseline is the captured output from the IMU. Then the medium filtering applies some filtering using a moving average algorithm. The heavy filtering applies even more filtering. As you can see when the Z Offset register on the BMI055 (top graphs) is set to 1g the response to this input is much better. In our application we also see significant improvement in performance when having the Z Offset within the IMU.
The bandwidth of the IMU's would be 15.63Hz. I am unsure of the range, but both would be configured the same. Due to processing limitations in our application the bandwidth must be 15.63Hz.