2
\$\begingroup\$

I'm using an Avr microcontroller and I've been wanting to build a simple robot, for some time now, from scratch.

In every robotics project I have seen, seem to have a separate board driving the servos and I want to know what that board doEd different and how could I make one from scratch.

I think it might be called a motor driver (I'm a novice); so why can't I just run the servo from the microcontroller - I assume it's something to do with power.

Ask any questions if anything is too ambiguous.

EDIT: Every reference to servo is to a servo motor.

\$\endgroup\$
  • 4
    \$\begingroup\$ In hobby robotics, servo may mean 2 different things. (1) Servo motor - an electric motor with a feedback (usually encoder feedback). (2) RC servo - a relatively small integrated actuator, like the ones found in RC airplanes. "Servo motor" is in the title. Your question is about (1), right? \$\endgroup\$ – Nick Alexeev Mar 27 '12 at 0:35
  • \$\begingroup\$ It would help if you characterized your motor. If you know the model - post the link. If you haven’t picked the motor yet, post the characteristics you can think of: torque, current, power, type. The tag say "DC motor", did you mean a brushed DC motor? \$\endgroup\$ – Nick Alexeev Mar 27 '12 at 3:36
  • \$\begingroup\$ I don't think servo shields (from the Arduino world) have little more than practical print headers to easily plug the servo's onto and an ability to provide an external power supply. You can't really drive a servo from an Arduino's on board power regulator, the servo draw too much current. \$\endgroup\$ – jippie Mar 30 '12 at 7:12
1
\$\begingroup\$

“I assume it [inability to run servo directly from mocrocontroller] has something to do with power.”

You’ve probably answered your own question. Most motors useful for robotics consume more current than a microcontroller pin can source or sink. (Unless, you’re building a micro-miniature robot.) As a result, the motor requires a power driver, such as H-bridge made with power transistors. For an example of an integrated H-bridge driver, see L298 (dual H-bridge) and A3966 (application note).

\$\endgroup\$
0
\$\begingroup\$

It is quite possible for you to run the servo from the microcontroller. It would simply be a matter of hooking up the 3 pins (power, ground, pulse). For small servos this would be enough, for instance the Arduino operates on 5 volts, but a normal servo can operate on 4-6 Volts. Nick is right however, you would want to use am h-bridge if you are going for multiple motor control. Again, this might depend on the application of the servo, if you're going for simple pan and tilt then you should have no problems.

TLDR: You totally can use the microcontroller for servo control.

\$\endgroup\$
0
\$\begingroup\$

Just a small addition (I don't have the reputation to post this as a comment): read this.

As for power: typically an avr can source/sink 20mA@5V = 0.1W per pin. This is just to clarify what a "small" servo means in this context.

\$\endgroup\$
  • 1
    \$\begingroup\$ "BR, Miroslav" Signatures aren't allowed here. \$\endgroup\$ – m.Alin May 23 '12 at 12:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.