The ITG-3200 is a triple-axis, digital output gyroscope. It features three 16-bit analog-to-digital converters (ADCs) for digitizing the gyro outputs, a user-selectable internal low-pass filter bandwidth, and a Fast-Mode I2C (400kHz) interface, as well as an embedded temperature sensor and a 2% accurate internal oscillator.
I recently received the ITG-3200 Gyro to use with my project and was all excited to use the gyro. I loaded you code into the controller and the gyro appears to hang on each steep. I folled all the instructions you provided. Do you have any suggestion on what I could do next.
I recently received the ITG-3200 Gyro to use with my project and was all excited to use the gyro. I loaded you code into the controller and the gyro appears to hang on each steep. I folled all the instructions you provided. Do you have any suggestion on what I could do next.
Two things I found you have to look out for in this lib (which is awesome btw...thanks Aaron!)
1) Depending if you are pulling up or down pin 9 on the gyro, it will change the address of the device. In my case, I had to edit ITG3200.h line 44 to reflect 0x68 instead of 0x69
2) The library now appears to return signed integers of the rate counts instead of floats for deg/sec, so in the example hello world code seen above all the %f's in the printf() need to be changed to %i's. Also I added \r to keep all the text in a column. Don't know if that's just my terminal's issue or not.
Two things I found you have to look out for in this lib (which is awesome btw...thanks Aaron!)
1) Depending if you are pulling up or down pin 9 on the gyro, it will change the address of the device. In my case, I had to edit ITG3200.h line 44 to reflect 0x68 instead of 0x69
<<code>>
#define ITG3200_I2C_ADDRESS 0x68 //7-bit address.(or 0x69)
<</code>>
2) The library now appears to return signed integers of the rate counts instead of floats for deg/sec, so in the example hello world code seen above all the %f's in the printf() need to be changed to %i's. Also I added \r to keep all the text in a column. Don't know if that's just my terminal's issue or not.
<<code>>
pc.printf("%i, %i, %i\n\r", gyro.getGyroX(), gyro.getGyroY(), gyro.getGyroZ());
<</code>>
Hope this helps.
Tim
I bought ITG 3200 recently, and interfaced with mbed board as shown above and tried the same program, but I am getting the same data all the time which is -12852 -12852 -12852 on all axis. can you suggest me what to do...
I bought ITG 3200 recently, and interfaced with mbed board as shown above and tried the same program, but I am getting the same data all the time which is -12852 -12852 -12852 on all axis. can you suggest me what to do...
I have been trying to use the program provided above, but I believe something in the library is incorrect. I even tried the suggestions given above by Tim Marvin, but that did not work either. My terminal can print from other programs, but this library has an error in it that prevents any printing while running the the program on the mbed. (It compiles so its obviously not a syntactical error, but a run-time error)
I have been trying to use the program provided above, but I believe something in the library is incorrect. I even tried the suggestions given above by Tim Marvin, but that did not work either. My terminal can print from other programs, but this library has an error in it that prevents any printing while running the the program on the mbed. (It compiles so its obviously not a syntactical error, but a run-time error)
Hi all,
I've tested the lib with the IMU and it seems to work sometimes and sometimes it prevents any printing to the terminal programm - like Peter described it above. Strange is, that it's working sometimes. It's really a great library and I like it. I'll try to test only the code above without IMU stuff over weekend - if I'll find some spare time. It's important to connect VLOGIC and VCC to mbed VOUT (3.3V). Did you use a bread board for wiring up the gyro, like me? If so, maybe this is a mechanical reason because of bad contacts? Let us all know if someone is investigating a solution for this, please.
Regards
Stanislaus
Hi all,
I've tested the lib with the IMU and it seems to work sometimes and sometimes it prevents any printing to the terminal programm - like Peter described it above. Strange is, that it's working sometimes. It's really a great library and I like it. I'll try to test only the code above without IMU stuff over weekend - if I'll find some spare time. It's important to connect VLOGIC and VCC to mbed VOUT (3.3V). Did you use a bread board for wiring up the gyro, like me? If so, maybe this is a mechanical reason because of bad contacts? Let us all know if someone is investigating a solution for this, please.
Regards
Stanislaus
Hi all, I am still unable to use the Gyro module (ITG-3200 Breakout board) while interfacing with mbed as shown above....
i tried it with the following changes...
1. Changing I2C address to 0x68 by changing gyro pin 9 connection..
2. vcc and vlogic connecting to mbed vout.
3. without connecting vlogic..
in all cases i am getting some garbage value -12858,-12858,-12858.
i am still trying the same with proper wiring...
can anyone suggest me better solution for this..
regards,
seshu
Hi all, I am still unable to use the Gyro module (ITG-3200 Breakout board) while interfacing with mbed as shown above....
i tried it with the following changes...
1. Changing I2C address to 0x68 by changing gyro pin 9 connection..
2. vcc and vlogic connecting to mbed vout.
3. without connecting vlogic..
in all cases i am getting some garbage value -12858,-12858,-12858.
i am still trying the same with proper wiring...
can anyone suggest me better solution for this..
regards,
seshu
<<quote smilingseshu>>
Hi all, I am still unable to use the Gyro module (ITG-3200 Breakout board) while interfacing with mbed as shown above....
i tried it with the following changes...
1. Changing I2C address to 0x68 by changing gyro pin 9 connection..
2. vcc and vlogic connecting to mbed vout.
3. without connecting vlogic..
in all cases i am getting some garbage value -12858,-12858,-12858.
i am still trying the same with proper wiring...
can anyone suggest me better solution for this..
regards,
seshu
<</quote>>
Make sure I2C are working well(pull ups, etc) and a device has right ID.
You can use <<program /users/simon/programs/I2CU/latest>> to see list of devices on I2C
Thank you very much, I tried the I2CU program to find the I2C address I am getting 0 devices found message back... so I think its because of improper wiring...
I tried in both ways.. by pulling up and pulling down pin 9 of gyroscope...
do I need to change the lpbandwidth?
Seshu.
<<quote chema>>
<<quote smilingseshu>>
Hi all, I am still unable to use the Gyro module (ITG-3200 Breakout board) while interfacing with mbed as shown above....
i tried it with the following changes...
1. Changing I2C address to 0x68 by changing gyro pin 9 connection..
2. vcc and vlogic connecting to mbed vout.
3. without connecting vlogic..
in all cases i am getting some garbage value -12858,-12858,-12858.
i am still trying the same with proper wiring...
can anyone suggest me better solution for this..
regards,
seshu
<</quote>>
Make sure I2C are working well(pull ups, etc) and a device has right ID.
You can use <<program /users/simon/programs/I2CU/latest>> to see list of devices on I2C
<</quote>>
Thank you very much, I tried the I2CU program to find the I2C address,, I am getting 0 devices found message back... so I think its because of improper wiring...
I tried in both ways.. by pulling up and pulling down pin 9 of gyroscope...
do I need to change the lpbandwidth?
Seshu.
Thank you very much, I tried the I2CU program to find the I2C address I am getting 0 devices found message back... so I think its because of improper wiring...
I tried in both ways.. by pulling up and pulling down pin 9 of gyroscope...
do I need to change the lpbandwidth?
Seshu.
pull up SDA,SCL
vcc,vlogic to 3.3V
<<quote smilingseshu>>
Thank you very much, I tried the I2CU program to find the I2C address I am getting 0 devices found message back... so I think its because of improper wiring...
I tried in both ways.. by pulling up and pulling down pin 9 of gyroscope...
do I need to change the lpbandwidth?
Seshu.
<</quote>>
pull up SDA,SCL \\
vcc,vlogic to 3.3V
Thank you very much, I tried the I2CU program to find the I2C address I am getting 0 devices found message back... so I think its because of improper wiring...
I tried in both ways.. by pulling up and pulling down pin 9 of gyroscope...
do I need to change the lpbandwidth?
Seshu.
pull up SDA,SCL
vcc,vlogic to 3.3V
Thank you very much.... I got it.
also made some difference between vcc and vlogic ( vlogic<vcc)
I connected USB voltage to Gyro vcc and mbed 3.3v to vlogic.
I think its not good practice to use usb 5v I have to find other alternative.
seshu.
<<quote chema>>
<<quote smilingseshu>>
Thank you very much, I tried the I2CU program to find the I2C address I am getting 0 devices found message back... so I think its because of improper wiring...
I tried in both ways.. by pulling up and pulling down pin 9 of gyroscope...
do I need to change the lpbandwidth?
Seshu.
<</quote>>
pull up SDA,SCL \\
vcc,vlogic to 3.3V
<</quote>>
Thank you very much.... I got it.
also made some difference between vcc and vlogic ( vlogic<vcc)
I connected USB voltage to Gyro vcc and mbed 3.3v to vlogic.
I think its not good practice to use usb 5v I have to find other alternative.
seshu.
I seem to have a similar problem. I just get a steady stream of -12852 output for all three gyros. My ITG3200 is part of a sens10321 stick, so has a 3 axis accelerometer and 3 axis magnetometer as well. I tried I2CU and it says 3 devices found, which is correct. Any ideas? The only outputs from the stick are Vcc,GND,Scl,Sda so no option to play with Vlogic and Vcc pins on the ITG 3200 chip
Hi
I seem to have a similar problem. I just get a steady stream of -12852 output for all three gyros. My ITG3200 is part of a sens10321 stick, so has a 3 axis accelerometer and 3 axis magnetometer as well. I tried I2CU and it says 3 devices found, which is correct. Any ideas? The only outputs from the stick are Vcc,GND,Scl,Sda so no option to play with Vlogic and Vcc pins on the ITG 3200 chip
I seem to have a similar problem. I just get a steady stream of -12852 output for all three gyros. My ITG3200 is part of a sens10321 stick, so has a 3 axis accelerometer and 3 axis magnetometer as well. I tried I2CU and it says 3 devices found, which is correct. Any ideas? The only outputs from the stick are Vcc,GND,Scl,Sda so no option to play with Vlogic and Vcc pins on the ITG 3200 chip
ITG3200 I2C ADDRESS: 0x68 or 0x69
<<quote mrtetlow>>
Hi
I seem to have a similar problem. I just get a steady stream of -12852 output for all three gyros. My ITG3200 is part of a sens10321 stick, so has a 3 axis accelerometer and 3 axis magnetometer as well. I tried I2CU and it says 3 devices found, which is correct. Any ideas? The only outputs from the stick are Vcc,GND,Scl,Sda so no option to play with Vlogic and Vcc pins on the ITG 3200 chip
<</quote>>
ITG3200 I2C ADDRESS: 0x68 or 0x69
I seem to have a similar problem. I just get a steady stream of -12852 output for all three gyros. My ITG3200 is part of a sens10321 stick, so has a 3 axis accelerometer and 3 axis magnetometer as well. I tried I2CU and it says 3 devices found, which is correct. Any ideas? The only outputs from the stick are Vcc,GND,Scl,Sda so no option to play with Vlogic and Vcc pins on the ITG 3200 chip
Hi there,
you can see VIO on the gyro which is vlogic... keep vlogic always less that vcc.... may be try like this.. connect the vcc to usb voltage and then vlogic to mbed 3.3v also try connecting pull up resistors to sda and scl lines....
also check the connections..
all the best
seshu
<<quote mrtetlow>>
Hi
I seem to have a similar problem. I just get a steady stream of -12852 output for all three gyros. My ITG3200 is part of a sens10321 stick, so has a 3 axis accelerometer and 3 axis magnetometer as well. I tried I2CU and it says 3 devices found, which is correct. Any ideas? The only outputs from the stick are Vcc,GND,Scl,Sda so no option to play with Vlogic and Vcc pins on the ITG 3200 chip
<</quote>>
Hi there,
you can see VIO on the gyro which is vlogic... keep vlogic always less that vcc.... may be try like this.. connect the vcc to usb voltage and then vlogic to mbed 3.3v,, also try connecting pull up resistors to sda and scl lines....
also check the connections..
all the best
seshu
Hi, Has anybody managed to run this gyro? In case of choosing analog output or I2C output gyroscope which one has the major advantage? Cheers, Milan
A: I2C provide digital output so will probably has better resolution?/faster, noise redundant, less power. Right?
Hi, Has anybody managed to run this gyro? In case of choosing analog output or I2C output gyroscope which one has the major advantage? Cheers, Milan
A: I2C provide digital output so will probably has better resolution?/faster, noise redundant, less power. Right?
The SJ1 is used for 7bit I2C address byte and define the LSB bit. Just read the datasheet everything is there!
By default SJ1 is already set to high which mean 0x69 7bit address, but you can unsolder it and solder it to ground, then the 7bit address will be 0x68.
The SJ2 is need to be soldered together if no external clock is used or you can leave it as it is but connect the pin5 of the JP2 to GND. So I solder this SJ2 for mine board and left to unconnected the pin5 on JP2.
Regards,
Stas
Hi Milan,
The SJ1 is used for 7bit I2C address byte and define the LSB bit. Just read the datasheet everything is there!
By default SJ1 is already set to high which mean 0x69 7bit address, but you can unsolder it and solder it to ground, then the 7bit address will be 0x68.
The SJ2 is need to be soldered together if no external clock is used or you can leave it as it is but connect the pin5 of the JP2 to GND. So I solder this SJ2 for mine board and left to unconnected the pin5 on JP2.
Regards,
Stas
Hi, Thank you for the answer I will go back to the manual soon. As I realised that SJ1/2 are optional I deleted my question and it disappeared at the same time as you typed the answer ;) I think that your comment explains the case of 0x68 and 0x69. Have you managed to run this gyroscope? Regards, Milan
Hi, Thank you for the answer I will go back to the manual soon. As I realised that SJ1/2 are optional I deleted my question and it disappeared at the same time as you typed the answer ;) I think that your comment explains the case of 0x68 and 0x69. Have you managed to run this gyroscope? Regards, Milan
Yes I have complete system with accel, gyro and magnetometer but I am use STM32 MCU for this 9 degree of freedom project where I have build mine library from the scratch.
Yes I have complete system with accel, gyro and magnetometer but I am use STM32 MCU for this 9 degree of freedom project where I have build mine library from the scratch.
nice nice nice, what next? have u got an application for it? I just received free samples yesterday and got footprint to Altium today so hopefully start soon. Amazing keep growng
nice nice nice, what next? have u got an application for it? I just received free samples yesterday and got footprint to Altium today so hopefully start soon. Amazing keep growng
Please login to post comments.