Custom 3D Printer Extruder

2,981

37

6

About: I am a mechanical engineer running a small business called Benning Design and Fabrication. Let me know if you have any projects you'd like to work on!

After building a CNC Mill and turning it into a 3D printer, I found that I couldn't easily purchase an extruder I liked. They all seemed cheap and poorly designed. Often the bearing in the tensioner didn't line up with the gear on the motor which didn't line up with the hole for the filament. So each one required a complete disassembly to get right and even then, they were a pain to use.

So I decided to design my own. I wanted something unique and durable. And it had to have the two best features of a 3D printer - a part cooling fan and an auto bed leveling sensor. Of course, it had to have a reliable tensioner so it would be easy to load and unload filament, too.

These are the plans that I came up with.

Step 1: The Design

The main support structure of the design was to be milled out of a solid block of aluminum. This would provide the durability while remaining light, easily machinable by most mills, and I could build the heatsink into it. It's also where all of the components would mount to: the stepper motor, the heatsink fan, the part cooling fan, and the tensioner. I also wanted to incorporate the BLTouch into this design. So I built in a separate small block that it would mount to as well as provide the second mounting hole for the part cooling fan.

Step 2: Get the Parts

Donor Extruder - It's easiest to just use one of these MK8 extruders for parts since they come with the stepper motor, extruder gear, heater block, nozzle, heater cartridge and temperature sensor.

Aluminum - Block of aluminum for machining frame

Part cooling fan

BLTouch - Auto bed leveling sensor - optional. Make sure you're getting a genuine one. There are some knockoffs that are pretty low quality, or so I hear.

Filament tube - For this design, I insert a tube through the heat sink to carry the filament from the motor down to the heater block.

I 3D printed a couple parts for this so you will need some means of making the tensioner bracket as well as the shroud that routes the air from the part cooling fan onto the actual part. More on that in a bit.

Step 3: Machine the Aluminum Block

The aluminum mounting block is definitely the trickiest part to get right. The first one I made was borderline unusable so be very careful to machine each feature correctly. There's not a lot of room for error here.

Also pay attention to the hole drilled vertically through the center of the block that the filament passes through. The bottom inch or so is tapped to an M6. Then the two-ish inches above it is clearance for a tube (see picture) that the filament will go in to carry it through the heat-sink. Then the very top has a seat so this tube is essentially sandwiched between that and the heater block.

Step 4: Print the Other Components

Here are the .stl files for the tensioner (hammer looking thing), the BLTouch bracket (can alternatively be machined pretty easily from the leftover aluminum from the frame), and the fan shroud (definitely printed).

Step 5: Gather All of the Pieces

Here is the layout of all of the pieces that assemble to make the extruder.

Step 6: Mount to Your 3D Printer

I made a custom mount. There are two M4 holes in the side of the aluminum block that are meant to be used for mounting holes. So whatever printer you're using, you can create something to use here. I had to use a rather large bracket to attach my print head to my printer because, well, long story short the printer used to be a mill.

The attached drawing shows two 4mm THRU holes with a 1" spacing for mounting to your printer.

Step 7: Adjust Your Firmware

You'll need to adjust your Marlin firmware in order to compensate for the BLTouch. Here is a link to antclabs manual for it.

However, this is what I did.

~Line 475

#define USE_ZMIN_PLUG // For BLTouch

~Line 501

#define Z_MIN_PROBE_ENDSTOP_INVERTING false

~Line 687

#define X_PROBE_OFFSET_FROM_EXTRUDER 26 // X offset: -left +right [of the nozzle]

#define Y_PROBE_OFFSET_FROM_EXTRUDER 3 // Y offset: -front +behind [the nozzle]

#define Z_PROBE_OFFSET_FROM_EXTRUDER 1.7 // Z offset: -below +above [the nozzle]

~Line 1117

#define EEPROM_SETTINGS // Enable for M500 and M501 commands

~Line 1762

#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command

~Line 1767

#define SERVO_DELAY {300, 300, 300}

Step 8: Win

It works!

Share

    Recommendations

    • Make it Glow Contest 2018

      Make it Glow Contest 2018
    • Plastics Contest

      Plastics Contest
    • Optics Contest

      Optics Contest

    6 Discussions

    0
    None
    xarlock667

    Tip 5 weeks ago on Step 4

    Just print the piece that is supposed to be aluminum, then do a lost PLA casting to redo it in aluminum, this will save you having to have it machined.

    3 replies
    0
    None
    jbenni6.xarlock667

    Reply 5 weeks ago

    I don't know much about casting but that sounds like an awesome idea. I kind of just like using a mill, personally.

    0
    None
    xarlock667jbenni6.

    Reply 5 weeks ago

    Get a box of investment plaster. NOT REGULAR PLASTER! Then add an intake and exhaust out of plastic or something easily meltable to your part on the side that will be the top of the mold. (That way the metal has a way in, and the gas has a way out.) Dip the part in the plaster and pull it out. Let it dry some, then do it again. Build up a shell about 1cm thickish depending upon how big a part it is going to be. Now, toss it in the oven in a disposable cake pan or something similar. Melt the plastic out, then bring it up to as hot as your oven goes for 4 hours (at least) to get rid of any moisture in the mold. Then bury it carefully in a box of sand. Pour in molten aluminum slowly and carefully. Wait 15-30 minutes to get it out and chip the plaster off. Very easy, and then you just trim off the tags and you are done.

    0
    None
    jbenni6.xarlock667

    Reply 5 weeks ago

    Very neat, I'll read into it some more, thanks!