Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: nitroxextreme on November 11, 2008, 06:41:16 PM

Title: Trying to sample multiple ultrasonic sensors simultaniously
Post by: nitroxextreme on November 11, 2008, 06:41:16 PM
I am working on a project that will be implementing multiple ultrasonic (maxbotix EZ1) sensors, most likely around 6-8.  I have found out the correct way to setup the sensors so that they will sample correctly without incorrect readings, by reading the FAQ on the maxbotix site.  However, I am now posed with the question of what controller to use to get the readings I need.

I am trying to take in the data from these sensors as analog inputs and then translate the values into a predefined coordinate system.  This data will then be output to a different controller which will be controlling motors and other sensors.  At this point I have narrowed it down to three controllers that would (by specs alone) be capable of 6 analog inputs, these are the Axon, Arduino Pro and Vex(i know shitty, but i have easy access).  After talking with a few people I have found that the vex controller will pretty much implode after 3 analog ultrasonics.  So this narrows it down to Arduino Pro or Axon.  I am open to any opinions, just trying to find an effective solution.  Thanks In Advance.
Title: Re: Trying to sample multiple ultrasonic sensors simultaniously
Post by: Admin on November 11, 2008, 10:06:04 PM
Yea definitely don't use the Vex controller.

Whats your budget, and what other stuff do you plan to hook up?

Also, always consider robots you might build in the future if you were to reuse the microcontroller.

(I'd just say go with the Axon, but I'm a bit biased :P)
Title: Re: Trying to sample multiple ultrasonic sensors simultaniously
Post by: Commanderbob on November 11, 2008, 11:18:58 PM
You could just use an AVR. Most can take at least 8 analog inputs. They are not hard to use and relatively cheap (<$10 usually 4 or 5)
Title: Re: Trying to sample multiple ultrasonic sensors simultaniously
Post by: nitroxextreme on November 12, 2008, 12:40:21 AM
Yea definitely don't use the Vex controller.

Whats your budget, and what other stuff do you plan to hook up?

Also, always consider robots you might build in the future if you were to reuse the microcontroller.

(I'd just say go with the Axon, but I'm a bit biased :P)

At this point I am planning on using this board as a co-processor so the main processor will have less calculating to be done.  The ideal board for this will need to be able to take in 6-8 analog ultrasonic sensors as well as 2-4 analog IR sensors, but I am completely fine isolating the IR sensors to a simpler board.  As for budget, it varies depending on the amount of effort that needs to be put into making the controller work.  Like sure AVR would be cheaper, but it would not be as easy to interface with or program as an Axon.  Pretty much I would like to spend around 200 max on this controller, mainly because at some point it will be interfacing with another board that will have more power(most likely just interface with a laptop) and laptops can be had for around 300.
Title: Re: Trying to sample multiple ultrasonic sensors simultaniously
Post by: Half Shell on November 12, 2008, 08:24:35 AM
If you are going to do this as a distributed systems problem, the controller does not need to be nearly as powerful, so this question becomes one of more preference than necessity. Either controller can, if broken down, easily control different segments of the robot you're describing.

This is the AVR programmer I own:
http://www.adafruit.com/index.php?main_page=product_info&cPath=16&products_id=46

It's a build it yourself programmer that is really easy to use, and really nicely priced compared to other programmers. Programming AVR uCs really is not that difficult, and once learned can be invaluable throughout the rest of your roboticist days. This would also make your robot much cheaper, as "sampling" means free chips, and the chips themselves are ridiculously cheap anyway.

If you're interfacing with a laptop, this can easily be done with the same programmer, as it acts as a USB -> I2C interface as well (with some clever programming).

If you're looking to WIRELESSLY interface with a laptop, then that is different but still not a hard task. There are many RF forms of communication. I've recently began experimenting with bluetooth and found sparkfun's bluetooth to serial dip module:
http://www.sparkfun.com/commerce/product_info.php?products_id=8461
to be quite easy to use and interface with. It's a dumb pass through - no authentication or encryption, just byte in, byte out. This should interface nicely with the AVRs, Arduino, or Axon.

Keep us posted on your progress!