Ok everyone…Ive got an Arduino Uno, and i have two servos hooked up to it inside an Iron Man helmet to lift the face plate… Ive got it working pretty good, but im getting a constat buzz/vibration coming from the Servos as soon as i put power to it. Im new to all this stuff, so any help would be greatly appreciated! Thanks
The will buzz if it has to keep it’s position, like holding the lid up. It will also buzz if the control signal’s timing is off. Usually because of another part of the code is using interrupts for other timing related code.
Thanks for your thoughts. Its a simple code. One servo is 110 degrees then sweep to 0…and the other servo is opposite, working to open the faceplate. I hooked up a couple smaller servos just to test outside of the helmet with no load, and still got some buzzing…I had LEDs in the code but, but re-wrote it without LEDs and didnt change anything…
Then the timings are off. It could depend on what kind of servos you have. Check their datasheet to find out what control signals they require and check the library to see if there the same.
Not exactly sure how to do that…But i got the same problem when i hooked up the small servos that came with the kit…So i assume its got nothing to do with the servo itself…ahhh
It’s common that servos buzz or jitter under power. You can test if it’s the servo or code. With the servo’s horn not connected to anything, connect it to the Arduino. If it buzzes, turn the horn by hand and see if the buzzing stops at certain angles.
@ codlink
Could you please elaborate on your comment concerning code interrupts disturbing servo control? How does one tell if servo control timing is off, or put differently, what are the timing requirements so that I can nice any other routines I am also running on an Arduino?
Thx!
Arduino’s only have a certain amount of interrupts and the servo library uses one. It’s a matter of trail and error determining if you have a timing issue. It also depends on what servo you have. This is related to your question about what timing requirements are required. It really depends on what servo you have. As stated in my previous post, read the datasheet, it has all the information you need.
I’m guessing that you have a problem with servo control. I advise you to start a new thread and give specifics on what your problem is. All servos are different, even if they have the same model number. There is no tight manufacturing process with servos.
If you are trying to power the servos from the 5V output of the Arduino, that is the problem. Servos require a separate power supply. Be sure to connect the grounds together.
I’m using the HiTec HS-85MG. Been seeing some odd behaviors, and have been guessing it was separate power related. Will give that a whirl - thanx for the suggestion.
Regarding data sheet, it’s fairly content free: Here’s a snippet of the only info that may be relevant to anything timing related:
OPERATING ANGLE 40 /ONE SIDE PULSE TRAVELING 400usec
DIRECTION CLOCKWISE/PULSE TRAVELING 1500 TO 1900usec
CURRECT DRAIN 8mA/IDLE AND 240mA NO LOAD RUNNING
DEAD BAND WIDTH 8usec
The 8usec dead band width is pretty small, and I can see how I may be starving the servo given other work being done by the Arduino. But the behaviors I see include wide sweeps.
Off to play with power supplies …
Independent power seems to have resolved the behaviors I was seeing.
Thx again!