The MK5 Extruder’s DC motor seems prone to a shorted-winding failure that reduces the DC resistance of (at least) one pole to (at best) a few ohms. The A3949 H-bridge driver has an upper limit of 2.8 A, but the failed winding jams too much current through the chip and eventually (instantly?) kills it stone cold dead.
Discussions on the Makerbot Wiki tended to favor fuses. My buddy Eks suggested putting an incandescent lamp in series with the motor leads, as described there, and that’s what I’ve done. That discussion is also informative.
It’s worth noting that the A3949 datasheet has this to say about overloads:
Output current rating may be limited by duty cycle, ambient temperature, and heat sinking. Under any set of conditions, DO NOT exceed the specified IOUT or TJ.
So all this may be irrelevant: any transient overload could kill the driver chip stone cold dead, regardless of how clever you (think you) are.
Anyhow.
Yesterday I came across my Big Box of Fuses and said the obvious thing:
Note: that’s not the same as the Famous Last Words “Hold my beer. Watch this!”
I clipped the oscilloscope across a 1 Ω power resistor, set a 3 A bench power supply to 12.0 V, and connected a Device Under Test between the +12 V lead and the resistor:
- The #89 bulb from my TOM
- A Littelfuse 3AG 1 A fast-blow fuse (actually, two of ’em)
- A dead short
I used a 1 A fuse because that’s what I have. I strongly suspect a 1/2 A fuse would behave about the same way.
The oscilloscope trace starts at 0 V, jumps when the DUT contacts the resistor, and then settles at the final current. The 1 Ω resistor makes the vertical scale read directly in amps. Pay attention to the horizontal scale.
First, the lamp:

The peak current hits 4.5 A before the bulb lights up and limits the current to about 600 mA in the steady state. The supply’s current limiter doesn’t seem to come into play: the bulb wrestles the current under 3 A before the supply notices what’s going on. Indeed, it’s under 3 A in 2 ms and below 1 A in 20 ms.
Next, the fuse:

The peak current starts off-scale high, well in excess of 7A, drops to the power supply’s 3 A limit, then falls to zero when the fuse blows 76 ms later.
Finally, the dead short:

I changed the vertical scale to capture the initial peak, which tops out just under 10 A, obviously not limited by the power supply. The supply eventually clamps the current to 3 A and, because there’s no fuse, the current just sits there.
So…
The lamp does a much better job of protecting the H-bridge chip than the fuse:
- The peak current is lower
- It cuts off sooner
- And the sustained current falls well within the chip’s limit
The TOM does not have a current-limited +12 V supply, which means a nominally “protective” fuse will conduct whatever current the failing motor’s winding will permit until it eventually blows. The time-to-blow depends on the fault current: if the winding fails at, say, 6 Ω the fuse will last much longer while it passes 2 A than with the 3 A you see here.
Here’s an example of how that works. The first time I tapped the fuse to the resistor, I flinched and it fell off:

That’s indistinguishable from a blown fuse, but the same fuse subsequently produced this result (another fuse died to produce the first fuse picture):

Moral of the story: a 1 A fuse can pass 3 A for 80 ms and live to tell the tale!
Of course, I knew how this would work out: Eks didn’t accumulate 100+ patents during his career by not knowing what he was doing…
[Update: It works just like it should! Bacon saving in full effect!]
Your attention to detail is superhuman. I enjoy your blog because you attack issues with an energy and intellect that is astonishing. Count me as a fan.
Thanks kindly…
It keeps me off the streets at night, too!
Thanks for the awesome post. The bulb DOES look like the perfect protective device.
I think I’ll stop by NAPA on the way in this morning for a #89 bulb :)
The local Autozone had only single-wire sockets that fit in existing sheet-metal cutouts, so I’ve stayed with the soldered-in-place bulb.
Maybe NAPA (or somebody else) has old-style sockets with two terminals?
Would it be helpful to add some inductance at the drive chip to limit how fast the current can rise? Hopefully make the current rise slow enough for the chip’s current limit circuity to kick in…
– Steve
Nope, the motor windings are already as inductive as you could possibly want and that’s part of the problem: the energy stored in the magnetic field must go somewhere when the drive transistors turn off during the course of normal operation. The chip routes that current around the turned-off transistors through the body diodes, which is how it’s supposed to work, and into the puny Zener over-voltage clamps as needed.
The fault current from a shorted winding obviously bypasses most of the turns, but the real problem isn’t the current’s rate-of-rise, it’s the magnitude of the steady-state current: a 2-ohm fault dumps 6 A into the driver, which promptly goes poof.
Remember, the datasheet says anything over its 2.8 A max rating is probably toasted death on a stick for the chip. That innocent-looking 4+A spike before the bulb filament heats up may do the trick,but it seems to be the least-worse choice as long as we’re saddled with failing motors.
Here is a pic of my mod, just finished:
Soldering works fine if you are patient on the body, and there are less failure points than a socket.
I wonder how a commercial PTC would work? If a person were going to lay out a new copy of the extruder board, the light bulb is kinda clunky.
Looks about as elegant as my hack job, except that the #89 from my Big Box o’ Ancient Bulbs has an E-Z Solder brass shell.
a commercial PTC
Sounds plausible, but I don’t know what the transient response would be. Unlike a bulb filament, a PTC depends on warming up a chunk of stuff: could be faster or slower.
The real solution, of course, is to not use motors that crap out with such regularity, but that horse has left the barn. We’re in damage-control mode right now…
Seems things will be a bit different on the stepper extruder so I may not get a chance to try a hands on approach to the testing of those parts in action. The proper solution would be more along the lines of using the sense line of the A3949 to do wise things like turn off the motor and make the software aware of the problem. Attached below is a piece of an email I sent to makerbot; It’s focus is my dads approach from a quick review of the schematic and datasheets-no hardware was present to do any further testing to confirm any further problems or changes. It completes the overvoltage protection and adds overcurrent protection. He was thinking ‘snubber circuit’ too but wanted to have the circuit on hand to test before concluding any values for it. Wonder how the resistor results would compare in your tests.
After researching the tom and hunting out the good and bad I found some
people mentioning trouble with the extruder controller v3.6 and suggesting
the sms-12 diodes be removed. Showing the schematic to my dad, he suggests
adding a 2.2 Ohm 1/10th Watt resistor between the A3949 pin 8 (sense line)
and ground (at a small physical distance away from the board; it will act as
a fuse if too much current is drawn by the motor) to minimize excessive
current and help protect the motor driver IC. He suggests keeping the sms-12
diodes in place for overvoltage protection for the lower half of the bridge
and adding additional zener diodes between VBB and both OutA and OutB to
protect the upper half.
73s,
KE7CDH
a .. resistor between the A3949 pin 8 … and ground
That pin’s pad contacts the ground plane in two spots, one right up against the SMS12: it’d be hard to lift the pin without breaking it off.
However, under a high-current fault condition, that resistor will raise the low side of the bridge to nearly +12 V before it blows. That seems like a Bad Thing, because the data sheet puts an absolute maximum limit of 0.5 V on that pin; the resistor will kill the chip.
adding additional zener diodes
As nearly as I can make out, those won’t add anything, because the A3949 uses husky internal body diodes to direct the current to either ground or +12 V. There’s no opportunity for reverse breakdown of those diodes (the other diode shunts the current), so there’s no way to get inductive voltage transients.
Take the A3949 datasheet, add Zeners to the diagrams on page 4, and then try to get reverse current through them without forward-biasing one of the body diodes. Neither of the motor terminals can get more than one forward-biased junction higher than +12 V or lower than ground: the Zeners will never turn on.
With that said, the SMS12 is completely inadequate for motor drive protection; it has nowhere near the energy capacity required for PWM use.
The incandescent lamp filament protects exactly what needs proecting and doesn’t do anything more…