10 DOF IMU Sensor (C)

From Waveshare Wiki
Jump to: navigation, search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
10 DOF IMU Sensor (C)
Low Power
10-DOF-IMU-Sensor 10 DOF IMU Sensor (C)

10 DOF IMU Sensor (C), Inertial Measurement Unit, Lower Power Consumption
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

Introduction

10 DOF IMU Sensor (C), Inertial Measurement Unit, Lower Power Consumption.

More

Application

  • Quadcopter
  • Action game controller
  • Indoor inertial navigation
  • Self-balancing Robot
  • Altimeter
  • Industrial measuring instrument

Feature

10 DOF IMU Sensor (C)01.png

Interface

10 DOF IMU Sensor (C) 2.png

Operation

Next, take the Waveshare STM32 development board as an example to demonstrate the 10 DOF IMU Sensor module.
① Download the supporting program to the corresponding development board.
② Connect the serial port cable and the module to the development board, insert the 10 DOF IMU Sensor module into the I2C-2 interface of the development board, and note that the module pins must correspond to the I2C-2 interface, and the FSYNC pin should stay disconnected.
10 DOF IMU Sensor (C) 3.png
③ The serial port configuration is shown in the table

Serial Debugging
DOF IMU Sensor Data Output

④ After the 10 DOF IMU Sensor is powered on, it should be in magnetic calibration first to output the correct data. Specific steps are as follows: A. Put the 10 DOF IMU Sensor in a horizontal position and make it still. When the serial terminal receives stable data, press the JOYSTICK key. At this time, LED1 flashes, and LED2 and LED3 are off.
B. The 10 DOF IMU Sensor is placed in a horizontal position and rotated 180° around the Z-axis. When the serial terminal receives stable data, press the JOYSTICK key, then LED2 flashes, and LED1 and LED3 are off.
C. Invert the 10 DOF IMU Sensor, that is, keep the back of the 10 DOF IMU Sensor up and the front down, when the serial terminal receives stable data, press the JOYSTICK key, then LED3 is always on, indicating that the magnetic calibration is completed, and LED1 and LED2 are off .
D. By placing the 10 DOF IMU Sensor in a horizontal position and rotating 180° around the Z-axis, record and compare the magnetic data received by the serial port terminal before and after the rotation. If the size is equal and the direction is opposite, the magnetic calibration is successful, otherwise it fails.
⑤ After calibrating successfully, output the following data respectively:

The meaning of serial output data is as follows:

Roll, Pitch, Yaw Roll angle (°), Pitch angle (°), Yaw angle (°)
Acceleration Acceleration value (LSB, translatable into the unit:g)
Gyroscope Acceleration value (LSB, translatable into the unit: g)
Magnetic Digital compass title angle (°)
Pressure Pressure value (hPa)
Altitude Altitude value (m)
Temperature Temperature value (℃)

Parameter calibration and calculation

Calibrate Altitude

The module calculates the sea level (P0) as a reference with the altitude in the current position (known) and the air pressure value (known), which will result in the altitude value output by the module having a large error. Please refer to BST-BMP180-DS000-09.pdf:
Parameter calibration.png
Based on P0, the Altitude of the current position of the module can be calculated:
Parameter calibration2.png
Therefore, the user needs to give the value of the current position of the module in the sample code 10 DOF IMU Sensor\SRC\HardWare\BMP180\BMP180.h as a reference (generally, the altitude value of the ground is used as the reference, in mm). E.g
Parameter calibration3.png

Calculate acceleration

The unit of acceleration measured by the program is LSB (least significant bit), and the unit is often converted to gravitational acceleration (g) in actual use. The sample demo of the module sets AFS_SEL=0 by default, and the corresponding range is 16384 LSB/g (±2g), so the actual acceleration measured is:
𝑎=Acceleration/16384 ,𝑈𝑛𝑖𝑡:𝑔 Please refer to
PS-MPU-9255.pdf page 8
RM-MPU-9255.pdf page 14

Calculate gyroscope angular velocity

The unit of angular velocity measured by the program is LSB (least significant bit). In practice, the unit is often converted to angular velocity (°/sec). The sample program of the module sets FS_SEL=2 by default, and the corresponding range is 32.8 LSB/(°/s) (±1000°/s), so the actual angular velocity measured is:
ω=Gyroscope/32.8 ,Unit:°/s
Please refer to
PS-MPU-9255.pdf page 8
RM-MPU-9255.pdf page 14

Resources

FAQ

 Answer:

Acceleration output frequency: 4~4000Hz
Angular velocity output frequency: 4~8000Hz

{{{3}}}
{{{4}}}

{{{5}}}


 Answer:

Accelerometers generally do not need to be calibrated. Do you want to be a warm float? Simply put it in the incubator to do segmental zero drift collection at each temperature. If the ambient temperature changes little, no calibration is required.

{{{3}}}
{{{4}}}

{{{5}}}


 Answer:

Barometers can only be used to measure relative altitudes, and measurements are not repeatable (unless in a specific laboratory environment). Therefore, barometers are generally used to measure short-term altitude differences.
Absolute altitude (altitude) is generally measured using GPS.

{{{3}}}
{{{4}}}

{{{5}}}


Support



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 AM GMT+8 (Monday to Friday)