Hi, thank you for posting your work and your research here. I used your video as a guide for making my servo a continuous rotation servo. I modified an SG90 servo just like yours. In my 1st attempt I tried the 222 resistors method and other divider combinations, but that did not work very well for me. Little unbalanced divider was making the servo move in one direction very slow instead of staying stopped. It is possible, but I think is just a little more work to do it this way. In my 2nd attempt I have centered the servo at the 0 degree through code, then I started the physical modifications. - cut the locking pin for the top gear - glue the potentiometer at 0 degree This 2nd attempt was successful for me and it seems to be so much less time consuming. I used superglue, and while the glue was setting I had all gears out and the servo set at 0 through code (or manually, see tip 1 below). Tip 1: Before applying glue, you can actually move the potentiometer with a little screwdriver or paper clip, and see the motor moving (all gears are out at this stage). You can then, manually, slowly re-center the potentiometer. Once the motor stops, you will know it is in the right position, apply super glue and let it set. Tip 2: Backtracking my steps now, I find very useful to have the ability to set the correct 0 position. As you mentioned, inexpensive servo testers devices exists, but if you will use a development board, the tester is not really needed (cause you will do that through your own code). If someone is in need of this procedure, understanding 100% how the servo works is crucial to rapid success. Consider all necessary calculations for the PWM values, otherwise servos will end up being destroyed (Destroyed one in the my learning process as a result of not having the correct values for the PWM). Tip 3: If you will be using the glue method, when cutting the labels with the knife, cut the label only for the cap where the gears are located. This way the bottom part will stay in place, when you remove the screws.
This is your first video that I've seen, and I'm very impressed! The way you thoroughly presented the information in such a professional, yet relatable, fashion was awesome! Thanks for the great tutorial!
Hey there. Great Video. A question: I have seen a video where the 3 wires from the chip just have been wired together without putting resistors. Is this possible or just true for analogue servos?
Hmmm... I believe by doing that you're not getting a continuous rotation servo, you're just getting a geared DC motor. In that video, was the end result something they could control the speed as well as the direction of rotation by changing the PWM input?
@@CircuitBread Yes. The wires from the chip to the potentiometer where tied together, not the ones to the motor. So the resistance to the chip is still the same on both sides, mimicking a 0 position like you did with resistors. The vid is from Michael Klements, rly short, 3min
Hey, great video, just one question, how exactly does your code look, I don't unterstand if the servo constantly thinks he at 0 degree, and your command is to spin to 90 degree, wouldn't the command last forever? I don't know how to make the servo only spin for a specific amount of time.
Hi Tisch! This is done simply by not sending any more position signals. So, to control the length of time it is turning, you loop the position command repeatedly. Once it's done spinning, you jump out of the loop. Pretty simple!
No, that is the trade-off. You lose the feedback on position with the removal of the potentiometers. Unless you throw on an encoder, I'm not aware of any continuous rotation servo that also gives any sort of angular precision. I'd love to be corrected if I'm wrong.
Does the speed of a servo depend on the difference of the pulse from nominal 1.5mS width? That'd explain how you make it change direction and speed, though you didn't mention it.
Thanks you !!!, could solve a problem in a project with this vid, just for add you can use a normal resistor (not the micro version) also works pretty well:3.
Yep, you can definitely use some through-hole type resistors instead of the surface mount. It just gets cramped in there quickly, but if it fits, it should work!
I have about 24 servos that I would need to convert into 360 degree servos, is this worth the time investment or would it be better for me to just buy 360 degree servos instead?
I haven't looked into them recently but when I bought a few 360 degree servos a couple years ago, I was surprised at how expensive they are. It's the age-old question of if you have more time or money. 24 servos is a lot, which would both be expensive to buy that many and tedious to convert that many, so that's a real challenge. The one thing I will say about buying them is that they're probably going to be more consistent in their responsiveness. Some of the servos I've converted respond differently to the signals, which is probably just a result of inconsistencies in the way I converted them.
Yep! That is an option that we considered - you will have to make sure that it is physically disconnected from the rotating gears, though, or else the servo will be trying to move the superglued potentiometer.
Hey man. I'm looking for a solution for my project and my electrical skills ain't high enough, hoping you could help me out. So I've built two huge steel doors for my garage which hopefully will be burglar proof this time. The locking mechanism is like an old school vault door, rack and pinion, which I spin a big gear in the middle and it pushes out 18 deadbolts so it locks the doors in place. The plan is to use the same app as my home alarm system because it's at least slightly secure. They have regular wifi switches for lamps and stuff like that within the app, simple on/off switches. And now to my problem; how do I use a simple on off switch to control a regular rotational motor to just spin 180° and then just stop there until I flick the switch again? Is that possible with servos or something else? I couldn't find any good answers so I started thinking about a strong linear actuator but I think it's the same issue there too, they don't operate with just simple on/off, right? You gotta hold the power button until you get the position you want with those, right? Hehe sorry for the very long text, hope you could help me out here. Thanks in advance!
Yeah, I'd agree with Milo. It's serious overkill but it does give a huge amount of flexibility if you want to add more features and it also allows you to easily adjust your control over whatever motor you want to use. The Arduino will most likely not be able to directly drive the motor, so you'll want some sort of motor driver in there (which will depend on whether you use a large servo, a stepper motor, or a linear actuator). Or you may decide you want to use a plunger solenoid that will require less logic, that's another option. The plunger is a simple on/off but they "pop" into position and it takes electricity to hold them in one position, so they may not be a great fit. Hopefully this gives some ideas!
@@CircuitBread thanks for the reply! I looked into the arduino and it seems like a really cool thing for sure, but I'd like to keep it as simple as possible for long term reliability.. I googled those plungers you mentioned and they would definitely work if I could find a big one that's pretty strong. I'd probably need something with like 10 kilos of force to lock/unlock the door.. Are they all small or do they come in bigger sizes as well? Aren't there any on/off linear actuators?
@@milomitchener4166 thanks for the tip! I looked it up and it seemed very interesting. But I'm worried it would be to many electrical components who could fail in the long run, in the cold moist winter if I were to use that system. I could definitely use it to some other projects. Thx
do bigger servo motors still have these mechanical/electrical feature that blocks them from rotating 360? i do know that every servo comes with a potentiometer, but are there servos that let u rotate more than 1 rotation(>360)? and how fast can they turn assuming to be given the right signal? for example can they rotate at about 300 rpm(6 rounds/sec or 6 Hz) or smth? or not? thanks for the useful data
Hey Mohammad! There's a wide variety of servos out there, so it's hard to make blanket statements. As far as I'm aware, there are no servos that let you rotate more than 360 degrees without being a continuous rotation servo, though if you want precise rotation over 360 degrees, perhaps a stepper motor would work. Servos aren't known for their rotational speed and, unless they're configured to be a continuous rotation servo, I've never known a servo that has controllable speed.
Yep, you have to set it to the "0" point at the end of the code. From my experience, this "0" point is slightly different for every continuous rotation motor, but you can find it with a little experimentation.
@@CircuitBread yeah I’m sorry HAHA I figured it out 5 minuets after I made that comment I was like “let me play with the numbers a little bit” and ended up finding the center point but thank you for this video my elevator project is working out well now 😁
Oh, that's a good idea! I remember that was confusing for me at first. We're working on a Basic Circuits tutorial series right now and I've put that in the queue for that series.
There's no reason you need an 0603, it's just a size that I found was small enough to fit in there but big enough that I could handle well. You can use any size resistor you'd like.
@@CircuitBread Yes nice and smooth but I think the potentiometer somehow moved because every now and again it turns slowly by itself so I'll have to take it apart and reglue it again.
For the soldering step I just soldered a metal beam across all three pins which should in theory work (the other video tied the wires together, same thing) but my motor always spins in the same direction and speed as long as the pulse width is above 0, does anyone know why?
The code will depend on the platform but if you're using an Arduino, we just used the standard sweep program that comes with the Arduino IDEs. It makes the servo go first one way and then the other way, it's quite straightforward. I hope this helps!
But Sir, i measured the variable resistor values to be of different values that made the motor thinking that it is at centre. Measured value is 4330Ohm & 565Ohm, so i not sure why it is different from yours of a perfect voltage diverder with equal voltage with 2.2kOhm? Any advice why my resistors values are so much different?
That is very interesting! So, when your servo is centered, the measured values on the different legs of the resistor do not match, but are 4330 and 565? It's entirely possible they simple set it up differently, with a different "middle point" - I'd be curious if that's the case. Are you able to test and replace the potentiometer with those values of resistors? If so, I'd love if you could reply back and share with us what you found out.
Any robotics or HMI style application. We did several practical robotic examples with our PIC10F200 Microcontroller series and they all used these. That was actually why we did this tutorial.
The servo needs to have a central point and the voltage divider is one method of doing it. There are other ways to do it, like simply gluing the built-in potentiometer in place, but then you have to make sure the potentiometer is in exactly the right spot before you do it. There are specialized tools to help you with this or you can just test it manually with an Arduino or something. For me, it was easier to put in the voltage divider but depending on what you have on hand, that method may be better for you.
@@CircuitBread Do you mean gluing it in the right place without cutting its leads, whereas when we tell the servo to go for an angle other than the center angle it starts moving for it; however, it will never reach ?
You use the same code that you'd use to control a regular servo. But then the code controls the direction and speed instead of location. You can experiment with it, it's quite straightforward.
Hi, thank you for posting your work and your research here.
I used your video as a guide for making my servo a continuous rotation servo.
I modified an SG90 servo just like yours.
In my 1st attempt I tried the 222 resistors method and other divider combinations, but that did not work very well for me. Little unbalanced divider was making the servo move in one direction very slow instead of staying stopped. It is possible, but I think is just a little more work to do it this way.
In my 2nd attempt I have centered the servo at the 0 degree through code, then I started the physical modifications.
- cut the locking pin for the top gear
- glue the potentiometer at 0 degree
This 2nd attempt was successful for me and it seems to be so much less time consuming.
I used superglue, and while the glue was setting I had all gears out and the servo set at 0 through code (or manually, see tip 1 below).
Tip 1:
Before applying glue, you can actually move the potentiometer with a little screwdriver or paper clip, and see the motor moving (all gears are out at this stage).
You can then, manually, slowly re-center the potentiometer.
Once the motor stops, you will know it is in the right position, apply super glue and let it set.
Tip 2:
Backtracking my steps now, I find very useful to have the ability to set the correct 0 position.
As you mentioned, inexpensive servo testers devices exists, but if you will use a development board, the tester is not really needed (cause you will do that through your own code).
If someone is in need of this procedure, understanding 100% how the servo works is crucial to rapid success. Consider all necessary calculations for the PWM values, otherwise servos will end up being destroyed (Destroyed one in the my learning process as a result of not having the correct values for the PWM).
Tip 3:
If you will be using the glue method, when cutting the labels with the knife, cut the label only for the cap where the gears are located. This way the bottom part will stay in place, when you remove the screws.
Awesome tips, thank you very much for sharing!
Good video. Clear voice, great quality, and content is flawless. Oh yeah, no background music!! That's a plus!
This is your first video that I've seen, and I'm very impressed! The way you thoroughly presented the information in such a professional, yet relatable, fashion was awesome! Thanks for the great tutorial!
Thanks Scott, I appreciate the feedback!
I watched a lot of videos how to make a continuous servo but this video is the best thank you so much for sharing this method with us
Good Video! Thank you!
Will this still respond to positional commands?
Hey there. Great Video. A question: I have seen a video where the 3 wires from the chip just have been wired together without putting resistors. Is this possible or just true for analogue servos?
Hmmm... I believe by doing that you're not getting a continuous rotation servo, you're just getting a geared DC motor. In that video, was the end result something they could control the speed as well as the direction of rotation by changing the PWM input?
@@CircuitBread Yes. The wires from the chip to the potentiometer where tied together, not the ones to the motor. So the resistance to the chip is still the same on both sides, mimicking a 0 position like you did with resistors. The vid is from Michael Klements, rly short, 3min
Hey, great video, just one question, how exactly does your code look, I don't unterstand if the servo constantly thinks he at 0 degree, and your command is to spin to 90 degree, wouldn't the command last forever? I don't know how to make the servo only spin for a specific amount of time.
Hi Tisch! This is done simply by not sending any more position signals. So, to control the length of time it is turning, you loop the position command repeatedly. Once it's done spinning, you jump out of the loop. Pretty simple!
Hi, can we still get the angular precision if we take the potentiometers out? I could't understand it.
No, that is the trade-off. You lose the feedback on position with the removal of the potentiometers. Unless you throw on an encoder, I'm not aware of any continuous rotation servo that also gives any sort of angular precision. I'd love to be corrected if I'm wrong.
Does the speed of a servo depend on the difference of the pulse from nominal 1.5mS width? That'd explain how you make it change direction and speed, though you didn't mention it.
That is correct! The greater the deviation, the greater the speed. That should've been mentioned, thank you!
Thanks you !!!, could solve a problem in a project with this vid, just for add you can use a normal resistor (not the micro version) also works pretty well:3.
Yep, you can definitely use some through-hole type resistors instead of the surface mount. It just gets cramped in there quickly, but if it fits, it should work!
I have about 24 servos that I would need to convert into 360 degree servos, is this worth the time investment or would it be better for me to just buy 360 degree servos instead?
I haven't looked into them recently but when I bought a few 360 degree servos a couple years ago, I was surprised at how expensive they are. It's the age-old question of if you have more time or money. 24 servos is a lot, which would both be expensive to buy that many and tedious to convert that many, so that's a real challenge. The one thing I will say about buying them is that they're probably going to be more consistent in their responsiveness. Some of the servos I've converted respond differently to the signals, which is probably just a result of inconsistencies in the way I converted them.
How about simply placing the potentionometer in the middle and fixing it in place, say with crazy glue?
Yep! That is an option that we considered - you will have to make sure that it is physically disconnected from the rotating gears, though, or else the servo will be trying to move the superglued potentiometer.
Hey man. I'm looking for a solution for my project and my electrical skills ain't high enough, hoping you could help me out.
So I've built two huge steel doors for my garage which hopefully will be burglar proof this time. The locking mechanism is like an old school vault door, rack and pinion, which I spin a big gear in the middle and it pushes out 18 deadbolts so it locks the doors in place. The plan is to use the same app as my home alarm system because it's at least slightly secure. They have regular wifi switches for lamps and stuff like that within the app, simple on/off switches.
And now to my problem; how do I use a simple on off switch to control a regular rotational motor to just spin 180° and then just stop there until I flick the switch again? Is that possible with servos or something else?
I couldn't find any good answers so I started thinking about a strong linear actuator but I think it's the same issue there too, they don't operate with just simple on/off, right? You gotta hold the power button until you get the position you want with those, right?
Hehe sorry for the very long text, hope you could help me out here. Thanks in advance!
youll have to use a microcontroller such as an arduino
Yeah, I'd agree with Milo. It's serious overkill but it does give a huge amount of flexibility if you want to add more features and it also allows you to easily adjust your control over whatever motor you want to use. The Arduino will most likely not be able to directly drive the motor, so you'll want some sort of motor driver in there (which will depend on whether you use a large servo, a stepper motor, or a linear actuator). Or you may decide you want to use a plunger solenoid that will require less logic, that's another option. The plunger is a simple on/off but they "pop" into position and it takes electricity to hold them in one position, so they may not be a great fit.
Hopefully this gives some ideas!
@@CircuitBread thanks for the reply! I looked into the arduino and it seems like a really cool thing for sure, but I'd like to keep it as simple as possible for long term reliability..
I googled those plungers you mentioned and they would definitely work if I could find a big one that's pretty strong. I'd probably need something with like 10 kilos of force to lock/unlock the door.. Are they all small or do they come in bigger sizes as well? Aren't there any on/off linear actuators?
@@milomitchener4166 thanks for the tip! I looked it up and it seemed very interesting. But I'm worried it would be to many electrical components who could fail in the long run, in the cold moist winter if I were to use that system. I could definitely use it to some other projects. Thx
What you need is a simple limit switch. You don't need complicated microcontrollers and what not. Look it up - limit switch.
Super cool.
Why can’t the three terminals on the board be shorted out instead of putting a resistor in between the terminals?
Current consumption! If you short them out, they will draw too much current and burn themselves out.
do bigger servo motors still have these mechanical/electrical feature that blocks them from rotating 360?
i do know that every servo comes with a potentiometer, but are there servos that let u rotate more than 1 rotation(>360)?
and how fast can they turn assuming to be given the right signal?
for example can they rotate at about 300 rpm(6 rounds/sec or 6 Hz) or smth? or not?
thanks for the useful data
Hey Mohammad! There's a wide variety of servos out there, so it's hard to make blanket statements. As far as I'm aware, there are no servos that let you rotate more than 360 degrees without being a continuous rotation servo, though if you want precise rotation over 360 degrees, perhaps a stepper motor would work. Servos aren't known for their rotational speed and, unless they're configured to be a continuous rotation servo, I've never known a servo that has controllable speed.
Any way to stop the servo from spinning ? I’m making a project servo works well but it continues to spin even after the code cycle finish
Yep, you have to set it to the "0" point at the end of the code. From my experience, this "0" point is slightly different for every continuous rotation motor, but you can find it with a little experimentation.
@@CircuitBread yeah I’m sorry HAHA I figured it out 5 minuets after I made that comment I was like “let me play with the numbers a little bit” and ended up finding the center point but thank you for this video my elevator project is working out well now 😁
Would like to see you explain the concept of 'sinking' and 'sourcing'.
Oh, that's a good idea! I remember that was confusing for me at first. We're working on a Basic Circuits tutorial series right now and I've put that in the queue for that series.
how do you know that you need a 0603 resistor instead of any other model? how could y know which one i need?
There's no reason you need an 0603, it's just a size that I found was small enough to fit in there but big enough that I could handle well. You can use any size resistor you'd like.
I gained 2 destroyed servos from this 👍 (edit) Third time's the charm right?? just bought another servo and time to try again.
Yeah, it is definitely tricky, I've also had varying levels of success while doing it. Good luck on the third attempt!
@@CircuitBread I just got done putting it in my crawler truck and it works like butter
Awesome, glad to hear it works! Assuming butter means that it works smoothly, not that it's chunky and slow.
@@CircuitBread Yes nice and smooth but I think the potentiometer somehow moved because every now and again it turns slowly by itself so I'll have to take it apart and reglue it again.
For the soldering step I just soldered a metal beam across all three pins which should in theory work (the other video tied the wires together, same thing) but my motor always spins in the same direction and speed as long as the pulse width is above 0, does anyone know why?
After cutting the potentiometer wires my servo isn't working
can you post the code to go on continuously with that motor? video is useless without it. thanks!
The code will depend on the platform but if you're using an Arduino, we just used the standard sweep program that comes with the Arduino IDEs. It makes the servo go first one way and then the other way, it's quite straightforward. I hope this helps!
Could you hook this up to a servo tester and use it the same way?
Yep!
@@CircuitBread oddly enough just did this with a servo to make a camera pan mount... should work with a bit of gearing
But Sir, i measured the variable resistor values to be of different values that made the motor thinking that it is at centre. Measured value is 4330Ohm & 565Ohm, so i not sure why it is different from yours of a perfect voltage diverder with equal voltage with 2.2kOhm?
Any advice why my resistors values are so much different?
That is very interesting! So, when your servo is centered, the measured values on the different legs of the resistor do not match, but are 4330 and 565? It's entirely possible they simple set it up differently, with a different "middle point" - I'd be curious if that's the case. Are you able to test and replace the potentiometer with those values of resistors? If so, I'd love if you could reply back and share with us what you found out.
Usually what's application for?
Any robotics or HMI style application. We did several practical robotic examples with our PIC10F200 Microcontroller series and they all used these. That was actually why we did this tutorial.
Is it absolutely necessary to have that voltage divider
The servo needs to have a central point and the voltage divider is one method of doing it. There are other ways to do it, like simply gluing the built-in potentiometer in place, but then you have to make sure the potentiometer is in exactly the right spot before you do it. There are specialized tools to help you with this or you can just test it manually with an Arduino or something. For me, it was easier to put in the voltage divider but depending on what you have on hand, that method may be better for you.
@@CircuitBread Do you mean gluing it in the right place without cutting its leads, whereas when we tell the servo to go for an angle other than the center angle it starts moving for it; however, it will never reach ?
Sir I want to do 135° rotation only one time can I do this please give reply I need this please 🙏
Most servos do at least 180 degrees of rotation, so you should be able to use a regular servo from off the shelf without any special modifications.
can u use a blue one?
A blue servo? I'm not sure how color would affect anything.
why is it important to drill it?
There is a small mechanical block that will stop it from turning all the way around if they're not removed/drilled out.
about about the code how to write for 360
You use the same code that you'd use to control a regular servo. But then the code controls the direction and speed instead of location. You can experiment with it, it's quite straightforward.
Does it make the torque lower
Nope, it doesn't affect the torque in any way.