Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Electrical (http://www.chiefdelphi.com/forums/forumdisplay.php?f=53)
-   -   How to measure low velocity (http://www.chiefdelphi.com/forums/showthread.php?t=37026)

nobtiba 06-04-2005 04:46

How to measure low velocity
 
ADXRS150's resolution is 0.004 degree/s but when I rotate the table by hand slow enough (still can observe by eyes) the gyro seems not to reaction. So how can I do?

Gdeaver 06-04-2005 08:11

Re: How to measure low velocity
 
IF your trying to integrate and track a heading this is a problem. Another solution may be to use a digital compass. They have their problems too. They are slow. < 100 samples per second and can be influenced by hard and soft iron fields. Honeywell and PNI are some sources.

miketwalker 06-04-2005 08:17

Re: How to measure low velocity
 
If I remember correctly (someone feel free to correct me if I'm wrong), even though it's actual resolution is that small... the values you get on the IFI controller will not be that accurate.

The Analog Inputs work from 0 to 1023. This covers a 5 volt range. Therefore, 1024 possible values / 5 volts = ~205 values per volt. I believe with the actual ADXRS150, it only works with + 1.5 volts around the 2.5 volt center. So a positive 1.5 volt means 150 degree/second rate.

So, that your 205 values per volt * 1.5 volts(at 150 degrees) ~= 308 values over the center (511) of the range. Now, (150 degrees / 308 values) = ~0.49 degrees/sec rate. So, by using the IFI controller, your accuracy is 0.49 degrees/sec. You won't see any change until you get it going at that rate.

I hope this makes sense, and I haven't gotten much sleep... so if I just completly messed up those calculations or put bad values or something, someone please correct me.

Chris Hibner 06-04-2005 08:23

Re: How to measure low velocity
 
Quote:

Originally Posted by nobtiba
ADXRS150's resolution is 0.004 degree/s but when I rotate the table by hand slow enough (still can observe by eyes) the gyro seems not to reaction. So how can I do?

How are you measuring the signal? Are you using and oscilloscope, or are you using the FIRST controller to integrate a heading?

If you are using the FIRST controller, the resolution is less than said. The ADXRS150 measures approximately +/-150 deg/s, which means it measures a total range of 300 deg/s. The FRC has a 10-bit A/D which means you have 1024 A/D counts. Therefore, your resolution is 300/1024 = 0.293 deg/s.

Kevin Sevcik 06-04-2005 08:36

Re: How to measure low velocity
 
Al this sounds about right.... To combat this, what's the feasibility of fabricating/buying a fairly precise amp to spread the voltage range to 0-5V? Possibly greater if you're unlikely to be turning faster than 150deg/s.

miketwalker 06-04-2005 08:52

Re: How to measure low velocity
 
Quote:

Originally Posted by Kevin Sevcik
Al this sounds about right.... To combat this, what's the feasibility of fabricating/buying a fairly precise amp to spread the voltage range to 0-5V? Possibly greater if you're unlikely to be turning faster than 150deg/s.

I don't know about the amp part... but I do know that you probably want to keep it at 150deg/s. Yea, in a normal turn you may never go over 80deg/s and you'll be fine... but say, for example, a robot hits you and it jolts quickly. You now are off by a few degrees if you use a smaller range cause it went over your maximum view. Then with movements over a few feet you can definitly be far enough off from whatever task you are trying to accomplish that it isn't performed properly. However, I guess this can vary depending on how easily the robot is spun. Amplifying it to go from 0-5v could be useful though, but I think in nearly all cases you don't want to make the spectrum wider and have to worry about a jolt turning you further than the sensor measures.

Kevin Sevcik 06-04-2005 09:29

Re: How to measure low velocity
 
Since the original poster isn't on a team, I'm unsure how much help our advice is going to be anyways. The 10-bit A/D resolution might not apply to him. At any rate, now that I think about it, 150 deg/s might be a bit slow for our robots turning at full speed. Though if your tracking only matters in autonomous, then you might not have to worry about it and could expand the range further and restrict the turning speed.

Other options more complicated than an op-amp, in order of increasing difficulty would be an off-board 16-bit A/D tied to a serial driver and clocking circuitry to send acceleration readings through the TTL serial port, or an entire off-board processor with better A/Ds to keep track of the heading.

nobtiba 06-04-2005 10:16

Re: How to measure low velocity
 
I'm using ADC 10bit of ATMEGA8535. The resolution is 1lsb = 1/1023 corresponding to (1/1023)*5 V = 0.0049V. ADXRS150's sensitivity is 12.5 mV/deg/s so 0.0049V means 0.0049/0.0125=0.392 deg/s =141.12 deg/hour.
That's means if gyro can measure all angular rate from -150 deg/s to +150 deg/s , my ADC can detect the rate at 141.12 deg/hour.
But when I rotate the table faster than that (It takes only about 5 minutes/cycle) the value I get is constant: 480. That is the value at zero point. It shows that ADXRS150 can't detect this slow rate. How to do with this prob?

Alan Anderson 06-04-2005 11:22

Re: How to measure low velocity
 
Quote:

Originally Posted by nobtiba
...ADXRS150's sensitivity is 12.5 mV/deg/s so 0.0049V means 0.0049/0.0125=0.392 deg/s =141.12 deg/hour...

0.392 degrees per second is 1411 degrees per hour. That's a bit more than 15 minutes per revolution, so your 5 minutes per revolution theoretically should be detected as about 2 or 3 counts.

Looking at it another way, 5 minutes per revolution is a little bit more than 1 degree per second. That's a little bit more than 12.5 millivolts, which again should be read as about 2 or 3 counts.

The people responding in this discussion forum are generally concerned with time frames measured in tens of seconds. I don't think many of us will have given a lot of thought to trying to measure angular rate over more than a minute or two.

KenWittlief 06-04-2005 12:20

Re: How to measure low velocity
 
Id be really surprized if you can turn your robot so slowly that the rate sensor reads zero.

Turning a lazy susan by hand on a table top... ok... how does that relate to anything your robot will do?

Andy A. 06-04-2005 12:46

Re: How to measure low velocity
 
Ken-

The posters lack of a team number, and location in Vietnam leads me to belive he isn't using the gyro on a robot, FIRST or otherwise.

At least I don't think there are any teams out of Vietnam.

Maybe with some more information on the application, we could be of more help, nobtiba?

-Andy A.

seanwitte 06-04-2005 13:08

Re: How to measure low velocity
 
If you need to measure a small rotational velocity then maybe the ADXRS401 is a more suitable part. Its measurement range is +-75 degrees per second.

Chris Hibner 06-04-2005 13:32

Re: How to measure low velocity
 
Quote:

Originally Posted by Kevin Sevcik
Al this sounds about right.... To combat this, what's the feasibility of fabricating/buying a fairly precise amp to spread the voltage range to 0-5V? Possibly greater if you're unlikely to be turning faster than 150deg/s.

That is generally the only difference when you have a manufacturer that sells similar sensors with different output ranges: the measurement cell is usually the same and they just change an amplifier stage on their ASIC.

For a one-off application, this would be an okay thing to do if you need to really optimize your range and you can't buy an off-the-shelf part to fit your needs. For a mass production application, you wouldn't want to do this - not only from a cost standpoint, but the amplifier adds another error source and then it will probably become impossible to meet your performance objectives with the error stack up. For a one-off you're going to calibrate anyway so that shouldn't be an issue.

nobtiba 07-04-2005 04:57

Re: How to measure low velocity
 
Quote:

Originally Posted by Andy A.
Ken-

The posters lack of a team number, and location in Vietnam leads me to belive he isn't using the gyro on a robot, FIRST or otherwise.

At least I don't think there are any teams out of Vietnam.

Maybe with some more information on the application, we could be of more help, nobtiba?

-Andy A.

Oh, many universities in VietNam won many prizes in ROBOCON (robot contest of ASIA). I'm in Coleage of Technology (Ha Noi) team. If I can use gyro to measure angular exactly I can use it for stabilization. My duty is using ADXRS150 to do this.
ADXRS300 or the others only different in upper level (75, 150, 300 deg/s) but what about their bellow level?
I think if the sensor can't detect low rate it will lead to my following problems (in fact now):
1. Can't measure angular exactly
2. With the same real angular but measure very different values in different times
3. The same value positive and negative but measure different values (that means if you turn it clockwise then turn to starting point it never be zero)
So I wonder any body used ADXRS and measure angular exactly enough can tell me what to do?

nobtiba 07-04-2005 23:39

Re: How to measure low velocity
 
In the datasheet of ADXRS, it says that we can setting bandwidth by changing the external capacitors: f(out)=1/(2*pi*R(out)*C(out)). Do you think it can effect gyro's capacity of detecting low rate? If not, what is the function of setting the bandwidth?


All times are GMT -5. The time now is 04:35.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi