When I rotate one of my servos to a value near the min or max (1, 2, 3, 98, 99, 100) the servo rotates just like it should, but starts buzzing afterwards until I either move it to a value farther away from the min or max, or close the connection. Is there something I should be doing after setting the servo position (maybe some method I should be calling)? This buzzing sound is just a little discomforting, and I don't want too do anything that is damaging the servos, and I also find it strange that it only does this for values near the min and max. Thanks!
Upgrade to ARC Pro
Unleash your creativity with the power of easy robot programming using Synthiam ARC Pro
You can send a "release" call which will remove the electrical pulse to the servo, therefore, stopping load. However, if the weight on the servo is greater than the unloaded resistance of the servo, the servo gears will rotate. If the servo has no weight on it, it will remain in place.
For example, if on a "head" mount (horizontal movement), the servo will simply stop buzzing and likely nothing will change position. If on a neck (vertical movement), potentially when you remove the load with a release call, the head will sink if the weight of the head is greater than the resistance of the servo gears.
Hope that helps.
And that works fine (except for the buzzing). I tried adding the following code immediately after it:
But even though the SetServoPosition statement is called before the ReleaseServo statement, it doesn't work when the ReleaseServo statement is there. How can I tell when the servo is done rotating so that I know when it is safe to send the ReleaseServo statement? Thanks.
I'm no script writer. Heck I just started myself and have only written a few that actually work. Without seeing your script I would think the release code would go at the end on a line of it's own. I've found that I need to place a Sleep(x) function, x being how many ms to wait, after an action. This gives the action time to complete before running the next line of code. Try using that.
Also in ARC there are many examples (in the Examples section of all places ) of servo scripts. That's where I go to get ideas when I get stuck. At least you'll see how a script is structured. DJ even has examples of how to write a script.
Good luck and have fun,