Servo accuracy Problem

I am using Servo motor (MG996R) for a radar Project as the the angle of the target has been calculated using the angle of the servo. But the problem was that my servo is not that much accurate it is not at the desired angle as myServo.Write(i) command suggest.

Hello.

It sounds like you are using a TowerPro MG996R servo and an Arduino with the Servo library. Can you clarify if you are saying that the servo does not consistently go to the same position or if the angle specified in your myServo.Write(i) command is not resulting in the correct movement of your servo?

Brandon

No basically my radar movement is from 0 to 90 degree.
i start the servo loop from 0 degree and increment the loop till 90 degree but the problem is that servo don’t move step by step like from 0 to 1,2,3,4… degrees but it suddenly rotate to 7 degree then 10 degree and then 14 degree and so on.

for(int i = 0; i<=90; i++)
{
     myServo.write(i);
     delay(10);
}

it have to rotate according to that but it make jumps from 0 to 7 degree then 10 and so on.

There could be many reasons for a problem like that. You might start by making sure your servo has a good power source (e.g. a separate 6V supply) and a good ground connection with your Arduino. It could also be a problem with your servo; if you have another one you could try it to see if it has the same behavior.

If you have access to an oscilloscope, you could also check to see if the servo signal from your Arduino is smoothly transitioning how you expect it to. If not, it might be a problem with your Arduino code (e.g. a conflict with a different library or your code is too cumbersome).

You might consider posting on the Arduino forum with a request for help if that is the case.

Brandon

What don you mean by PROPER Ground? I am using different sensors that’s why connected the Servo Ground pin via joining it with the Ground Of a sensor because there are only 3 Ground pins on ARDUINO UNO board.

If you are powering your servo from a separate power supply than your Arduino board, you should make sure that the servo and the Arduino still share a ground connection. In most cases, all of the devices in your system should have a common ground reference.

Additionally, you should make sure the connection is secure and making good electrical contact. Sometimes using breadboards can be unreliable, and your problem can be fixed by moving to a different location on the breadboard.

Brandon