by makeme

Makerbot Extruder Mystery

In Uncategorized on 05, Jan, 2011 at 18:23

Now that I’m an established blogger ūüôā I think it’s time to tackle the elephant in the room. I’m referring, of course, to the Makerbot extruder “issues.”

I’m not claiming to have a solution, not yet, I just want to try to inject some structure into the problem solving process. There are a lot of references to this problem spread around the interwebs, most of which are speculation. I’m not much use when it comes to electronics, but I can at least compile everything into a coherent troubleshooting process … and then add my own speculation!

First, lets hear from the community:

“I’d try that, but since my last post, the extruder motor stopped spinning altogether. ¬†can’t get it to spin in a build or in the control panel. Ugh.” – Rich

Then I was trying some raftless objects and the extruder drive died 1/2 way through my 20mm cube and I was like “WTF”?” Gabe

I am experiencing something odd with this motor as well.¬† I was able to complete about 3 prints without any issues.¬† However recently, the extruder motor stops responding in mid print.” – GodfatherUr

After Makerbot fixed the stop button¬†bug in ReplicatorG, and after so many people reporting that their extruder motors still spin when they apply an external voltage to them, I think it’s safe to discard the theory that there is something wrong with the motors themselves. So, while that’s the thing that most obviously stops doing what we want it to, it seems like it’s just not getting what it needs from lower down in the chain.

That leaves the extruder controller (EC), the motherboard, or the power supply (PS). Lets work backwards, starting with the PS.

According to¬†Makerbot the Thing-o-matic (TOM) ships with a “500w Hercules ATX power supply” which has slightly different specs depending on where you look (17A or 22A on +12V¬†for example)*¬†mine says 22A on the side. I can’t find anyone who¬†admits to manufacturing¬†the thing, although I did learn just how many products are called “Hercules.” So, I did what I always do … I swallowed my pride and consulted wikipedia. The Hercules claims to have over current protection, which should shut down the whole PS if something drew too much juice. Additionally, I didn’t have any trouble finding +12V at pins 8 & 9 (power and ground on the schematic), even when the motor was failing to spin, so it doesn’t look like there’s too little juice either. I followed (in as much as they apply) some troubleshooting guides like these 1, 2, 3 and didn’t find any problems. Replacing the PS seemed to work for G00bd0g¬†but not for Ryan9. I don’t think the PS is the problem.

Ditto for the motherboard. Mostly, I just can’t think of how the motherboard COULD cause the kind of problems we’re seeing. It’s not responsible for extrusion.

The EC, on the other hand, not only controls extrusion but has its own set of firmware. Hooking the motor up to a dedicated power supply demonstrates that there’s nothing wrong with it. The very next thing in the chain is the EC or, more specifically, the A3949 motor driver. As you can see from the schematics, the motor driver connects directly to the motor, supplying everything it uses to function. More specifically, the motor driver takes in a logical signal (distinguished by two LEDs) and power from the +12v rail, then outputs a PWM signal that controls the motor’s speed by turning on and off really fast. To make a long story short, I could never find anything going wrong with anything besides the part of the circuit that connects the output of the motor driver with the motor. Ergo, I think it’s the motor driver that’s causing the problem.

My suspisions regarding¬†this phenomenon is best explained by James, one of Allegro’s (the A3949 manufacturer) technical support reps. After I described the problems to him he replied, “The symptoms you describe are typically related to electrical overstress in the motor driver chip … One risk area is that some applications will use a connector between the motor driver and the motor.¬† If the connector is disconnected when there is significant amount of current flowing in the inductive load then there will be an out of spec. voltage spike that will damage the motor driver.¬† As with an ESD event the device may only be weakened by the voltage spike and subsequently fail after 10-20 more hours of operation.”

When I provided the link for the schematic he observed, “I see from the schematic that clamping diodes are in place to prevent excursions of outA and outB from going below ground.¬† I do not see similar clamping diodes in place for holding the outA and outB to VBB(+12V).”

That’s what I’ve got. Since I suspect a problem with either the chip or the circuit I’m going to have to lean on the technical expertise of EE guys (more of an ME guy myself). My guess is that the design of the circuit is allowing damaging spikes to come back to the motor driver. I don’t know where the first spike comes from, but it sounds like a single bad spike can degrade the chip enough to guarantee failure eventually. I suspect this would account for the interesting variety of failures (or lack thereof) reported by the community.

Personally, I was planning on moving to a stepper extruder anyway. So now I’m just planning on doing it faster. Maybe better electrical isolation of the ICs would solve the problem, maybe not, but at this point it looks like DC extruders are outclassed by steppers even if the extruder problem is solved.

  1. Actually, I’m not sure that the Allegro technical support rep is right about the clamping diodes, although it was what jumped out at me when I looked at the schematic. The IC3 (a SMS12 TVS Diode Array) is effectively a set of 4 high speed zener diodes that will conduct in the reverse direction when the motor power lines exceed 12V.

    I’ve never seen this sort of protection circuit before but as far as I can see, it should work (the datasheet indicates mentions protecting data lines from lightning).

  2. What he says makes sense; Most h-bridge (ok, all good ones) have 4 flyback protection diodes to protect the 4 driver elements in an H-bridge. We use them on our compact motor driver kit too.

    This pick from a good h-bridge tutorial at shows them in place. As I read the schematic, this essentially only supplies 1/2 the diode protection necessary (shunting only to ground).

    I’ve already burned up one A3949 replacement with the 10 ohm resistor repair, but I’m going to manually add some 1N4004 diodes to the Vcc rail for this next fix.


    Ack. Simple fix here: Use the outputs of the motor driver to power up a relay to drive the motor instead. We’re not PWM’ing the motor anyways, so why not go with the practically-nil Vdrop of a 12V relay? (Well, 2 relays – one for power, one for direction)

    In short, since a relay will energize with DC power in either direction, you put a blocking diode from one of the motor chip outputs so it swaps channels only when the motor goes in reverse. Why not leave the default (non-powered) condition to be “feed-forward”, right?

    The second relay feeds power through this relay. Run a second set of wires from the motor chip outputs to the power relay, When the motor IC powers up (either direction), the relay will close, passing power through the first (directional) relay.

    I’ll try to sketch this up with photos of my fix once I have it in place. I’m a bit fed up with dealing with sporadic feeder failures!

  4. […] I addressed previously: the Makerbot Thing-O-Matic has a few issues. Also addressed previously: why that’s half the […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: