IMU (MPU9250) With ARM Processor
The MPU9250 is a motion tracking device or MEMS (Micro Electro Mechanical System). A SIP (System in a Package) combining two components the MPU6500 & AK8963. The MPU6500 which is contains 3 axis gyroscope, 3 axis accelerometer, and onboard digital motion processor (DMP) capable of processing complex sensor fusion algorithm from InvenSense. AK8963 is 3-AXIS electronic compass integrated circuit (IC) with high sensitive hall sensor technology in a small package. The AK8963 integrates magnetic sensor for detecting terrestrial magnetism in the X-AXIS, Y-AXIS, and Z-AXIS, a sensor driving circuit, signal amplifier chain, and an arithmetic circuit for processing the signal from each sensor, it has self-test function integrated. This device suitable for map heading in GPS equipment cellphone to realize pedestrian navigation function.
MPU9250 Component Diagram
The MPU9250 sensor has an on-chip 1024 byte FIFO buffer and values are programmed to be placed in the FIFO buffer. The buffer will be read using Microcontroller. The FIFO buffer will be used together with the interrupt signal, if the MPU9250 take place data into the FIFO buffer, it signals the MCU with the interrupt then the Controller Knows that there is data into the FIFO buffer waiting to be read. Sensor Fusion is a process which data from the several different sensors are FUSED to calculate something more than could be determined by any sensor alone or improve accuracy and reliability. On other words, it requires an estimation position and orientation in a dimensional space. A prerequisite for sensor fusion into calibration. The MPU itself it has to be calibrated and provide measurement in units. When using multiple sensors you need to calibrate in order to work well.
Orientation of axes
-
ACCELEROMTER > X, Y, & Z linear axis motion sensing ( sensitive to vibration )
-
GYROSCOPE > Pitch, Roll Yaw Rotational Sensing (Gyroscope Drift)
-
MAGNETOMETER > X, Y, & Z axis magnetic field sensing (Sensitive to magnetic interface)
The gyroscope senses the orientation through angular velocity changes and therefore need to find the orientation, there is a tendency to drift over time because it only sense the changes and there is no fixed frame of reference.
Gyroscopic Drift or Null Drift Bias is an (Angular Velocity that represents as K * Vout) ω ≠ 0. This drift function changes with temperature and shows hysteresis.
Gyroscope is sensitive to gravity and vibration
Accelerometer sense the changes in a direction of gravity which can orient a gyroscope to have more exact angular displacement. However, Accelerometers are more accurate in a static calculation when the system reaches to its fixed reference point of motion whereas the Gyroscope are good at detecting orientation when the system is in motion. Accelerometers tend to distort the acceleration due to external force as gravitational forces in motion which accumulates as noise at the system and error spikes on the output. With the addition of the accuracy of the Gyroscope merge with the accuracy of the accelerometer, these sensors can be combined to avail more accurate orientation by utilizing the output of each sensor.
This device can be improved using special algorithms and filtering techniques, familiarizing more types of sensors and using them into correct error from one input to another to reduce the propagation error.
Pinout of MPU9250
Now we need to integrate this sensor with our controller to getting the data. Before that we need to know about the filter which we used for getting the sensor’s errorless reading. We will use Sensor fusion technology to getting errorless data.