Servo motors are a great way to add motion to your next project.
They differ from normal DC brushless motors as they do not have continuous rotation. However, their motor shaft can be controlled (through Pulse Width Modulation) and placed in various positions.
Usually the rotation is limited to 180 degrees.
Servo motors come in handy where you need to rotate an object a certain angle or distance where normal DC motors cannot do so.
They come in a variety of sizes so they can be used in different applications.
These different applications of servo motors can include;
- CNC machines
- R/C planes
- Solar array and antenna positioning
- Robotic arms
Above is just a few of the many applications.
In these different areas where a servo is used, proper control and precieness are key. So, a servo that vibrates is not ideal.
So why does a servo motor vibrate? There are many possibilities as to why a servo motor vibrates which is listed below;
- Cheaper servo motors do not have adequate feedback circuitry
- Servo motor power not stable
- Working near or outside the rotating angle of the servo motor
- Not using a separate power source for the servo motor
I shall discuss these in more detail below, as well as talk about ways to prevent a servo motor from vibrating.
Deeper look at the servo motor
Let’s take a closer look at the servo motor and how it operates.
As mentioned earlier a servo motor differs to normal motors as they have limited rotation.
While it only has limited rotation, a servo motor has the advantage of being able to rotate to specific positions with great precision. Something that normal motors cannot do.
It achieves this using a gears that a motor rotates.
A servo motor consists of a;
- DC motor
- Control circuit
- Signal wires
- Output shaft.
How the servo motor operates
The servo motor is part of a closed loop system.
The basic working operation of the servo motor goes as follows;
- The DC motor rotates causing the resistance of the potentiometer to change
- The control circuit can monitor this change in resistance and thereby determine the position of the servo motor at any given time
The speed at which the motor moves from one position to another is determined by the magnitude of the angle it has to move through.
The bigger the angle the faster it will move through it and vice versa.
Moving the motor requires sending a Pulse Width Modulation (PWM) singal via the signal wire.
The position at which the servo sits depends on the PWM signal that is sent to it.
The length of the pulse determines how far the motor turns. This can be visualised in the image below.
Reasons why a servo motor vibrates
Let’s take a look at some of the reasons why a servo motor might vibrate.
I shall cover how to avoid these problems later in the article.
Reason #1 why a servo motor vibrates: Instability of power
The first cause that your servo motor is vibrating is possibly due to unstable power delivered to its power lines.
A stable supply of power is required for all electronic devices and components.
You might have witnessed lights in your home flickering off and on (maybe during a thunderstorm ).
This is essentially due to a fluctuation in power levels which causes instability causing electronic devices to act sporadically.
An ideal stable power supply would look something like Diagram A(I say ideal, because in reality nothing is every ideal) whereas an unstable power supply would represent something Diagram B.
A servo motor that has an unstable power supply is going to cause it to ‘vibrate’ as it essentially stops and starts. There is no smooth motion.
Also some servo motors can draw large spikes in current when first set in motion which can cause instability in power.
Reason #2 why a servo motor vibrates: Working near or outside limits of servo motor
So we know that the servo motors only have a limited range of motion.
This range of motion is restricted to 180 degrees.
Another reason that could cause a servo motor to vibrate is working near or outside of these limits.
Rather than going to the extremes of the servo’s limits, give it a buffer of 5-10 degrees.
So, stay within 10 – 170 degrees.
On one occasion I locked the servo motor because I went too far outside it’s limit.
Reason #3 why a servo motor vibrates: Cheap servo motor
The cheaper the servo motor, the cheaper the parts used to manufacture it.
This is an issue as cheaper electronic components do not perform well and also fail faster.
A cheaper servo motor is not going to have an adequate DC motor, gears, control circuit, potentiometer etc.
This is going to ruin its performance which will be apparent due to how much it vibrates.
Preventative methods for a servo motor that vibrates
The three reasons above for why a servo motor vibrates are the main ones. There are other causes which are small but if avoided can add up.
So, let’s look at a list of methods that will hopefully stop/prevent it from vibrating.
Method #1: Electrolytic capacitor
As you saw earlier, instability of power can cause a servo motor to vibrate.
The best way to combat this is to use an Electrolytic capacitor across the power supply of the servo motor.
Electrolytic capacitors are commonly used for noise filtering (unstable power) in power supplies. They help smooth voltage levels.
A 100uf electrolytic capacitor should do the job.
Method #2: Stay within the limits
As you saw earlier, another reason a servo could vibrate is pushing its limits.
I know you might require that full range of motion for your project, but going near the limits can cause your servo to jitter.
Give the servo a range of motion with a buffer of 5-10 degrees either side.
Method #3: Invest in good quality servos
This might be self explanatory, but investing a bit more money in good quality servo motors will save you in the long run.
Good quality servo motors are designed and built with parts that make them smoother.
Their feedback circuitry as well as sensors are much more precise than ones used in cheap servo motors reducing the chance of them vibrating.
Method #4: Separate power supply
We are going to need Pulse Width Modulation to drive the servo motors. One great way to drive them using PWM is to use a Microcontroller.
The microcontroller and servo motor are going to need a voltage source and most of the time they use the same power supply.
However, this can be an issue as noise from the microcontroller can cause instability of power to the servo causing it to vibrate.
So, to prevent this, use separate power supplies for the microcontroller and servo motor as pictured below.
Method #5: Increase voltage and current
You might have separated the power supplies, but if the power supply you are using to power the servo motor is not powerful enough, it is going to struggle to provide the voltage and current the servo requires.
This is again going to increase the chance of the servo vibrating.
Check the voltage and current requirements of the servo motor and choose a power supply that is slightly higher than that. This way you know it can provide sufficient power.
Method #6: Reduce wire lengths
Long wires in electronic circuits pose a concern.
As the length of a wire increases so does its inductance. This can generate unwanted noise and as we saw, this noise can cause disruptions in voltage levels in circuits.
Where possible, limit the lengths of wires in circuits. If you need to extend the signal, and power wires of the servo motor, only increase it sparingly.
Also, avoid looping wires as this will further increase the inductance.
Method #7: Remove power from servo motor after moving
One of the main issues that causes a servo motor to vibrate is fluctuating of unstable power.
Some of the workarounds to that is using an electrolytic capacitor or using the power supply.
If these options are not viable for you, there is another method that can combat vibration which I use almost all the time when using servo motors.
PWM is used to move a servo motor to a certain position.
The great news is that the PWM is not required to hold this position.
If we remove the PWM signal from the servo motor, it will remain in the current position it has just moved to.
If there is no PWM signal there is no chance of vibration.
So, after moving the servo motor to your desired position, stop the PWM signal.
Why having a servo motor that vibrates is not ideal
The servo motor might be used to tilt the aileron of a R/C airplane, or used in a robotic arm.
Both these applications (along with many others) require smooth motion.
Having a servo motor which vibrates is going to hinder the performance greatly and is not ideal for the overall efficiency of the system.
So, the less vibration (or no vibration at all) the better.