The SG90 – 360 degree continuous rotation servo is a micro size analog servo.
- 1 SG90 360 Degree Continuous Rotation Servo motor with attached 9.5″ control cable
- 3 arms/horns for various interface applications
- Screws for mounting arms to the servo and mounting the servo
KEY FEATURES OF SERVO MOTOR MICRO SG90 – 360 DEGREE CONTINUOUS ROTATION:
- Very small micro size
- 360 degree continuous rotation of the shaft
- Nylon gears
- Analog drive
Unlike normal servos that can be commanded to an exact position within a range of about 180 or 360 degrees, these servos will rotate continuously in either direction with no ability to position it to a particular position. Think of them more like small DC motors with a motor controller built-in that powers the motor and that allows you to start/stop and control direction.
The gears are nylon. The nominal speed of rotation is 120RPM @ 5V. The motor can be run slower down to about 60RPM, but will stall easier at lower speeds.
These types of servos are handy for driving wheels on a micro-robot where space is limited or if you just want to spin something.
These are driven by a PWM signal. A pulse width of approximately 1500uS (PWM value of about 185) will cause the motor to stop. A higher PWM value over about 195 will rotate the motor in one direction while a lower PWM value under about 175 will cause the motor to rotate in the opposite direction. If the PWM value drops below about 500uSec (PWM value of 62), the motor will also stop due to insufficient drive.
If using the Servo.h library, as shown in the code below, a command of about 90 will cause the motor to stop. A value of 0 will cause it turn in one direction at full speed and a value of 180 will cause it to turn in the other direction at full speed.
The built-in cable has a 3-pin female connector that is usually mated with a male header.
1×3 Female Connector
- Brown = Ground
- Red = 5V
- Orange = PWM Signal
OUR EVALUATION RESULTS:
These servos are fairly strong little motors.
The servo runs on 5V with a current draw about 10mA at idle and 110mA to 250mA when being commanded to move depending on how it is being operated. Current draw can get up to a maximum of 300mA under a stall condition, so be aware of that. One SG90 can typically be driven off the power pin of an Arduino when experimenting as long as you don’t stall it, but motors in general are electrically noisy and power hungry devices. It is always better to drive them directly off of a power supply rather than trying to power from the on-board MCU regulator whenever possible
If you do decide to run it directly off the MCU, you can help avoid most problems by running the power and ground from the MCU over to a breadboard and then to the servo. By placing a fairly large electrolytic cap of around 470-1000uF across the power and ground on the breadboard, that will help to insulate the MCU from some of the power surges of the motor.
The program below can be used to exercise a 360 degree servo motor. It simply spins the servo in one direction for 3 seconds, pauses and the spins in the opposite direction for 3 seconds.
To use, hookup 5V and ground to the servo power and ground pins. Connect the PWM pin to pin 9 on the MCU, but this can be changed to any PWM capable pin.