I have recently started to fiddle with an Arduino UNO R3 kit I bought some time ago, and I got so hyped that I have decided to build a robotic arm.
This robotic arm which I found on Thingiverse requires to use 4 servo motors. I got some cheap SG90 motors off amazon. Since these servos require a rather large current to run, I am going to use an external power supply to power them at the same time, and a PCA9685 16-channels servo controller.
Now... I have come to the understanding that the position of a servo motor horn can be chosen using pulse width modulation (PWM) at 50Hz, with 1ms pulse widths corresponding to 0° and 2ms to 180°, according to the data sheet of my SG90 servo.
However, I have seen that since my motor is rather cheap, it could be that the the servo positions could correspond to a slightly different pulse widths from the data sheet.
How can I determine for certain which pulse width corresponds to 0° and 180° using Arduino?
Also, if I were to send a pulse width that's lower than the one corresponding to 0° to the servo, would it damage the motor?
Thank you very much!