As I described there, a single +12 V Molex connector pin must supply too much current to the Extruder Controller Board. Fortunately, the stock Thing-O-Matic ATX power supply has a 4-pin connector that, in its normal PC environment, provides +12 V power to a high-end video board. This modification hacks that connector to provide separate +12 V power wires to the Extruder and Heated Build Platform heater MOSFETs, thus removing 11 A of current from the Extruder Controller PCB.
That current normally passes from the +12 V pin of the Molex-style connector to the screw terminals securing the Red heater wires. The corresponding Black / Blue wires connect to screw terminals that pass the current to power MOSFETs that switch the heaters on and off. Disconnecting the “Red” screw terminals from their PCB traces and connecting them directly to the +12 V from the hacked video connector, then connecting the corresponding return wires to the PCB near the MOSFET Source pins, is what’s needed.
This is what the change looks like on the PCB layout. The four yellow angles mark pins soldered to the board, the yellow arc is a new jumper wire, and the three purple dashes represent trace cuts. It’s not all that complicated, but it will certainly void whatever warranty you think might otherwise apply to the board.
The blue line between the row of screw terminal pins and the edge of the circuit board conducts +12 V power from the Molex connector to the A3949 DC motor driver chip. This modification doesn’t affect that connection: you must not sever that PCB trace.
Cut the short traces between the screw terminal pins and the adjacent +12 V trace along the edge; I used a scalpel blade while watching through a microscope. You’ll certainly cut into the ground plane on either side of the trace, so you’ll see copper on all sides. Use a multimeter to verify that the terminal pin no longer connects to the +12 V Molex pin (the leftmost one as shown above) and that a stray copper curl hasn’t shorted it to the ground plane (either of the two center Molex pins). The result will look like this at each of the three screw terminal pins.
You should fill the gouges with an insulator to prevent future heartache and confusion. I used some of my shop assistant’s Citrus Punch nail polish; the glitter is entirely gratuitous. Wrap a narrow strip of Kapton tape along the edge to prevent shorts to the PCB ground planes from the pins you’re about to add.
The corresponding ground connections go on the top surface of the board, near the MOSFET Source pins. There’s just enough space between the ICSP connector and the Gate traces to make this happen. Scrape the black solder mask off the PCB to reveal the clean copper ground plane below, leaving a narrow strip along the edge of the ICSP connector. Basically, you’re obliterating the URL that aims you at the board’s documentation.
Take care to not gouge through the copper plane and take extreme care to avoid the Gate traces and vias. I ground a flat end on that scalpel blade and used it as a scraper.
Lay the board aside and work on the ATX supply’s four-pin video power connector, which looks like this.
Note that there’s another four-pin connector that you removed from the end of the hulking 20-pin connector that plugs into the Thing-O-Matic Motherboard. That one has four different wire colors (black, red, orange, yellow) and won’t work here!
Remove the pins from the connector housing. There’s a special tool that does this, but I used a defunct crochet needle. The trick is to poke a very skinny tool between the stamped-metal socket and the plastic housing to push in the spring tab that locks the socket in place. There are two spring tabs on opposite sides of each socket. This operation goes smoothly if you pull gently on the wire while poking the tabs; you can feel the socket move when the tab slides out of position.
The end result will look like this, with a tab on the top surface.
Clip off the two protruding tabs that hold the socket in the plastic housing against the tabs. Apply some heat-shrink tubing around each socket to get four little teeny connectors:
The sockets mate, albeit with some persuasion, to 45-mil (1.14 mm) square pins that are not the smaller 25-mil pins found on pin header strips. My parts heap disgorged a handful of suitable right-angle pins in plastic strips, something like those; failing that, I’d harvest and gut a connector from dead PC system board. You could probably use some 16 or 18 AWG solid wire in a pinch, but the current is rather high for an impromptu arrangement.
Solder two pins to the screw terminals on bottom of the PCB, angled slightly so the upright parts pass between the screw terminal openings on the side. The pins are on the Heater (for Extruder head) and Extra (for Heated Platform) terminals, with the jumper wire connecting the latter to the Fan (ABP belt motor) terminal; all are on the +12 V terminal of their respective pairs.
The ABP belt motor connects to the other terminal of the Fan pair, which leads directly to the MOSFET Drain. You could omit the yellow jumper wire, but that’d be confusing if you ever wanted to use that MOSFET in the same way as the others.
Solder the other two right-angle pins to the cleared strip on the top of the board, tinning the ground plane and pins before you solder them together. Don’t block access to the ICSP connector; you never know when you might need it! I put the angled ends of the pins to the right, as viewed from the screw terminal strip, which put the right-most pin exactly at the corner of the connector shell with barely enough room for the wire with socket + heatshrink. The end result should look like this:
Do a trial fit: plug in the four wires from the video power cable, noting that the Black wires connect to the top-side pins and the Yellow wires connect to the pins at the screw terminals. I trimmed the pins so they exactly fit into their sockets.
This is certainly not the most robust construction method in the world. In particular, the pins on the top surface depend on structural solder to the ground plane; they have a fairly large area in contact with the board, but if you manage to apply enough force you can probably wreck the Extruder Controller board.
Put the board back in the Thing-O-Matic, connect the modified video power wires, and plug / screw all the usual connections. Button it up, fire it up, and it should work exactly as before… but with better reliability.
This modification should reduce the number of glitch-induced transient failures by moving most of the transient energy off the board; the remaining paths are very short. It will not correct excessive heat in the MOSFETS and does not cure the DC motor overcurrent jam / driver failure problems.
5 thoughts on “Thing-O-Matic: Extruder Controller MOSFET Supplies”
My understanding of this is fairly basic, so forgive my asking what might be some silly questions. As I understand it, the Gen 3 extruder controller ran into a similar problem when Makerbot introduced the heated build platform and later the Mk 5 extruder – that problem was solved by adding a relay board to decouple the heater power supplies from the board. Similarly, some people have proposed adding relays for the extruder motor power supply (examples here: http://www.thingiverse.com/thing:5569 and here: http://www.thingiverse.com/thing:5492 ). So my question is what are the advantages of modifying the board vs. using an external relay to take the heater power supplies off the board? Adding the relay to the motor power supply seems like it would sort of screw up the pwm and lead to lower quality prints, so there’s a disadvantage there. If the extruder were driven by a directly connected stepper, would we have the same power problems – in other words, would we see the same transient power issues as caused by the DC motor? If a stepper extruder were driven from a dedicated stepper controller would the extruder motor power issues we’ve seen so far more or less go away (reference: http://wiki.makerbot.com/stepper-driven-extruder#toc7 )?
In a nutshell, do you suppose we’d better off modifying the board or building a relay and pushing for firmware support of stepper extruders?
The short answer: stepper extruder FTW!
The long answers, at least from what I know:
The current to the two heaters (roughly 11 A) grossly overloads that single +12 V wire and connector pin, so getting that current off the board is pretty much mandatory. External relays serve the same purpose, without modifying the board, but I don’t see much point in extra hardware. Of course, the relays eliminate the need to chop the traces and solder some pins, which may be compelling.
Moving the +5 V supply from the 7805 regulator to the ATX connector pin eliminates any problems caused by DC motor commutation / PWM transients.
That leaves the A3977 H-bridge driver essentially alone on the +12 V supply, which improves the stability of the DC voltage driving it.
Wrapping relays around the DC motor driver prevents overcurrent failures caused by motor stalls or the other mysterious problems, but also eliminates the ability to use PWM. It’s not clear PWM buys you much with this motor, simply because the speed control range is so small, so the relays are a good workaround if you always set the extruder for PWM=255 and adjust the XY speeds to match the (measured!) filament extrusion rate.
Driving an extruder stepper directly from the A3977 on the extruder board is an extremely bad idea, because the only limit on the current is the DC resistance of the winding. That resistance is deliberately made very low, which means the motor will draw excessively high current… and overheat.
Driving the stepper from an additional controller board is a decent compromise and is the way I’ll eventually go.
Driving an extruder stepper from, say, the A axis output on the Motherboard through an additional stepper driver board would an extremely good idea, but that moves a significant part of the “extruder controller” function off the “extruder controller” board. Nobody’s looking into that, for well and good reason.
Comments are closed.