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
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.


Upgrade to ARC Pro

ARC Early Access will give you immediate updates and new features needed to unleash your robot's potential!

AI Support Bot
Related Content
No, because the brushes on the motor short which is why the mosfet's blow.

If anyone feels they need more information to understanding the amount of testing on product development, please revisit my previous post.

Lastly, it's important to understand how a servo works, which can be found here: http://www.ez-robot.com/Tutorials/Lesson/48?courseId=6
@DJ is correct that when the motor brushes short out the MOSFETs they see a zero ohm condition which damages them. This condition doesn't just damage the fets in our servos, for those that work with fets know, it would damage any fet. Now, you might be asking yourself "how do the motor brushes short out in the first place?".

We had a reviewer a while back that was unfamiliar with robots that used servos for locomotion. They were used to wheeled, H-Bridge driven robots. This person did not realize that they needed some pauses between their servo positions. The EZ-Script that they wrote caused the servos to vibrate extremely quickly back and forth, this caused damage to the motor brushes and in turn shorted out the MOSFETs. It didn't matter what kind of servos were in that robot that day, any servo with a brushed DC motor would not have lasted in that scenario. Brushed DC motors cannot keep instantly changing directions as it puts huge strain on the motor brushes and they can curl or break off. The best practice is to move a direction, pause, then move the other way. This limits the huge current spikes and crazy amounts of heat that can happen when instantly changing servo directions.

This is the reason that the ez-robot revolution example projects include many pauses, some may be small but any pause (sleep) helps. When building custom actions, creating a custom build, or doing any DIY design with servo motors it is important to keep this in mind.

That was pretty much all I really wanted to mention, but I had a couple more things "just in case".

I believe the majority of us here have probably been using servos for a long time. The difference though is that the majority of our experience has likely been with using plastic gear servos rather than metal gears. With plastic gears, it is the gears that fail first when placed in a high torque situation. This is not the case with metal gears. Metal gear servos will damage their own electronics (usually the MOSFETs go first) before the gears ever coming close to failing themselves.

Some conditions in which metal gear servos could damage the servo electronics are as follows:

- Servos may not be calibrated [see here] or fine tuned [see here] and this could lead to servos running into each other during some actions

- servo output gear could be seeing some off-axis torque which could bind the gears. If a servo output gear is ever placed in a situation where it's being twisted in a direction that's different to it's regular plane of travel

- If a robot is caught on an obstacle or object and is not freed from it in a timely fashion

- servo could be trying to lift too much weight, a custom build could be much heavier than a classic revolution robot

- A foreign particle is introduced to the servo gearbox

Hope that helps guys!
Great info Jeremie. Thanks for the lesson. I bet I've destroyed a servo in each one of those examples you listed. LOL. *eek*
Hong Kong
@Jeremie, @DJ,

I don't mean to be rude. Don't think that the aforementioned servos, that I have, are died of "abuse". I have been using high torque servos with high stress usage in other applications. They won't die like these so easily. (I did see others burnt some of them, though, but NOT me.) Never mind, those servos are very expensive, compared to those sold by ezrobot. Say for example, a comparable Futaba High-voltage (7.4v) High Torque (~15kg/cm) costs around USD150, even a cheaper Hitec has a price tag of USD140. (Not to mention JR which has a price tag of more than USD200.)

One more thing I wanted to comment, as to "pause" and "delay". If "pause" and "delay" are NOT added to programming the robot servo movement, what would the robot behave?

My Six behaves like a lady and dances like breeze.

I could only accept the servos are died of my "heavy" use. (I would be very careful in the future. One charge in a while without re-charge.)

regards, KC.
Hong Kong
The kind of servos that I used to work with are those heavy duty and expensive ones. It's unfair to compare the ezrobot servo as such. If I were to do some "serious" work I'd better source some not-too- expensive but heavy duty ones to play with.

regards, KC.
Hong Kong
A bad news. I just burnt one more (5th) servo which is used to pan the camera from left to right. I can hear a very light "pop" sound during panning and then it stopped further response.

Upon opening the servo, one of the FET burnt. Please see the burnt FET from the jpeg file uploaded.
User-inserted image
I would recommend revisiting the use of servos in your application to ensure they provide the correct requirements. Also, visit the software configuration to ensure the max and min limits are correct understood and configured. Lastly, ensure the servos are not being used wildly between directions back and forth, etc.

If you, specifically, are experiencing issues with servos, visit the application requirements.
Hong Kong
Thanks for your advice.

I think I have enough experience in using the servos, especially after I have "burnt" five. After replaced a new one, it works fine again. But I don't know when I will burn the sixth one on the other one, or the same one.
"You can revisit that thread to read my reply regarding that you cross-your-fingers that the mosfet burns out rather than a fire. Be happy the mosfet is damaged instead of the wires catching on fire, the battery exploding or worse..."

I use these robots with kids and am just learning about robotic- background more in software than hardware. I tried to follow this thread but some of it was way over my head. The thought of exploding servos makes me VERY nervous so I guess I need to go through the tutorials again.

I've purchased 3 robots in 2016 and had this happen to 3 servos, one pretty much out of the box. I thought it was just me but wanted to bring this to your attention since it may be an issue.

Anywho, One of the servos that died was the neck servo and I couldn't find that part on your website. The head is fine so how do I replace that servo on the neck?

Thanks a bunch for all the guidance!;)
Never mind- found the microserver- amazing how much I accomplish when I actually read! Might want to put that in the body parts section for newbies like me!
I have read thru this thread and think the answer to the problem is to keep the servo from drawing to much current (DAH). If we put a polyfuse inline with the power lead to each servo, you could protect the servo from drawing to much current and burning out.
Here is a link I found on the subject. I have had this happen once with a continuous rotation servo, so I plan to add these little resettable fuses to each of my servos. Just as a precaution.

I hope this helps.

Hong Kong

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.)

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


I'll adopt these min/max setting.

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.

There's also a box inside of the servo control that you can check that will reverse the circles easily and simply.
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?
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.
#41   — Edited
@ DJSures - The ez-robot servos have unbranded Mosfets in them.

And this.. "The servos are great still - only people with an issue will post on the forum. So, the one user per month with issues is pretty good" is not true. Unbranded Mosfets are a curse in the electronics and robotics realm and I am extremely disappointed that you would support them as there are branded Mosfet servos available for the same price as yours.

Since two of my servos have died, I replaced them with branded Mosfet servos and regardless of my extra long arm have had no problems what so ever even though V9 has been rocking me out to one of her favorite trance tracks for the last month -video upon request! There's no excuse for a servo to freak out over a three servo stack or a three-second jam.

Dealing with China successfully is a road filled with landmines and I implore ezrobot to seek out a better and branded Mosfet deal as soon as you can. Seems to me you have a big reputation to keep and that will be hard to do with crappy servos.