SRF10 - The Worlds Smallest Dual Ultrasonic Ranger
Devantech
The SRF10 is the worldwide smallest dual ultrasonic rangefinder. Ideal for driverless transport systems, mobile robots and analog applications.
Technical data
SRF10 | |
---|---|
Range | 6 cm ... 6 m |
Supply voltage | 5V DC |
Current (typical) | 15 mA |
Current (standby) | 3 mA |
Dimensions | 32 x 15 x 10 mm |
Units | µs/mm/inch |
Frequency | 40 kHz |
Interface | I2C |
Connections
The connections to the SRF10 are identical to the SRF08. The "Do Not Connect" pin should be left unconnected. It is actually the CPU MCLR line and is used once only in our workshop to program the PIC16F87 on-board after assembly, and has an internal pull-up resistor. The SCL and SDA lines should each have a pull-up resistor to +5v somewhere on the I2C bus. You only need one pair of resistors, not a pair for every module. They are normally located with the bus master rather than the slaves. The SRF10 is always a slave - never a bus master. If you need them, I recommend 1.8k resistors. Some modules such as the OOPic already have pull-up resistors and you do not need to add any more.
Registers
The SRF10 appears as a set of 4 registers.
Location | Read | Write |
---|---|---|
0 | Software revision | Command Register |
1 | Unused (reads 0x80) | Max Gain Register (default 16) |
2 | Range High Byte | Range Register (default 255) |
3 | Range Low Byte | N/A |
Only locations 0, 1 and 2 can be written to. Location 0 is the command register and is used to start a ranging session. It cannot be read. Reading from location 0 returns the SRF10 software revision. By default, the ranging lasts for 65mS, but can be changed by writing to the range register at location 2. The SRF10 will not respond to commands on the I2C bus whilst it is ranging. See the Changing Range and Analogue Gain sections below. Locations, 2 and 3, are the 16bit unsigned result from the latest ranging - high byte first. The meaning of this value depends on the command used, and is either the range in inches, or the range in cm or the flight time in uS. A value of either 0 or maximum indicates that no objects were detected. Maximum is 65535 (0xFFFF) if you are ranging in uS, 1129 for cm and 442 for inches
Changing the Range
The maximum range of the SRF10 is set by an internal timer. By default, this is 65mS or the equivalent of 11 metres of range. This is much further than the 6 metres the SRF10 is actually capable of. It is possible to reduce the time the SRF10 listens for an echo, and hence the range, by writing to the range register at location 2. The range register can be set in steps of about 43mm (0.043m or 1.68 inches) up to 11 metres. The range is ((Range Register x 43mm) + 43mm) so setting the Range Register to 0 (0x00) gives a maximum range of 43mm. Setting the Range Register to 1 (0x01) gives a maximum range of 86mm. More usefully, 24 (0x18) gives a range of 1 metre and 93 (0x5D) is 4 metres. Setting 255 (0xFF) gives the original 11 metres (255 x 43 + 43 is 11008mm). There are two reasons you may wish to reduce the range. 1. To get at the range information quicker 2. To be able to fire the SRF10 at a faster rate. If you only wish to get at the range information a bit sooner and will continue to fire the SRF10 at 65ms of slower, then all will be well. However if you wish to fire the SRF10 at a faster rate than 65mS, you will definitely need to reduce the gain - see next section. The range is set to maximum every time the SRF10 is powered-up. If you need a different range, change it once as part of your system initialization code.
Analogue Gain
The analogue gain register sets the Maximum gain of the analogue stages. To set the maximum gain, just write one of these values to the gain register at location 1. During a ranging, the analogue gain starts off at its minimum value of 40. This is increased at approx. 96uS intervals up to the maximum gain setting, set by register 1. Maximum possible gain is reached after about 100mm (4inches) of range. The purpose of providing a limit to the maximum gain is to allow you to fire the sonar more rapidly than 65mS. Since the ranging can be very short, a new ranging can be initiated as soon as the previous range data has been read. A potential hazard with this is that the second ranging may pick up a distant echo returning from the previous "ping", give a false result of a close by object when there is none. To reduce this possibility, the maximum gain can be reduced to limit the modules sensitivity to the weaker distant echo, whilst still able to detect close by objects. The maximum gain setting is stored only in the CPU's RAM and is initialized to maximum on power-up, so if you only want do a ranging every 65mS, or longer, you can ignore the Range and Gain Registers. The Gain Register is set to 16 (a gain of 700) at power-up. This can be decreased as required.
Beam pattern
There is no easy way to reduce or change the beam width. The beam pattern of the SRF10 is conical with the width of the beam being a function of the surface area of the transducers and is fixed. It is possible to make the sonar less sensitive to objects off to the side by reducing the maximum gain register from 16 to a lower level. This is a the expense of shorter range, however most small robots don't need 6m of range. A value of 8 (max. gain 140) will reduce the practicable range to about 2m, but it will be much less sensitive to objects off the center line. The beam pattern of the transducers used on the SRF10, taken from the manufacturers data sheet, is shown below.
Mounting the SRF10
You may have notice that there are no mounting holes on the SRF10 module! That was deliberate to keep the module as small as possible. So how do you mount it? Here are three suggestions:
- A straight or right angle 0.1 inch connector soldered to your PCB.
- Using two 9.5mm rubber grommets. Two holes should be drilled into the panel you're mounting the SRF10 to. The hole centers should be 0.7inches (17.78mm) apart and the holes drilled 0.5 inches (12.7mm) in diameter. The two grommets should then be fitted to the panel and the SRF10 gently pushed into them.
- Using our SRF10 Mounting Kit, shown below.
Accuracy
Devatech quotes 3-4cm. It is normally better than this, however so many factors affect accuracy that the manufacturer won't specify anything better than this. The speed of sound in air is approx. 346m/S at 24 degrees C. At 40KHz the wavelength is 8.65mm. The sonars detect the echo by listening for the returning wavefronts. This echo has an attack/decay envelope, which means it builds up to a peak then fades away. Depending on which wavefront is the 1st to be strong enough to be detected, which could be the 1st, 2nd or even 3rd, the result can jitter by this much. Another effect which limits accuracy is a phasing effect where the echo is not coming from a point source. Take a wall for example, the ping will bounce off the wall and return to the sonar. The wall is large, however, and there will be reflections from a large area, with reflections from the outside being slightly behind the central reflection. It is the sum of all reflections which the sensor sees which can be either strengthened or weakened by phasing effects. If the echo is weakened then it may be the following wavefront which is detected - resulting in 8.65mm of jitter. It is possible to see changes of distance as small as mm but then get cm of jitter.
Manufacturer's data
Technical Specification - link to the manufacturer
FAQ - link to the manufacturer
Accessories
plus EUR 5.95 shipping costs
Prices incl. VATEUR 6.71
plus EUR 5.00 shipping costs
Prices excl. VAT
Article no.: DEV-SRF10MOUNT
More details...
plus EUR 5.95 shipping costs
Prices incl. VATEUR 21.83
plus EUR 5.00 shipping costs
Prices excl. VAT
Article no.: DEV-USB-I2C
More details...
Product information for: SRF10 - The Worlds Smallest Dual Ultrasonic Ranger
Publishing date (date of last technical specification): 2009-01-22
Weight: 3 g
Shipping weight: 160 g
Manufacturer: Devantech
Brand: ROBOT ELECTRONICS
Article number: DEV-SRF10
Manufacturer's part number: SRF10
The article SRF10 - The Worlds Smallest Dual Ultrasonic Ranger is listed in the following categories:
Sensors > Ultrasonic
SRF06 - Current Loop Ultra-Sonic Ranger with 4-20mA Output
from ROBOT ELECTRONICSNewest specification: 07/2011
plus EUR 5.95 shipping costs
Prices incl. VATEUR 15.11
plus EUR 5.00 shipping costs
Prices excl. VAT
Article no.: DEV-SRF06
More details...
plus EUR 5.95 shipping costs
Prices incl. VATEUR 32.76
plus EUR 5.00 shipping costs
Prices excl. VAT
Article no.: DEV-SRF08
More details...
SRF02 - Low Cost, High Performance Ultrasonic Ranger
from ROBOT ELECTRONICSNewest specification: 01/2009
plus EUR 5.95 shipping costs
Prices incl. VATEUR 13.43
plus EUR 5.00 shipping costs
Prices excl. VAT
Article no.: DEV-SRF02
More details...
SRF10 - The Worlds Smallest Dual Ultrasonic Ranger
from ROBOT ELECTRONICSNewest specification: 01/2009
plus EUR 5.95 shipping costs
Prices incl. VATEUR 32.76
plus EUR 5.00 shipping costs
Prices excl. VAT
Article no.: DEV-SRF10
More details...
plus EUR 5.95 shipping costs
Prices incl. VATEUR 94.94
plus EUR 5.00 shipping costs
Prices excl. VAT
Article no.: DEV-SRF235
More details...
SRF05 - Low Cost Ultrasonic Ranger
Without Pins (Variations available)from ROBOT ELECTRONICS
Newest specification: 01/2009
plus EUR 5.95 shipping costs
Prices incl. VATEUR 15.11
plus EUR 5.00 shipping costs
Prices excl. VAT
Article no.: DEV-SRF05
More details...
plus EUR 5.95 shipping costs
Prices incl. VATEUR 104.18
plus EUR 5.00 shipping costs
Prices excl. VAT
Article no.: MB-MB7066
More details...
plus EUR 5.95 shipping costs
Prices incl. VATEUR 104.18
plus EUR 5.00 shipping costs
Prices excl. VAT
Article no.: MB-MB7076
More details...
SRF01 - The Worlds Smallest Single Transducer Ultrasonic Ranger
from ROBOT ELECTRONICSNewest specification: 01/2009
plus EUR 5.95 shipping costs
Prices incl. VATEUR 21.83
plus EUR 5.00 shipping costs
Prices excl. VAT
Article no.: DEV-SRF01
More details...
plus EUR 5.95 shipping costs
Prices incl. VATEUR 31.92
plus EUR 5.00 shipping costs
Prices excl. VAT
Article no.: DEV-SRF485WPR
More details...
Contact us
Order online now
Immediate delivery
Available for immediate delivery while stock lasts.
2 in stock
updated: 17.11.2023
Information on currency
EUR 38.98 = GBP 33.33
EUR 32.76 = GBP 28.01
(€1=GBP0.85505)
EUR 38.98 = USD 44.62
EUR 32.76 = USD 37.50
(€1=USD1.1448)
EUR 38.98 = CAD 56.19
EUR 32.76 = CAD 47.23
(€1=CAD1.4416)
EUR 38.98 = AUD 61.16
EUR 32.76 = AUD 51.40
(€1=AUD1.5690)
Share
About ROBOT ELECTRONICS
ROBOT ELECTRONICS is a brand by English manufacturer Devantech Ltd., based in Norfolk. Product range comprises sensors, in particular ultrasonic or compass, servocontrollers as well as small robot drive systems or relay modules with various interfaces. Sensors are produced in England and are of consistently high quality.