Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.

Get Started
Asked — Edited

I2C - ITG-3200 Gyroscope

Moving from facebook to the forums.



User-inserted image

AI Support Bot
Related Content
Synthiam
PRO
Synthiam
#1  
Sweet! This will be a lot easier:)
#2  
For ease so you don't have to go between facebook.
I was a little surprised when I saw the waves.


User-inserted image


Datasheet
#3  

User-inserted image


EZ-B || ITG3200
SDA - SDA
SCL - SCL
GND - GND
3.3V - VDD/VIO

Solder contacts together next to CLK for internal CLK
PRO
Synthiam
#4  
Why would you want internal CLK? Isn't the point of i2c to get the clk from the master?
#5  
For sync reasons between the devices yes however where is the clk signal coming from on the EZ-B then?
PRO
Synthiam
#6  
The EZ-B generates a clk on the SCL. Maybe that is why your scope capture has strageness. Maybe it's because there are conflicting clock signals?

Tonight when i get home, i'll scope an i2c communication so you can see what the SCL clock looks like.

Hopefully I get my ITG this week too
#7  
Thats what I was thinking before about the sync when I believed that it might had been reading in the ACK instead. The EZ-B clock needs be same sample speed as the ITG3200.
#8  
You get your Gyro yet? I really believe their clocks are different which prevents them from syncing.
#9  
O and an update on project tested it with all four props and it does take off(hovered it before turning off actually ran it into the wall but its fine) , however no stabibility without the gyro so cant fly it to much.
PRO
Synthiam
#10  
Grrr, i'm annoyed with this gyro...

Here is a breakdown of the communication from the EZ-B (i2c Master) and the ITG (i2c Slave)

Datasheet says itg-3200 default address is b1101000 (0x68)

Start bit
User-inserted image


Writes 8 bits. MSB 7-bits is address 0x68. LSB is 0 for "Write"
User-inserted image


Writes 0x00 (Who am i). Datasheet says device will ACK, there is no ack. 9th LSB is still high
User-inserted image


Restart occures
User-inserted image


Writes 8 bits. MSB 7-bit address is 0x68. LSB is 1 for "Read"
User-inserted image


Clock from i2c master. ITG does nothing and leaves SDA high, which means 255
User-inserted image


Stop Bit
User-inserted image



So... What does this mean? It means this ITG-3200 is not listening. Why? I have no idea. It doesn't seem to be attempting to pull the SDA logic down.
PRO
Synthiam
#11  
AH!!!

I see the problem... You need a level convertor. I can't beleive i didn't think of this earlier. Sure we can power the ITG-3200 with 3.3v from the EZ-B, but we can't communicate 3.3v. The i2c logic is pulled to 5v. The datasheet defines the ITG Logic must be < VDD

By connecting the ITG to the EZ-B's 5v i2c, you have have ruined it. I'm not sure, but a logic convertor is the only way to tell.

Datasheets man, datasheets. Annoying to read, but necessary.
PRO
Synthiam
#12  
I have a MMA7455 Digital Accelerometer sitting here.. It's rated at 3.3v also. So i decided to try it... And it works fine with 3.3v VDD and 5v i2c. I am pretty sure the ITG-3200 was made to break my brain.


EZ-B writes, slave ACK's
User-inserted image


EZ-B writes, slave ACK's
User-inserted image


EZ-B writes to read address, slave ACK's
User-inserted image


Slave responds.. Voila
User-inserted image
PRO
Synthiam
#13  
Just get an MMA7455L and call it a day:)

#14  
I already have an accelerometer, ADXL335 and have it programmed for a while now. Need the gyro for rate to recalculate the angle as there is alot of noise on the sensors when the motors run. The default address depends on how VIO is tied from what you have guess you have it tied to ground. How you setup CLK on the ITG3200? If you tie it to ground it uses the internal clock of 400kHz.
PRO
Synthiam
#15  
I have tried everything with the ITG. I internal clock uses UP to 400Khz. I have the i2c on the EZ-B set for 100khz for compatibility. I tried it with 400khz, just to see and still nothing.

I also shortened the wires to 1 inch. I wrote a for loop that tried every single 7-bit address. I data logged everything. The itg-3200 will not respond and I don't know why.

It might be due to the 3.3v and 5v i2c... Might still be the issue. But I have no idea. The MMA7455 has a gyro level mode, which works exactly how you'd want. That is what i was demonstrating in the video.
#16  
Where you get the breakout board from? I'll overnight it if i can. Either way its something new to play with lol.
PRO
Synthiam
#17  
You can get an over priced one from paralalalalalax here: MMA7455
#18  
o but its not blue lol, thats k the gyro was 50 from sparkfun before s&h. Besides I'm sure I'll find a use for it down the road if i don't use it now.
PRO
Synthiam
#19  
It will be perfect for what you need:) I'm sure of it
#20  
Long time no chat DJ. Got the V4 for xmas so I will be looking for some things to do with it. Already stripped the board out of its housing and because I love the look of pcbs I will probably be replacing the power connector. Guess I got to look around and see if your still putting out the C#. Still going to see how much your team and you have updated the GUI though. Looking forward to the possibilities. Very Nice stack-able by the way, already had the liberty to de-stack it and its not so fun having to place the boards back together with those little connectors lol.