Flexion Extruder for Monoprice Maker Ultimate and Wanhao Duplicator 6
This modification allows you to mount a Flexion Extruder on an MMU (a rebranded Wanhao Duplicator 6+). This is the version that has dual gantry rods for both X and Y.
The completed modification mounts the Flexion Extruder below the gantry as shown in the main photo. This puts the nozzle approximately 35mm below the original nozzle and a bit in front of the gantry. The final build volume is unchanged in X (200mm), about 9.1mm less in Y (190.9 mm) and 35mm less in Z (135mm). What you get for the sacrificed build volume is the capability of printing very soft material (Flexion X60, Shore 60A TPU filament).
Things You'll Need
The Flexion kit was not designed for this printer. As such, we not only need to print mounting brackets, but also there are a few parts we need to procure. All of the links are valid as of the time of this writing (May, 2019). The Amazon links are to "smile.amazon.com" whereby you can designate a non-profit to receive donations based on your purchases (you can do this with all of your Amazon purchases). They are not affiliate links and I get nothing from them.
The heater block that comes with the kit requires either screw-in, or glass bead thermistors. The MMU uses a PT100 temperature probe that does not fit in this block, and the PT100 input on the controller board doesn't like working with normal thermistors. An E3D V6 (or compatible) heater block works. The block needs to have M6 threads for the nozzle and heat break barrel, and a 3.1mm hole for the PT100 probe. The probe is held in by a set screw (grub screw). I found a pack of 5 clones of the V6 on Amazon WINSINN V6 Heater Block Sensor Aluminum for HT-NTC100K PT100 RepRap Bowden J-Head V6 3D Printer Extruder Hotend.
Also, do yourself a favor and get a set of metric hex screwdrivers. I got this set: Eklind 92400 8 Piece Hex Key Series PSD Precision Screwdriver Set. For this project you will need 2.5mm, 2.0mm, and 1.5mm (the 1.5mm is only used for the hot-end set screws).
You will need a selection of M3 cap head screws and hex nuts. Specifically:
Stepper Motor Extension Cable
An extension cable for the Extrusion stepper motor. I could not find a ready-made extension, but I did find the correct female plug with 10cm leads along with the male connector 10 Sets JST PH 2.0MM 6 Pin Female Single Connector with Flat Wires 100MM 1007 26AWG. The connectors are "JST PH-series 6-pin connectors." Pin spacing is 2mm.
The Parts To Print
The parts to make this modification come in two categories: High-strength parts that need to withstand higher temperatures, and parts that just need the right size & shape. I printed all of my parts on an Ultimaker 3 using Nylon (white) for the high-strength/high-temperature parts and Tough PLA (green) for the other parts.
High Strength Parts
- Frame.stl: This is the main bracket that attaches to the XY gantry.
- LeftLeg.stl, RightLeg.stl: Connects the Frame to the stepper motor, cooling block, and hot end.
- BackBracket.stl: Provides additional support to the back of the stepper motor and a connection point for the print-cooling fan bracket/funnel.
- FanBracket.stl: Print cooling fan bracket and funnel.
- TopBracket.stl: Mounts to the top of the gantry and supports the circuit board.
- TopCover.stl: Covers all of the cables and provides routing for filament and feeder tube
- ZLimitSpacer.stl, ZLimitClamp.stl, JamNut.stl, Knob.stl: Provides an extension of the Z-limit switch actuator
- YLimitSpacer.stl: Provides an extension to press the Y-Limit switch.
The pictures above show the orientations in which I printed these parts.
I've included the design file in STEP format. This includes a model provided by Flexion around which I built the parts needed. The stepper motor on the MMU is shorter than the one shown in their file, so the one in here is re-dimensioned to be accurate for the MMU.
Nylon used for strength/heat resistance. ToughPLA used for other parts.
The general instructions for changing the extruder is shown on Flexion's web site. Installation Instructions, but there are some significant differences because we're dealing with an XY gantry instead of an XZ gantry. I will give some more specific instructions here.
Remove the Top End
- Disconnect the ribbon cable and pull the cable cover off. Unplug the short cable from the stepper motor.
- Unscrew the two screws above the extruder (2mm hex driver). These release the filament guide and circuit board. Remove the two M3 cap screws that hold the circuit board. There are two nylon spacers under the board that you won't need. I've added support directly to the Top Bracket.
- Unscrew the two screws from below the extruder. These are what hold the stepper motor and extruder in place.
- Remove the two M3 screws that hold the extruder bracket to the top of the gantry.
- You'll probably want to (carefully) cut the zip-tie that holds the wires together and carefully remove the wires from the channel in the side of the gantry.
- Note which connectors the Hot End cooling fan and the Print cooling fan connect to. These connect on the left side of the circuit board. The back one of the two is the hot end cooling fan (fan above heat sync). The front one is the part cooling fan (fan below heat sync).
[Note: I've seen pictures of boards with three connectors on that side of the board. I don't know what model that belongs to, but if you have that, be sure to mark the fan wires.]
Remove the Bottom End
- Unscrew the two set screws that hold the hot end in place. Remove the hot end.
- Unscrew the fans from the heat sync. You will not need the spacers or the cooling fan shroud.
- Unscrew the four screws that hold the heat sync to the bottom of the gantry. You will not be using this heat sync.
- Remove the heater cartridge and the thermal probe.
Assembling the Extruder
- Follow the Installation Instructions steps 3-6, but be sure to rotate the stepper motor 90° clockwise so the wiring jack is on the right side (looking at the face of the motor).
- Also remember to use a heater block that works with the PT100 temperature probe.
Setting Captive Nuts
The bracket pieces are held together with M3 screws affixing to nuts that are inset in the plastic parts. The hex holes have been formed into the printed pieces and (depending on printer calibration and materials) are typically snug to very snug fits.
For each of the hex nuts, you will want to draw them all the way into their respective insets. Many of them will be flush against the motor or gantry and the parts are sized to keep the screws from protuding too far.
For setting the nuts, it's easiest to use a screw a little longer than otherwise necessary. Push the screw through the hole (or screw it into the hole if the plastic printed the hole slightly smaller) until it protrudes from the side with the hex inset. Screw a nut onto the screw until it is aligned with the indentation. Then simply tighten the screw until the nut is drawn into the indent and the screw is snug. Then remove the screw.
- Here is an example with the ZLimitSpacer. It takes two hex nuts and a third goes in the rectangular slot--we'll get to that later.
The Top Bracket takes 2 nuts and you'll want to use a washer when doing this. I had some #8 washers handy, but any similar washer should work.
There are six nuts to set in the frame: 2 on each side where the legs attach and two on the back bottom where the back bracket attaches.
There are two nuts set in the Back Bracket where the Fan Bracket attaches and two where the fan attaches to the Fan Bracket.
Making Stepper Motor Extension Cable
Using the JST PH 2.0 parts outlined above, solder the male jack to the wires to form an extension cable. Be sure that you connect them so that the keyed portions of the connectors are on the same side of the cable. If you plug another one of the female plugs into the male connector, the colors should match, not be reversed. If you're using heat shrink tubing to cover the finished connections, be sure to put the tubing on before you start soldering.
Be careful when soldering the leads to the male jack. The jack was designed for printed circuit use and the plastic will quickly melt enough that the pins can move. I found that plugging one of the female connectors into it would hold the pins steady while I quickly soldered the wires in place. It also provided a nice key for which color wire to attach next.
If you do get the wires reversed, the extruder will run in the opposite direction (which can be modified in the Marlin firmware.)
Attaching The Motor
The main mounting connection uses two 35mm M3 screws that go through the Hot End cooling fan, the left & right leg pieces, the finned cooling block, and screwing into the bottom two screw holes on the motor. Lining all of these up for both screws simultaneously is tricky which is why I separated the legs from the main frame in the design.
Loosely attach the right leg and cooling block to the motor using a 35mm screw but do not tighten it. It will be loose because the fan is not included yet. This will hold the right side in place and help guide the left side.
Position the fan so the airflow is toward the extruder and the wires exit from the top right. Airflow is toward the side with the frame that holds the fan motor.
Attach the fan, left leg, and cooling block to the motor using a 35mm screw but not tightly.
Remove the first 35mm screw and assemble the fan, right leg, and cooling block onto the motor. Again, do not tighten it yet.
Assembling the Brackets
Attach the legs to the main frame using four 8mm screws. Tighten these securely.
Tighten the 35mm screws into the motor.
Attach the Back Bracket to the frame using two 10mm screws.
Attach the Fan Bracket to the Back Bracket using two 8mm screws.
Attach the print cooling fan to the Fan Bracket using two 12mm screws.
Attach the hot end to the Flexion cooling block. Follow the instructions Installation Instructions at the end of step 7. The screw for tighting the clamp can be easily reached by inserting the hex screwdriver or allen wrench through the fan blades.
Mounting to the Gantry
Be sure that your printer bed is completely lowered and position the gantry to the middle of its range.
Pre-position two 12mm screws into the holes at the bottom of the bracket (next to the screws attaching the Back Bracket to the Frame).
Slide the frame onto the bottom of the gantry with the extruder facing the front. Hold it in place with one hand while screwing in the two 12mm screws to the bottom.
Move the gantry to the rear of the machine and install two 6mm screws to the front of the gantry
Then move the gantry to the front and install two 6mm screws to the back.
Top of the Gantry
The right side of the top bracket has a rectangular holder for the male end of the Stepper Motor Extension Cable mentioned before. The hole is large enough for the female end to be inserted at an angle and pulled through.
Attaching the stepper motor extension
Attach the Top Bracket to the top of the gantry. Use a 6mm screw in the right front hole and loosely attach a screw in the left front hole to be sure the bracket is properly aligned. The left front hole is used for attaching the cover, so remove the screw in that position after the left front screw is tightened. Plug the extension into the stepper motor.
Attach the circuit board to the top bracket using two 10mm screws. Be sure to push the board towards the front and right to provide clearance for the top cover.
Plug in the hot end cooling fan, routing the cable between the stepper motor extension and the gantry.
Plug in the print cooling fan and the original stepper motor plug into the extension. Route the wires for the temperature sensor, heater, and fans through the channel in the gantry (the hot end fan cord probably won't quite fit in the channel, that's OK.)
Run the ribbon cable through the Top Cover and plug it into the circuit board. Then settle the top cover over the top bracket being sure to clear all of the wires through the opening on the back, right side. The secure the top cover using a 25mm screw.
The Y-axis needs to trigger the Y-limit switch just a little before the full travel. How much before depends on whether you want the nozzle to home above the build plate or slightly in front of it. I chose in front so that I can home the Z axis without jamming the nozzle into the build plate if the levelling screws have the bed slightly high. If you want to use this mode, you'll want a 2mm spacer. If you want the Y-limit to have the nozzle right at the edge of the build plate, you want a 9.1mm spacer. The Y-limit spacer is designed for both of these cases. The hex nut goes on top of the spacer and a 16mm screw will go up through the bottom once it is in place on the Y-limit rod. Install it with the long portion of the spacer either toward the front of the machine for the 9.1mm spacer, or with it toward the back for the 2mm spacer.
The hex inset and the holes are larger than the rest of the parts because the angle of the screw changes as you tighten the clamp. The clamp will snap into place twice as you push it onto the rod. First as it gets past the opening and second as it seats in the proper place. Insert a 16mm screw through both holes then thread a nut onto the end. As you draw it tight, the nut will be held by the inset and you can tighten it securely.
The Z-Limit switch needs to actuate about 35mm below where it is normally. The actuator is a screw at the back of the bed next to the left vertical support bar. It is much easier to attach the Z-Limit spacer if you remove the bed by unscrewing the bed leveling nuts, lifting the bed off and setting it to the right side.
The spacer clamps onto the Z-Limit actuator screw (I'd call it the adjustment screw, but it appears to be solidly affixed). The spacer is adjustable and the knob at the top is wide enough to account for misalignment of the screw.
Assembling the Adjustment Screw
The knob and jam nut both have hex indentations. Add hex nuts to these. Use a 25mm screw to form the knob, tightening the screw against the hex nut on the other side. Then add the jam nut to the 25mm screw, with the hex nut facing the knob. The jam nut will be tightened down to the top of the spacer with the nut pressing down into the plastic jam nut. This will hold the screw, and the top knob, from turning once the adjustment is complete.
Insert the hex nuts in the ZLimitSpacer (if you haven't already). Also insert a hex nut in the slot on the front of the spacer. Screw the adjustment screw through the top of the block into the hex nut in the slot.
Insert two 12mm screws into the Z-Limit Clamp, pushing or screwing them in all the way. Assemble them to the spacer, just until the threads are engaged with the hex nuts. There should be enough room to slide another screw into the middle of the clamp. This is where it will attach to the Z-Limit screw on the machine.
Slide the assembled spacer over the Z-Limit screw. Tighten the clamp screws evenly until the block is held firmly in place.
We've changed a number of things about the machine, so we need to install new firmware with appropriate changes. I've forked Robert (dot-bob) Mendon's fork of the Marlin 2.0.x project and made the changes needed for the smaller build volume and reversed Extruder rotation. Github Repository.
Follow the instruction in the readme to build it with the Arduino IDE. The changes are in Marlin/Configuration.h.
If you chose to use the 9.1mm Y-limit spacer, you'll need to change one line. In this block of code change 198 to 190 or 191 (I'm not sure if the 0.1mm will cause the Y-axis to bump at the maximum value). The value 198 is good for the 2mm spacer.
// The size of the print bed
#define X_BED_SIZE 200
#define Y_BED_SIZE 198 // JRS Change Flexion Mod
Use the Arduino IDE to upload the new firmware to the machine.
Before starting Z-homing, be sure that your bed's springs are compressed enough that about 3-4 mm of the bed screws are extended from the bottom of the adjustment nuts.
In the Motion menu, select Auto Home. The Gantry will first home to the front left. Then it will move to the front center to home the build plate to the Z-limit. Check how close the nozzle is to the bed level.
If the bed needs to go up more, you need to adjust the Z-limit adjustment to be shorter, and vice versa. Lower the build plate a bit (Motion/Move Axis/Z Axis). Loosen the jam nut and rotate the knob to raise or lower the screw. The M3 screw will adjust by 0.5mm per full rotation. Tighten the jam nut and re-home the Z axis. Repeat as necessary.
With the right amount of bed leveling spring compression, you should be able to achieve 135mm of Z travel. Go to the Move Z-Axis menu and raise Z (lower plate) 130mm. Then switch to the 0.1mm step range. Keep lowering the plate until you reach 135mm OR you hear it bottom out. If it bottoms out, adjust the Z-Limit screw shorter enough for the difference between 135 and the Z-height you reached. Re-home Z and try again.
NOTE: Be sure that the cables that lead to the bed heater do not get caught between the brackets next to the Z lead screw. That will cause Z to bottom out a few mm earlier than normal.
Filament Guide Tube
The slanted hole in the top cover is sized to accept the 4mm OD PTFE filament guide tube that comes with the MMU. Do not use the tube if printing with something as soft and grippy as X60. Just route the filament through the same hole.
The filament should go from the guide hole (with or without the PTFE tubing) between the gantry rods and into the upper guide tube of the extruder. If using the guide tube, first feed the filament into the extruder and then allow the tubing to slide down (or print the tube guide Flexion has on their site).
Adjusting the Extruder Tension
The adjustment set screw (or set screw and jam nut option as shown in my pictures) is a 2mm hex screw. The angle is such that you can use a hex screwdriver inserted between the gantry rods