Let's Make Robots!

Need help in choosing the board or microcontroller

Hi,
I have been searchinf for hours adnd now I have came here to get some help in my problem.
I wanna control 6 dc motors of 48V. I wanna run them through image processing, So kindly suggest me some board or microcontroller for this. I have looked at arduino and raspberry pi. But I am confused which one I should get??????


And my next question is that I have calculated distance b/w object and my robot through image processing, now how I can send this distance to robot's motor that should move for some specific time???????????
Thanks! 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
6677's picture
If the image processing is being done on a regular computer your probably best off with arduino rather than the pi. Pi has alot of IO constraints which had you bothered doing your research you would have immediately seen as a limiting factor. Hell, even if you were doing the image processing on the pi (openCV+the official CSI camera give excellent results compared to when people had to use webcams, but it still might not be enough), you would still be glad to have an arduino or something to control your motors because the pi frankly isn't so great at that.

I think I have almost solved the problem of driving 48V motor!
Motors are of 48V and it's stalling current is less then 1A, almost 0.6A,0.7A. I have h-bridge. And I am giving driving voltage of 48V through H-bridge to run motor. Now I think I just have to connect PWM pin with arduino PWM pin.

Sorry all guys for such a confusing post, I'm gonna correct it. I was in great hurry when typing it.

OddBot's picture

If you don't know how to control some motors then I think this project is too advanced for you.

First of all, there are not many hobby robotic motor controllers that will work at 48V. You have not told us what the motors stall current is. Without that information no one can suggest the correct motor controller for you. If you only want to drive the motors in one direction then you can just use a FET.

When you know the stall current then look at SparkFun and Pololu for a suitable motor controller. If you cannot find any that are rated for that voltage and current then you will need to look at sites for industrial controllers such as Ocean Control.

I would suggest you change to motors that are 24V. It is much easier to get controllers that work at this voltage.

 

Motors stall current is less then 1A. I wanna drive them in dual direction.

bdk6's picture

You aren't clear on where you want to do the image processing.  If you plan to do image processing on a pc then send the results to a robot, that is fine.  An arduino would work fine for controlling the movement of the robot based on commands from the pc.  If you plan to do image processing on the microcontroller, an arduino will NOT work.  To do any image processing you have to have the image in RAM.  A low resolution, 256x256 image in black and white (gray scales) will take 64K of RAM.  Way more than the biggest arduino.  And we haven't even mentioned needing room to work.  A RPi can do basic image processing well enough, but it won't be all that fast.  It should be plenty for what you have described, though.  It depends on exactly how and what you want to do.  And how fast.  Here is a description of a much lower powered system that won a robot soccer competition over 15 years ago.  It did use some custom hardware, but is still probably slower than a RPi. http://www.newtonlabs.com/tennis/tennis-paper-1.html

As for controlling your motors, the arduino is probably a better choice.  It will be easier to get set up, easier to interface to the controller, and easier to program.  Unless you actually need the other capabilities of the RPi, you are best served with an arduino.

I am doing image processing on laptop not on microcontroller. Now I just want to send commands to arduino to control motors. I wanna know how to interlink commands from matlab to arduino. Thanks!

bdk6's picture

I have only used Matlab a little, and never for interfacing to external devices.  But, I do believe it has commands to interface with devices.  Check the documentation for serial output commands.  You wil need to send commands to move your robot.  Once you find the Matlab commands to send messages, you just have to decide on what messages to send for each movement.  The Arduino will show up as a serial port even though it is USB.  Send the messages to the proper port with the Matlab program.  There are several examples how to interpret the messages and what to use here on LMR.  For instance, to make the robot move forward you can send a letter "F", "R" for turn right, "L" for turn left, etc.  Once you find the Matlab commands it is straightforward.  If you have specific questtions after that, let us know.

Chris the Carpenter's picture

Stop doing this "???????????"

It is stupid, it makes you look like a moron, and I am getting damn sick of it.

Fix this post now.

Sorry for confusing post! Infact I was in hurry when I was Posting it. Now I'm fixing it!!!!