SG90 servo issue

Hello
I've searched and tried many different suggestions of solution and nothing seems to work til now

I have 2 Tower Pro Micro Servo 9g SG90 and until last month both were fine. Last time I used them they were working great and then I just stored them and forgot about them for a while.
Yesterday I wired up my arduino Uno board and one of my servos, loaded the Sweep exaple (http://arduino.cc/en/pmwiki.php?n=Tutorial/Sweep) into the arduino board and nothing happened. When the board is powered up, the servo does a small noise as it is powered and then nothing happens. I inserted some dumb code accross the example (ie Serial.println(pos)) to check if the code was crashed or being reset and I see that it continues running normally even though the servo does nothing. I tried changing the servo and nothing happens either.
I then read about powering the servos with an external power supply and still no movements.
I tried inverting the wires (initially brown-GND, red-5V, orange-Signal) brown and orange and nothing again.
Then I wired the servo as brown-GND, red-5V, orange-GND and it began moving endlessly (must say I removed the locks of one of my servos).

Any hints on how to procceed?

Thanks in advance!

I then read about powering the servos with an external power supply and still no movements.

Did you hook the servo power grounds to the Arduino?

servo power.png

I inserted some dumb code accross the example (ie Serial.println(pos)) to check if the code was crashed or being reset and I see that it continues running normally even though the servo does nothing. I tried changing the servo and nothing happens either.
I then read about powering the servos with an external power supply and still no movements.
I tried inverting the wires (initially brown-GND, red-5V, orange-Signal) brown and orange and nothing again.
Then I wired the servo as brown-GND, red-5V, orange-GND and it began moving endlessly (must say I removed the locks of one of my servos).

I understand that you may not have much experience which is why you are here but it is our job to tell you that that makes you dangerous. You should not be playing musical wires with your circuit. If you don't know what is happening , fine, but that does not make it ok to ignore the proper wiring protocol for the devices you are using. Each wire on the cable has a designated place where it should be connected. The fact that your circuit is not working does not make it ok to start changing that around. When you are puzzled, it is sometimes better to do nothing than to do things that make no sense whatsoever.

JimboZA:

I then read about powering the servos with an external power supply and still no movements.

Did you hook the servo power grounds to the Arduino?

yes.

raschemmel: I understand your point and I totally agree with you. What happens is that I have chinese modules with no pinout or datasheet easily found, nor following some sort of pattern and all I know is that the red wire is +5V. I am performing some sort of tests and I really don't recall how I wired them up the last time. Please be sure that I mentioned first that it was working a month ago and I'm trying to find out what I'm doing wrong now. Do you have any suggestions on what could my problem possibly be?

I haven't seen your code but the first thing I would do is get any known good servo and test it with the Playground Servo library
example. (outside and separate from your circuit in question) . Once I had working known good servo (of ANY type) I would substitute the suspect servos to test them. You really should post your code UNLESS you have a standalone RC servo tester from a hobby store that requires no uC.

In case I haven't made myself clear enough:
I loaded the code of Arduino Sweep http://arduino.cc/en/pmwiki.php?n=Tutorial/Sweep into my Arduino UNO board and have wired to it ONLY one servo at a time. nothing else. No leds, push buttons, extra modules, nothing.

Since the signal is NEVER BLACK OR BROWN, you can simply use the following guidelines to connect a servo.
1-connect MIDDLE wire to +5V
2-connect BLK or BRN wire to GND
3- connect remaining wire to the pin used by the Servo code.

Do you have a KNOWN GOOD servo (any brand) working ?

servo cable.jpg

When the servo is not connected to anything can you (slowly) move the servo arm with your fingers? If so set it at the middle of its travel and connect to the Arduino and see what happens.

Usually if you set the servo to the middle of its travel and just connect its 5v and GND wires to a suitable power supply (3x AA batteries, for example) the servo arm will move.

If these ideas don't work then draw a clear diagram of how you have everything connected and post a photo of the drawing.

...R

Turns out I had a broken version of servo library. I reinstalled Arduino software and everything is fine.
Thanks for the help

1 Like

:D:D:D:D:D:D couldn't help laughing at this situation and the final SIMPLE solution! :slight_smile: As they often say "Whenever you have a Windows problem, the simplest solution is to re-install" :smiley: same happened here!

1 Like