ANALOG DEVICES ADXRS 150 ANGULAR RATE SENSING GYROSCOPE Data Report by Daniel Bartolini; Fall 2005
This sensor has been discontinued by Sparkfun and as of 2013, will be discontinued by the manufacturer.
The ADXRS 150 is an Angular Rate Sensing Gyroscope made by Analog Devices. The Gyro itself is micromachined for precision, and the result is a tiny unit. Sparkfun Electronics, however, sells a lovely breakout board with the Gyro already soldered. If you have an interest in soldering your own chip, check out this site. The page details use of the device, as well as techniques for soldering the tiny gyro.
A gyroscope measures angular rate, or how quickly an object turns. The rotation is typically measured in reference to one of three axes: Yaw, Pitch, and Roll. The ADXRS 150 is, by nature, a yaw axis Gyro, measuring rate of turn on a Z-axis. The axis of measurment, however, depends on the direction or orientation of mounting. The image below demonstrates the three possible axes for measurement.
Gyroscopes are used in a variety of applications, very often by the automotive industry. Accelerometers are excellent for testing sudden acceleration and deceleration and can be employed in airbag releasing systems and auto locking brakes. Gyroscopes can be used to measure whether a car seems to be spinning out of control. Should the rate of turn increase dramatically in a very brief burst of time, further braking sytems can be implemented to stop the car.
Gyros are also very popular for robotics purposes. They can be used for navigation and equilibrium calibration. Sparkfun sells a Six Degrees of Freedom arrangement which uses three of these devices in conjunction with an accelerometer to create an internal navgation system for robots, model boats, and model aeronautics projects.
THE CORIOLIS EFFECT Gyroscopes measure angular rate by means of Coriolis Acceleration. The best explanation I can figure is this: Imagine you're standing on a platform at the center of a carousel. The middle platform is not spinning, but the floor around you is. You look straight ahead and see a tree you like. As you step off of the stationary platform and on to the spinning carousel floor, you know you want to keep that tree as directly ahead of you as you can. The spinning floor will cause you to revolve with it, hoowever, so you will not see the tree. In order to see the tree, you have to move in the opposite direction in which the platform is spinning. If you were on stable ground, your walking pattern would make you look like a drunk, but on the carousel, it might look like you were walking in a "straight" line. The force you need to keep yourself aimed at the tree is the Coriolis Acceleration. (Images used below are from the ADXRS150 information sheet
ADXRS CONSTRUCTION The ADXRS series of gyros are constructed using a micromachined mass carved from polysilicon, which is tethered to a frame so that it can move only along one direction.
Silicon beams inside the substrate of the unit form two nominally equal capacitors. As the item which the gyro is mounted to turns, the mass in the center, mounted to a set of springs, exerts force in one direction or another. The mass also moves creating differential capacitance. This change is what is measured to create an output voltage. In the case of the ADXRS 150, this output voltage is about 12.5mV/degree/second.
- Vcc- 5V DC
- Vss- Ground
- RATE- Outputs an analog voltage equivalent to rate of turning (12.5mV per degree of turning, up to 150 degrees in one second)
- 2.5V- This pin puts out a contant 2.5V, which is what is output from the RATE pin when the device is at rest. This pin can be used to calibrate and check the device during use by settingt the 2.5V as a comparison in software, and checking against it.
- TEMP- This pin outputs an analog value from the Gyro's buiolt in temperature sensor. At 76 degrees Farenheit (25 Celcius) the Gyro ouputs 2.5V. The ouput changes at a rate of 8.4mV per degree Celcius. This is another great feature for self testing.
- ST1- Self Test 1 is a pin you can run to a digital I/O on your MCU, and you can use it as another calibration and self testing feature. When you send the ST1 pin a logc 1 (anything higher than 3.3V) you see an immediate drop in output voltage by 660mV typically. This pin is good to send a pulse to if you want to "activate" the device without any movement. If you see the drop you are looking for, then you can determine how well the Gyro is working.
- ST2- Self Test 2 provides the same functionality as ST1, except a logic 1 sent to the pin creates an increase in resting voltage by 660mV.
Datasheet from Analog Devices: The datasheet is pretty straightforward. The pin description provided is for the chip itself, not for the breakout board from Sparkfun, which is detailed above.
- Typical Operating Voltage: +5Vdc (4.75V MIN/5.25V MAX). The range of power for this device is pretty narrow, another reason the precomposed breakout from Sparkfun is a great tool, as they provide the proper set of resistors and capacitors.
- Typical Supply Current: 6mA (8mA MAX).
When the Gyro is at rest, the ouput on the RATE pin is half of the supply voltage, meaning +2.5V. This is a Z-Axis device, and when you turn it clockwise along the Z-Axis, the voltage increases to the tune of 12.5mV per degree. At a full 150 degrees per second, the output voltage is almost a full 5V (clockwise rotation) and almost 0V (counterclockwise rotation).
The voltage increases according to the rate at which you rotate. However, if you rotate faster than 150 degrees in a second, this sensor will not pick up anything past that ceiling. Analog Devices also makes a 300 per second version of this sensor, and Sparkfun sells a breakout board for that model as well.
One main concept to consider is that these sensors measure how fast an object turns, but once it stops, the sensor resets itself to resting voltage. While an Accelerometer will measure tilt and provide a constant voltage based on angle measurement, a Gyro will not do so. That said, a Gyro is much more accurate for measuring rate of turn.
Below are some testing images which demonstrate the behavior of the devices:
The image on the left demonstrates resting voltage. The shot on the right shows a variety of turn types. A steady turn produces a consistent plateau of voltage. Once the turn stops, the voltage resets. The second set of turns show the spikes that are created when the Gyro is rotated sharply. Notice that immediately after the turn stops, the voltage resets to resting.
Datalogging done with Processing
Using the ADXRS 150
I originally set out to use the Gyro as part of a project involving sensor rigs worn by dancers so they can control environmental media playback during a performance. For that project, I am working with an experienced performer/dancer who has specific ideas as to what sort of physicality will be in the choreography. The Gyro, unfortunately, does not behave in a fashion which allows for a lot of room for improvisation.
Its first weakness is its inability to provide a distinct range of values for a full 360 degree turn. This particular model will not even fully translate half a turn if it happens in less than a second (150 degrees per second). A dancer's movements are often much faster than that.
As discussed above, they also do not provide a sense of angle, only angular rate, though I did start to examine ways to work with this information. An accelerometer would do the job nicely, as that sensor would record the angle of bend, and maintain it as long as it is held. I also tried using a flex sensor to accomplish the same idea. As an example, if I wanted to measure the movement of a dancer's lower arm, I might place a Gyro on the lower arm, near the wrist, which would allow me to get the rate of bend at the elbow. If I then had a flex sensor on the elbow, I can measure the angle of bend.
I did some test for this with a basic flex sensing variable resistor and a Microchip 18f252(Datasheet), and sent out decimal values from the 10 bit analog to digital converter (meaning values from 0- 1023) to a terminal program. Also, a 4.7k resistor was run to ground from the same pin of the chip on which the flex sensor sat (in my case A.0).
- The average output with the flex sensor flat was 340.
- The ouptut with the sensor bent to 90 degrees was around 210 (more resistance, lower values).
- Using this rough formula, you can guage angle: Angle = (DEC value) x .69 (again a rough formula based on one set of tests