Servo Help!

First of all, I'm not the best with Technology projects, just putting it out there in case its an obvious answer.

Anyway, I have an arduino project that im working on. All it is is a servo that spins after 24 hours, I thought it would be a simple project (I've worked with arduino a little bit) and I wired it up correctly, I'm sure of that, but after I coded the program, the servo wouldn't spin! It just made a dull buzzing sound.
At first  I thought it was my program, so i tried just about every basic "sweep" program i could find online about servos. Every program had the same result, a faint buzzing sound and no spinning. Next i thought, maybe the 5v wasn't enough to power the microservo, so i used a external 9v and ended with the same result, buzzing, no movement.

Can Anyone Help me?! Please! Is it just a simple solution? Or is my arduino micro controller not working! Please help me because i would like to enter the project in a contest that ends soon! Thank You!

sort by: active | newest | oldest
Waztsn (author) 2 years ago

UPDATE:

After taking apart my servo I discovered the motor isnt movink and making a clicking noise. So glad its not my arduino :) Thank you guys for helping me

I'm glad it worked out for you. Same thing happened to me with a cheap servo.

Well, like they say, never buy a car from a friend or a relative. Have fun.

caitlinsdad2 years ago

Upload and show us a pic of your connections. Which sample sketch are you using, the pin numbers need to match what you are connected to.

Waztsn (author)  caitlinsdad2 years ago

Thank You guys for helping me, Here is pictures. My sketch is the default arduino sweep

http://arduino.cc/en/Tutorial/sweep

I know the servo isn't broken, this is the 2nd one i have tried using with my arduino. Also it worked on my freinds airplane just before he gave it to me

P1140297.JPGP1140296.JPGP1140295.JPGP1140293.JPG

Looks like the wiring is correct. So....

One of the jumpers may be bad, those might get a weak connection if flexed too many times and break. Replace the jumpers.

Try another pwm pin like 10 or 11 for the data line. Change pin (9) to the number you are using in the sketch. The port may be dirty or bad.

Make sure the servo.h library is installed correctly in the right directory and the sketch compiles without error.

Try to blink LEDs on the ports to see if your arduino is good. Check with a voltmeter you have sufficient voltage coming out of the ports.

Waztsn (author)  caitlinsdad2 years ago

I checked everything and its fine (except the servo.h library, wasnt sure what that was). Blink works,new jumpers, and different pin all resulted in that weird buzzing/clicking sound. I wasnt sure about the servo.h library though, whats that? THANK YOU FOR HELPING ME BTW

(Libraries are chunks of code with special instructions for your device like servos or a sensor board like a GPS. The common ones are included with the IDE software that you program with. Otherwise, the device vendor will provide the code file to copy to a certain directory on your PC. When you go through the compile process when you load your sketch, it will choke and say command not interpreted if that special command was not included in the library which you specified with the INCLUDE command line. That file may have been corrupted and you would have to copy a new one.)

You also should make sure to wire it correctly!

Some beginners focus on the pinouts listed in the program without making sure it matches the servo, for example the wire colors ;)

And last but not least check the timing you use in the program, some servos don't like high speeds, especialy if they already have a high torque gearbox inside.

try a different servo, I had one where the pins inside the gearbox that holds the gears broke and the servo motor just freely spun and didn't turn the gears.

I found out that some servos cant go fully to the 0 position or to the 180 position due to the gears inside and arduino will attempt to force it in those positions and strip the gear box out. So now i use a better quality servo and modify my code to limit movement from 2 to 178 degrees so I can save the servo from tearing itself apart.