2
\$\begingroup\$

I'm in the process of evaluating MEMS IMUs for a new design.

According to this post, if a Gyroscope's range is ±250°/s, and its resolution is 16-bit (0-65535), then sensitivity can be calculated as: \$\frac{500°/s}{65535LSB}=0.0076\frac{°/s}{LSB}\$.

I am looking at the accelerometer on the Bosch BNO055. It has a FS range that is user-selectable between ±2g, ±4g, ±8g, and ±16g. One would assume that you would calculate the sensitivity likewise. i.e. if FS=±2g, and accel is 14-bit, then sensitivity is: \$\frac{4g}{16384LSB}=244.14\frac{µg}{LSB}\$.

However the datasheet says the sensivity is fixed which is rather confusing. Does this mean no matter what FS you set, it's impossible to see increments of less than 1mg?

Parameter: Sensitivity
Symbol: S  
Condition: All FS Values, TA=25°C
Min: -
Typ: 1 LSB/mg
Max: -  
\$\endgroup\$
0
1
+50
\$\begingroup\$

This is a system diagram from one of boschs rate gyros (BMG250). Most manufacturers reuse the same system construction from design to design. I do know that when constructing an IMU, they gold wire bond an accellerometer, rate gyro, magentometer and an M0 core together, so the BNO055 has one of their rate gyros in it with the SPI and interrupts bonded to the M0 core.

I cannot verify that the diagram below is exactly what is in the BNO055 (I could go through every rate gyro they make and see if the specs match up to the IMU, I don't have the time and even then its not "for sure"), however this diagram either is the diagram for the rate gyro or is very similar.

Anyway there are two ways to have a variable gain, digital and analog.

With an analog gain, the sensitivity would change as the input referred noise to the variable gain amplifier would also be gained. This would gain the noise and change the sensitivity and the dynamic range.

With an digital gain, the ADC converts whatever is coming from the gyro (which is probably a very fast SAR ADC) and they employ digital filtering to change the dynamic range without changing the noise. This can be done by simply dividing by two, or something more complex like an FIR with an output that is bit shifted.

enter image description here

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.