Basically, I am building a robot that needs to be able to detect the distance from multiple sides. My plan is to use multiple ultrasonic range finders on each side, but I'm worried about interference between the sensors. Do there exist sensors that output and receive different frequencies to ensure that they don't interfere with each other?

  • \$\begingroup\$ Is this short-range, like a wall-follower? What's the maximum range you need to detect distance? \$\endgroup\$ – glen_geek Oct 22 at 14:07
  • \$\begingroup\$ Why do you need to detect distance from multiple sides? And at what distance? Normally for navigation you would use a panning head for this, but the way you worded it implies you need it to be done rapidly or near simultaneously. Without a more specific reason, this raises a red flag since the most common thing that requires this is close-range obstacle avoidance for which ultrasonic is not the best solution. \$\endgroup\$ – DKNguyen Oct 22 at 19:29
  • \$\begingroup\$ @DKNguyen yeah, that's exactly what it's for. What would a better solution be? \$\endgroup\$ – Zanolon Oct 27 at 2:12
  • \$\begingroup\$ @Zanolon Physical contact which could be switches, mechanical whiskers, or fiber optic whiskers. Or, infrared proximity detection. The thing is, you usually do not need to know the exact range of something for obstacle avoidance. Knowing something has gotten to close too you is usually enough. Note I am making a distinction here between obstacle AVOIDANCE/DETECTION and NAVIGATION (mapping out obstacles at a distance to decide the path you are going to take. You would use an ultrasonic sensor for this due to longer range and rangefinding requirements, but you would only need one.). \$\endgroup\$ – DKNguyen Oct 27 at 5:49

The usual approach is to trigger only one sensor at a time. In other words, time-division multiplexing, rather than frequency-division multiplexing.

Otherwise, even if the sensors aren't pointing in the same general direction, coupling through the structure of the robot itself can create unnecessary interference.

Just to put some numbers with that: Ultrasound requires about 6 ms per meter of sensed distance. If you're interested in distances up to 2 meters from your robot, then each sensor needs 12 ms. If you have 8 sensors, that's a total of about 100 ms, which means that each one can take 10 measurements a second. This should be plenty for a robot that can move at up to several meters/second, depending on how quickly it can stop, of course.

  • \$\begingroup\$ ...except that you have to to wait for more distant echoes to die out, even if you aren't interested in things at greater range, otherwise they can occasionaly be mistaken for near reflections of subsequent pings. \$\endgroup\$ – Chris Stratton Oct 22 at 14:04

The transducers exist, but the ranging modules do not (for the hobbiest range at least). Selection amongst ranging modules is very low. The selection is pretty much limited to ~40kHz for broad-beam long range detection and ~235kHz for narrow beam short range detection. That's it.

Frequency determines range and cone angle so you will end up at similar frequencies if you are looking in the "same way" in multiple directions you will end up with similar frequencies which a normal simple ranging sensor won't be able to differentiate.

Your most practical approach would be to do what the others suggest which is to stagger your transmit-receives between your sensors.

But if you have lots of time and patience then it is possible to go all out and build your own ranging module. If you go this far then you might as well go all the way and get wideband transducers (probably electro-static transducers) that are reasonably effective from 20kHz to 100kHz. I would list the only manufacturer I know of that makes these available to hobbiests but that would be off-topic.

Using these ranging modules you can adjust the frequencies you transmit on the fly at for long range, wide beams or short-range, narrow beams. If you get into more complex processing you can also do things like transmitting a swept frequency (chirping) to make the transmissions more unique so you can pick them out, or use phased arrays for beam forming. Basically a lot of the fancy radar can do but with sound. Big project though. More complicated than whatever project you have going on right now.

But I'm getting some red flags because you imply that you need to be able to measure the distance between two sides almost simultaneously. The most common reason for that is close-range obstacle avoidance which ultrasonics is not the best solution for. But you never said why you needed to detect distance from multiple sides or what ranges you need so I cannot be more helpful.

  • \$\begingroup\$ "but that would be off-topic" I've seen this a in a number of answers on electronics.SE, but my understanding was always that while asking for specific recommendations would make a question off-topic, it was fine to include examples of products in an answer. Is that not the case here? \$\endgroup\$ – mbrig Oct 22 at 23:19
  • \$\begingroup\$ (don't mean to pick on you specifically DKNyguyen, just thought it seemed relevant and the link would have been a nice inclusion if allowed) \$\endgroup\$ – mbrig Oct 22 at 23:20
  • \$\begingroup\$ @mbrig Is it? I don't know. I never thought about it that way. The company is Senscomp. \$\endgroup\$ – DKNguyen Oct 22 at 23:21

Dave's answer is certainly one way to go. Using the same part which operates at the same frequency, but then multiplexed within time, you can achieve data acquisition from both sides. However, considering you have to wait a certain amount of time between pings, it may limit your overall sampling rate more than you would like. In which case, there do exist sensors that operate at different frequencies so that you can achieve simultaneous operation and double your potential sampling rate. How much this matters depends on various factors like the environment and how fast your bot is moving.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.