Monday, June 11, 2012

SRF235 Ultrasonic range finder

The SRF235 is a narrow beam ultrasonic ranger, with a beam width of just 15°. An industrial high frequency air coupled transducer operating at 235KHz is used for both Transmit and Receive. The beam patterns below show compare the 15° SRF235 with the 55° typical pattern of the SRF04.

Limitations & Characteristics
235KHz ultrasound does not transmit as easily through air as 40KHz does, so the range of the SRF235 is limited to around 1 meter for normal objects out to a maximum of 1.2 meters for a large surface. The use of a single transducer for both transmit and receive means there is a blanking zone out to 10cm, so the effective range is 10cm to 1.2m. The 235KHz narrow 15° beam behaves more like light on a mirror than 40KHz sensors, so looking at a hard flat surface at an angle of more than 8° or 9° will not yield an echo from that surface. It may be that the reflected beam hits an object and bounces back. In this case the echo from the object will detected and the sonar will indicate the total range of sonar to flat surface + flat surface to object. The flat surface its self will be invisible to the sonar. Under the same circumstances, a 40KHz sensor such as the SRF04 would detect the flat surface - not the reflected object.

The SRF235 detects hard round objects well, such as table and chair legs etc. This makes the SRF235 ideal for detailed local mapping around the robot, but not for longer range sensing. Using the SRF235 along side a 40KHz sonar, makes an excellent sensor combination.

Communication with the SRF235 ultrasonic rangefinder is via the I2C bus. This is available on popular controllers such as the OOPic, Stamp BS2p, PicAxe etc. as well as a wide variety of micro-controllers. To the programmer the SRF235 behaves in the same way as the ubiquitous 24xx series EEPROM's, except that the I2C address is different. The default shipped address of the SRF235 is 0xE0. It can be changed by the user to any of 16 addresses E0, E2, E4, E6, E8, EA, EC, EE, F0, F2, F4, F6, F8, FA, FC or FE, therefore up to 16 sonar's can be used.

The connections to the SRF235 are identical to the SRF08and SRF10 rangers. The "No Connection" pin should be left unconnected. It is actually the CPU MCLR line and is used once only in our workshop to program the PIC18F4220 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 SRF235 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.