I'm messing around with some servos and one by one they stop working.
I've got a Raspberry Pi to which I connected a pca9685 servo driver board which in turn connects to 3 of these cheap servos. I got it running with this example code in Go. I've edited the example code to my liking, but I didn't change the basics of moving the servos. I kept the same minimum and maximum pulse width.
Now after messing with them for maybe 15 minutes one stopped working. I rebooted the pi and switched the connectors of the servos around to be sure it wasn't a fault in the code, the pi or driver board. One servo just stopped working. I figured it was just bad luck and moved on. After another 15 minutes of moving the other two servos around I disconnected and stored everything.
So a week later I'm trying it again, and now only one is working. Again I checked whether it was really the servo which doesn't work anymore. I switched connectors around and one out of the original 3 servos is now working on any connection, while the other ones never work, whichever connection I connect them to.
I'm powering the servos with 5v straight from an external charger (so not from the pi) and I never attached any weight to the servos (they just move in the air).
Following this trend I guess it's only a matter of minutes until my last servo will die. I don't care about these servos too much but I wonder why they break. I thought of any one or a combination of the following reasons why they could break:
- I powered them with a too high voltage. This doesn't seem to be the case though. According to the product information on AliExpress they have an operating voltage of 4.8V-6V. The 5V from the usb connected charger should therefore be perfect.
- I chose a wrong minimum or maximum pulse width, which breaks them. This could be. I just kept the default values as they were in the example here. But how would I know what are the correct values?
- They are simply really shitty servos so it's only expected that they break within an hour. I guess this could be, but 2 out of 3 breaking within an hour is quite extremely shitty. To me at least.
I guess the most probable is that my code somehow breaks them. is there a way to know whether my code harms/breaks my servos?
Or do you have any other thoughts on this? Are there other reasons which could break them? All tips are welcome!