小编
Published2025-10-15
This article provides an in-depth understanding of the SG90 servo motor circuit diagram. From its basic functionality to detailed circuit design, learn how to use the SG90 servo motor in your projects and ensure seamless performance. Perfect for electronics enthusiasts and engineers alike, this guide is structured in two parts for easy readability.
Introduction to SG90 Servo Motor and its Applications
In the world of robotics and automation, servo motors are indispensable components that help achieve precise movement and control. Among the various servo motors available, the SG90 is one of the most popular due to its affordability, small size, and ease of use. Often utilized in a wide range of applications—from simple robotic arms to drones and toys—the SG90 servo motor serves as the perfect choice for hobbyists, students, and engineers looking to implement controlled motion into their electronic projects.
What is an SG90 Servo Motor?
An SG90 servo motor is a type of rotary actuator that allows for precise control of angular position. Unlike regular DC motors, which spin continuously, servo motors are designed to rotate within a fixed range, typically 0° to 180°. The SG90, in particular, is known for its small size, light weight, and high torque to weight ratio, making it a versatile choice for lightweight and compact robotic projects.
These motors are equipped with a feedback mechanism, usually a potentiometer, which sends the position of the motor back to the controller. This feedback ensures accurate positioning, which is essential for applications requiring high precision. The SG90 is commonly controlled by a pulse-width modulation (PWM) signal, which instructs the servo on the angle it should rotate to.
Key Features of the SG90 Servo Motor:
Operating Voltage: Typically 4.8 to 6V
Rotational Range: 180° (but can vary depending on manufacturer)
Torque: Around 1.8 kg-cm at 5V
Speed: 0.1s per 60° at 5V
Dimensions: Compact and lightweight, ideal for smaller projects
Control: The motor uses a PWM signal to control the rotation angle.
These features make the SG90 servo motor perfect for small robotics projects, remote-controlled vehicles, camera pans, and other automation systems.
How SG90 Servo Motors Work
SG90 servo motors work by using a PWM signal to regulate their position. The signal is typically sent from a microcontroller, such as an Arduino or Raspberry Pi, to the servo. The duration of the pulse in the PWM signal determines the angle at which the servo motor will rotate.
For instance, a 1.5ms pulse will rotate the motor to the 90° position (center), while a 1ms pulse will rotate the motor to its extreme left (0°), and a 2ms pulse will rotate it to the extreme right (180°). The servo motor adjusts its position by comparing the current angle with the desired angle and makes the necessary adjustments.
The SG90 Servo Motor Circuit Diagram and How It Works
Now that you have a basic understanding of what the SG90 servo motor is and how it functions, let’s take a look at the circuit diagram used to connect the SG90 to a microcontroller like Arduino. Understanding this diagram is crucial for wiring the servo correctly and ensuring it operates smoothly.
Basic SG90 Servo Motor Circuit Diagram
A typical SG90 servo motor circuit consists of three key connections:
Power (Vcc): This is where the 5V power source is connected, which powers the servo motor.
Ground (GND): The ground of the servo motor is connected to the common ground of the power supply and microcontroller.
Control (Signal): This is the pulse-width modulation (PWM) signal sent from the microcontroller to control the servo’s angle.
Let’s take a closer look at how each of these components fits into the circuit:
Power and Ground Connections: The Vcc and GND terminals of the SG90 are typically connected to the 5V and ground pins on your Arduino, or any other microcontroller or battery source that can supply the required voltage.
Control Signal (PWM): This is where the magic happens. The control pin of the servo receives a PWM signal from the microcontroller. Most microcontrollers like Arduino output PWM signals through a digital pin. In your code, you can specify the angle you want the servo to rotate to by changing the pulse width.
The typical servo motor circuit would look like this:
Vcc Pin → 5V pin from the Arduino
GND Pin → GND pin from the Arduino
Signal Pin → Digital PWM pin (for example, D9 on Arduino)
In addition, some users prefer to use an external power supply for the servo, especially when multiple servos are connected, or if the servo requires more current than the microcontroller’s 5V pin can provide. In such cases, the external power supply should be connected to the Vcc pin of the servo and the ground should be shared between the microcontroller and the power supply.
Detailed Wiring Instructions:
Connecting the Power Supply: If you're using an external 5V power supply, connect the positive terminal of the supply to the Vcc pin of the SG90. The negative terminal of the power supply should be connected to both the ground pin of the SG90 and the ground pin of the microcontroller.
PWM Control Pin: The control signal is generated by the microcontroller. Connect the PWM output pin from the microcontroller (e.g., D9 on an Arduino) to the signal pin of the SG90. This pin receives the signal that controls the servo’s rotation.
Verify Ground Connections: Ensure that the ground of the microcontroller, power supply, and the servo are all connected to a common ground to complete the circuit.
Example of Using the SG90 Servo Motor with Arduino
To make sure everything works correctly, let's walk through a basic example of controlling an SG90 servo with Arduino.
Vcc (Servo) → 5V (Arduino)
GND (Servo) → GND (Arduino)
Signal Pin (Servo) → D9 (Arduino)
Servo myservo; // Create a servo object
myservo.attach(9); // Pin 9 connected to the signal pin of the servo
myservo.write(0); // Move the servo to 0°
delay(1000); // Wait for 1 second
myservo.write(90); // Move the servo to 90°
delay(1000); // Wait for 1 second
myservo.write(180); // Move the servo to 180°
delay(1000); // Wait for 1 second
The Servo.h library is included to simplify controlling the servo.
The attach() method links the servo to the appropriate PWM pin on the Arduino.
The write() method sets the angle of the servo to 0°, 90°, and 180° with a 1-second delay between each position.
Troubleshooting and Common Issues
Servo Not Turning: Make sure the servo is properly powered. If using an external power supply, ensure the power rating is sufficient.
Erratic Movement: If the servo moves erratically or doesn't respond to the input, verify the PWM signal is correct and within the correct frequency range.
Servo Doesn’t Rotate Full Range: Some servos have mechanical stops that limit their rotation range to around 180°. Make sure your code and wiring align with the motor’s mechanical specifications.
By following these steps and understanding the circuit diagram, you should have no trouble using the SG90 servo motor in your next electronic project.
Leveraging innovations in modular drive technology, Kpower integrates high-performance motors, precision reducers, and multi-protocol control systems to provide efficient and customized smart drive system solutions.
Update:2025-10-15
Contact Kpower's product specialist to recommend suitable motor or gearbox for your product.