Is SG90 a Servo Motor or a Stepper Motor?

By definition, a Servo Motor needs real-time feedback from the raw output (the raw position of the shaft) to adjust to the correct desired position accurately. In the SG90 Motor (Fig-1), I have never explicitly used such a feedback mechanism; instead, I have always calibrated the output position using the on-period of the PWM signal.

I am continuously feeding the SG90 Motor with a known-width PWM signal. Is this not equivalent to feeding a known number of pulses to a Stepper Motor to set the shaft position precisely without real-time feedbak? If so, can it be said that the SG90 is a stepper Motor?

image
Figure-1:

It’s a ‘servo’, neither of the other.

It does contain a motor

2 Likes

You have used the feedback but obviously you don't understand how a servo works and therefore you have been using feeback without knowing it.

Do you any explanation as to where is the feedback (software/hardware) mechanism in SG90?

I do but you can look it up for yourself.

1 Like

There are a lot of explanations online. I have wished to hear your version as well others of this Forum. This will help me to make a summary and do the necessary experiments to establish that SG90 is a Servo Motor.

It's a servo.....no other ....for the second time.
Best not to be too big for your boots with your response.
Look it up yourself.

1 Like

I am posting below one of the online explanations. Will you please, explain where the control mechanism is? Is it inside the Motor Assembly? Should I dis-assemble the Motor Structure to see it?

"Servo motors like the SG90 operate based on a closed-loop control system. They have a built-in feedback mechanism (usually a potentiometer) that continuously compares the motor's actual position with the desired position sent by the control signal (typically PWM, Pulse Width Modulation). This feedback loop allows servo motors to accurately position themselves and maintain that position."

Yes of course. Where else?

The use of 'servo' and 'servo motor' is often mixed up.
A 'servo' is normally used in the hobby sector, e.g. for RC-controlled model aeroplanes or ships. It is controlled by pulses of different lengths.
'servo motors' are used in industry. Are much bigger and often controlled similarly to steppers.

2 Likes

A nice explanation.

No, it's completely different. The movement of a stepper is controlled by the number of pulses and there is no positional feedback.
A servo's position is controlled by the width of the pulse.

1 Like

I will disassemble the SG90 structure once I return home from works. I will report my findings.

It’s NOT a servo motor. It’s a servo.

A closed-loop control ‘system’ that uses internal feedback and a comparator to move and hold the motor position.

2 Likes

@GolamMostafa meet @lastchancename

perhaps that will satisfy your desire to have the heavies here weigh in on this matter.

The guts of the servo you have is probably analog, these days servos with digital electronics can be had, they offer a superior control system.

a7

2 Likes

I have dismantled my SG90 (Fig-1) and the good news is this that the Motor Shaft is coupled (through reduction gears) with the shaft of the rotary potentiometer. As the Servo turns, the voltage value of the wiper-point of the potentiometer changes (checked by Ohm Meter) which acts as a feed back signal for the internal KC8801 based tiny controller (Fig-2). This is a closed loop system.

Next point is to study how the input PWM signal is conditioned by the feed back signal to control the position of the Motor shaft precisely.

SG90Dismantled
Figure-1:



Figure-2:

Link to a KC8801 datasheet if you are going to present marked up snippets.

You can tell the SG90 is a servo by treating the system as a black box and completely ignoring the insides -- the inputs are a electronic position signal (PWM) and external disturbances and loads, and the output is a mechanical position that tracks the position signal.

The data shets you have referred is a Chinese version. I tried but failed to find a English vesion of the data sheets.

In Arduino Platform, the SG90 is referred to as Servo Motor. The terminology is meaningful in the sense that the Motor's shaft position is being controlled by a Servo System.

AI Translation services are magical:

But the low-level details of the stuff inside the black box doesn't make it into a stepper motor.

1 Like

On repeated requests/questions, ChatGPT has provided a good amount of information on the necesssity and working principles of the KC8801 Motor Controller, Cheng Technology.