Let's Make Robots!

About using moter controllers

I'm new to robotics so I want to know abut driver controllers. Do we always have to use motor controllers to drive motors and servos. Can't we use only the Arduino for projects. When we are building a robot can't the Arduino handle both sensors and motors. I guess if we are using separate sorce to power the Arduino and the servos there won't be a problem having a motor controller.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Not if the motor draws more than 30mA. You can drive a Motor in both directions using a H Bridge, aka Motor Controller. For a single direction you can use a transistor.

When he says draw more than 30mA, he means stall which is usually 2 to 3 times the no load current draw. For example, the GM10 gear motor says it draws 27mA(no load). Later, it is mentioned that it has a stall current of 184mA or more than 6 times the current a given pin on an arduino can source.

His comment on using a transistor will work safely as long as the transistor is sized properly. If you don't then the only likely problem will be smoke escaping from the transistor and not your arduino. Don't forget to put a resistor on the base of the transistor, if you go that route.

To be sure, place diodes for protection, so it can't 'backfire' into the Arduino.

Thanks for all your thoughts and by the way if I'm using only servos to move the robot and to rotate the sensor what do you think that I should use to drive them only the Arduino is enough or do I have to use a servo controller.The next thing is what are the advantages of using a servo controller in a project.Actually now I'm studying c++ and I want to know what is the better language to learn programming IC as a beginner.

Look at the specs for the Arduino board you are interested in using. You'll see there is a limit of how much current it can handle on each I/O pin, and also for the whole board. A servo is just a motor packaged with its own control electronics and gears. If the motor needs more than your Arduino can provide, you need to use some kind of external driver to power it.

That's what motor and servo controllers are for.

Regarding programming language, there is no 'best' language. The best language is the one you are most comfortable with and/or is the best fit for the task at hand. For simple robotics, just about any of the popular one's will do. Arduino uses a C++ like language, so you should be fine with that if you are currently studying it.

Good luck!

Thanks for all your thoughts it really helped

I tend to use Basic Stamp rather than Arduino but I figure it's got to work just as well. If I want a simple controllable motor, I use an old set of servos that I've modified for continuous rotation - providing you don't run too many (Like more than 4 ) at teh same time I find they work really easily and well.

There are several links on how to hack a servo to become continuous rotation depending on your servo, bu tit is dumb-ass easy to do I used this as a base

http://j4mie.org/blog/how-to-hack-acoms-as-16-servos/