IMU 6DOF Razor

Hi!!

How's everybody??

I just bought this IMU ( IMU 6DOF Razor - Ultra-Thin IMU - SEN-09431 - SparkFun Electronics ), it has a ADXL335 3 axis accelerometer, a LPR530AL (pitch & roll) and a LPR530ALH (yaw).

I just start connecting it to the great Arduino Mega, and build a quick sketch for reading the analog channels.

v1 and v2 (vref) = 3.3v
hp, pd, st = 0v

and i got this readings:

ax | ay | az | g4x | g4y | g4z

256|253|315|516|516|516
256|253|315|516|516|516
256|253|315|516|515|516
257|253|316|516|516|516
256|253|316|516|515|516
256|253|315|516|516|516
256|253|315|516|515|516
256|253|316|516|516|516
256|253|315|515|516|516
256|253|315|515|516|516
256|253|315|516|515|516
256|253|315|515|515|516
256|253|315|516|516|516
256|252|315|515|515|516
256|253|316|516|516|516
256|253|315|516|515|516

(im reading the amplified outputs 300 d/s)
(the IMU is not moving, and its horizontal)

When i move the IMU, the accel's values start to change, but the gyro values are not changing...

Now, trying to make some kind of conversion, i read in some forum, a way to obtain accel in m/s2, its this:

(A) acceleration (m/s^2) = (N-512)/1024*(double)10.78;

So, i modify my sketch to make more readings and obtain a better zero-g bias, replacing the 512 and it ends like this:

ax=((analogRead(2)-calx)/1024.0)*10.78;

and now, this is the result:

0.000|0.052|0.052|515|516|516|
0.000|0.063|0.052|515|516|516|
0.000|0.063|0.052|515|516|516|
0.000|0.063|0.052|516|516|516|
0.000|0.063|0.052|516|516|516|
0.000|0.063|0.052|516|516|516|
0.000|0.063|0.052|515|516|516|
0.010|0.063|0.052|515|516|516|
0.000|0.063|0.052|516|516|516|
0.010|0.052|0.042|516|516|516|

Its not to good, right?? need to work in that...

But my question is....

The accelerations are changing, but the gyro rates are not....

Any idea what im doing wrong??

Can some one complete or improve my readings??

When im sure i have the correct readings, im going to implement a kalman filter to obtain a very nice IMU outputs... any ideas??

Thanks a lot!!

cheers!!

Hi,
not sure how you connected Razor IMU board to Arduino...comment about v1 and v2 = 3.3 volts is confusing to me ( I measured mine at 1.260 VDC and 1.250 VDC). Also make sure to provide clean 3.3v to AREF on Arduino to scale ADC values (5V is internal default).

See this write up on Razor 6DOF + Arduino. There is a hardware connection diagram as well as example code - from very simple ones to orientation estimation based on DCM algorithm.

I also posted this in topic:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1257415342

HTH

Hey!!!

Thanks a lot!!!!

Very nice information!!!

cheers!!