10DOF ETC | Alldatasheet
Document overview
- Manufacturer or author: Provided By ALLDATASHEET.COM(FREE DATASHEET DOWNLOAD SITE)
- PDF pages: 6
Technical content
10 DOF IMU Sensor User Manual Waveshare
10 DOF IMU Sensor User Manual
- Features Driver IC MPU6050 (3-axis accelerometer and 3-axis gyroscope) Built-in 16-Bit AD convertor Gyroscope full-scope range: ± 250, ± 500, ± 1000, ± 2000°/sec Accelerometer full -scale range: ±2, ±4, ±8, ± 16g HMC5883L (3-axis digital compass) Built-in 12-Bit AD convertor Full-scope range: 360° Compass heading accuracy: 1° ~2° BMP180 (Digital pressure sensor) Built-in temperature sensor with temperature measurement compensation Pressure measuring range: 300~1100hpa (+9000m ~ -500m relating to sea level) Accuracy: 0.02hPa (0.17m) Working voltage 3.3V or 5V Supported interface I2C Dimensions 31mm * 18.4mm Table 1: Product features 2. Applications Quadcopter; Action game controller; Indoor inertial navigation; Self-balancing Robot; Altimeter; Industrial measuring instrument.
- Interface Descriptions Pin No. Symbol Descriptions 1 VCC 3.3V or 5V power supply
2 GND Supply ground
3 SDA I2C serial bus data
4 SCL I2C serial bus clock input
5 INT MPU6050 digital interrupt output
6 FSYNC MPU6050 frame synchronous signal
7 DRDY
HMC5883L Data Ready, Interrupt Pin. Internally pulled high. Optional connection. Low for 250 μs when data is placed in the data output registers. Table 2: Interface descriptions 4. How to use We will illustrate the usage of the module with an example of working with a STM32 series’ development board. ① Download the relative codes to the development board. ② Connect the development board to a PC via a serial wire, and insert the module into the I2C 2 interface on the development board. Please take attention to the connection between the module and I2C 2 interface , each pin of the module should be connected to its corresponding port on the I2C 2 interface and FSYN pin and DRDY pin should be kept suspended respectively.
Figure 1: Connection between 10 DOF IMU sensor module and STM32 ③ Here is the configuration of the serial port, as Table 3 shows. Baud rate 115200 Data bit 8 Stop bit 1 Parity bit None Table 3: Serial port configuration ④ Please make sure the 10 DOF IMU Sensor is in a horizontal -static state before and during its course of powering up and no motion is allowed until its serial port outputs relative data, since 10 DOF IMU Sensor will perform horizontal alignment immediately after its powering up. The data outputted is varied with the position and angle of the module. Figure 2 shows relative data output of 10 DOF IMU Sensor in horizontal state.
Figure 2: 10 DOF IMU Sensor data output in horizontal state The serial output is as followed: Roll, Pitch, Yaw Roll angle (°), Pitch angle (°), Yaw angle (°) Acceleration Acceleration value (LSB, translatable into the unit : Gyroscope Gyroscope angular velocity (LSB, translatable into the unit: °/sec) Magnetic Digital compass title angle (°) Angle Direction angle (°), principally equal to Yaw angle Pressure Pressure value (hPa) Altitude Altitude value (m) Temperature Temperature value (℃) Table 4: The meanings of the serial output
- Parameter calibration and calculation
5.1 Altitude calibration
For your first time to use 10 DOF IMU Sensor, you may find that there is a large difference between the altitude value outputted by the module and the actual altitude. This is because 10 DOF IMU Sensor calculates the pressure at sea level P0 with the Altitude of its current position and the measured pressure, providing that both module current position and pressure are known. And this P0 will be taken as a benchmark for subsequent calculations. For more detailed information, please refer to BST-BMP180-DS000-09.pdf: Figure 3: How to calculate the pressure at sea level With the benchmark P0 , you can calculate the Altitude of the module current position as well. Figure 4: Calculating module current position Therefore, you should firstly set the altitude of the module current position as a benchmark in the sample code 10 DOF IMU Sensor \\SRC\\HardWare\\BMP180\\ BMP180.h (normally, it should be the absolute altitude of your position now, unit: mm). For example:
5.2 Acceleration calculation
Acceleration measured by the program is in the unit of LSB (Least Significant Bit), however it is usually translated into the unit of gravitational acceleration ( g) in practical application. In the sample code of the module, the default setting is AFS_SEL=0, of which the corresponding measurement range is 16384 LSB/g (± 2g), so the actual measured acceleration would be: 𝑎 = Acceleration × 2 16384 , 𝑈𝑛𝑖𝑡: 𝑔
For more detailed information, please refer to MPU-6000 and MPU-6050 Product Specification.pdf, Page 13 MPU6050 Register Map and Descriptions.pdf, Page 15
5.3 Gyroscope angular velocity calculation
Angular velocity measured by the program is in the unit of LSB (Least Significant Bit), however it is usually translated into the unit of angular velocity ( ° /sec) in practical application. In the sample code of the module, the default setting is FS_SEL=2, of which the corresponding measurement range is 32.8 LSB/( ° /s) (± 1000° /sec), so the actual measured angular velocity would be: ω = Gyroscope × 1000 32.8 , Unit: °/s For more detailed information, please refer to MPU-6000 and MPU-6050 Product Specification.pdf, Page 12 MPU6050 Register Map and Descriptions.pdf, Page14