Faulty Servo Motor?

Hi,

I am new to Arduino and have got a starter kit.

When i try and operate the SG90 servo that came with the kit it spins continuously when i give it a position between 0 - 10 degrees, all other positions it moves to roughly the correct place.

Is this a faulty stepper servo motor or caused by part of the code?

Thanks

You need to be precise about your terminology.

You say "SG90 servo". That is NOT a stepper motor.

Regular servos usually work between 0 and 180 degrees and cannot turn through a full revolution. Continuous rotation servos can rotate continuously at varying speeds but they cannot be directed to a specific position.

You seem to be saying your servo can do both

it spins continuously

it moves to roughly the correct place

which suggests to me that the servo is faulty.

...R

Robin2:
You need to be precise about your terminology.

You say "SG90 servo". That is NOT a stepper motor.

Yes i seem to have mixed up my words and mentioned stepper several times, it's definitely a servo!

Robin2:
Regular servos usually work between 0 and 180 degrees and cannot turn through a full revolution. Continuous rotation servos can rotate continuously at varying speeds but they cannot be directed to a specific position.

You seem to be saying your servo can do bothwhich suggests to me that the servo is faulty.

...R

Yes it can move to any position between roughly 11 and 180 and stay there but spins continuously at any between 0 and 10.
I'm going to order a new one know i know it's the Servo playing up.

Thanks

Mine is also an SG90 mini servo and I'm also having problems. Mine will not follow set of programming 180° ccw to 180°cw, but will consistently do 90°ccw to 180°cw + 180°cw really fast. I changed the delays in the program and got roughly the same thing then when I compiled and uploaded the "tweaked" sketch, I got continuous rotation.

[b]@AkeruJoyden[/b], Yours is a separate question that does not help @Electrotoken with his problem. I have suggested to the Moderator to move your Post to its own Thread.
You need to post the program that you are trying.
Normally servos can move between 0 and 180 or maybe between 10 and 170 degrees, But not from -180 to +180.

...R

Edited because I had misinterpreted the intention behind @AkeruJoyden's Post

Electrotoken, I did finally figure out how to make the SG90 work properly. I was using it in "The Sweep" learning sketch, and it was malfunctioning as listed above. But After looking the sketch up in the "Learning section", I realized the book I was using was missing a single "=" in one of the for loops. So I tried it again, and while doing so it started out perfect for the first two rotations, then went haywire again... so I experimented...

long story short, I found that the SG90 can not take incrimental increases/decreases of less than 5 degrees at a time... in other words, if I made the incrimental increases and decreases in the program +5 and -5 the servo worked perfectly... fast but perfectly. so I can increase the delays to slow the motor and make it work at the speed I want...

SO, the final analysis is that the tolerances on the SG90 is problematic at low incrimental increases or decreases.

would have saved me some time if I had known that sooner, but at least I don't have to order a different servo before resuming my learning lessons. I hope this helps you too.

Do not power the SG90 servo from the Arduino 5V output, as suggested in some kits. The Arduino will malfunction and may even be damaged.

Use a separate 4xAA battery pack to power the servo and connect the grounds together.

AkeruJoyden:
long story short, I found that the SG90 can not take incrimental increases/decreases of less than 5 degrees at a time...

How did it behave when you changed the angle by smaller amounts?

...R

120 to 150 degrees is the typical range of cheap servos, not 180.

I've got some new Servo Motors and they all operate as expected. Thanks

Electrotoken:
I've got some new Servo Motors and they all operate as expected. Thanks

Good to hear.

Now you can fun taking the faulty servo apart to see what is wrong with it. You may be able to make it into a "proper" continuous rotation servo. There are lots of guides on the internet.

...R