Electronics > Electronics

Servos VS DC geared motors

(1/4) > >>

drinu:
Hi all,

I am planning to build a robotic arm using DC geared motors instead of servos. This choice was made since DC motors can rotate 360 degrees and are easier to program.
Are there more disadvantages when using DC geared motors? if yes, what are they? and what are the advantages of using them on servos?

Any help is appreciated.

Thanks in advance.

waltr:
Servos have an intrinsic position sensing and feed back built in. For example the pulse width 'sets' the servo's position.
To use a DC gear motor you need to add position sensing and feed back to the controller. If you wish to command the robot arm to move 20 then the controller needs to know where the arm is currently positioned and how long to turn on the motor and in which direction to move to the new position. Also, an acceleration and deceleration what likely be needed when starting and stopping the motor.

DC gear motors can be a good choice for the reasons you stated and can be available with higher Torque at a reasonable price.

jwatte:

--- Quote ---I am planning to build a robotic arm using DC geared motors instead of servos. This choice was made since DC motors can rotate 360 degrees and are easier to program.
--- End quote ---

A "servo" is a closed loop motor. It contains a motor, an encoder, and controller logic. There is no rule that says servos only can rotate a certain number of degrees, or even only a certain number of rotations. Typical industrial servos have high resolution 360-degree encoders, and can run for as long as you want in whatever direction you want with high precision.
If by "servo" you mean a $20 hobby servo, then I understand the problem -- those use a cheap potentiometer for feedback, and typically don't rotate more than over a 180 degree arc for that reason. (300 degree arc if you use a Dynamixel AX-12 or Herkulex DRS-0101)

Now, if you need full rotation, and still need good position sensing, you can use a higher-quality servo. For example, the Dynamixel MX series uses absolute position encoders, splitting the 360 degree rotation into 4,000 different positions, so it has a position sensing accuracy of better than 0.1 degrees. Similar performance is often had on industrial control servos, too.

Another option, if you don't need to sense "where you are" but only need the ability to "go somewhere" is to use a stepper motor. A stepper motor does not use a sensor; instead it assumes that it will always get where it wants to go, and the controller "counts" how many steps it's taken in each direction. The good news is that steppers are pretty cheap compared to full servo systems. The bad news is that they do need calibration on start-up (which can be done with limit switches or whatnot.)
 The other bad news is that they are generally not high torque.

That being said: A DC gearmotor with a relative (quadrature) encoder on it can be better than a stepper motor, but less good than a real servo, because it still needs some "zero point" to compare to if you want to know where you are, not just where you're going.

newInRobotics:

--- Quote from: drinu on February 17, 2013, 08:59:13 AM ---This choice was made since DC motors can rotate 360 degrees and are easier to program.
--- End quote ---
As mentioned above, there are many different 360 servos, just Google them :) As for ease to program - servos probably are the easiest actuators to use programming-wise, as they only need PWM input, all the rest is worked out inside the servo. To position control plain geared DC motor You need to build/buy external feedback systems (a.k.a. encoders - as mentioned in previous posts) and program microcontroller to understand them.


--- Quote from: drinu on February 17, 2013, 08:59:13 AM ---Are there more disadvantages when using DC geared motors?
--- End quote ---
Main disadvantage of DC motor for positional control is need for external feedback system. Advantage of DC motor is power/ and power/size. Also, for absolute positional tracking one can use magnetic encoder (as opposed to binary encoder), which would tell position of joint even after power-down/reset.


--- Quote from: drinu on February 17, 2013, 08:59:13 AM ---and what are the advantages of using them on servos?
--- End quote ---
They are easy to control, You don't need any extra hardware to position control them. Disadvantages: they offer less power than same size/price geared DC motors. Analog servos tend to jitter under load due to low position update rate (50Hz). You cannot control angular velocity of a servo as internal electronics decide for You what angular velocity should be depending on next angular position.

As jwatte mentioned, take a look at stepper motors, they don't need feedback system to maintain angular position. Although using it to drive joint directly might not be the bast way around it, investigate worm and spur gear setup.

mstacho:
I'll also mention, as a major benefit to DC gear motors, you have direct control over the PWM signal that you are giving them, and therefore you can control the torque.  This might be relevant to you (it is to me in my projects, where I need to be able to control the motor's torque in order to properly apply a desired amount of force from a robot hand) or it might be a major pain (if you REALLY don't care and just want the arm to move, your control loops have to be properly tuned)

MIKE

Navigation

[0] Message Index

[#] Next page

Go to full version