Go Down

Topic: Two Ultrasonic rangefinders, one bot (Read 2813 times) previous topic - next topic


I've got my basic bot up and running (check sig for link to project).
I added an HC-SR04 to keep the bot from bumping into things. However, it has some limitations. Since it is mounted in the middle of the bot, it sometimes misses smaller objects (chair legs) that may not be directly in front of the robot, but will catch a wheel.

Can I use two (or more) HC-SR04s together? Or should I be looking at some other kind of sensor?

I noticed the DFRobot platform came with these three brackets that look like they would fit these nicely: http://www.dfrobot.com/index.php?route=product/product&path=36_55&product_id=114#.UeWTG40qaSJ Should I add those to the ultrasonic to give it a larger sensing area?

I am going to play around with it of course. Just wanted to hear your thoughts/what you did.


The tricky thing with multiple ultrasonic rangefinders (or even single ones) is it is difficult to tell if an echo is a return from a nearby object from your most recently transmitted pulse, or a more distant echo from an earlier pulse.
The trade-off is to lower the pulse-repetition frequency, at the expense of a lower ranging update rate, or to deliberately limit your sensitivity to weaker returns - this isn't always easy with hobby-grade devices.

The way nature (and commercial radar) gets around this is the chirp, or using a different carrier frequency.


Thanks for the reply!

I hadn't considered the "crosstalk" that could happen. Maybe I will have to add those IR sensors to the mix.
Like sandwich the SR04 between two IR sensors.


I hadn't considered the "crosstalk" that could happen.

Use alternate pings to 2 devices spaced 50millisec apart. If required raise delay to 100millisec. 


Thanks for the reply! Still learning. But it's fun.

"Give me one ping, and one ping only!" :D


Hi guys,
I'm dealing with the same Problem, using two HC-SR04 sensors. Is it possible to send unique chirps with every ping, to be able to eliminate the crosstalk? E.g. using a ping combined with a PWM signal or a 8 bit binary chirp-code?


I don't think so, not with the standard firmware.
Without a lot of extra circuitry, the simple Murata transducers aren't really suited to chirps.
A typical pre-built sensor like the SR04 generates a pulse train of eight cycles of 40kHz (25us), but the transducer will ring for almost as many cycles.


Alternate the pings 100msec apart and there will be no interference.

Go Up