Strange behavior with servo

Hello.

I'm sure I'm missing something stupid, but I'm a bit puzzled,so I try to ask:

I have a MG995 continuos rotation servo connected to the Arduino, and initially powered with the VIN pin with 6-7.5 volts.
I servo behavior is a bit confusing: by using the servo library, I'm able to move it, but it is not very reliable: when I try to stop it (by writing 1500ms), sometimes it stops, sometimes not, so it is very random.

I thought it was a problem of powering the servo through the Arduino, so I try to unplug the power from the arduino, and with the same power adapter and the same voltage, I tried to power directly the servo. In this case the servo does not move at all.
This is confusing me, because I though it could be a power problem.

Do you have any suggestion where I should look to fix this?

Thanks,

Have you a common ground connection between the servo and the Arduino?

I assume if it does not stop it moves very slowly with 1500 usecs (NOT msecs). If so experiment with values a little bit above or below 1500. Servos aren't precise and each one probably has a slightly different "zero" point.

...R

Hello Robin2.

yes, I have common ground when it is powered through VIN. It isn't on common ground when I try to power it externally, but in this case it does not work at all.

I'll try what you suggest with the range of usec. But what it is not clear to me is why it has different behaviors: sometimes it stops, sometimes not.

Thanks,

Almost certainly your supply is inadequate - that servo will likely pull perhaps 2A peak,
given its high torque - what is the supply you are using? Can it cope with high current
peaks without dropping out (it has to).

I tried to provide 2A, but in any case I can not obtain a consistent behavior. Sometimes the servo stops, sometimes not.
Anyway, during my test I'm afraid I burned out the servo.... :blush:
Right now it does not work any more....

Can you suggest a good continuos rotation servo, different from the mg995?

Thanks

It's hard to see how you burned it out unless you provided a too high voltage to it. Servos are very robust and don't mind being stalled by heavy loads. Did the smoke escape?

I hope you didn't try to "force" 2 amps through it :slight_smile:

Are you sure that it's not the power supply that has failed? Or is there a bad connection somewhere?

...R

Yes, I'm actually quite surprised of this.
Connections seems to be good, the only thing I did was to put under a continuos load during the tests....
I did not seen any smoke nor smell coming from it, but it actually looks dead....
Ooops...

My servos would jitter, so I put a capacitor on the external power source. That smoothed it out. I'm not saying that is your trouble, just an idea.

Hi you said,

yes, I have common ground when it is powered through VIN. It isn't on common ground when I try to power it externally, but in this case it does not work at all.

So you didn't have gnd of the arduino and gnd of the servo connected together when running separate supplies?
I'm afraid you have to have them connected to allow control current to flow through the servo from the arduino.
Can you post a circuit diagram please?
Tom... :slight_smile:

Well spotted Tom. I missed the second part of that.

...R

Yes, good point. I need to try....as soon as I'll get a new servo....
I'll let you know.

Have you tried it with the servo you already have? (Just in case it's not broken).

And (if it is broken) I wonder if what damaged it was supplying a signal on the signal wire without there being a corresponding ground connection? I am asking this so I can avoid the same mistake myself.

...R

Unfortunately the servo looks completely dead.
I'm buying another one....

Yes, the only thing I was doing before it stopped to work was to use it with external power (no GND in common with Arduino).
It looks strange to me that this could damage the servo...but it looks so....

It looks strange to me that this could damage the servo...but it looks so....

If you disconnect the common ground, the servo power may try to go to ground via the servo pot wiper. I know small servos will start to heat up. Below is a typical servo external power setup.

There should be a copyright on that diagram, make fortune you would, a fortune.

Tom.... :slight_smile:

zoomkat:
If you disconnect the common ground, the servo power may try to go to ground via the servo pot wiper. I know small servos will start to heat up. Below is a typical servo external power setup.

I'm curious about this just to ensure that I don't accidentally damage one of my own servos.

I would have thought that if the ground between the Arduino and the servo was disconnected while the ground between the servo and its power supply remained intact that the only "power" without a home would be the 20mA or so from the Arduino. Are you saying that can cause the servo to overheat?

...R

I would have thought that if the ground between the Arduino and the servo was disconnected while the ground between the servo and its power supply remained intact that the only "power" without a home would be the 20mA or so from the Arduino. Are you saying that can cause the servo to overheat?

The problem can probably occur when the servo ground to the common ground point is lost. The pot in the servo is still being supplied with voltage, which may go thru the arduino/servo signal line to the common ground via the arduino.

zoomkat:
The problem can probably occur when the servo ground to the common ground point is lost. The pot in the servo is still being supplied with voltage, which may go thru the arduino/servo signal line to the common ground via the arduino.
[/quote

Thanks, I understand. I was thinking of the opposite situation in which the ground to the servo power supply was OK but there was no ground connection to the Arduino.

...R