New Sonar Range Sensor

Gordon, Please bear with me, you mention that
"Single ping ranging is easy";
Well to this I must answer with some very personal experience.
One of the reasons I completed this sensor was because my daughters robot was stuck on a wall (it was too close) during a contest. The sensor that was on the robot was one of most popular two sensor models, but when too close, it was blind.
I then purchased one of all the popular robot ultrasonic sensors and found problems with them all! I was looking for a solution to the range sensing that didn't cost and wasn't big. I was willing to invest to find the one that worked... One at a time, I tried them.
The next problem was that this dual sensor beam width was much too wide to be useful. The (smallest?) dual sensor model that I have has a beam width so wide that it detects a wall, a full 180 degrees, one meter away. I literally could not use it, for anything!
The other dual sensor high end model with I2C, that I have, has readings that vary so much, during the first one meter, I have to average many readings just to get a stable reading. It is not uncommon to have readings vary more than 6 cm and sometimes 15 cm. It also has a beam width that was over two meters wide just one meter out. Again the beam width is too wide to be used in my home! I can not use it down the hall or in the living room!
Another recent dual sensor model has a narrow beam width, but has trouble with small objects and has a short range.
No offence really, it is just that I want a sensor that actually works.
(And I didn't really want the $100 analog output, high current models, and too big for a small robot. I did find that these expensive round ones actually worked though.)
I found I could not purchase a low-cost, small, low-power sensor that actually provided a stable range output.
So I built this one. I wanted something that was easy to use and worked well. And for me designing this sensor, the MaxSonar-EZ1, was a lot of work. (Ask my wife if it was a lot of work!) It is not a copy of anything else out there. It is an original design, designed to overcome the above mentioned problems and much more.
The MaxSonar-EZ1 has a stable range output. It has a very narrow beam and has long range. It works to look down a hall or in my living room or in a robot contest.
Again, thanks for your thumbs up on the design, but I really wanted to let you (and others) know special this sensor actually is and, for me at least, it wasn't easy.
For you guys that don't know, along with the design of the beacon system for the original Robot Wars autonomous class, I contributed the battery chapter in Build Your Own Combat Robot. Although my name, some of my work, and some pictures of my robot are in the book, the chapter on batteries is all that I did for the book, the other stuff was gathered and so some of my other work made it into the book. And I also critically read another chapter of the book for the editor before publishing.
Bob Gross www.maxbotix.com
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Bob (Robot Wars Thumper 1997) wrote:

<rest snipped>
Understood. The statement was an over simplification of relative difficulty in affectively using a sonic-based sensor. Very little about this science is truly "easy."
However, the point I was trying to make is that most folks are stuck at firing a ping and measuring a single distance. Whether or not the measurement is within a couple inches of accuracy at a half-dozen feet is not of great importance; most folks trying this stuff lack the math to use sonar for anything other than gross ranging. Products like the Parallax Ping or Devantech are often used (at least for typical small bots) for just simple collision avoidance or yes/no proximity detection, where accuracy isn't as important.
I know of several folks who are using the Devantech units on a pan mechanism and actually doing some fairly elaborate mapping, but they're good at the math, and fairly decent coders to make it all work. This is why I think a software library, and not just simple examples, might be useful to your market. (I'd do it, but I suck at math...<g>)
For those interested, there is some stuff here that relates to this subject: http://leafproject.org/. Check out the robot on the right; it uses a SensComp (Polaroid) sensor on a scanner, and Alex has written some nice mapping software for it. Bob, you might want to contact Alex Brown and maybe even send him one of your sensors in exchange for feedback and possible exposure. I know he's not been 100% happy with the SensComp transducer that he's currently using. I does suck a lot of amps when it fires...
-- Gordon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Bob -
I just wanted to add my $0.02 worth... As far as I can see, you've done an outstanding job with this device! I'm definitely sold.
Not only is it remarkably small, easy on the power, and have an excellent range, it's also very well priced. I really like the flexibility of the interfaces. Pick the one you want instead of being force-fed what someone thinks you want. Use one for debugging and one for the final application.
This is a very good solution to not only robotics applications for also for static detector applications.
More power to you!
Dave
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Hi Bob,
On Wed, 04 Jan 2006 21:44:11 -0800, Bob (Robot Wars Thumper 1997) wrote:

When I first saw your post I followed the link and thought ho hum, yawn, another ultrasonic sensor. And regarding the price, while affordable, it's not all that much lower than the lower end from Devantech or Parallax, in fact it seems right in line with their prices.
But ... then I read your reply to Gordon and I see that perhaps you do indeed have something very nice here. I've experienced all those things you describe and seemed to want for a little bit more out of the ultrasoncis that are commonly available.
Anyway - your reply to Gordon intrigued me enough to bite. Reel me in. I just bought several to try out - please ship ASAP, thank you :-)
BTW, do you offer a volume discount on smallish quantities, i.e., 10 or so?
Also, I wouldn't mind writing up some sample code for my MAVRIC boards for driving this sensor to include on your web site or sample code section. Let me know ...
Thanks, -Brian
--
Brian Dean
http://www.bdmicro.com/
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Gordon McComb wrote:

Yes, this looks like a very nice product. I went to the website and downloaded the datasheet. I plan to order a couple soon.

A few years ago, I recall reading about an ultrasound device to assist blind people. They wore the device like goggles, and it turned the ultrasound info into audible sounds that the user could listen to through headphones. After wearing it a while, some of the users became skilled enough to move around their house by listening to the beeps, chirps and hums in the headphones.
But most interesting was that the information from the sound was different from visual information. It could tell the user nothing about the color of an object, but it could tell them about texture and rigidity. They could tell just by "looking" at an object with the goggles, if it was soft, like a pillow, or hard, like a rock. I remember one user talking about how he could tell which coke cans were full and which were empty on the other side of the room, by listening to the pings. They sounded different.
I would like to see some devices for robots that can provide information like that, instead of just range info. I don't mean any of this to sound like I am carping about the OP's product, it appears to do what it is designed to do quite well. But I wonder why we don't use ultrasound to do a lot more.
But I think another thing to consider, is why active acoustics (as opposed to passive listening) has been such a failure in the natural world (at least the terrestial world, the aquatic world is a different situation). The only non-aquatic animals that use echo location are bats, and that is because they fly at night and in caves so vision is not an option. And even bats have eyes. Why has vision been almost universally more successful than echo location? Will the same thing happen with robots? Will ultrasound ranging eventually fade away when computer vision becomes sophisticated enough?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Hello Gordon, Checkout another new SONAR product that I think you will find addresses your needs and more. The pricing information will be updated before the end of the week. I'd appreciate it if you would help me spread the word. Regards, Larry
Gordon McComb wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Gordon, Sorry for that. The new product can be seen at www.eutectos.com. Regards, Larry
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Gordon McComb wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Wow! Really nice product, and a great price!
I've ordered two... -- Mark "I prefer heaven for climate, hell for company."

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Received them, tried them out - they work quite well, just as advertised. A couple of observations:
- On an acoustically soft object (my stomach, actually), the maximum range seems to be around 10-12 feet or so. This isn't at odds with the published specifications, since the 20 foot range was measured with a hard, wide, and flat board, but it's still a little lower than I would have expected (considering the large size of the object being ranged).
- I was able to hook the 5V TTL output directly to the serial port of a computer and get good communications. However, sometimes it would be nice to have the serial output inverted, as is the standard (sort of) for TTL-level serial. This way, it could be connected directly to a MAX-232 to generate official RS-232 serial, or directly to the UART input pins of most microcontrollers, without requiring an inverter. I suspect that Mr. Gross must have considered this output carefully, and certainly the way it is now has its positive features. Another single-chip product that I use dedicates an extra input pin to selecting normal or inverted serial output; perhaps this could be a future option (a jumper or solder bridge on pin 9 of the PIC, possibly).
Without exception, though, I'm quite happy with the product - it really couldn't be easier to use, and its small size and exceptionally low power consumption are great. I believe that the price is quite good, too. -- Mark "I prefer heaven for climate, hell for company."

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
All, Thanks for the discussion. Your comments are greatly appreciated.
Please let me ask a question. I have been working in a vacuum since mid 2004 when I asked a couple of distributors a few questions. (I have some strong evidence that some of my questions made it back to my competitors and none of them were answered.) Now with a product, I am more comfortable asking a few questions.
First, the product is reliable at ranging 6-inches and beyond and detecting objects closer than 6-inches. I like very reliable readings, as then I can depend on them.
I understand that people using sonar sensors have come to expect unreliable readings from sonar sensors so this question may be hard to answer from my perspective. We are running into physics anomalies, like may happen with very small objects, or at precise distances where the wave front phasing causes detection anomalies. These anomalies are hard to sort from ring down (i.e. mV of signal upon volts of ringdown). In addition, detection anomalies only occurring at two ranges (i.e. 4-inches and 5-inches) might be confused with the unstable readings that the competitor's sensors have.
This said, would people also like to have ranging at 5-inches with 90% reliability, and 4-inches with about 80% reliability? The product would still keep the current ability to reliably range objects 6-inches and beyond, but may have a little trouble getting perfectly stable readings at 4 and 5 inches, but most of the time, the readings would be correct. What users might see is a bouncing of readings between 4-inches and 5-inches or between 4-inches and 6-inches, or between 5-inches and 6-inches. In addition, people could still get the same reliability for all readings if they used logic of 6-inches or less means object is detected. And if I provided these outputs, would I be able to educate the people as to why this happens (and fight the current expectation that readings are unreliable)?
Again, my problem here is not that the MaxSonar-EZ1 cannot do this (4-5in.) task reasonably OK, it is that people have come to expect unstable readings, and yet with the MaxSonar-EZ1 readings are stable. Remember I want to be separated from the competitors where unstable readings are expected. Any comments?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
All, What I failed to mention is that the object being detected would be at say 2-inches and might be reported at 4, 5, or 6 inches sometimes (with propabilities stated above). Objects at 4, 5, or 6 inches would much more likely be reported correctly. So the problem mostly has to do with objects closer than 4-inches being reported as 4,.5, or 6. Initial feedback (direct and not from this group) mention to just leave at 6-inches. Feedback wellcome. Bob
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Bob (Robot Wars Thumper 1997) wrote:

I would rather have reliability.
I just got mine and now have to be very careful not to lose it. This is much smaller than I was expecting. -- D. Jay Newman http://enerd.ws/robots /
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
All, I have update the FAQ to include the human body distance stuff. I do not want to suprise anyone. Bob
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
RS232 I actually wanted the sensor to directly interface to a PC without any chip. I thought the guys that really wanted full level RS232 one would be able to easily work around the polarity issue. When one makes it an EZ1 then one must limit the options or then it isn't easy any more. My Keil C-compiler has over 2000 pages of documentation. I want only two pages of datasheet and a user manual that covers the various questions.
Right now the product is set up to be compatible with serial LCD displays and most micro controllers. (The 8051 variants I use require the output format currently used unless I use a level shifter or an inverter. For short runs to a micro controller I am not sure that the noise immunity is needed.) It can also interface with a PC and this has worked well for me. I have wanted to put some things up on the web (time permitting) and show people how to connect it to hyper terminal or stamp plot (provides a very cool looking graphical output) without the inverter chip. The connection to a PC using this method is meant mainly for hobbyist types or occasional debugging.
I can understand that your needs may be different (require high EMI immunity) or you may have a long run to the sensor. I felt for the first product, that the current RS232 output option, would make it the easiest to use for the person just starting out in robotics. I may be wrong. Your desire to have the other output polarity as an option, is noted.
How can I get around this? I do have an unused pin that can be used. Is this really the best use for this pin? Maybe it is for this first offering? Comments please.
You guys have been very kind to me and this product offering. Thank-you so very much.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
: Right now the product is set up to be compatible with serial LCD : displays and most micro controllers. (The 8051 variants I use require
I'm not sure about this, onlyt because tghe serial LCDs I've interfaced to the TTL input my mny AVR were both "inverted" from PC levels. Either one could be hooked directly to a MAX232 to connect to a PC. I'm not all that familier with other controllers.
The one drawback I see with this RS232 interface would me it mkaes it somewhat difficult to connect multiple units. If you used a mcu to fire indiviual units and assumed only that one responded, you could wired-or them I guess to the same serial line. The one benefit of i2c is that it allows multiple units to share a port on a mcu, and have each be addressable.
--
==========================================================
Chris Candreva -- snipped-for-privacy@westnet.com -- (914) 967-7816
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Christopher X. Candreva wrote:

This is because all RS232 level shifters invert. An active RS232 signal is a positive voltage, and the inactive level is negative, 3V or more below ground. Ground is an invalid RS232 level. So on the TTL side of the shifter, serial signals are inverted - so a TTL low corresponds to the RS232 active/asserted.
A serial interface which does not use RS232 voltage levels, is, by definition *not* "RS232" but could correctly be called "TTL-level asynchronous serial" or something like that. Such a TTL interface does not have RS232 voltage levels and its signal sense is inverted from RS232, so it is important to use the correct terminology or you will confuse customers and make it more difficult for them to properly connect devices up.
Regards Bruce
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
All, Wrong or right, the MaxSonar-EZ1 was designed to interface with micro controllers, especially the basic stamp type micro controllers where there are multiple virtual serial ports, but no built in level shifters. I believe that the MaxSonar-EZ1 data sheet makes it clear that the MaxSonar-EZ1 talks using 0 and 5 volts. Again, wrong or right, the MaxSonar-EZ1 can talk to most micro controllers using this method. I did not want to answer this RS232C question, but I feel compelled, because the 0 and 5 volt levels works so well when communicating to basic stamp type micro controllers. These micro controllers have all the commands built in to handle this type of communication, as do the various microchip compilers that I use.
In addition, I can find many references where the 0 and 5V voltage levels are used to communicate using RS232 timing. I have in general found that these devices call themselves RS232C. Below is just one reference to using the 0 and 5 volt levels. Yes it is "fudged", but it works well for short runs, and not requiring the user to use a level shifter, was a design decision to make it easy for most hobbyists to connect to the hobbyist type micro controllers. If I have confused or misled anyone in this please forgive me.
Practical Tips on Serial Communications
http://www.seetron.com/ser_an1.htm
I pulled this out of this doc above.
RS-232 and Variations
RS-232 is a standard that describes a common method of serial signalling using a voltage that switches between a positive level for logic "0" and a negative level for logic "1". Per the standard,
* +2.5 to +15V = logic 0 * -2.5 to -15V = logic 1
Many products fudge on the standard. For example, a system without a negative power supply may define it this way:
* +5V = logic 0 * 0V = logic 1
Serial outputs generated by the BASIC Stamp and non-UART-equipped microcontrollers often use this approach, since it saves the cost of a serial line-driver IC.
You can read the complete datasheet at the above url.
Bob
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Bruce, You mentioned, "so it is important to use the correct terminology or you will confuse customers and make it more difficult for them to properly connect devices up."
Agreed!
I have considered what you said. I will be updating the datasheet to reflect the asyncronus serial instead of RS232. I may still mention the timing format is compatable with RS232 so the BasicStamp type users can use it right out of the box, but I will call it what it is.
I am currently working 11 hr days on my day job 7 days a week, so I will have to do this in my spare time! But I still want to get it done by the end of Jan... Good thing MaxSonar-EZ1 sales are handled by another company!
This has been a very good group!
Thanks so much for flushing out so many things.
Bob
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Bob (Robot Wars Thumper 1997) wrote:

I would rather have a multi-drop interface, such as SPI, I2C, or RS485. Of these, SPI is easiest to implement from scratch and many microcontrolers come complete with I2C.
TTL-level RS232 is a compromise that works for me, somewhat. The problem is that most non-trivial robots will want more than one of these. Therefore, a way to use more than one easily.
The proportional voltage is the closest to being useable, but I've never liked using ADCs for this sort of thing when the digital information was available.
The pulse-width signal might be a useable way to deal with muliple sonar units, but I can't try this for a while.
Frankly I don't care about interfacing this to my PC. I would rather interface it to a microcontroller. IMNSHO, of course.
However, that being said, you seem to make a great product. -- D. Jay Newman http://enerd.ws/robots /
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.