SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By wyojustin
#112487
I was so excited to receive the all digital 6 dof IMU! Trouble is it doesn't seem to work (with Arduino).

I cannot talk to the ITG3200 or the ADXL345.

I have the Razer 9dof and have successfully worked with the ADXL345. I also have the stand alone ITG3200 BOB and can use it as well.

I fear the board was DOA. Any suggestions?

Thanks,
Justin

IMU Digital Combo Board - 6 Degrees of Freedom ITG3200/ADXL345
digital 6 dof IMU http://www.sparkfun.com/commerce/produc ... s_id=10121
Razer 9dof IMU http://www.sparkfun.com/commerce/produc ... ts_id=9623
ITG3200 BOB: http://www.sparkfun.com/commerce/produc ... ts_id=9801
By sebmadgwick
#112509
If you can already talk to the ITG-3200, you should be able to swap the old board for the new one and all work fine. The only exception being if the old and new ITG-3200 boards have different slave addresses (i.e. SDO pin state on each board).

If you can physically disconnect/reconnected the old and new boards back and forth, and the old board always work while the new board fails, then it is likely that your I2C protocol implementation or circuitry is faulty. It can often be the case that poorly designed firmware/hardware will work for some (more tolerance) devices and fail for other (less tolerant) arrangements; e.g. with the presence of other I2C slaves on the bus.
By wyojustin
#112520
sebmadgwick,

Thank you for your response! I have made progress on the board. I discovered as you mentioned that the I2C address is different on the two boards. The stand alone ITG3200 has an address of 0x69, where on the combo board the ITG3200 has an address of 0x68. Both the accel and gyro are up now.

Thanks again!
Justin
By wyojustin
#112524
Oh shoot! I have spoken too soon. The data looks bad coming out of the combo board. I collected this data "at rest" with the combo board holding gyro 0 and the stand alone board holding gyro 1.
Code: Select all
gyro 0 on 0x68 --  X:-170 Y:530 Z: 427 Temp: 21.63 
gyro 1 on 0x69 --  X:   9 Y:  3 Z:-124 Temp: 21.34 
As you can see the temp looks pretty good on both gyros, but gyro 0 data looks like I spinning off into the sun. I'm afraid it is not merely a different bias. The gyro 0 data always looks too big.

I am using the exact same set up code on both gyros. Any ideas welcome.

Thanks,
Justin
By Mr Roboto
#113884
Hi there. I have a very similar problem to you. Perhaps it's related.

I have bought 4 of these 6DoF combo boards and attached them to (separate) Arduino Pro Mini 3.3V boards to control them. I'm trying to get an IMU running with this setup.
As far as I can see it should be a case of wiring them up and then reading the gyro and accel values and feeding them into some IMU code. But that doesn't work. All four boards have the same problem, so I think it's unlikely to be hardware related (unless it's a systemic design issue - again unlikely).

I have rolled my own code to read the gyro and accel, and then fed it into the IMU algorithm available here. The orientation keeps drifting even when the device is just sitting on my desk. Further investigation shows that the X axis gyro values aren't stable - there is a consistent bias in there.
I initialise the gyro and take the average of 256 samples to determine the bias for removal from subsequent readings, but this doesn't do the trick. The values keep drifting.
I've tried everything I can think of - high gyro sample rates, low sample rates, all of the low pass filter selections, over-sampling. Nothing makes a difference.
I have used the driver code being developed here to get the values from the gyro - no difference there either.

I'm at my wit's end. Has anyone had any success with this board and an arduino to make an IMU? Or perhaps any suggestions?
By fax8
#115120
Di you guys notice that the 6DOF digital has 4.7K Ohm pullups resistors on the PCB? You won't need any external resistor, just connect it to Arduino SDA and SCL and give it 3V3 and GND and you should be connected.