Once More, With Rigor

November 29, 2012

This is a follow-up to yesterday’s post on printing with PLA, where I claimed that the orientation of the painter’s tape on the build platform is important to the stick-to-it-ive-ness of a PLA print.

But is it? Really?

A comment from CymonsGames (who’s doing some great stuff on Thingiverse, BTW) got me thinking. Is this 3d-printing feng shui, or is this a real effect? Does the grain of the painter’s tape matter? It worked once yesterday.

But anecdotes ain’t data, people. Imma test this.

I’ll try and remove as many variables as possible from the experiment, but since my basement clean room is currently occupied by an eldritch horror I’m stitching together from abattoir scraps, I’ve got my Replicator in the living room and ambient temperature control isn’t really possible. It’ll be somewhere between 64° and 69°F.

I made a special model for this print test: it’s just a 30x30x2mm solid with a raised zheng on it.

And some skeuomorphic rivets. Because, rivets.

Most importantly, this model is thin, so I can run this print a bunch of times quickly.

ReplicatorG Settings:
10% infill
.22 layer height
print 240° on first layer, 210° afterwards
HBP: 35°C

I used fresh tape before every print, all from the same roll. The first three prints were with front-to-back tape, the next three were with side-to-side tape. All tape was the same stuff, 3M Scotch 2090-1A ScotchBlue Painter’s Tape.

Minor tip: Make sure you have tape everywhere that you plan to lay down PLA, especially the homing line from the corner of the build platform to the start of the print. If you miss that little detail, your print head may end up dragging a blob of plastic all over your first surface and mess with the print.

Here are the results:

In summary: these tests don’t show much difference in stickiness with different orientations of painter’s tape.

I even mixed up the orientations just to see if I could mess up the print. No good. Every print looked more or less the same except for a little curling on front-to-back #1.

The information contained in that last post is no longer operative. Put your tape on side-to-side, front-to-back, whatever gets you through the day.

Scientific method. For great justice.


Printing on Painters’ Tape

November 28, 2012

Here’s a little tip that would have saved me some grief and troubleshooting when printing with PLA on painters’ tape with my MakerBot Replicator 1.

The orientation of the tape matters.

Lay your tape front-to-back on your build platform, not side-to-side.

Look at this photo (of blue PLA on blue painters’ tape, so click to embiggen):

See where the front-to-back tape ends, and the side-to-side tape creates a rats’ nest of tangled PLA filaments?

Now look at the same print, but with front-to-back tape covering the print surface:

Much, much better adhesion. Fun new model coming soon, so watch this space.

Raftless Printing with PLA

August 8, 2012

I’m no expert at 3D printing, but through a lot of trial and error I’ve discovered a few nuggets of information that I wish I’d known a few months ago.

A few weeks ago I said I was chasing a raftless print. I’ve finally got it, at least with PLA and ABS, printing Seej bloxen.

This comparison isn’t entirely fair, since the bloxen are sourced from different models, but the difference between a hot, rafted print on the left and a cool, raftless print on the right should be pretty clear. Both of these are printed from the same roll of 1.75mm PLA.

Here’s what I’ve learned.

PLA likes a cool build platform, somewhere around 45° C: My MakerBot Replicator ships with a heated build platform, and ABS plastic seems to stick nicely around 115°.

When I first started printing with PLA I just assumed it was more or less like ABS. When prints started shifting off the platform I kept cranking up the temperature on the HBP, eventually resorting to elaborate raft structures with painters’ tape.

It never occurred to me that lowering the HBP platform temperature was the solution.

Changing the build temperature in gCode is easy: just find a line that looks like:

M109 S100 T0 (set HBP temperature)

And change S100 to S45. This assumes that you’re using ReplicatorG to generate your gCode.

There’s one other change that seems to be helping: print a nice, gooey first layer of PLA, and then back off the printing temperature to maintain the model’s integrity through the rest of the print. The gCode for this isn’t much more complicated, but you have to get it in the right place. First, set the extruder temperature at the beginning of the print, close to the top of the gCode:

M104 S240 T0 (set extruder temperature)

Change 240 (or whatever it is in your gCode) to 210.

The last step is to find the point in the gCode where the first layer stops and the second layer begins, and back off the temperature a bit.

In the other two instances there are existing M codes that tell the machine to wait for the extruder or bed to reach the specified temperature before proceeding. You’ll have to put those codes in yourself for this line.

Find the first example of:

M73 P1 (display progress)

and add these lines after the next <layer> tag:

(*custom gCode here*)
M104 S190 T1 (set extruder temperature)
M6 T1 (wait for toolhead, and HBP to reach temperature)
(*end custom gCode*)

That should drop the extruder temperature down to 190° and then resume printing. The delay can be a little unexpected the first time your Replicator just seems to stop printing abruptly, but then your forebrain will kick in and you’ll realize it’s just doing what you told it to do.

The usual warnings about bricking your Replicator or burning down your apartment building apply. Use this code at your own risk, and you should probably own couple of fire extinguishers anyways.

The Virtuous Cycle of Fail

August 2, 2012

This is a failure of an Seej Tournament Bloxen print. Seej is an open source tabletop wargame based around 3D printing.

After a minor success with custom gCode yesterday I started experimenting with altering printing temperatures on the fly.

I tried cooling off the raft a bit and lowering the extrusion temperature; the raft worked great, but the rest of the print didn’t want to stick to the raft anymore.

PLA can be a little fussy, and tends to lose its shape if it’s printed too hot. The next thing I’ll try is feathering off the extrusion temperature layer by layer; hot and sticky at the raft layer, and then successively cooler until I get to a minimum print temperature.

Filament gets gummed up in the extruder at 170° C.

Experimenting leads to failure. Failure leads to knowledge. Knowledge leads to experimenting.

And here’s a Seej Ourobouros Guardian fail. Plenty of tries on this one before I got something that printed correctly.


The Perfect is the Enemy of the Good

August 1, 2012

This happens to me all the time. I start looking for information on some technical subject and I end up wading through ancient forum posts and forgotten wikis in a fruitless search for clues. A lot of this stuff seems to be written by and for people smarter than I am. It can be very frustrating.

I usually just want to do X, where X is something straightforward like “pause the print, move the Replicator’s extruder head out of the way, wait for user input, and then resume the print.”

After a few hours of of data forensics and a fair amount of trial and error I have a gCode solution for X. Keep reading.

This is the beginning of a Seej Tournament Bloxen print.

I found the need for this script when I started printing with PLA a week or so ago. I haven’t got the temperatures quite down yet, so my rafts curl up a bit at the edges and sooner or later end up taking the whole print for a joyride around the build platform.

I’m still looking for that perfect raftless print, but along the way I’ve got to actually produce some printed models. So I’ve taken to printing a raft, pausing, and then using painters’ tape to bind the raft down to the build platform.

I’m a huge fan of having a bag of popsicle sticks around any hobby project. They’re cheap, disposable, and can be quickly modified into a variety of simple tools (gaffs, hooks, spreaders, etc) with a pocketknife. They’re also great for evenly applying painters’ tape to rafts.

It’s kludgey, but it works. The only problem I’ve had so far is getting around the print heads to get the tape down on the raft, but with this new script the Replicator moves the nozzles out of the way before pausing the print.

Fair warning: this worked on my Replicator, but there are no guarantees it will work on yours. If this code crashes your extruder head, slags your controller board, or burns your house down and torches all you hold dear and dry-humps the ashes, it’s not my fault.

That said, it’s pretty vanilla gCode and I don’t expect you’ll have many problems with it, assuming your gCode is using millimeters and absolute positioning, which I think is the default output from ReplicatorG.

The first lines you’ll need to look for are:

(<raftLayerEnd> </raftLayerEnd>)
M73 P6 (display progress)

This indicates the end of your raft’s print. The next significant line you’ll see is one that begins with G1:

It should look something like G1 X-4.8 Y-4.68 Z12.6 F3300.0

This is telling your Replicator to start extruding the first layer of your model. In between these two significant lines, you’ll have to add this code:

G91 (*set to relative positioning*)
G1 X-60 (*move the print heads -60mm in X, assuming the print is using mm*)
M71 P60 (Press button to resume print)
G1 X60 (*move the print heads back 60mm in X*)
G90 (*return to absolute positioning*)
M73 P6 (display progress)

Be careful with your X move values. I don’t see anything keeping you from accidentally ramming your extruder heads into the side of your Replicator with too large a value.

I’m sure there’s a more elegant way to write this code, but I’m never one to let perfection be the enemy of the good. It’s done, it works, and I can improve upon it later.

This code also seems to disable the Pause button once the user has pressed it, which is irritating but I can’t bring myself to spend the energy tracking that particular bugaboo down. I’d also like to find a way to get the nozzle’s current position, move the heads, and then return to that position. I’ve found tantalizing hints on just how to do that, but that’s a hack for a different day.