I'm attempting to use servos with an arduino for the first time and I'm somewhat stumped at the moment. I don't think the problem is with the arduino code, but I would appreciate any insights at all. To simplify my tests, I'm currently using the Servo library Knob demo (adjusts servo position based on voltage input from a pot).
I needed a high torque servo for my project and ordered several TowerPro MG958 servos. When I hooked one up, the servo just clicked (at about 3 Hz) and didn't move. I tried using a lower torque Futaba servo that I had and it seemed to work fine. I thought that perhaps the TowerPro was broken, so I tried another TowerPro with the same results. I took the TowerPro servos to a local hobby store and they were nice enough to try them out in an RC Car receiver and they worked fine. So something is apparently wrong with my setup at home.
I am powering the servo separately from the arduino using an adjustable voltage bench top supply capable of supplying 3 A. I have tried running this from 4.8-6.6V. The grounds are in common for both the arduino and the servo. I had a 220 ohm current limiting resistor in line with the signal to the servo, but have also tried without this.
When looking at the signal on a scope, it looks great. I see a .8-2.5 mSec pulse (based on the pot position) every 20 mSec.
I can't figure out why the TowerPro servos won't work with this arduino setup, but work fine in an RC receiver. Something's obviously different, but I can't figure it out. Unfortunately, I don't have an RC receiver at home where the scope is. Anyone have any ideas?