SRF08 - High Performance Ultrasonic Range Finder
Devantech
The SRF08 has a I2C-Interface and a large range from 3cm to 6m.
Technical data
SRF08 | |
---|---|
Range | 3 cm ... 6 m |
Supply voltage | 5V DC |
Current (typical) | 15 mA |
Current (standby) | 3 mA |
Dimensions | 43 x 20 x 17 mm |
Units | µs/mm/inch |
Frequency | 40 kHz |
Interface | I2C |
Connections
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 PIC16F872 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 SRF08 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 SRF08 appears as a set of 36 registers.
Location | Read | Write |
---|---|---|
0 | Software revision | Command Register |
1 | Light Sensor | Max Gain Register (default 31) |
2 | 1st Echo High Byte | Range Register (default 255) |
... | ... | ... |
34 | 17th Echo High Byte | N/A |
35 | 17th Echo 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 SRF08 software revision. By default, the ranging lasts for 65mS, but can be changed by writing to the range register at location 2. If you do so, then you will likely need to change the analogue gain by writing to location 1. See the Changing Range and Analogue Gain sections below.
Location 1 is the onboard light sensor. This data is updated every time a new ranging command has completed and can be read when range data is read. The next two 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 zero indicates that no objects were detected. There are up to a further 16 results indicating echo's from more distant objects.
Ranging Mode
To initiate a ranging, write one of the above commands to the command register and wait the required amount of time for completion and read as many results as you wish. The echo buffer is cleared at the start of each ranging. The first echo range is placed in locations 2,3. the second in 4,5, etc. If a location (high and low bytes) is 0, then there will be no further reading in the rest of the registers. The default and recommended time for completion of ranging is 65mS, however you can shorten this by writing to the range register before issuing a ranging command. Light sensor data at location 1 will also have been updated after a ranging command.
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 94. This is increased at approx. 70uS intervals up to the maximum gain setting, set by register 1. Maximum possible gain is reached after about 390mm 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.
Note - Effective in Ranging Mode only, in ANN mode, gain is controlled automatically.
Light Sensor
The SRF08 has a light sensor on-board. A reading of the light intensity is made by the SRF08 each time a ranging takes place in either Ranging or ANN Modes ( The A/D conversion is actually done just before the "ping" whilst the +/- 10v generator is stabilizing). The reading increases as the brightness increases, so you will get a maximum value in bright light and minimum value in darkness. It should get close to 2-3 in complete darkness and up to about 248 (0xF8) in bright light. The light intensity can be read from the Light Sensor Register at location 1 at the same time that you are reading the range data.
ANN Mode
ANN mode (Artificial Neural Network) is designed to provide the multi echo data in a way that is easier to input to a neural network, at least I hope it is - I've not actually done it yet. ANN mode provides a 32 byte buffer (locations 4 to 35 inclusive) where each byte represents the 65536uS maximum flight time divided into 32 chunks of 2048uS each - equivalent to about 352mm of range. If an echo is received within a bytes time slot then it will be set to no-zero, otherwise it will be zero. So if an echo is received from within the first 352mm, location 4 will be non-zero. If an object is detected 3m away the location 12 will be non-zero (3000/352 = 8) (8+4=12). Arranging the data like this should be better for a neural net than the other formats. The input to your network should be 0 if the byte is zero and 1 if its non-zero. I have a SOFM (Self Organizing Feature Map) in mind for the neural net, but will hopefully be useful for any type.
Register 4 | Register 5 | Register 6 | Register 7 | ...etc |
---|---|---|---|---|
0-352 mm | 353-705 mm | 706-1057 mm | 1058-1410 mm | ...etc |
Beam pattern
There is no easy way to reduce or change the beam width. The beam pattern of the SRF08 is conical with the width of the beam being a function of the surface area of the transducers and is fixed. The beam pattern of the transducers used on the SRF08, taken from the manufacturers data sheet, is shown below.
Connecting the SRF08 via USB
Connecting the SRF08 to your PC via USB is this easy. The USBI2C module supplies the SRF08 with power directly from the USB bus.
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
Customer feedback
No pure receiption mode for SRF08 (like SRF02)
Customer: "I would like to know if it is possible to use the SRF08 only for receipt of signals. I have seen this option described separately for the SRF02 and not for SRF08. I would like to measure with multiple sensors, with only one sensor sending and all others receiving."
Manufacturer: "The SRF08 does not have this feature. I would recommend the SRF02 for this."
Accessories
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: SRF08 - High Performance Ultrasonic Range Finder
Publishing date (date of last technical specification): 2009-01-22
Shipping weight: 160 g
Manufacturer: Devantech
Brand: ROBOT ELECTRONICS
Article number: DEV-SRF08
Manufacturer's part number: SRF08
The article SRF08 - High Performance Ultrasonic Range Finder 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.
18 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.