Servo motor can't move

Hi, i need help with my servos that can't move. I am currently working on a robotic arm that has two servo motors, and prior to this it was still functioning when I tried moving it with a potentiometer. The next day when I plugged in a new code, none of the servos will move, even with the original code I used previously. The same goes to a new servo motor that wasn't previously tested.

Here's the circuit schematic and respective code I've used to test the S996R servo motor. I used the default USB connection as a power source.




#include <Servo.h>

Servo myservo;  

int pos = 0;    

void setup() {
  myservo.attach(9); 
}

void loop() {
    for (pos = 0; pos <= 180; pos += 1) // change here in the place 0 and 180 , into any two degrees you wish the servo to sweep.
    { 
    
     myservo.write(pos);              
     delay(15);                      
    }
    
    for (pos = 180; pos >= 0; pos -= 1)  // change here also  in the place 0 and 180 , into any two degrees you wish the servo to sweep.
    { 
     myservo.write(pos);              
     delay(15);                       
    }
}


type or paste code here

You need to use a separate power supply capable of delivering at least 2.5A

Are you saying that it actually worked OK at some point with the servo power comming from the 5V pin and with the board powered via USB?

That is a picture of your system. Folks can't tell design mistakes from assembly mistakes/bad connections with a picture of a system.

1 Like

Make sure you are connecting the servo according to its specs.

Usually like this. Yours may vary

Alright, I have a 12v power adaptor. will it be sufficient?

yes. it was working fine prior to this. i reused the program on both SG90 servo and MG996R and both of them were perfectly functionable.

however the next day when i tried it again it stopped moving completely

i see, i connected the signal to the middle wire and it was functioning

oh so sorry, ill make a schematic that represents the system real quick

Putting 12V through the typical hobby servo that's rated for 4.8 to 6V will very likely result in a puff of smoke, a bad smell, and an ex-servo.

You need more Amps, not Volts.

Although you should not power any servo from an arduino 5V output, it's strange that it worked one day and not the next. You may have damaged the Arduino.

Does your arduino still work?
Can you run the blink example ino?

Power the servo from a separate 5V supply and use a different Arduino pin.
Don't run the 5V power through the breadboard, connect directly to the servo.
Does it work now?

What you saw was not "functioning" that was electricity applied incorrectly which had 5vdc 12vdc on PWM giving the servo a 100% duty cycle 200% its rated sinking capability.

yes, my arduino still works, i have just ran the blink example.

i assume my servos failure to be due to the insufficient voltage and current.

Power the servo from a separate 5V supply and use a different Arduino pin.

May i know how am I able to make use of a 5v supply? what kind of battery would you recommend?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.