Introduction: How to Modify a Micro Servo Motor (SG90) for Continuous Rotation
Oh no! I've run out of DC motors! Do you have any spare servos and resistors sitting around? Then let's modify it!
A normal servo turns for around 180 degrees. Obviously, we cannot use it for a vehicle running on wheels. In this tutorial, I'll be going through steps to remove the limiter in the servo and make it turn for 360 degrees, so you can use it as if you're using a DC motor!
The actual limiter consists of 2 parts: the potentiometer and the gearbox. What we need to do is to break the potentiometer connection with the internal circuit board and remove a knob in one gear in the gearbox.
Hello everyone, I'm Bryan Tee Pak Hong. I'm currently a year one student in Singapore Polytechnic studying Computer Engineering. In this tutorial, I'll be using a cheap micro servo motor from China to show the ugliest case you can face (hopefully), you can buy higher quality servos for your projects as the basic structure of a servo motor remains the same, so you can apply the same concept in this tutorial and modify your own servo. However, you may need more tools for reasons I'll go through in my instructions.
Disclaimer: This project requires safety equipment. If any accidents were to happen I will not take responsibility.
Without further ado, let's begin!
Step 1: Step 0: What You'll Need....
For electronic components, you'll need:
- servo motor x1: I'm using a cheap imitation called TianKongRC, the quality wasn't too bad, but I've seen better ones
- resistors x2: It depends on the variable resistor in your servo motor, it is usually 5k, 10k, 20k or 50k. For most micro servos, like TowerPro or my case, TianKongRC, it is 5k ohms. Divide that value by 2 and that's the resistance for the servo. if you can't find the exact resistance, increase the resistance you need. Below are some suggestions:
- 5 kohms: 2.7 kohms x2
- 10 kohms: 5 0kohms x2
- 20 kohms: 10 kohms x2
- 50 kohms: 27 kohms x2
For tools, you'll need:
- Solder kit (Solder iron, Solder, Desoldering pump, safety glasses etc.)
- Long neck pliers
- Wire cutter and stripper
- Electronic component stand
Step 2: Step 1: Removing the Cover and Gearbox
This should be fairly simple. Unscrew the screws holding the servo, after which you should be remove the bottom case. Depending on the supplier, the internal circuitry may or may not fall out. For my case, it did not, which requires more work.
After that , remove the top cap, it should just come off. Remove the gears and remember their order for you'll need to reassemble it later.
Step 3: Step 2: Removing DC Motor and Potentiometer.
- Next, desolder the connection between the small DC motor inside and the internal circuitry. Heat the solder and hold the wire with your pliers and it should come of fairly easily. In my case I do not have a proper electrical component holder, so I used a phone holder and it worked. Although this is quite dangerous, we shouldn't buy something we wouldn't use frequently.I highly recommend investing in a proper electronic circuit holder as you'll need it more than you think. For a short project however, this should work fine as well.
- After that, break the connection between the potentiometer and internal circuitry. the potentiometer is denoted by 3 pins directly underneath the servo axis. Depending on your model, you may only need to desolder 2 wires and you're done, but for a servo like mine, where the pins of servo are soldered directly onto the circuity, you may need pliers to twist them in order to break the connection. My second servo was surprisingly easier as I managed to desolder the potentiometer and the circuit board just came right off.
- An optional step is to desolder the 3 wires that connects to your arduino/microcontroller etc. If you do go that route, please remember how the wires were placed as I had 1 failed servo where the chip is burnt and unusable.
Step 4: Step 3: Replacing the Potentiometer
Get your 2 resistors and bend them so that it fits on your board. Solder them as shown, leaving 3 pins and solder them onto the circuit board.
Now for some theory: Soldering 2 identical resistors signals that the motor is at 90 degrees. Say if you program it to turn to 0 degrees, it will rotate continuously anticlockwise; 180 degrees and it'll turn clockwise.
This removes the first part of our limiter. Next, let's move to the more mechanical part.
Step 5: Step 4: Break the Limiters!
Now for the fun part: The potentiometer is where the pliers is pointing. After close examination, you can see that there are 2 protruding parts of metal stopping the motor when a certain rotation is reached. Snip that off and the "potentiometer" is merely a rotating axis. Optionally, you can break the stopper at the plastic cylinder instead, but I find it easier to just use pliers and wire cutters to cut those parts out. Wear your safety googles, you only have a pair of eyes, take care of them.
Next, the gear. On the largest gear on top (see previous pictures), there should be a small knob below it. If you're using a high quality servo, chances are it is made of steel, In which case you will need a dremel to flatten the knob down. Since I'm using a cheap micro servo, I can use wire cutters to cleanly cut the knob and remove it.
Give yourself a pat on the back, you're done with the modification!
Step 6: Step 5: Reassembly and Troubleshooting
First, solder the DC motor onto the circuit board exactly how you removed it. After that, place the bottom cap on to temporarily hold the parts in place. Next, place the gears back in the correct order and put the top cap back on. Put the screws back on and you're done. You deserve a medal regardless if the motor works at this point.
All that's left is troubleshooting, below are some problems I've encountered:
- Very loud jittering in the gearbox: 2 possible reasons: the gears aren't assembled properly or the DC motor is slightly misplaced. Check that the gears are in the correct order and that the middle axis holding the 2 gears are properly placed; check that the gears are clean; check that the housing of the DC motor is free of debris as it might tilt the motor a bit causing this weird jitter.
- Motor doesn't work, it is completely quiet: Check that the DC motors are securely soldered; Check that the 3 pin wires connecting your microcontroller are soldered in the correct order; Check if your testing circuit/program is working completely fine, I recommend using the sample servo code in Arduino IDE to test. Worst case scenario you've burnt your circuit board and will need a new servo.
- Motor buzzes, but doesn't move: The motor buzzing means that the motor is powered up. If it's not moving, check the connections at the 3 pin wires as in 2.. However, be careful to how long you want to test it, it could very well burnt out just like mine did.
- Can't reassemble/forgot how everything was before disassembly!: Can't help you too much there.... But do use the photos I took as reference for the mechanical parts. For the electronic parts it should be fairly easy, or you can search for your specific model of servo online.
Do leave other questions down below and I'll try my best to help.