Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: JAy1st on April 18, 2008, 04:56:09 AM

Title: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: JAy1st on April 18, 2008, 04:56:09 AM
Hi,

Has anyone tried the different types of LV max available ?

Is it better or not than a regular SRF XX ?

I'll explain you a bit of my project (for a bbetter understanding of what I need to know)

_I'm going to hack one of my daughter's toys, a spiderman RC stunt car with holonomic drive, and this thing is really fast !
My goal is to make it go full speed when this distance permits it (fuzzy control).
But not bounce into objects or walls.

So I need a sensor mounted on a servo to scan a 45 deg angle in front of it ans quite far as well.
Maybe 2 extra IR sensors as well on the sides for turn R/L decisions combined with the main sensor.


Tnx for the help.
Title: Re: LV-Max range finder choice ?
Post by: JAy1st on April 19, 2008, 01:57:29 AM
Nobody using this thing or what  ???

(http://robosavvy.com/store/images/rn1_sonar.jpg)
Title: Re: LV-Max range finder choice ?
Post by: Steve Joblin on April 19, 2008, 10:13:17 AM
wow... surprised nobody has responded...

maybe we need to let folks know the full correct name of the product...

are you talking about the maxbotix product?  http://www.maxbotix.com/MaxSonar-EZ1__FAQ.html (http://www.maxbotix.com/MaxSonar-EZ1__FAQ.html)
Title: Re: LV-Max range finder choice ?
Post by: JAy1st on April 19, 2008, 10:54:38 AM
Yes it's the same one.

But Maxbotix is a brand and the LV-max is the product.
So I gussed LV-max in the title was correct....
Title: Re: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: hgordon on April 19, 2008, 11:22:17 AM
I have used the Maxbotics modules (sorry, didn't recognize the LV-Max name), specifically the EZ0 and EZ1 devices.  The EZ0 has the widest beam and longest range of the EZ0-EZ4 series, but I'm finding that I prefer the EZ1, which is somewhat more precise.  At the moment, I'm using 4 EZ1's to measure forward, sideways, and downward range for a robotic blimp - http://www.surveyor.com/YARB.html , and a number of our Blackfin users have added EZ1's to their SRV-1 robots.  I particularly like the compact size of these modules as well as their ability to run from 3.3V power.

Title: Re: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: JAy1st on April 20, 2008, 03:00:36 PM
Ok, good for the EZ1 

But, there is always a "butt"  ;D , compared to the SRF type sensors (I guess Ping also same design) what is the biggest difference, like I²C comm more reliable etc....


Need inputs please !
Title: Re: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: hgordon on April 20, 2008, 03:49:22 PM
Maxbotics does not have I2C.  The interface is simple - I use the PWM mode and have software that measures the pulse width.
Title: Re: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: JAy1st on April 20, 2008, 03:54:09 PM
Hmm, I should have read the PDF better  :-[



Ok for PWM, have to use a timer for counting the pulses on I/O port or maybe go for analog....



Tnx  ;)
Title: Re: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: hgordon on April 20, 2008, 05:07:27 PM
Sorry - I meant pulse width, not PWM.  You can either trigger the sonar with a GPIO signal or let the sonar free-run.  If you have multiple modules, you have to use the trigger so the modules all fire at the same time.  In either case, then you look for a level transition on the PW signal.  You can use a timer input to measure the pulse width, or you can use a software loop that's polling the PW signal, though you still need a time reference to measure the duration.
Title: Re: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: JAy1st on April 20, 2008, 05:27:42 PM
So, once I start getting the signal > start timer> end of sig > stop timer

Then some calculation , 58 µs/cm so,  timer / 58µs = length in cm

Right ?
Title: Re: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: hgordon on April 20, 2008, 07:13:38 PM
That's right.

Here's the code I use on a Blackfin processor to trigger and read up to 4 sonars simultaneously.  TIMER4_COUNTER is my free running timer with resolution in nanoseconds (I have a 500MHz clock), and readRTC() returns a millisecond counter, so I don't go past 40 milliseconds (20 ft) when waiting for the return signals ...

    *pPORTHIO |= 0x0002;       // force H1 high to trigger sonars
    t0 = readRTC();
    t1 = t2 = t3 = t4 = *pTIMER4_COUNTER;
    x1 = x2 = x3 = x4 = 0;
   
    while ((readRTC() - t0) < 40) {
        if ((*pPORTHIO & 0x0400))
            x1 = *pTIMER4_COUNTER;
        if ((*pPORTHIO & 0x0800))
            x2 = *pTIMER4_COUNTER;
        if ((*pPORTHIO & 0x1000))
            x3 = *pTIMER4_COUNTER;
        if ((*pPORTHIO & 0x2000))
            x4 = *pTIMER4_COUNTER;
    }
Title: Re: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: JAy1st on April 20, 2008, 07:20:02 PM
Tnx for the code !

I do not plan to have an RTC so i'll go with the millis it should do enough for what I want.


I got the info I needed, very elpfull  ;D

Just have to hook it up on a servo and create a table for matching position and range.
Title: Re: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: JesseWelling on April 23, 2008, 05:08:47 PM
58 microseconds = 0.058 milliseconds
1000microseconds/ 58u/cm = 17.24 cm

So if you measure in milliseconds, 17.24 cm is your resolution, are you sure you can work with that?
Title: Re: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: JAy1st on April 24, 2008, 02:00:46 AM
Smart thinking of yours !

I did not think about that, so I should go with I2C for a higher resolution, or get a faster timer....

Need to calculate the speed of that thing I want to make up.
Basically I would like it to drive around obstales (easy) and if it sights a 2 meter lenght of free "motorway" accelerate full speed and then stop suddenly to retsart it's peace driving.

For the moment if I can succeed it'll be more than good !

EDIT: analog might be the way to go, need to find out how many cycles it takes to convert A>>D
Title: Re: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: JesseWelling on April 24, 2008, 06:56:04 AM
With sonar the 'transport' of the data to from the sonar won't be the bottle neck, it will be the echo time of the sonar.

Given that fact and the general distances they can measure, the sampling rate of almost all hobby sonar range finders is 50hz.
Title: Re: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: JAy1st on April 24, 2008, 07:50:16 AM
I'll see when I get it from the post office and experiment with it.

I'll post the results for those interested.

Tnx for your help
Title: Re: LV-Max range finder choice ? MAXBOTIX sonar ?
Post by: JesseWelling on April 24, 2008, 05:19:14 PM
FYI, The Maxbotix sensors don't use i2c they use Inverted TTL serial, which means a Logic 1 is 0 volts and a Logic 0 is 5 volts.
To use with the UART of your Micro you must invert it. I use one of these (http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&storeId=10001&catalogId=10001&productId=46341) .