Go Down

Topic: Sensor board MinIMU-9 Gyro, Accelerometer, and Compass (Read 1 time) previous topic - next topic

stunito0o0

Oct 25, 2012, 07:08 pm Last Edit: Oct 25, 2012, 07:14 pm by stunito0o0 Reason: 1
Hi  :)recently a bought MinIMU-9 Gyro, Accelerometer, and Compass and now i am testing it but there is someting i can't understand.Here is my source :
Code: [Select]
#include <Wire.h>
#include <L3G.h>
#include <LSM303.h>

L3G gyro;
LSM303 compass;

void setup() {
 Serial.begin(9600);
 Wire.begin();
 
 if (!gyro.init())
 {
   Serial.println("Failed to autodetect gyro type!");
   while (1);
 }

 gyro.enableDefault();
  compass.init();
 compass.enableDefault();
}

void loop() {
 gyro.read();
compass.read();
 Serial.print("A ");
 Serial.print("X: ");
 Serial.print((int)compass.a.x);
 Serial.print(" Y: ");
 Serial.print((int)compass.a.y);
 Serial.print(" Z: ");
 Serial.print((int)compass.a.z);
 
 Serial.print("G ");
 Serial.print("X: ");
 Serial.print((int)gyro.g.x);
 Serial.print(" Y: ");
 Serial.print((int)gyro.g.y);
 Serial.print(" Z: ");
 Serial.println((int)gyro.g.z);
 
 Serial.print(" M ");  
 Serial.print(" X: ");
 Serial.print((int)compass.m.x);
 Serial.print(" Y: ");
 Serial.print((int)compass.m.y);
 Serial.print(" Z: ");
 Serial.println((int)compass.m.z);

 delay(100);
}

and i receive all the values but they are changing withouT me moving the sensor or anityng else .The sensor and my arduino board are on the floor . Here is  what i get in serial monitor  
Code: [Select]
A X: -31 Y: -1 Z: 967 G X: 23 Y: -86 Z: 43
M  X: -199 Y: -280 Z: -376
A X: -19 Y: 12 Z: 943 G X: 16 Y: -90 Z: 61
M  X: -197 Y: -282 Z: -380
A X: -48 Y: 6 Z: 959 G X: 24 Y: -87 Z: 41
M  X: -188 Y: -271 Z: -378
A X: -41 Y: 11 Z: 961 G X: 27 Y: -52 Z: 64
M  X: -202 Y: -282 Z: -377
A X: -35 Y: 6 Z: 959 G X: 22 Y: -62 Z: 54
M  X: -193 Y: -276 Z: -379
A X: -25 Y: 6 Z: 958 G X: 7 Y: -81 Z: 67
M  X: -199 Y: -281 Z: -377
A X: -13 Y: 1 Z: 975 G X: 19 Y: -81 Z: 18
M  X: -197 Y: -279 Z: -379
A X: -27 Y: 6 Z: 937 G X: 48 Y: -51 Z: 73
M  X: -191 Y: -272 Z: -378

Does someone now how to fix this?Here is the board in pololu website
Thanx.

stunito0o0

#1
Oct 27, 2012, 02:42 pm Last Edit: Oct 27, 2012, 02:44 pm by stunito0o0 Reason: 1
Hi  :) again i read in the internet that these values are different ,because  you need some kind of filter for  the data u receive .So far ok ,but i can't find a filter or tutorials anywhere .Could  someone give me an example or tutorial please.
Thanks ,
Stanislav :)


minnnnnas

#3
Jan 24, 2013, 07:02 pm Last Edit: Jan 25, 2013, 12:51 am by minnnnnas Reason: 1
Hi,

If everything works sound in your board and in your connections with the sensor and the sensor it self ain't broken then, i suggest the problem is caused by other things.

You see, the flactuation on these values could be due to white noise, perhaps some magnetic fields interfierence or anything could cause it. You have to consinder the square error in the measurements as well.

The best way to deal with this, is kalman filter.

I think will be a good code example in arduino forums for the kalman filter implementation.

Hope this helps.

Minas

Go Up