Go Down

Topic: buzzing SG90 servo (Read 1 time) previous topic - next topic

laundru

I have the same problem that discussed in this youtube video. The video tries to give some kind of solution - detaching sevo from controller - but googleing the topic I found a lot of opinion that denies this method.

I have two questions:
1. What's the reason of this phenomenon?
2. Is there any other solution of this problem?


slipstick

The servo is hunting round trying to hold an exact position. After detach() it no longer gets a control signal so it isn't trying to hold any position any more.

That sort of works if the servo is just sitting there not driving anything as in the video BUT if there is any load on the servo it is no longer trying to hold its position and the load can cause the servo to move. Not what you normally want.

Other things that can help include using a separate power supply for the servo not trying to run it from the Arduino 5V pin, being careful with the servo wiring (no breadboards, no croc clips). The real solution is to use a better quality servo. SG90s are cheap and mass produced and many of the ones you buy turn out to be even cheaper copies of the real TowerPro SG90.

Steve

laundru

#2
Dec 18, 2018, 02:41 pm Last Edit: Dec 18, 2018, 02:42 pm by laundru
After detach() it no longer gets a control signal so it isn't trying to hold any position any more.
It's clear.

BUT if there is any load on the servo it is no longer trying to hold its position and the load can cause the servo to move. Not what you normally want.
Of course not.

The real solution is to use a better quality servo. SG90s are cheap and mass produced and many of the ones you buy turn out to be even cheaper copies of the real TowerPro SG90.
Sorry for hear that.

Thx for the reply.

xl97

Perhaps you are trying to move outside of the bounds the servo can go?

I know they say 180 degrees... but that is usually not the case.. more like 15-165 or so..lol

Also.. do you have ALL GND lines connected?  Arduino, battery, servo?


jremington

#4
Dec 19, 2018, 03:52 am Last Edit: Dec 19, 2018, 03:53 am by jremington
Most servo problems are caused by inadequate power supplies -- like trying to run the servo from the Arduino 5V output. That usually won't work, and you can damage the Arduino even trying.

Always use a separate power supply (4xAA will work for one or two small servos). Don't forget to connect the grounds.

laundru

Always use a separate power supply
This hint solved my problem.

Thanks a lot again.

slipstick

Always use a separate power supply
This hint solved my problem.
So I guess my earlier hint "things that can help include using a separate power supply for the servo" wasn't any use to you?

Steve

laundru

Of course it was.

I meant "this hint" as "all the hints about separate power supply".

Sorry for my poor english.

 

Go Up