Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.

Get Started
Asked — Edited
Resolved Resolved by Dunning-Kruger!

Vertical Servo Jd

Hi,
JD's head will move down but not up. We have tried the auto position, etc. Any advice? It was working but is not now.

PRO
Belgium
#1  
did you set it at 90 degree on the webserver?
is the connector still good in place?
#2  
Have you done the tutorials? Have you done proper servo calibration?

Have you tried testing the servo's full range just using the basic vertical servo control?
#3  
Yes..have done it all. It worked fine this morning but now only moves one way. Could it just be that the servo went out for one direction?
#4  
I doubt it... Open a new (blank) ez robot project and add just a vertical servo. Set it to JD's neck servo port. Set the min to 1 and the max to 180 in the control.... Of course he should be looking straight ahead at 90.... This way when you move the control towards 1 or 180 his head should move up and down accordingly... This test will let you know if the servo is functioning properly....
#5  
Thanks...did that.
Just moving down but not up.
#6  
Ok, so if you have confirmed the servo does not move it's full range of movement then it's best to Contact Us and see what ez robot can do....
United Kingdom
#7  
Does it move manually when the robot is not powered? Don't force it but applying light pressure to the head while not powered the head should move in both directions. This will eliminate the bracket being caught on anything (such as the servo wire).

If it does I would then remove the servo from the bracket (you will need to anyway if it's a warranty claim).
The connect the servo to port D0 of the EZ-B.
Then open ARC and start a new project
Add a new control, choose Scripting and add an EZ-Script
Copy and paste the following in to the script (ctrl + c to copy ctrl + v to paste)

Code:


$x = 0
:loop
RepeatWhile($x < 180)
$x++
Servo(D0, $x)
Sleep(200)
EndRepeatWhile
RepeatWhile($x > 0)
$x = $x - 1
Servo(D0, $x)
Sleep(200)
EndRepeatWhile
Goto(loop)

Power on the EZ-B
Connect to the EZ-B WiFi (unless in client mode)
Connect to the EZ-B in ARC
Start the script

The servo should rotate from 1 to 180 then back again in a constant loop. If it doesn't then the servo is more than likely faulty and would require replacement.

I've attached a project to this post with the above script in it to make it easy for you. Click the link below to download it.

servotest.EZB
PRO
Synthiam
#8  
If you run tests and are not able to have the servo move in the other direction, contact us. That's pretty interesting!

Although, we will be able to tell if the servo was damaged due to being forced further than it can move if we receive a warranty claim - i.e. moving JD's head too far forward or backward which exceeds the physical limits of JD's head.
#9  
Thanks everyone. I sent an email to the Contact Us link. It's possible DJ Sures...our lab students are quite careful. No biggie...if you think it is a servo, can we just buy one from you?

Best,
Chad
#10  
BTW: This system has been extremely useful in our lab. Thanks.
PRO
Synthiam
#11  
That's really good to hear:) I'm certain who ever is handling your issue will resolve it quickly:) These little servos will last a long time if taken care of, we have only burned one or two in the last year. If your students are using them, it may be a small learning lesson and occasionally might be damaged. If you end up going through a few, you can get a few spares here: Micro HDD Servo
#12  
DJ
What are the hard limits of the vertical head servo? Is it really 1-180? I kept mine to 160 and it still died.

More importantly, I am trying to have jd walk with his head looking downwards, but after every motion (forward, right, left) his head resets to the 90 mark. Having to reset his head after each movement probably contributed to the burn out. I looked at the action and the walk frames and I do not see a servo command to reset the head (the head is at -1 in the frame). Where is it resetting? and can I remove it or make a custom walk command?
PRO
Synthiam
#13  
Modify all frames to -1 that you use. Including all frames in Stop, forward, left, right, etc..

If the head servo moves, an action that uses a frame is obviously being used somewhere.

The servo head limits are specified in the Init script for the JD project.
#14  
Thanks, I thought I caught them all, but I'll look again
#15  
I have had to replace Forward, Left and Right with my own versions. My only question is that even though I set the frame speed to 0 (max) my forward command runs about half as fast as the built in. Mine is a copy without resetting servo D0 or D1, but is otherwise identical. Is there any way to speed mine up or is it just the difference between a built in and custom command?
PRO
Synthiam
#16  
When you assemble the frames into actions, you have values for Delay and Steps. Blue question marks explain more. You can also view the manual page for the Auto Position to see how it works and follow along with tutorial videos. We have spent a significant amount of time (thousands of hours) creating tutorials and videos - and these questions i'm answering are in there:D

Here's a link to the Auto Position manual which contains tutorials: https://www.ez-robot.com/Tutorials/Help.aspx?id=180