You have a pause of 15 milliseconds between each write to the servo.
Can you write a longer pause at the end of each sweep?