Why do my servos break?
So a quick look on the datasheet: http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf

shows that you should be working on a 50Hz cycle in your code your using a 60 Hz cycle.
That's the first thing.
The second thing, which looks ok, is the calculation for the PWM it should return 2 for the first call to setPercentage. It should then return 1 for the second call to setPercentage but I think its returning it to 0. 
Maybe print the results for the setPercentage calls and see whats being returned. Maybe your motors aren't broken their just not working right ;)