Singapore
Asked — Edited
Resolved Resolved by thetechguru!

Servo Burnt Out?

I was running JD successfully last night, up until the time I had to put him on charge. Charged up the battery, disconnected after the charge. Tonight after powering him up as usual, I found one of the servo's (Port D5, his left 'forearm') was unresponsive.

Symptoms are: the servo doesn't move when instructed. The servo is able to be rotated by hand even when it should be 'locked' in place (similar to it's powered down state in battery saver mode). There's no change if I place him in the 'calibrate' position. All other servo's are in their normal calibrated position.

There was no smoke and no buzzing from the servo last night prior to powering JD down. I have disconnected the servo from the port and reconnected it as well. There are no obvious signs of the wires at either end being frayed or unusual.

I am wondering if there's anything else I can try, or if this is an indication of a dead servo? I received JD just over 2 weeks ago.

Any advice would be appreciated. Thanks.


ARC Pro

Upgrade to ARC Pro

Get access to the latest features and updates before they're released. You'll have everything that's needed to unleash your robot's potential!

Hong Kong
#34  

@Richard,

I don't think it is a good enough fail-safe. (Have you tried that?) As all my servos are burnt under "normal" condition. I'm very careful in preventing the servos to stall or to take up too much load. The ezrobot servo is a "heavy duty" high torque (15kg/cm) and high voltage (7.4v) one. Nominally it will take up a high current say 2.5A when moving. Whatever the protect-current rating is used, either the FET in the servo burnt before the poly-fuse trip, or the poly-fuse do its job always.

To prevent the servo from burning, I'm now running an init (or startup) script setting all servos to a slower speed, when connecting to ezb before any "Action". Delaying as much as possible, so the robot moves as "smooth" and as "human" as possible. Also preventing any "too heavy" load from occurring for too long at the shoulders of jd, the long arms of roli, etc. (Actually I did most of them already, but still they burnt one by one.)

For the long run, I'll source other better (more tolerant to inductance surge) servos, either core-less or brush-less. There are NOT too expensive digital servos, with similar specification, in the market that I can try, the only problem left is the dimension onto adapting the clip-n-play bracket. Anyway I'll get one or two to try out. (I bought more than 10 spare ezrobot servos which originally planned to add more "feature" to my robots, but now I have to keep them as really spare.)

regards, KC.

#35  

Along with setting the servo speeds in the INT script, also set your Min, Max positions for the servos. Foe example:


##Specify the ranges for the servos
##this prevents the servos from ever going past these limits

# Rt side_to_side Wrist
SetServoMin(2.D0, 120)
SetServoMax(2.D0, 165)

# Right Claw
SetServoMin(2.D3, 74)
SetServoMax(2.D3, 102)

# Rt Up_Dn Wrist Servo
SetServoMin(2.D1, 20)
SetServoMax(2.D1, 170)

# Bubble Blocks
SetServoMin(D15, 85)
SetServoMax(D15, 177)

# Bubble Servo
SetServoMin(D1, 45)
SetServoMax(D1, 97)

# Rt Wrist Rest Servo
#SetServoMin(2.D2, 93)
#SetServoMax(2.D2, 139)

Hong Kong
#36  

@Dave,

Thanks.

I'll adopt these min/max setting.

regards, KC.

PRO
USA
#37  

Good info, I think I will make the same program changes as well.

I 3D printed a JD and used some Tower Pro MG996R servos I had used for a hexapod robot I built in the past. Only to find out that the servos turn the opposite direction as the EZ-Robot servos. Just a heads up when using other manufactures servos.

RichardZ

#38  

There's also a box inside of the servo control that you can check that will reverse the circles easily and simply.

PRO
USA
#39  

@Dave Thanks Dave, I looked for a check box that would reverse it in the JD Project but could not find it. I assume I need to setup a servo profile in the project . Is that correct?

#40  

No, all you need to do is install a servo control. Then for the servo you want to reverse just open the control by clicking on the gear symbol and assign the port and ezb board to that servo. In that same window you should see a box to check for reversing this servo. I'm not sure if you can do the same thing from a servo profile. Good luck and have fun.