3d Printer - part 9

You might think I've completely forgotten about my 3d printer, but rest assured it is still receiving attention.

My main complain so far with the machine is that some of its prints were not very square. Often successive layers that should be on top of each other, ended up on a diagonal, getting more and more off axis. I didn't have much luck tracking down why this was happening, but I suspect it is a quirk of either the microcontroller not being powerful enough, or the firmware (Teacup) having a subtle bug.

So I decided to redo the electronics. I ordered a parallel port breakout board off ebay for a few dollars, same as I'd used on my CNC machine. This arrived and was duly installed:

These aren't designed to drive 3d printers so a little fiddling was required to make it work. X, Y, and Z on the machine matched up with the respective outputs on the board. The extruder was hooked up to the A axis, and the limit switches plugged straight in.

That just left the heater on/off output flag for the heater, and the same signal for the fan. I wired these up to the B axis step and direction pins, and wired up a mosfet for the fan so I had speed control.

The tricky part was getting everything set up in LinuxCNC. This was a bit harder as LinuxCNC is, strangely enough, designed for CNC machines. So a little bit of adaptation was required to...

With the hardware hooked up, limits entered, homing values corrected, and steps per mm calibrated, I now had a mostly functioning machine.

Next step is to convert the output of Slic3r into something LinuxCNC would understand. This involved:

All up my shell script looks like:

# fan       => spindle
# temp      => coolant
# M104 Sxxx => M7 ; set extruder temp    => turn mist coolant on (M8 = flood coolant)
# M104 S0   => M9 ; turn off temperature => turn all coolant off
# M106 Sxxx => M3 Sxxx; fan on to Sxxx (0-255) => start spindle clockwise
# M107      => M5; fan off => turn off spindle
# M109 Sxxx => M3 Sxxx ; set extruder temp and wait => start spindle
# M82 ; use absolute distances for extrusion

cat $1 | sed s/'M104 S0'/M9/ | sed s/M104/M7/ | sed s/M106/M3/ | sed s/M107/M5/ | sed s/M109/M3/ | grep -v ^M82

.. which handles the quirks of converting Slic3r into LinuxCNC GCODE.

How does it work? Well, it is fast. It is too fast in fact; the poor upgraded extruder motor just can't shove enough molten plastic out the nozzle fast enough! So I have to run it at 50% speed, or print less plastic each layer. Printing less plastic each layer means printing smaller layers, which gives better quality, so that has been a nice benefit, as now I can print t higher quality, significantly faster than before.

And has it fixed the problems from before?

Old is on the left, new is on the right. So yes, it has.

So by using LinuxCNC I get:

The rubber bands that clamped the filament against the extruder wheel perished over the summer, so I replaced them with a couple of old printer springs and a cable tie. Hey, it works!

As for what I'm printing above, they are servo mount mechanisms for my model railway:



Monday May 14 2018, 6:54pm Anil (from India) says...
Superb...A true DIY machine.. With love from India..
Friday Sep 19 2014, 3:17pm Jeni (from Fph4u93BB) says...
I'll have two print some invaders. I just blraey finished repairing my heated print bed, and it'd on it's first-second trial run. We'll see how it goes. As for the makerbot extruder, we have become mortal enemies. I ended up buying some components from another company and they worked like a charm. The design has a lot of flaws in it. The one that comes to first to mind is the thermal barrier. This is the thing that keeps the extremely hot barrel and nozzle from melting the device it's attached to. Makerbot supplies one made out of teflon (PTFE), and teflon is a very soft material. What happened to me (on two teflon barriers) is the barrel wasn't screwed in tight enough (because it's so soft, you don't want to screw it in too tight, or you damage it) and hot plastic got in there and made it impossible to use. The barrier I used is PEEK, it's tougher. It worked beautifully the first time. The alternative option I used was just so much smoother that I've nearly sworn off makerbot alltogether.
Saturday Aug 23 2014, 1:52pm Michael Adams says...
Hi Jamie, usually the shipping is free!
Saturday Jul 19 2014, 7:03pm Jamie (from Nelson) says...
Just came across this site and had a nice binge on the archives. Good job on the CNC and printer! What's shipping like to NZ from ebay? I never considered doing that.

Leave a comment?

Your name:
From?: (optional)
Icon: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
Your comment: