9
$\begingroup$

I know that RC servo motors are designed for precise movement, rather than a D.C. motor's continual rotation. Are most RC servo motors limited to movement within one rotation or can they actually be made to continually rotate? That is to say, is their movement limited to a specific arc? Or does it depend on the type of RC servo motor?

I have seen videos of industrial size steppers rotating constantly, but, more specifically, I was wondering whether a MG995 can.

MG995 Stepper motor

I don't own any RC servo motors yet, so I can't actually test it myself. I just want to make sure before I make a purchase. I keep seeing conflicting information, for example the instructable, How to modify a RC servo motor for continuous rotation (One motor walker robot), implies that a RC servo motor will not continually rotate, else otherwise, why would there be a need to modify it?

Addendum

I have just realised, after further digging about on google, and as HighVoltage points out in their answer, that I have confused steppers and servos.

In addition, I found out how to hack the TowerPro MG995 Servo for continuous rotation.

$\endgroup$
  • $\begingroup$ Greenonline - if HighVoltage answered your question, you can mark it as the answer by selecting the check mark between the up and down arrows to the left of it. (You can also up vote it, too) $\endgroup$ – Chuck Aug 14 '15 at 12:04
  • $\begingroup$ @Chuck - Thx for the tip. While I agree that HighVoltage's answer is indeed a good answer (for that I have voted it up), I like to wait a few days, as one should not accept the first answer, just in case a better answer comes along... :-) $\endgroup$ – Greenonline Aug 14 '15 at 12:36
  • 1
    $\begingroup$ @Greenonline here's a quote from that link: "Don't hesitate to accept an answer that is well-written, suggests a good practice and works for you." You can always accept another answer if a better one is added. (you can change the "accepted answer" as often as you like) This community suffers from too many questions without accepted answers. $\endgroup$ – Bending Unit 22 Aug 14 '15 at 19:02
  • 1
    $\begingroup$ There are ways to modify servos so that they do continually rotate see this Google search for example, with lots of results. It will depend on the specific servo. $\endgroup$ – Octopus Feb 11 '16 at 20:53
11
$\begingroup$

In a nutshell, servo motors and stepper motors are not technically the same things. The link you posted is only for servos and not stepper motors. A servo motor assembly does not rotate freely like a DC motor. The rotation angles are usually limited, and every servo has a "lock" position where it stays by default. A positive pulse makes it move clockwise, negative makes it move counterclockwise. Even if it needs to stay "locked", it needs a pulse at a high frequency telling it to stay there. Although the motor by itself is CAPABLE of running continuously, that's not how servos are meant to be used. Hence the need for modifications.

Stepper motors on the other hand, as the name states, move in steps. It moves from one electromagnet to the other, in a slow, precise fashion depending on which one is energized. So if you set a very high number of "steps", and if your driving waveform is smooth enough, the motor will exhibit a near continuous rotation. Because of all the energizing needed, it needs a special driving circuit as well.

$\endgroup$
  • $\begingroup$ Yes, I have just realised my fundamental error. I do apologise, this is my first foray into the world of motors, normally I deal with discrete logic. $\endgroup$ – Greenonline Aug 14 '15 at 9:17
  • 4
    $\begingroup$ No worries at all. We all have to start somewhere. :) $\endgroup$ – HighVoltage Aug 14 '15 at 9:18
5
$\begingroup$

Whether a motor can spin continuously depends how is is constrained by other parts of the system.

An rc servo like the MG995 will typically have a motor, a gearbox and a limited travel potentiometer to provide position feedback. It is this final component which prevents the rc-servo from rotating continuously. In the case of the MG995, it can apparently be purchased with 180 or 360 degree rotation for robotics applications.

If you remove this constraint, there may still be other constraints. If your motor is controlling the movement of a robot arm for instance, it may be constrained by mechanical end-stops on the joints, or cabling.

I once worked for a company which created a robot for de-heading fish, this had a shoulder joint which could rotate continuously, picking up each fish from one conveyor, orienting it correctly, presenting it to the cutting discs, dropping the de-headed fish onto another conveyor and then swinging around to pick up the next fish.

In order to get electrical power and control signals to the joints further down the kinematic chain, it used slip rings on the shoulder joint with some fancy power smoothing and signal correction techniques (slip rings are electrically very noisy).

$\endgroup$
1
$\begingroup$

Regarding the first statement in your question: "I know that RC servo motors are designed for precise movement, rather than a D.C. motors' continual rotation. Are most RC servo motors limited to movement within one rotation or can they actually be made to continually rotate?"

A Continuous Rotation RC Servo is NOT a Servo

Here is why

What is a Servo

A Servo (Servomotor) is a motor with a position sensor and a closed-loop controller that adjusts the motor power to assure the motor is accurately held at the commanded position.

What is an RC Servo

An RC Servo is a small DC motor geared down to a drive shaft that has a potentiometer (rotary resistor) for its position sensor and is controlled by a pulse train. The width of the pulse (PW) determines the drive shaft position. The controller compares the PW to the potentiometer position and the motor is driven to compensate for the error. In a typical RC Servo, a 1.5 ms pulse is center position. For an example, in this case, the pulse is compared to the center resistance value of potentiometer. If the potentiometer is at its center value, no power is applied to the motor. If, however, the servo is clockwise (CW) of center then the potentiometer value will be lower and the servo controller will apply power to turn the motor counter-clockwise (CCW) to bring it back to center. The bigger the error, the more power will be applied to the motor. If the error is in the opposite direction, the motor will be driven CW.

The advantage of this design is that you can produce a very light weight servo out of small inexpensive components. The limitation of this design is that the travel of the drive shaft is limited by the rotational travel of the potentiometer. For RC that is not generally an issue as RC servos are usually used to drive control services that have very limited travel.

Why a "Continuous Rotation" RC Servo is not a Servo

As @Greenonline mentioned, you can modify an RC Servo for continuous rotation.

Note is the video what they guy does

  1. He removes the end stop that protects the potentiometer
  2. He cuts the wires from the controller to the potentiometer and connects a fixed resistor

So, going back to my description of an RC Servo, what does that result in?

  1. Since the position sensor (potentiometer) is gone, there is no longer a control loop so it is no longer a Servo.
  2. If you were to send in a PW of 1.5 ms, the controller would see the resistance at center point and would not apply power to the motor.
  3. If you were to send in a PW of <1.5 ms (commanding a position CCW of center), the controller would see the resistance at center point and drive the motor CCW to get there (which it never will) and hence it will rotate continuously CCW.
  4. Because there is no feedback control you will not be able to rely on the speed or accuracy of the motor; but, you will have a small DC motor that you can command using a RC Servo controller (or a using a PW)
$\endgroup$
  • $\begingroup$ @MarkBooth I added clarification as to how this fits into his original question. If you have further doubts about my statement, I can provide additional details; but, in a nutshell, a "continuous rotation RC servo" is simply a DC motor controlled by the 3-wire RC protocol. It is inaccurate and in no way meets the definition of a Servomotor $\endgroup$ – markshancock Jun 28 '17 at 19:05
  • $\begingroup$ @MarkBooth - To be fair, having re-read my question now, and knowing what I now know two years later, I would have deleted my original (ridiculous) question, as I had seriously confused steppers and servos. The original (novice) question, was (at the time) adequately answered by HighVoltage (and yourself) and cleared up my confusion. Once I had realised my basic misunderstanding, and hastily edited the question with the Addendum, I feel that Mark's new answer addresses my hacked servo part of the question (although I won't be changing the accepted answer). $\endgroup$ – Greenonline Jun 28 '17 at 19:27
  • 1
    $\begingroup$ @Greenonline, Thanks. I wanted to add my answer because I have run into quite a few people that want a servo that can rotate over a wider rotation than a standard servo and misunderstand what a "Continuous Rotation RC Servo" is. This has been made worse by manufactures selling with that name. $\endgroup$ – markshancock Jun 28 '17 at 22:10

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.