Arduino Braccio:weak shoulder servo(?)

My arduino Braccio's shoulder servo can't lift the rest of the robotic arm.All I did was making some tests by making it go from 0 to 180(the allowed limit,as stated by the instruction book),and after some time it stopped working.Do I really have to change the servo?Can I repair it?Or is the problem somewhere else?
The servo model is SpringRC SR431

What does not working mean? Does it make a noise but not move? Does it try to move then stops? Makes no noise and no movement?

Not all servos can really go from 0 to 180. Before I use a servo, I test it to determine the actual range of travel. Trying to move a servo beyond its end stops (range of travel) can damage the servo, ie. stripping gears or spinning the pinion gear on the motor shaft.

It makes noise,and can move when I leave only one segment(the one moved by the shoulder servo,obviously),but increasing weight leads to it not working properly

Bump :confused:
if you need more info ask for it

Have you done the math to figure out whether or not the servo generates enough torque to lift the arm plus a payload? Find out what the rated torque is for the servo and figure out whether you are asking too much of it.

As well, make sure the servo has a proper power supply. It should provide the maximum voltage at which the servo is made to run at, in order to deliver maximum torque. It needs to be of sufficient amperage capacity to deliver power to all the servos. The servos should have their own power source, independent of the Arduino.