Go Down

Topic: Gyro Epson XV3500CB - Ko Propo breakout board (Read 1 time) previous topic - next topic

ind3x

Hi folk!

Firstly, this is my first post on Arduino forums and I'm a newbie (I have some experience with microcontrollers as a beginner but that's it) with Arduino.

2 month ago I bought the Sparkfun Inventor Kit to start playing with microcontrollers. I played with almost all examples that include the starter kit.

The problem is... my brother (who plays with Mini-z RC cars as a hobby) has borrowed me a Ko Propo breakout board that include a Epson XV3500CB Gyro to start playing with other components. This board has just 3 wires, red, black and white and is quite different comparing with other gyros that I looked on Internet and which are connected to Arduino via I2C.

My board is like the following image:


Datasheet: http://www.epsontoyocom.co.jp/english/product/Sensor/set01/xv3500cb/index.html

I've looked around Internet (Arduino Forums, Google, Youtube...) for more information, I have the datasheet and more or less I know the idea how it works, but I tried connecting red wire to 3,3V, black to GND and the white wire to Arduino A0 analog input and when I print the results on the serial monitor, the Gyro is giving me 2,9V all the time without any result when I move it.

(I take into account that with 5V the ADC converter give a range between 0-1023 and if I use 3.3V give a range between 0-675)

Which way I need to take to use this gyro on my Arduino Uno? Do I need to use any transfer protocolo such as OneWire?
I'm quite desperated, please a little of help/recomendation will be gratefull.

Thanks a lot!
Best.

PD: Sorry for my English, I'm improving it. :)

darki03

#1
Feb 03, 2012, 03:49 pm Last Edit: Feb 03, 2012, 03:58 pm by darki03 Reason: 1
Hello !

I'm also a "newbie" in Arduino experimentation, but i now few things and after reading the gyro datasheet, i saw that it has a 0.67 mv/(°/s) scale factor !

So for a +/- 100°/s full scale you just have a +/- 100*0.00067 =  67 mv output voltage range, furthermore it also means that 1°/s is equivalent to a 0.67 mV variation of the bias voltage (zerovoltage).

I've read that Arduino boards have a 10 bit ADC resolution with 5V voltage range so 1 LSB is equivalent to 5/1023= 0.00488..V. This remark means that the resolution of the ADC is not adapted (sufficient) to the gyro scale factor, in this case you will not be able to measure angular rates under about 7.3 °/s (5/1023/0.00067) and between measured value and measured value + 7.3 °/s beyond.

One thing strange is that the datasheet give a bias voltage at 1.35 V (equivalent to zerovoltage) and you find 2.9 V, i can't expalianed it !
What dou you mean here:
Quote
(I take into account that with 5V the ADC converter give a range between 0-1023 and if I use 3.3V give a range between 0-675)


Due to the fact that my english is not very good you can take a look at this site:
http://arduino.cc/playground/Main/Gyro

If i have misunderstanding something, anyone can feel free to correct me.
Hope that will be usefull.
Bon sang ! mais c'est bien sur !

ind3x

Thanks a lot!

The datasheet said that the gyro works with 3V+/- 0.3. Then I connect the board to 3.3V and the Arduino ADC takes as reference 5V then, if I use 3.3V the max value that I have is 675. (3.3*1023)/5 = 675.

Also I checked that is possible to connect 3.3V to Vref to use this voltage as ADC reference. But I'm not sure about it.

However, as you have said, probably is not the best component but I will continue researching.

PD: Is it possible to use something to change this scale factor to make able to use in the arduino? Maybe connecting this thing between the gyro and analog input...

darki03


PD: Is it possible to use something to change this scale factor to make able to use in the arduino? Maybe connecting this thing between the gyro and analog input...

I have not say that the sensors is not able to be used with the Arduino, you can use it but not correctly. But i think you have understood me ;)

For me the only thing that it is possible to put between arduino and sensor is an external i2c ADC with a better resolution as it is done in the breadborad propose by sure electronics which is equipped with a 18 bit resolution ADC (at 3.75 samples per seconds):

http://www.sure-electronics.net/download/DC-SS010_Ver1.0_EN.pdf

Quote
The datasheet said that the gyro works with 3V+/- 0.3. Then I connect the board to 3.3V and the Arduino ADC takes as reference 5V then, if I use 3.3V the max value that I have is 675. (3.3*1023)/5 = 675.


Ok i have understood this but my question is in fact how you compute the 2.9V ? is it analogRead(InputPin)*5/1023 ?
Bon sang ! mais c'est bien sur !

ind3x

#4
Feb 03, 2012, 07:10 pm Last Edit: Feb 03, 2012, 07:15 pm by ind3x Reason: 1
Quote
Ok i have understood this but my question is in fact how you compute the 2.9V ? is it analogRead(InputPin)*5/1023 ?


The first try I did analogRead(inputPin)*3.3/675. Also, I tried analogRead(inputPin)*5/1023 but in this case the result was 4.6V or something like this. I can't understand why.

Maybe the gyro is broken?  :smiley-roll-sweat:

Thanks for your help :D

PD: Probably the best solution is buy the same board which you are telling me. Or build something like your porpuse.

darki03

Quote

The first try I did analogRead(inputPin)*3.3/675. Also, I tried analogRead(inputPin)*5/1023 but in this case the result was 4.6V or something like this. I can't understand why.


This is more strange  :smiley-eek: because i think that 3.3/675 give approximatively the same result as 5/1023 ! So you should have the same result !

Could you first read in your code the raw value of the arduino ADC, without conversion. Then you can see if the int value change with gyro rotation and check if your sensor is broken or not.

Could you also paste your code please ?
Bon sang ! mais c'est bien sur !

ind3x

Sorry my lateness.

I'm looking the results as you ask me.

I've checked and the raw values are from 925 to 927. It does not make sense.

I attach you the code:
Quote

int gyroPin = 0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  gyroVal = analogRead(gyroPin)*5.0/1023;
 
  Serial.println(analogRead(gyroPin));
  delay(100);
}


Thanks.

darki03

#7
Feb 07, 2012, 10:03 am Last Edit: Feb 07, 2012, 10:10 am by darki03 Reason: 1
Ok very strange !

I think that you have to check first the arduino ADC conversion with a simple test as this:
http://arduino.cc/en/Tutorial/AnalogReadSerial

Have you use your analog pins as an output in a previous experimentation ? if yes try to declare it as an input in your setup ( pinMode(A0,INPUT) ).

If the test above does not work, try other analog pins !

It's all i can propose to you at this time sorry ! :smiley-roll-sweat:

Edit: I you have a simple multimeter, also try to measure the gyro output voltage on the white wire (disconnected from the arduino board)!
Bon sang ! mais c'est bien sur !

ind3x

#8
Feb 07, 2012, 12:38 pm Last Edit: Feb 07, 2012, 12:44 pm by ind3x Reason: 1
Hi!
Thanks a lot. You are being very helpfull.

Yes I try the simple test with potentiometers. Just for check and discart arduino problems.

About analog pins as an output, I don't make any test yet, but I've read aout. Then I'll try the test that you purpouse. and about using other pins... the results are the same. However, I'm going to try it again.

At last, no, I don't have a multimeter around me :(

That it's creazy.

Best and thanks again!

PD: I'm thinkig in buying a IMU with accelerometer, gyro, compass on Pololu (http://www.pololu.com/catalog/product/1265). Maybe is best for my future experiments.

ind3x

Hi Darki!

I've tried everything that you told me but with the same results. This sucks. But as newbie, I will keep trying new things. Firstly, more simple than a gyro, of course :D.

Thanks for everything!

I hope you all the best.

darki03

Your welcome ;)

If you find a multimeter, i'm interested by the result of the measure  :D (in France, i don't know your country, we can find very simple multimeter for voltage, current and resistance measurement at very small price in DIY (do it yourself) department of supermarkets)

I think this can be usefull for your future experimentations ;)

Concerning the IMU you talk about (from "pololu") it is a very complete and interresting device, but i think that you (and me too ;)) can start by separate sensors in order to understand each kind of sensor working  (gyro, accelerometers and magnetometer).

But you can also make experimentations with this device step by step !

Very happy to "give a help" and feel free to show me (and to the forum if any question) your future experimentations. I have the project to test IMUs also, and you have motivated me with your device !

Best regards.
Bon sang ! mais c'est bien sur !

ind3x

You're welcomed too, of course!

For me, my dream project/motivation (I hope that you know what I mean) is to make a DIY Quadcopter or Girocopter, both of them are being very populars and first I need to learn and understand this kind of things.  :smiley-red:

Now I'm living in Edinburgh and I think that in UK there is a strange love for "Pound/Euro savers" shops. There are plenty of them. Then I'll check for one multimeter because I was thinking the same like you, probably a multimeter is fundamental.

Kind regards and like in other posts, thanks you!

Go Up
 

Quick Reply

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Note: this post will not display until it's been approved by a moderator.
Name:
Email:

shortcuts: alt+s submit/post or alt+p preview