Canada
Asked — Edited

Digital Ports Voltage Output

Hello,

We have been having issues with servo burnout over the last year with our original v4 EZB Robots. I have been spending a lot of my time researching and learning about why this could be as I feel many cases are not from abuse (though some are).

Lately, I have been pulling out my multimeter and testing the board and motor trying to pinpoint the common point of failure. The following image shows the point of failure I found most common in my servos.

User-inserted image

I believe this is the 555 timer chip (please correct me if I am wrong as I am still learning). After the most recent case, I decided to test the power pin voltage, which was between 8.6v to 9v. I tested this on 6 of our robots with similar results. This seems high considering we use the stock 2 cell 7.4v battery (though each battery was freshly charged). I have referenced the EZ-Bv4 Datasheet and it says the max voltage for the power pin is 16v, so I was not too worried. Though, I do remember reading - somewhere - that you recommend the power supply be between 5 and 8 volts.

Could this increased voltage be the cause of my servo burnouts?

I also noticed that the original EZBv4 (Sorry, I do not know its designation) cannot update its firmware and there has been some improvements to the hardware/firmware since it was originally released.

Is there a history of servo burnout with the original EZBv4s?

Is there any other reasons that would cause servo burnout beyond abuse?

Sorry if this seems a little convoluted, I have been troubleshooting this issue myself for months. If someone can chime in and correct me or give me some insight I would be greatly appreciative. I will say I have had a blast learning about servos and PWM in my quest to solve this issue.

Thank you in advance.


ARC Pro

Upgrade to ARC Pro

Don't limit your robot's potential – subscribe to ARC Pro and transform it into a dynamic, intelligent machine.

PRO
Belgium
#1  

i only notest that just after powering on the ezbv4 the first move i made, a servo burns out.this happened 12 times now. i do must say these are the servo's with the old orange colored wires.

PRO
Synthiam
#2  

Hi! I'll answer your questions in order and ask you a few questions to see if we can identify why you're going through so many servos:)

First, what EZ-Robot do you have?

Second, if you're creating custom frames and gymnastic apps - i would ensure the servos are not vibrating/buzzing and being upset at the positioning. If you wish, post one of your gymnastic projects and i can take a look for advice.

Holding the robot while creating Auto Position frames is necessary.

  1. The component on the servo PCB that is burning out is called a Mosfet. It's a high power transistor. There is no ancient 555 timer on a servo. How a servo works is by rapidly changing the direction of the motor to maintain a position. There are two mosfets, one per direction. One mosfet is responsible for turning the motor left, while the other is responsible for turning the motor right. The mosfet in EZ-Robot servos are selected to be safety failure points. For example, if a higher amperage mosfet was used and the motor stall current was too high, the energy would be shorted somewhere else, potentially burning the EZ-B or even worse the battery. The EZ-B does have a fuse, but the stall of a single servo will not blow the fuse - this is because there could be 20 servos, and the fuse needs to compensate for the current draw of them all.

So what you have experienced is a servo mosfet burning out for safety to prevent fire or shock.

Think of electricity as water and think of electrical components and wires as tubes. If you block the end of a tube, the weakest point of all the joints will explode, right? A properly designed water system would have a pressure release valve, which is similar to a fuse. The pressure release valve would be positioned closest to the source - in this case, the motor. So the Mosfets are the closest component to the motor, which is why they are selected for safety release.

  1. The voltage is ~8.4 and not 7.4. This is correct. A battery, your car, the AC current in your home, anything... will will not have a steady "regulated" voltage. This is because it's a chemical source, from the battery. The charge of a battery 12 volt battery is usually ~15 volts. The charge of a 7.4v battery is usually ~8.5. That charge diminishes quickly, but it's the voltage.

This is where introducing many attributes of electronics which is a whole career discipline, that i don't expect you to grasp right away. If you're interesting, you have access to the biggest knowledge base in the world called the Internet, and google will be a great resource. So let me try and explain...

There's many properties to electricity when referring to energy sources, such as a battery. In electricity, you're usually familiar with hearing the terms "volt" or "Amp" or "watt", but rarely anything else. There's a lot of attributes that are play, including temperature, resistance (ohms) and even discharge rates.

Many people consider a 20 amp battery as being able to provide 20 amps. Well, no... That's not how it works at all. There is also something referred to as a discharge rate. And you will see that rating on batteries - the ez-robot batteries have a rating of 25c.

Discharge rating is important because the amperage of a battery cannot be released entirely at once, without referring to the discharge rate. A 20 amp battery may hold 20 amps at 7 volts, which is regulated by the discharge rate. So let's speculate you have an electromagnetic motor that is magically drawing exactly 20 amps and physics for some reason is co-operating with that exact measurement. You would assume that your 20 amp battery would run for exactly 1 hour with that 20 amp draw. You'd assume wrong. The discharge rate of the battery will determine how many amps it can provide at it's available voltage. The discharge rate of most batteries is quite low, and that's why batteries last.

You're dealing with servo motors, which are physical electro-mechanic components that interact with the real-world. Unlike solid state, which is IC (integrated circuits, chips), a motor has many more variables to consider - such as temperature (so does an ic but it matters less), gravity, gear frictions, weights, humidity, and more.

There is no easy way, without consulting a physicist and providing every known environmental variable possible to accurately calculate the predicted energy consumption of a 12+ DOF (Degree of freedom) robot with 100 GAIT frames and the infinite possibilities of transitions between each.

So yeah, you can say you're battery is rated at 7.4 volts - but that has very little to do with why the amount of energy after a charge is ~8.5 volts - and does that actually mean 8.5 volts being applied to the motors.... again, NO. Because voltage and amperage = wattage. And the battery passed it's 7.4v rating has a incredibly high discharge and the watts required for the motors to hold/move positions is not dependent on voltage alone.

Short answer, there is nothing unusual about your robot's battery voltage.

  1. There is no history of burn-outs of servos on any controller, whether it is the ez-b v4, or an arduino, or a lego mindstorm. The controller sends a pwm command which instructs the servo to hold/move into a specific position, measured by the potentiometer. That is all there is to it - the servo itself is responsible for moving or holding position, not the controller. The question asking if an EZ-B is responsible for a servo burning out is about as relevant as asking if the clouds are responsible for the temperature of the sun.

  2. There is no reason a servo would burn out beyond abuse or wear and tear. A servo is a wear and tear item - as it's a physical mechanical moving part.

I would highly recommend reading the servo tutorial. as your robot has a pile of them and that's what makes it move. It's a good idea to understand how it works, which is why it's included in the learn activity: https://synthiam.com/Tutorials/Lesson/48?courseId=6

You're working with a robot that has a dozen or more servos. These servos need to be calibrated so there is no HUMMM or BUZZZ when in the standing position, as stated in the software, manual, tutorials, faq, etc.. This is always the first thing to check - do not dismiss this because without proper calibration, one or more servos will be under extreme load and that will cause it to wear our quicker than the others.

Occasionally there is the odd frustrated post on the forum because a servo burnt. That is always because the robot was either:

  1. not calibrated
  2. configured to move into a position that put too much strain on servo and it buzzed until burnt
  3. prevented from moving due to a wire being stuck in the joint

When a servo buzzes, that means it's time for you to make it stop doing what it's doing and calibrate it

Remember, the EZ-Robot servos are designed for the LiPo batteries. If you swap other manufacturer servos in place, they will most likely burn out immediately. I can tell your servo is an EZ-Robot by the photo, but i should mention this in case you go the after market route.

Hope this helps!

PRO
Synthiam
#3  

Oh, Mike... I should add that a more specific instruction to prevent servos wearing-out with Auto Position creations.

I have made most of all the Frames in the Auto Position control. And to do so, without burning out motors, i hold the robot in my hand.

I hold the robot in my hand while i move the joints of a frame. Once I think it looks right, i put the robot down to see how it's holding. Then i pick the robot back up and eye-ball tweak the positions.

If the robot starts buzzing while it's down, i usually don't let it buzz for longer than a few seconds while i examine the position and pick it back up again.

This is no different than you, as a human, attempting to hold yourself in positions that strain your muscles. A servo giving out is the same as your muscle giving out.

There's a short blurb with this advice in the Auto Position manual here: https://synthiam.com/Tutorials/Help.aspx?id=180

#4  

Thanks DJ, your replies are always very insightful, well organized and respectful. I greatly appreciate it.

Quote:

First, what EZ-Robot do you have?

We have a few JDs, Rolies, and Sixes. Though I have the students design custom robots for specific actions.

Quote:

Second, if you're creating custom frames and gymnastic apps - i would ensure the servos are not vibrating/buzzing and being upset at the positioning. If you wish, post one of your gymnastic projects and i can take a look for advice.

This is something I discovered very earlier (Many other schools have this issue, but I felt I have trained the students well enough to avoid this - I may be wrong), though for some reason lifting the Robot up while creating frames did not occur to me, I will change my instruction to include that, thanks!

Quote:

1) The component on the servo PCB that is burning out is called a Mosfet. It's a high power transistor. There is no ancient 555 timer on a servo. How a servo works is by rapidly changing the direction of the motor to maintain a position. There are two mosfets, one per direction. One mosfet is responsible for turning the motor left, while the other is responsible for turning the motor right. The mosfet in EZ-Robot servos are selected to be safety failure points. For example, if a higher amperage mosfet was used and the motor stall current was too high, the energy would be shorted somewhere else, potentially burning the EZ-B or even worse the battery. The EZ-B does have a fuse, but the stall of a single servo will not blow the fuse - this is because there could be 20 servos, and the fuse needs to compensate for the current draw of them all.

Thank you for the information, I am very interested in how servos work. The information on Mosfet makes a lot of sense considering it is a DC motor and the need to change the polarity for the opposite direction. I understanding the issues of dealing with overall amperage of the robot and individual servos is something very hard to balance. I almost wish I could determine the load on an individual servo and automatically hit panic to prevent servo damage (or set the degrees to 0, maybe I can make an plugin to achieve this?).

Quote:

So what you have experienced is a servo mosfet burning out for safety to prevent fire or shock.

Am I safe in assuming that if one of the Mosfet is burning out then that means someone is abusing in a given direction? For example, it is getting stuck on another servo or wire and the force was not released. I am trying to find some physical evidence where I can tell the student, this is what happened and this is what you can do to make sure it does not happen again.

Quote:

Think of electricity as water and think of electrical components and wires as tubes. If you block the end of a tube, the weakest point of all the joints will explode, right? A properly designed water system would have a pressure release valve, which is similar to a fuse. The pressure release valve would be positioned closest to the source - in this case, the motor. So the Mosfets are the closest component to the motor, which is why they are selected for safety release.

Yes, I love the water metaphor (I even have a PVC pipe setup explaining it) and this makes a lot of sense.

Quote:

[..] you can say you're battery is rated at 7.4 volts - but that has very little to do with why the amount of energy after a charge is ~8.5 volts - and does that actually mean 8.5 volts being applied to the motors.... again, NO. Because voltage and amperage = wattage. And the battery passed it's 7.4v rating has a incredibly high discharge and the watts required for the motors to hold/move positions is not dependent on voltage alone.

I thought it was fine, thank you for confirming this for me. I know there is far too many variables before evening adding the human factor in their to determine a reason of failure without seeing it personally (part of my issue!). I think I was being a little naive trying to break it down to a single variable.

Quote:

3) There is no history of burn-outs of servos on any controller, whether it is the ez-b v4, or an arduino, or a lego mindstorm. The controller sends a pwm command which instructs the servo to hold/move into a specific position, measured by the potentiometer. That is all there is to it - the servo itself is responsible for moving or holding position, not the controller. The question asking if an EZ-B is responsible for a servo burning out is about as relevant as asking if the clouds are responsible for the temperature of the sun.

Haha, nice analogy.

Quote:

4) There is no reason a servo would burn out beyond abuse or wear and tear. A servo is a wear and tear item - as it's a physical mechanical moving part.

Thanks, again I will add this to my instruction on servos.

Quote:

I would highly recommend reading the servo tutorial. as your robot has a pile of them and that's what makes it move. It's a good idea to understand how it works, which is why it's included in the learn activity: https://synthiam.com/Tutorials/Lesson/48?courseId=6

You're working with a robot that has a dozen or more servos. These servos need to be calibrated so there is no HUMMM or BUZZZ when in the standing position, as stated in the software, manual, tutorials, faq, etc.. This is always the first thing to check - do not dismiss this because without proper calibration, one or more servos will be under extreme load and that will cause it to wear our quicker than the others.

I have gone through all your online lessons many times and I reference them a lot on things I am not sure of. To be honest, I have learned more about robotics in the few years since I decided to take on this role then I every thought I would. I even have lesson plans on how to calibrate the servos if you would like to see them and correct any errors. They pretty much follow your online guides, and I will add lifting the robot while using dynamic updating in the key framing.

Quote:

Occasionally there is the odd frustrated post on the forum because a servo burnt. That is always because the robot was either:

  1. not calibrated
  2. configured to move into a position that put too much strain on servo and it buzzed until burnt
  3. prevented from moving due to a wire being stuck in the joint

Do worry I am not frustrated, in fact, I would say I am more intrigued. Besides, personally, I rarely have issues, just trying to pass on the best information to save some money for our school and inform my students (and other teachers).

Quote:

Oh, Mike... I should add that a more specific instruction to prevent servos wearing-out with Auto Position creations.

I have made most of all the Frames in the Auto Position control. And to do so, without burning out motors, i hold the robot in my hand.

I hold the robot in my hand while i move the joints of a frame. Once I think it looks right, i put the robot down to see how it's holding. Then i pick the robot back up and eye-ball tweak the positions.

If the robot starts buzzing while it's down, i usually don't let it buzz for longer than a few seconds while i examine the position and pick it back up again.

This is no different than you, as a human, attempting to hold yourself in positions that strain your muscles. A servo giving out is the same as your muscle giving out.

This is very similar to how I instruct people, though I did not have the students lift the robot in their hands as they make the keyframe, which could be the root of their issue. I will rework that lesson and put more focus on servo limitation using the human body as a metaphor (maybe have them holding some planks, hahaha) and, of course, add lifting the robot while creating key frames.

Again, thanks for the information. I wish I could pick your brain someday on best teaching practises when teaching robotics (I really enjoy it) - I feel you have some great ideas that could improve my methodology.

PRO
Synthiam
#5  

You know i should tell you that we have been working on a new servo. Even though i have mentioned in other posts that damaged servos is less than 1% of issues, we recognize there could be improvements to them.

So we have been working on a new servo that has a timeout and heat sensor to prevent burnouts. Not sure of the availability yet - the last batch we had prototyped had incompatible timing with the existing servos, so we're gonna be working on that a bit more soon.

Jeremie and i have been daily pegging away at these ez-bits which have been in development for nearly a year. The inverted pendulum, etc... We do have good news that they should be shipping in a few weeks! But don't quote me on that just yet, i haven't heard back from the schedule.

I think we're pretty close to getting time to spend on the new servos again. Once we get these ez-bits rock'n, we can finish these new servos.

#6  

That is awesome to hear, as I am sure you understanding it is hard for the uninitiated to recognize when they are pushing an individual servo past its limits.

I am very interested in the EZ-Bits as well as I am still trying to get our division to buy-in on the 3D printer world. I hate having the students limited by the servos/cubes dimensions that we have for their final projects when they pitch their ideas to me.

Quote:

We do have good news that they should be shipping in a few weeks! But don't quote me on that just yet.

Sorry, I had to do it.

PRO
Synthiam
#7  

funny guy;)

Are you in Calgary?

#8  

About an hour and a half north-east.

PRO
Synthiam
#9  

That's not terrible distance for a class field trip - Our new facility that we are having built has a class room in it. EZ-Robot will be offering in-house classes for schools. Things like tours of the facility on how the robots get invented, and also the classroom sessions on how to use them. But not just for students, also teacher education sessions. Which will introduce classes on how to create auto positions and use the robots. There's also a new Content and Activity product we're launching in May that we're filming for. It's all content and activities for your robots. Things like "How to teach your robot to sing happy birthday" or "how to have your robot wake you up in the morning" etc... It's also going to contain a questions and answer piece where people can submit questions and i'll answer on video.

The focus moving forward is to push hard on activities and content - so people have lots of activities for their robot, and in turn, learn a lot.

#10  

I did not know this was possible. I know our administration would be on-board as he is very STEM focused. What would be the recommended ages? I teach everyone from grade 4 to grade 12 robotics. I assume I should just contact our school l liaison to book such a tour?

PRO
Synthiam
#11  

Do you have a contact with one of our education suppliers? Ezeducation or stem learning labs are local that I know of. They would be the two locally that you can arrange with. They'll be sending out info when it's all been identified.

#12  

We are in contact with a man named Dennis (I believe he is your marketer), though I am not sure if we are in contact with EzEducation or STEM Learning Labs, but I can find out. I will see if I can get the ball rolling tomorrow. Thank you again for all the help.

PRO
Synthiam
#13  

Dennis is EZ-Education. If that's your man, he's gonna be the one to provide the info:D. You are in good hands!