SparkFun Forums 

Where electronics enthusiasts find answers.

For the discussion of Arduino related topics.
By Brent B
#195419
Could I have fried something on my Arduino Uno, either firmware or hardware? It has been driving a pair of servos on pins 10 and 11 24/7 for a few years (activating them for a few seconds every eight hours), but now that I've added a SainSmart relay on pin 0 I cannot get the servos to work anymore, even on other pins, even after removing the relay and uploading backup software. I noticed that when I uploaded the new software, the relay chattered and its led flickered. I realize that pin 0 has something to do with communications, so I moved the relay to pin 10 and moved the servos to other pins too (not pin 0). Now the relay works fine on pin 10 but the servos still do not work. I also tried new servos.

Do I just buy a new Arduino, or is this fixable? I'm going to try some printf's to verify that I'm actually attempting to drive the servos, that something hasn't messed more with my code than I thought.
User avatar
By Ross Robotics
#195427
Could I have fried something on my Arduino Uno, either firmware or hardware? It has been driving a pair of servos on pins 10 and 11 24/7 for a few years (activating them for a few seconds every eight hours), but now that I've added a SainSmart relay on pin 0 I cannot get the servos to work anymore, even on other pins, even after removing the relay and uploading backup software. I noticed that when I uploaded the new software, the relay chattered and its led flickered. I realize that pin 0 has something to do with communications, so I moved the relay to pin 10 and moved the servos to other pins too (not pin 0). Now the relay works fine on pin 10 but the servos still do not work. I also tried new servos.
You haven't gave us any details on how everything is connected. I hope you aren't powering the servos directly from the Arduino. You also haven't specified which Arduino you are using.
Do I just buy a new Arduino, or is this fixable? I'm going to try some printf's to verify that I'm actually attempting to drive the servos, that something hasn't messed more with my code than I thought.
So did it print anything??
By Brent B
#195429
Problem solved. Accidental code change showed up with debugging. Thanks for your reply.

On your other point:
I've run 2 or 3 servos off of the Arduino for a few years 24/7 for 10-20 seconds every few hours. Seems to work fine. I'm guessing you think I should set up a separate power supply for the servos and connect grounds? What would you suggest I do?
By jremington
#195432
It is amazing that the Arduino survived that. It was never intended to power servos, which can draw over an Ampere starting up or while straining.

You should always use a separate power supply for motors and servos, because they inject high voltage noise spikes, potentially damaging the uP and also overload the voltage regulator. Be sure to connect all the grounds.