Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Resolved Resolved by DJ Sures!

Servo Jumping On Initialisation

The dreaded jumping servo problem has arisen again - just today. All servos in the robot are HDD. The servo on port D0 now jumps after connecting, to about 35 degrees instead of 90 degrees. If I move the servo manually when turned off, the centre position is still 90 degrees, so the sprocket has not shifted. My INIT script has not changed. That servo is set to 90 degrees. Has anyone had this problem before? I am thinking I might have to replace the servo and see what happens. My previous problems with jumping servos were because I had a HD servo. But not this time.

Related Hardware EZ-B v4


Upgrade to ARC Pro

Experience early access to the latest features and updates. You'll have everything that is needed to unleash your robot's potential.

As far as i recall when I used to be part of EZ-Robot, the HDD servos were impossible to jump. As they were designed that way to remove the jump. Perhaps they're jumping if the wire is loose on the connector into the ezb? That's about as much as I can suggest as Synthiam is not part of EZ-Robot.

You can reach EZ-Robot, who makes the servos in question at www.ez-robot.com and they'll be able to answer more questions for ya.
Just to narrow things down and pinpoint where the issue really is try moving the servo cable attached to D0 to a different pin. Ideally swap it out with a known working servo with no jumping issue. If the issue stays with the servo after attaching to the new pin then the problem is the servo or with it's wiring or connectors. If the known working servos suddenly jump when turned on when attached to D0 then it's in the EZB or your script.
ever have those days where it's,  that servo is blown, ill guess i will try another one, wow that one is blown as well! It is not until after the 3rd one blows you realize were putting 16v into 5v servo's and blew them all up.
Nink oh no!!!! Now that’s one of those days for sure
Replaced the servo and that fixed it. I hope this doesn't happen too often as it took an hour's work to replace. Also damage can occur when servos jump around. I was lucky this time.
Have you contacted ezrobot about their servos doing that? We unfortunately can’t help you with hardware issues like that. Synthiam doesn’t make any hardware. But it’s great you sorted it out - however they’d like to know about their servos I think:)
i have an HDD too that does this . i removed any lines that included this - stop() 
it looks when you connect to your ARC a second later . its rather violent .
If you have HDD servos that jump when power is applied (not position being sent) then contact the manufacturer. The manufacturer is ezrobot. Synthiam does not make servos or any robot hardware. The website is www.ez-robot.com

Synthiam does not have the resources to support third party products. Contact the manufacturer please.
can i ask for rethinking this?

the HDD servo dont move when ad power to it.
they do move a little when connect to ARC .
they move violent when added servospeed in a script .
That’s because they’re moving into a position. Servos move into a position when instructed to do so.
#11   — Edited
Nomad, Just guessing here but your servos are most likely reacting to a previously set ServoSpeed() command. If not it may be reacting to the default ARC speed if you haven't set a speed yet. I can't remember off the top of my head but I think if you don't set a speed ARC will use 0 which is the fastest.

Setting servo speed and positions are kind of hard to wrap your head around. How and when you specify the ServoSpeed changes depending if you've already used the ServoSpeed command yet. I've had trouble remembering how to do it at times. According to the servo script help in ARC:
The servo speed is a number between 0 (fastest) and 10 (slowest)
*Note: To initialize the ServoSpeed() at first use, set a Servo() position before using the ServoSpeed() command. If there is no previous position (such as during power-on), the software assumes the position is 0 and will cause issues with your robot.
*Note: Once the ServoSpeed() has been initialized the first time, specify the ServoSpeed() before specifying the Servo() position.
Example: ServoSpeed(D14, 25)

EDIT: This is an entirely different issue to what the OP is having. However it may be helpful for some: This method has helped me in the past with a servo "jumping" or "jerking" a little when power is applied. To stop this effect I used a relay to apply power to a critically placed servo after I've initialize it for the first time in the above way in my INT script. This stopped that jerking effect for me.
There’s absolutely no way to stop the servos from moving into position if you’re asking the servos to move into a position. 

No relay or anything can ever stop a servo from moving into a position if you ask it to. The point to asking a servo to move is to have it move. If you don’t want the servo to move, don’t ask it to move. 

You see, a servo only knows where it is when it’s in a position. When you power on the robot, the servos don’t know a position.  They only sit and wait to be told what to do. So when you instruct the servo to move into a position, it does so. 

read how a servo works from Synthiam support section here: https://synthiam.com/Support/Advanced-Fundamentals/servo-motor
Maybe I missed the point of the post or went off topic. Sorry. My last comment about using a relay was aimed at that common effect of a servo "jumping" or "jerking" when powered up. That probably does not apply to the issue in this post. However the way to script a servo command is reinvent I think. I'll edit the post.

thank you .

dave  thank you
#17   — Edited
I had similar problems this morning, servo would jump violently ,could not figure out why, thought I had a stripped plastic ez bit attached to servo on Six leg .Turns out it was worse, the top metal gear had about 3 teeth worn down inside HD servo,but I had a spare old blown HD servo,just used that top gear and transplanted to make 1 good. Wondering if that wearing does come from violent start up on servos. Only does that once in a while but still...Oh also make sure your battery has good charge or servos will start jumping,noticed that could be why I had problem.