9 Axis Atmega328 Sensor Module IMU AHRS ITG3200/ITG3205 Gyro ADXL345 Accelerometer HMC5883L Magnetometer 3-5V

SKU: GP-1546356

$71.87

9 Axis Atmega328 Sensor Module IMU AHRS ITG3200/ITG3205 Gyro ADXL345 Accelerometer HMC5883L Magnetometer 3-5V
$71.87

Overview
The 9DOF IMU uses three sensors ITG3200/3205 (MEMS three-axis gyroscope), ADXL345 (three-axis accelerometer), and HMC5883L (three-axis magnetometer) to provide you with nine-axis inertial measurements. The output of all sensors is processed by an on-board ATMEGA328 and output via a serial interface. This makes the 9DOF IMU a very powerful control mechanism for unmanned aircraft, unmanned vehicles and image stabilization systems.
Specifications
Using the chip:Atmega328+ITG3200/ITG3205+ADXL345+HMC5883L
Power supply:3-5V DC
Output port:serial port, can be connected to Bluetooth, XBee communication module, etc.; provide for environment algorithm reference source code
Size:49.53 x 27.94 mm
Test Data
Standard calibration
It might be good to power up the Razor a few minutes before calibration, so the sensors can warm up. Calibrating the sensors the first time can be a little tricky, but let’s go
Open for /Razor_AHRS/Razor_AHRS.ino using for and find the section inchUSER SETUP AREAinch / inchSENSOR CALIBRATIONinch. This is where you put the calibration values later.
Connect the Razor AHRS to your computer, set the correct serial port in for and open the Serial Monitor.
If you didn’t change the firmware defaults, you should see lots of output like this
YPR=-155.73,-76.48,-129.51
Set the firmware output mode to calibration by sending the string oc. You should now see output like this
accel x,y,z (min/max) = -5.00/-1.00 25.00/29.00 225.00/232.00
Calibrating the accelerometer:We’ll try to find the mini mum and maximum output values for the earth gravitation on each axis. When you move the board, move it real slowly, so the acceleration you apply to it is as small as possible. We only want pure gra vity!
Take the board and point straight down with the x-axis (remember:x-axis = towards the short edge with the connector holes). While you do that, you can see the x-maximum (the second value) getting bigger.
Hold the board very still and reset the measurement by sending oc again.
Now carefully tilt the board a little in every direction until the value does not get bigger any more and write down the x-maximum value.
Do the same thing for the opposite side (x-axis pointing up) to get the x-mini mum:bring into position, send oc to reset measurement, find x-mini mum value and write it down.
Do the same thing for the z-axis (down and up) and the y-axis (right and left). If you think you messed up the measurement by shaking or moving the board too fast, you can always reset by sending oc.
You should now have all the min/max values. Put them into Razor_AHRS.ino.
NOTE:You have to be really careful when doing this! Even slightly tapping the board with the finger messes up the measurement (try it!) and leads to wrong calibration. Use oc very often and double check your min/max values)
Calibrating the magnetometer
This time you can shake the board as much as you want, but move it away from magnetic distortions introduced by computers and other electronic devices and metal objects.
We’re still calibration mode for the accelerometer. Send on, which will move calibration to the next sensor, which is the magnetometer.
NOTE:This section stays here for reference, but you should use the newer inchExtended magnetometer calibration (see next section) as it yields much better results! You can ski p this and continue with the gyroscope.
We’ll try to find the mini mum and maximum output values for the earth magnetic field on each axis. This basically works like calibrating the accelerometer, except the magnetic field of the earth does not point down straight. Depending on where on the planet you currently are, it points north-and-up (southern hemisphere) or north-and-down (northern hemisphere) at a certain angle. This angle is called inclination. Additionally there might be a tiny deviation from true geo graphic north, which is called declination. SeeWikipedia. The following description assumes you’re calibrating the magnetometer on the northern hemisphere.
Hold the board flat like a compass with the x-axis (remember:x-axis = forward, towards the connector holes) pointing north. Then begin to rotate the board around the east-west axis so it starts pointing down. Observe the x-maximum (the second value) in theSerial Monitor and you will notice when you aligned the board’s x-axis with the magnetic field of the earth. Stop rotating there and again tilt a little in every direction until the value does not get bigger any more.
Do the same thing for the opposite side to get the x-mini mum:first point north, then down.
For the magnetometer we don’t need to reset with oc between measurements.
Do the same thing for the z-axis (up/down) and the y-axis (left/right). NOTE:The rotation of the board around the axis you want to measure doesn’t matter, only that it points into the correct direction. E.g when you start measuring the z-axis, it doesn’t matter if the x-axis points up or down or left or right.
You should now have something like this in your Serial Monitor
magn x,y,z (min/max) = -564.00/656.00 -585.00/635.00 -550.00/564.00 Put these values into Razor_AHRS.ino.
Calibrating the gyroscope
Lay the Razor still on the table.
We’re still calibration mode for the magnetometer. Send on, which will move calibration to the next sensor, which is the gyroscope.
Wait for 10 seconds, and do not move the Razor. It will collect and average the noise of the gyroscope on all three axes.
You should now have output that looks like this
gyro x,y,z (current/average) = -29.00/-27.98 102.00/100.51 -5.00/-5.85 If you think you messed up the measurement by shaking or moving the board, you can reset by sending oc.
Take the second values of each pair and put them into Razor_AHRS.ino.
Done:)
Extended magnetometer calibration
The standard magnetometer calibration only compensates for hard iron errors, whereas the extended calibration compensates for hard andsoft iron errors. Still, in both cases the source of distortion has to be fixed in the sensor coordinate system, i.e. moving and rotating with the sensor.
To start calibrating, put the sensor in the magnetic environment where it will be used later – e.g. in the exact spot on your headphones, if you need to to head-tracking for audio applications (headphones have strong magnets, the less you move the sensor after calibrating, the better your results will be; you should also think about putting some dummy material between the ear cups to bring them in normal hearing position).
Quit all applications that read from the sensor (e.g. Serial Monitor, Processing test sketch, …) and run the Processing magnetometer calibration sketch located in in Processing/Magnetometer_calibration. In fact, you have to install the EJML library first, else the sketch won’t run. How to do that Have a look at the NOTE at the top of Magnetometer_calibration.pde.
Try to rotate the sensor in a way so that you cover all orientations so you produce dots that more or less evenly cover the sphere.
In a mostly undistorted environment this could look something like this
Hit SPACE and watch the Processing console – you’ll find some lines of code that you have to put into the firmware under inchUSER SETUP AREAinch / inchSENSOR CALIBRATIONinch and you’re done.
The collected data (the dots) are also written to a file magnetom.float in the sketch folder. Now in case you own Matlab, underMatlab/magnetometer_calibration you’ll find a script called magnetometer_calibration.m that uses this file and produces some plots for you, so you can visually check the calibration.
Ellipsoid fit and corrected values
Another calibration example:Soft iron gives a sphere scaled and distorted into an ellipsoid.
Sampled raw magnetometer values
Ellipsoid fit and corrected values

Additional information

Weight 0.005 kg

Reviews

Write review “9 Axis Atmega328 Sensor Module IMU AHRS ITG3200/ITG3205 Gyro ADXL345 Accelerometer HMC5883L Magnetometer 3-5V”

Your email address will not be published. Required fields are marked *


Warning: Attempt to read property "post_content" on null in /www/wwwroot/geekpaw.com/wp-content/themes/shoptimizer-child-theme/functions.php on line 714

Warning: Attempt to read property "post_content" on null in /www/wwwroot/geekpaw.com/wp-content/themes/shoptimizer-child-theme/functions.php on line 714

Shipping Methods


Payment Methods

[contact-form-7 id="230e2c7" title="Wholesale Inquiry"]