Burning servos like crazy, what am I doing wrong? For some reason my servos keep burning out.

My code is simple, if condition, rotate to 0 degrees, else rotate to 180.

However, what that does to the motor is keep it in a constant struggle to stay in rotation 0 or 180, when there is no movement in between. Sure enough, leave it running for 1 hour, the motor burns out.

if (!strcmp("1",output)){
    myservo.write(0);
}
else {
    myservo.write(180);
}


Is there something like myservo.release or something? I presuming i need to get the servo in to position, then release it so it doesnt try to stay in position. 

Please help, i've burned through 4-5 of them so far, it's not fun :(
Some servos are actually not able to do full 0..180 rotation - or to rephrase it better, the standard 0.5ms and 1.5ms pulse will force them to a position which can not be reached. Therefore the motor keeps on rotating in a constant struggle.


change 0 to something like 20, and 180 to something like 150
check that the motor has stopped once reaching 20 or 150. I.e. it does not produce any sound, and if you touch the motor body it is not producing any vibration (so no constant stuggle)