How to Use Multiple Ultrasonic Sensors

This guide covers:

  • Sensor Selection for Multiple Sensor operation
  • Why is there Cross Talk When the Sensors are in Free Run mode
  • Simultaneous Operation
  • Commanded Sequential Reading
  • Constant Looping Operation
  • Crosstalk Q & A

 

 

 

Sensor Selection for Multiple Sensor operation

When you are going to use more than one sensor in a system, you need to understand guidelines of how the sensor work to ensure you select the best sensor for your project.

  • How many sensors will you need?
  • What is the effective sensor update rate required?
  • Will there be multiple systems with sensors in the same operations space? 
  • What type of control is required for your application? 

The timing of the range output is a very important consideration to ensure you review when selecting a sensor.  The method you use to handle multiple sensors will have a direct impact on the overall update rate of the system.  In general, the more sensors in a system, the longer it may take to get a range reading update depending on the configuration method used to control the sensors.  

Having multiple systems with multiple sensors in the system operating in the same environment is very important to consider.  

This would depend on the distance and the angle the sensors were pointed at each other. If the sensors are pointed directly at each other, and within the detection zones of either sensor, there is a good chance of crosstalk happening. Also if the environment is very tight or a closed-in space, more sound could be reflected in the environment. If the environment is a large open warehouse, the likelihood of this happening would be minimal, but not impossible. Do note that the likelihood will also be lower if you use a part with internal filtering such as any of our HR parts.

 

Notes:

  • The more sensors you plan to use in a single system, the slow refresh rate will be for each sensor.   
  • We have different sensor options
  • Sensor arrays are common methods
  • Firing opposite sensor can help to increase the speed.  

 

Why is there cross talk when the sensors are in free-run mode? 

A basic ultrasonic sensor will have interference in the reported range when more than one sensor is operating in the same general space. One must understand this during the sensor selection phase to ensure they select the right sensor.  If this is not considered, it often causes issues for those trying to implement more than one sensor into a system.  

This interference is often referred to as crosstalk or noise. Crosstalk occurs when two (or more) nearby ultrasonic sensors receive the signal of another sensor and cause incorrect range reading. 

When the sensors RX pin (Typically Pin 4)  is left unconnected, the sensors default operation is a free run mode where it takes the next range reading as soon as it finished the last range reading.  This means that when multiple sensors are running in this mode, they are all transmitting and receiving at the same time and unsynchronized. Since the sensors are not synchronized, the sensors will range at slightly different intervals. These frequency drifts cause interference between sensors for most applications. The range output from the MaxSonar will appear to have incorrect values that occur randomly or at some regularly occurring rates. The more sensors operating in free-run mode, the more cross talk will happen.

Figure 1 below shows a single sensor operating, detecting an object at 50 inches with one other sensor present. As the sensors become more unsynchronized the range readings become more and more unstable.

Figure 1

Solutions for Using Multiple Ultrasonic Sensors

We understand the need for a solution to this basic yet common requirement of needing to use more than one sensor in a system.  MaxBotix has developed several solutions to help with this.  

How to Control Multiple Ultrasonic Sensors to Range Simultaneously

(Application dependent)

This method does not work for all applications.  Sometimes firing sensors that are facing different directions is needed and you can still fire multiple sensors at once.  

Connect all the MaxSonar® RX lines together, and connect to your control circuit such as a pin on a microcontroller (or even a 555 timer set up to strobe high for at least 20uS with a period between strobes great or equal to timing that has been stated in the sensor datasheet). This method works for all sensor lines. We used an LV-MaxSonar-EZ line to show the diagram. As long as Pin 4 (RX) is connected to the same trigger device all the sensors will range simultaneously. Arduino makes this process very easy. 

View our Arduino article here.

 

Timing: This operation allow you to achieve the fastest update rate however it doesn’t work for all implementations.  

To view a wiring diagram of what this set up should look like view figure 4.

Figure 4

Figure 4

 

Sequentially Read Each MaxSonar

(Most reliable)

To sequentially read each sensor, connect your triggering device to pin 4 (RX) of the first sensor, then connect pin 5 (TX) output of the first sensor to the RX pin of the next sensor that is to be ranged in sequence. Do this with however many sensors are to be used in the chain. To view a diagram of how each chaining diagram is wired view figures 5 through 8 below.

To start the commanded sequential reading for the MaxSonar sensors, trigger the first sensor to range. This allows each device to range only after the previous has finished (every 50mS for the LV-MaxSonar sensors or every 100mS for the XL-MaxSonar sensors). This method will always work. There will not be any interference between sensors, but ranging frequency drops by the factor of the number of sensors used.

Timing: number of sensors times the single sensor refresh rate.  Example: 3 XL-MaxSonar – 3 * 100mS = 300mS is the fastest update rate per sensor

 

Figure 5. LV-MaxSonar-EZ and XL-MaxSonar-EZ/AE Diagram

Figure 6. HRLV-MaxSonar-EZ Diagram

Figure 7. MaxSonar-WR and MaxSonar-WRC Diagram

Figure 8. HRXL-MaxSonar-WR and HRXL-MaxSonar-WRC Diagram

 

 

Continuous Looping

To have the circuit continuously loop so the chain is always giving an analog voltage output, connect pin 5 of the last sensor in the sequence to pin 4 of the first sensor in sequence with a 1K resistor in sequence between the pin 5 output and pin 4 input. For a diagram of how the wiring should look for multiple ultrasonic sensors operating in a Continuous Loop please see figures 9 through 12 below.

With these sensor chaining methods, once pin 4 is pulled high for 20uS on the first sensor, all sensors will chain sequentially. After the microcontroller brings pin 4 high, the microcontroller will have to return it’s pin to a high impedance state so that after the sequence is complete the TX signal output from the last sensor will trigger the RX of the first sensor.

Timing: number of sensors times the single sensor refresh rate.  Example: 3 XL-MaxSonar – 3 * 100mS = 300mS is the update rate per sensor

Figure 9. LV-MaxSonar-EZ and XL-MaxSonar-EZ/AE Constant Chaining Loop Diagram

Figure 10. HRLV-MaxSonar-EZ Constant Chaining Loop Diagram

Figure 11. XL-MaxSonar-WR and XL-MaxSonar-WRC Constant Chaining Loop Diagram

Figure 12. HRXL-MaxSonar-WR and HRXL-MaxSonar-WRC Constant Chaining Loop Diagram

 

Multiple Ultrasonic Sensors Crosstalk Q & A

Here are some common questions regarding multiple sensor cross-talk

Here are specific cases and suggestions we’ve covered in technical support inquiries:

 

 Can you tell me the minimum distance between Ultrasonics that will not interfere with each other? (using RS232 to read the detected range)

This is not something we have tested as there would be too many variables to test for due to the number of user applications our sensors are used in. Using multiple ultrasonic sensors in an environment can cause crosstalk between the sensors. Generally, you want to make sure the sensors are as far away from each other as possible when mounting them in the final environment. Also, make sure the sensors are not pointed at each other and are as perpendicular to the intended target as possible. It will take trial and error on your part to find the best mounting configuration in your application.

LV vs HRLV line, Which is the best type of sensors to use for the front of your robot?

Operating two LV-MaxSonar-EZ sensors within the front footprint of a robot can lead to crosstalk. You would likely get a number of spurious readings due to the operation of two sensors from the LV-MaxSonar-EZ line in the proximity. As such, we’d recommend considering the HRLV line over the standard LV line, but you are free to test whichever you prefer. That is unless you use a chained multiple sensor operation methods as outlined in our datasheets.  With the HRLV line, the operation of multiple ultrasonic sensors can be done simultaneously in free-run mode with minimal impacts from crosstalk.  However, multiple sensor operation can be used to further ensure your chances of rejecting all potential crosstalk.

 

Products Related to the Article


MB1024 LV-ProxSonar-EZ2

MB1024 LV-ProxSonar-EZ2

These ultrasonic proximity sensors detect objects in a calibrated detection zone. The LV‑ProxSonar‑EZ…

Buy Now

MB1004 LV-ProxSonar-EZ0

MB1004 LV-ProxSonar-EZ0

These ultrasonic proximity sensors detect objects in a calibrated detection zone. The LV‑ProxSonar‑EZ …

Buy Now

MB1014 LV-ProxSonar-EZ1

MB1014 LV-ProxSonar-EZ1

These ultrasonic proximity sensors detect objects in a calibrated detection zone. The LV‑ProxSonar‑EZ…

Buy Now

 

Do NOT follow this link or you will be banned from the site!