DS04-NFC servo 360° continuous rotation

Hello, I have a problem with DS04-NFC servo, which I use in vending machine project like a servos that rotates with springs. I control servo via Arduino Mega. I use 4 servos in my project. It is possible that servos seem to stiffen or something like that? Because my servos doing their job, but when they reach a certain position or are not used for a long time and I want them to spin, so when they are about to spin, they start to make a winding (clicking) quiet sound and don't spin. But when I help them by my hand or finger, just little push, they are stop to clicking and start spinning. I change several times a power suply, first I was power it by step-down module, which I powering other components, but I found it is not good, servos just clicking, so I think that they are current limited due to other components, so I try it with batteries with a little more success - servo was working, but sometimes they are started to clicking and the batteries were running out very fast and their voltage go down too, so I decided to power the servo with PC source via 5V branch, which one should not have so big current limit. Exactly, there was a 5,13 V. But the problem still persisted, servo just clicking, when they were to spin. Or some servo spinning, but another just clicking. Again when I pushed the servo slightly with my finger, the servo came from that "stiffen" position and started rotating. I think that problem was with low voltage, but I know that for servo is enaugh 4,8 V. So I use a another stepdown module (LM2596) to increase voltage to 5,5 V (6V for servo is maximum) and hope that this will solve the problem. But it wont. Servos now again rotating or just clicking, and it is enaugh to slighly push the servo and servo start to rotating normally. It doing each servo. Can there be some problem in impulses? I am using 1500 us to stop servo and 2000 us to rotate servo left. For a testing I use this code:

#include <Servo.h>
Servo servo1;
void setup() {
servo1.attach(4);
}

void loop() {
servo1.writeMicroseconds(2000); // rotate
delay(1700);
servo1.writeMicroseconds(1500); // stop
delay(500);

}

and the same coding I use in the vending machine program, but there is no difference in servo control between this and that code.
Servo rotates exactly as I want, but sometimes the servo gets into that "stiff" position or I don't know how to call it and after the vending machine shuts down and on, or after a long time i turn on vending machine, some servos rotating, and some just clicking. I really don´t know what to do with it. Maybe it may be a broken tooth, but I was looking inside and didn't see that there was any tooth broken out or missing in that gearbox. Plus, it would be strange if all of the servos were going to do it. Other components work properly.
Has anyone encountered this problem?
Vending machine project which I am building is like this: https://howtomechatronics.com/projects/diy-vending-machine-arduino-based-mechatronics-project/#comments
Thank you for your answers.

I just want to add that I dont use no capacitor, should it be problem? But I dont think that this solve the problem.

Your power supplies sound like the correct voltage but you have never said how much current they are able to supply. Your problem sounds exactly like a motor not being given sufficient current to start up a heavy load (when they need maximum current) but just enough to run once turning (which needs much less current).

Of course the other possibility is that the motors/servos are simply not powerful enough for the load they have to turn, particularly when the machine has been sitting for a while getting stiff.

Steve

Step down is able to supply max. 3A. But when I measured a current, when servo rotates, ampermeter shows 0,12A. What goes to stepdown is 12 V branch from PC power supply. PC power supply is some no name supply, I dont know what it is, it looks old, it have got more molexes than normal cables :slight_smile: But PC supply is able to supply more than 3A, so I think that bottleneck is more stepdown than power supply.

Maybe, can I solve that problem with slowly spinning at beginning and then rotate with normal speed?

Hi,
What make/model are your servos?

Thanks.. Tom.. :slight_smile:
Sorry right in front of me.

Hi,
How does the spring actually pull on the servo arm?
If you only have one spring, you are not just making a turning torque but a side force on the servo bearing.
This could be causing the mechanical lock up.

Make sure the servo has metal bearings and gears.

Tom... :slight_smile:

DS04-NFC servos have got a plastic gears. But when I took off the springs and try it without them, there wasn't a change. Still it doing that clicking noise or normally start to spinning.
Is the plastic gears a big problem? And if so, do you know some similar servo with a metal gearbox and continuous rotation? Continuous rotation is very important. I am just a beginner in servos and I do not understand much in depth.

SykkeX:
Step down is able to supply max. 3A. But when I measured a current, when servo rotates, ampermeter shows 0,12A.

What you need to measure is the current being taken when the motor is sitting there clicking but not spinning. That is when it takes maximum current.

Steve

I measured a value of 0.12A when the servo was spinning even if it was to start spinning at spin. I measured the same value when the servo was spinning or just clicking. For example, I expected that when starting, the current would momentarily rise to 2.5A at the beginning when the servo was to start spinning and as soon as it started spinning, the current would drop to around 0.7A. But it was 0.12-0.15A all the time and when the servo is not spinning, the current is only 0.04A, for electronics I guess.

Hi,
It sounds like the plastic gears are locking up, they are not usually a very stable assembly.
In fact you can hear them rattle as they rotate, that shows how poor the gear alignment is.

Look for metal gear version.
You will find the metal type is so much smoother, due to finer teeth and more precise meshing.

Tom... :slight_smile:

Ok, I think that this is probably solve to use some metal geared servo, but I can´t find metal geared with continuous rotation and I don't believe to myself that I can do it to continuous rotation from normal servo. Please, do you know about some with metal gear and with continuous rotation?

SykkeX:
Ok, I think that this is probably solve to use some metal geared servo, but I can´t find metal geared with continuous rotation and I don't believe to myself that I can do it to continuous rotation from normal servo. Please, do you know about some with metal gear and with continuous rotation?

A servo may have been a poor choice of motor to use in your application.
A stepper or DC geared motor would have been more suitable for driving the dispensing coil spring.
Tom... :slight_smile: