Posts Tagged ‘skeinforge’

If you can’t stand the heat…

Ethan’s recent post about Nick’s experiments with turning down a print bed’s heat to avoid upper layer warping got me thinking…  it seems to me that keeping a heated platform on throughout a print job may not actually be required. 1  When I’ve printed without heat at all, such as on an acrylic surface, I’ve only noticed ABS warping up to about 1cm or so.  After that printed objects tend to just even out.

The GCode command for setting the heated build platform temperature is:

M109 S70 T0

Where “S70″ means heat the platform to 70 degrees Celsius. 2  I honestly don’t know exactly how this GCode works.  It might force your printer to wait until the platform reaches a new temperature before continuing with processing more commands.  While this isn’t a big deal while your extruder is heating up before printing begins, it could be problematic if you try to change your printer’s temperature during a print job.  Even if this command doesn’t force the printing to pause while it changes temperature, there’s still the issue of how to implement it.  You probably don’t want to shut off the print bed’s heat during a short print job or in a print job for an object less than 1cm tall.  In any case, this is an idea and a question for the experimenters, hackers, and RepG/Skeinforge gurus out there.  What do you think?

  1. Doesn’t it just seem ironic that using a heated build platform can eliminate warping at the base only to cause warping farther up a printed object?! []
  2. When I heat my build platform to 70 degrees Celsius, PLA sticks to to Kapton like glue. []
Tagged with , , , , , , , 2 comments
 

Instant Profiles with Dave’s Profileinator

Profileinator - By David Durant

Profileinator - By David Durant

I’ve already covered the basics of how to use Dave Durant’s Profileinator program as well as it’s ability to provide a range of useful settings.

This last feature makes it even easier to conduct printing experiments.  Once you’ve generated some settings you can actually generate a whole new profile using those settings with just a few mouse clicks!  If you click the “Profile” button you can specify the location for your ReplicatorG profiles to use as a basis for the new profile.  You’ll need to give it a descriptive name and you should be off to the races!

A point of warning however – with development on ReplicatorG moving as fast as it does, the current incarnation of Dave’s program available on Thingiverse has an issue creating profiles.  The good news is that Dave’s got a new version that should work with ReplicatorG v24.  The bad news is it isn’t available on Thingiverse yet.

However, if we all clap really really hard, I’m sure we can get him to upload it!

Tagged with , , , , , , Leave a comment
 

Getting more out of Dave’s Profilinator

Profileinator - By David Durant

Profileinator - By David Durant

Recently I posted about the basic usage of Dave Durant’s Profilinator, a program that will calculate the best print settings for your 3D printer.   In order to get you started with how to use the program I left out two amazing features of this program.  Today I’d like to cover the first of these sweet features.

As some of you already know or might have guessed, his program can provide a range of reasonable print settings, not just a single recommended setting.  If you want to see a range of print settings all you need to do is specify different values for the minimum and maximum for Feed rate, Thread height, and Thread width.  Dave’s program will then solve for the appropriate flow rate given those settings.

How is this helpful to you?

Well, perhaps you may not yet know what settings you want – so one particular set of setting values isn’t that useful.  Perhaps you really like thin layers?1  Perhaps you’re not sure about how thin or thick you want each extruded thread to be?  By specifying a lower minimum and a higher maximum for the Feed rate, Thread height, and Thread width you’ll get a list of every permutation of these variables2 with the appropriate Flow Rate.  Now you can experiment freely printing using any of those settings and find out first hand which layer height and which thread width you really appreciate.

Based upon your particular hardware and configuration, you may discover your robot’s limitations. 3  After printing for a while, you’ll get a good feel for how fast you can run your robot’s XY platform. 4  Once you know an optimal feed rate for your robot5 then it’s a matter of picking other settings.

Rather than spending your time filling up your home with calibration cubes, trying to discover your optimal settings – using the ranges of settings from Dave’s program you can choose which of a range of good settings you most appreciate.

Bonus Info:

Dave mentioned during our conversation that he was able to reduce either the layer height or thread width without a big change to printing speed – but that reducing both at the same time would increase print time. 6

  1. Low layer heights. []
  2. At the specified increments []
  3. For instance, my Cupcake’s Unicorn drawings get a little shakey when I run the platform speed much above 2500. []
  4. This is the feed rate. []
  5. My Thing-O-Matic’s optimal feed rate is probably between 30 and 35. []
  6. I’m going to apologize to Dave, in this cowardly footnote, in case what I’m mis-describing his wisdom. []
Tagged with , , , , , , , , 5 comments
 

Dead simple printer calibration

Profileinator - By David Durant

Profileinator - By David Durant

This last weekend I was fortunate enough to catch up with Dave Durant to talk about how to calibrate my 3D printers. Not only has Dave written a number of amazingly detailed posts on properly configuring Skeinforge for 3D printers, but he’s also written an amazing program for determining the proper settings1  Although this program has been out for two months, I hadn’t given it a shot until just this Saturday.  Oh!  If only I could capture the lost hours I’ve wasted calibrating my machines when I could just have used this program!  You, gentle reader, need not toil away in front of your machines and may simply use Dave’s program powered by MATH and SCIENCE.  Here’s a quick walk through of how to use his program:

  1. Install Dave’s program
    1. The program is just a single executable file that will generate an XML file for storing saved values.  To run, just open the executable.  To uninstall, just delete both the executable and the XML file.  The ZIP file contains more than this single executable, so unzip those if you want them too – but you don’t need them.
    2. You’re going to want to open the program now.  Don’t worry about any of the settings just yet – we’ve got an important step next.
  2. Measure your filament’s diameter
    1. Dave’s program works by taking a measurement of the volume of plastic entering the extruder and then providing the values you need to account for the volume of plastic as it exits the extruder.
    2. To calculate my filament’s I took measurements of the filament over the span of about a foot at ten different points.  At each point I measured the filament twice – at 90 degree angles from each other.  Here are my readings (yours should differ).  The first two values on each row are the two readings at each level.  The third value in each row is the average of the first two values.  The 11th line is merely an average of the ten prior averaged readings.
      1. 2.98    2.85    2.9152
      2. 2.84    2.98    2.91 (Average of 2.84 and 2.98))
      3. 2.81    2.86    2.8353
      4. 2.88    2.81    2.845
      5. 2.82    2.86    2.84
      6. 2.86    2.79    2.825
      7. 2.85    2.85    2.85
      8. 2.84    2.81    2.825
      9. 2.92    3.15    3.035
      10. 2.85    3.01    2.93
      11. 2.881mm4
    3. As this is the only reading you’ll be taking of your setup, be sure and do it carefully.  If you get this right, you’ll never agonize over Skeinforge calibrations again.
  3. Enter your filament’s average diameter into Dave’s program
    1. Try out these settings:
      1. Gear diameter:  If you’re using the MakerBot MK5 Drive Gear, it should stay 10.58.
      2. Filament diameter:  This is where you enter your averaged measurements from the last step.  Mine was 2.88 – yours will differ.
      3. Gear swell mod:  For the moment, just enter “0.90″ if you’re using ABS and “1.0″ if you’re using PLA.  This is where some of the voodoo math comes in.
      4. Flow rate min/max/fudge factor:   0.5 / 5.0 / 1.0
      5. Feed rate min/max/increment:  30/30/5
      6. Thread height min/max/increment: 0.36 / 0.36 / 0.05
      7. Thread width min/max/increment: 0.75/0.75/0.05
    2. Click “Go” to get your recommended settings!
      1. If you entered different values for the minimum and maximum values for Feed rate, Thread height, and Thread width, you’ll have a number of options to choose from.  If you want a profile that will “just work” try out those settings above.  Dave’s first Skeinforge guide defines all of these things, but a very quick overview is as follows:
        1. Feed rate is how fast your XY platform will be moving as you print.  30mm/s is a nice safe bet for speed.  35 should work reasonably well too.
        2. Thread height is the layer height.  Layers at 0.36mm each will give you a good solid, quick printing object.  More layers per millimeter will give you a higher Z resolution.
        3. Thread width is the width of each extruded thread as it is laid down.  Thinner threads will give you a higher XY resolution.
        4. Flow rate is how fast the extruder takes in plastic.  This is the magic value you are solving for with Dave’s program.
  4. Enter your recommended settings into Skeinforge
    1. Enter “Thread height” into Carve -> “Layer Thickness (mm)”
    2. Enter “Thread width” into Carve -> “Perimeter Width over Thickness (ratio)”
    3. Enter “Thread width” into Fill -> “Infill Width over Thickness (ratio)”
    4. Enter “Feed rate” into Speed -> “Feed Rate (mm/s)”
    5. Enter “Flow rate” into Speed -> “Flow Rate Setting (float)”
    6. Enter “Feed rate” into Speed -> “Travel Feed Rate (mm/s)”
  5. Print!
    1. Print happily secure in the knowledge Skeinforge is powered by SCIENCE!

Fair warning – I’m leaving out two of the coolest features from Dave’s program.  I’ll cover both of these features next time.  However, for right now, as long as you provide his program an accurate reading of your filament diameter, you can basically just tell it how fast you want to print and at what resolution – and get all the settings you need.

    1. Configuring Skeinforge:  Basic Settings with David Durant
    2. Configuring Skeinforge:  Five Critical Settings with David Durant
    3. Configuring Skeinforge:  Configuring the Latest Version of Skeinforge with David Durant
    4. Configuring Skeinforge:  Creating a New Profile with THE David Durant
    5. Configuring Skeinforge:  Tuning a New Profile with THE AMAZING David Durant

    []

  1. Average of 2.98 and 2.85 []
  2. Hey!  Now you’re getting it! []
  3. Average all of the averages above []
Tagged with , , , , 22 comments
 

Printing … with science!

The Science of Printing

The Science of Printing

There are two schools of thought when it comes to dialing in the best settings for a 3D printer.  The first is to start fiddling with Skeinforge, clicking buttons, changing numbers with wild abandon and print off a truckload of 20mm cubes.  The more rational way is to apply SCIENCE!  Recently there have been several Things uploaded to Thingiverse specifically designed to help you set the best feed and flow rates for your printer.

Am I missing any Skeinforge calculation helpers?

Tagged with , , One comment
 

How to get better results from your 3D printer – Calibrating Software

ReplicatorG is your friend!

ReplicatorG is your friend!

This is the third in a series of posts about ways to get even better print results from your 3D printer.  The absolute best part about the two prior posts, on calibrating hardware and upgrading hardware, have to be the voluminous comments.  Please keep your hints, tips, hacks, and suggestions flying in!

  • Calibrate Software. Once you’ve got your 3D printer hardware tuned up, it’s time to look to the software, especially the Skeinforge settings for your machine.
  1. Skeinforge calibration.  There are a number of guides out there, but the one I would recommend is the series written by Dave Durant.
    1. Skeinforge basic settings
    2. Five critical Skeinforge settings
    3. Configuring the latest version of Skeinforge
    4. Creating a new Skeinforge profile
    5. Tuning a new Skeinforge profile
  2. Find the best print temperature for your choice of plastic.  The ideal plastic temperature would be hot enough that it will stick to the platform and to the layer underneath.  It should also be cool enough that by the time the next layer is laid down the prior layer isn’t too molten allowing it to deform.  I print PLA at around 195-205 for small to larger objects, respectively.  I print ABS at around 220-230 for small to larger objects, respectively.
  3. Find a good build platform temperature.  Not so hot that the plastic is kept molten, but not so cool as to allow warping.  A good warm build surface also allows the plastic to adhere to the build surface better.  When printing in PLA I like to keep the build platform at about 70 degrees and at 135-140 for ABS.  There’s very little warping with PLA even without a warm build surface, but the PLA sticks so much better.
  4. Even after your machine is well calibrated, there are still a number of ways to improve Skeinforge calibration.  There are just dozens of little settings to tweak.  Configuring the Skeinforge Oozebane setting can remove the little plastic strings that get left between parts. 1
  5. Calibrate Skeinforge for printing with a higher Z-axis resolution by trying to print with thinner layers.  The main downside is that printing overhangs may become more difficult.  Reading Dave Durant’s posts should help with this.
  6. Tune your “start.txt” and “end.txt” files in ReplicatorG.  You can add some pretty cool things to the start and end files.  You’ll need to read up on your GCode, but it’s well worth the trouble to fine tune the start routines for your machine.  Perhaps you need a longer extrusion time?  Need to adjust where the wipe procedure homes in?  This is the place to get to work!
  7. Experiment with using the “outline” plugin either in conjunction with or in lieu of the “wipe” command.  Thanks to Riche for e-mailing me this tip!
  8. Skeinforge 0006 or 35?  It’s tempting to stick with an older version of Skeinforge once you’ve got all of your settings dialed down.  Switching to the latest Skeinforge version within ReplicatorG allows you to use the latest features, improvements, and plugins.  Yeah, it’s more work.  But, then again, if you were afraid of a little elbow grease you wouldn’t have build your own 3D printer, would you?
  9. Cupcake:  Can you build a set of “start.txt” and “end.txt” files to replicate the auto-homing behavior of the Thing-O-Matic using your stock Generation 3 electronics?  I bet you can!
  10. Thing-O-Matic:  Calibrate your starting height in Skeinforge.  Obviously you don’t want to smash the print head into the build platform.  Neither do you want to start building10mm above the build platform.  You may find that it’s best to start at different heights depending upon the material you’re printing on and the plastic with which you’re printing.

What am I missing here?  What software calibration tricks and tips do you have to share?

  1. Some have referred to Oozebane as a dark art, not without some cause. []
Tagged with , , , , , , , , , , 5 comments
 

Configuring Skeinforge: Tuning a new profile with the amazing Dave Durant!

Dave Durant’s latest guide to configuring Skeinforge is probably the most valuable post so far.  This post tells us more about the nuts and bolts of his method for dialing in Skeinforge settings to get the best possible prints.  What I like about Dave’s method is that although he’s using some counter-intuitive methods and assumptions, he’s clearly thought all of this through and got the results to back it all up.  Once again, Dave!

This article’s the second of two on making up a new profile. If you didn’t read the first one, you probably should do that before reading this one. Or at least scan through it. Even if you’re not making up a new profile and are just trying to get an existing one to make nicer prints, you might find this useful.

WordPress.com tells me I’m close to 2000 words here - yikes! – but if you’re having problems getting nice prints and aren’t sure what to do about it, I think it’s worth wading through. You’ll be amazed at how much quality a Makerbot is capable of – I know I was, once I started understanding the calibration process.

The key to just about every aspect of dialing in a profile is being able to recognize when you’re getting too little plastic or getting too much plastic.

I’m going to try to avoid using actual profile numbers here because I’m using a 0.35mm MakerGear bighead nozzle instead of a stock 0.5mm MakerBot nozzle. Profiles with this nozzle are a bit different and if I just spit out numbers and you try to use them, you’re probably not going to get the same results that I get. That’s not to say, not even a little, that you can’t get fantastic prints from a 0.5mm nozzle – you absolutely can.

Enough talk! Here’s a picture of two 20mm calibration cubes taken from two different views:

On the top half of this picture, notice how the threads aren’t touching – you can even see down to the previous layers. The profile that made this cube isn’t putting down nearly enough plastic to make a solid print. If you put any stress on this cube, it’d likely crumble.

On the bottom half of the picture, it’s blob central. This object is supposed to be a nice, square cube (or 1/2 a cube anyway.. it’s 20x20x10mm). On the left side of this one, you can see how the threads aren’t nice and straight – they’re sorta wavey – because the extruder is pushing too much plastic into too little area and shoving the existing lines around. On right right side, you can see how this eventually makes the top bulge up. If you used this profile to print an object that required nuts & bolts or multiple pieces fitting together, you’d get pretty frustrated, pretty quickly.

(note that if you’re using a stock MakerBot nozzle, it won’t look like this – those nozzles, when the profile is wrong, tend to scape up and push around the extra plastic so you sorta get little chunks of goop in random places. It’s a bit of a trade off – the MakerGear hot ends are rock-solid and more tolerant of blobs but the MakerBot ones make a slightly smoother finish on top, when they’re really dialed in nicely. Both are good but they do produce different results. )

Test & Tweak

I had wanted to do a bunch of pictures for this article, showing a gradual quality improvement and ending with a beautiful print. Sadly, these really didn’t show up well. Black ABS in particular never seems to show up well for me. :(

So, instead of a series of pictures, here’s the end result you’re looking for. It’s not perfect but it’s not bad at all:

The big thing to take note of here is that the infill lines are nice and tight against each other without any plastic blobbing up between them. There is a small dip between each line which I could lessen by dropping the feed rate by another 0.25 or 0.5 mm/second but this is pretty good as it is. There are some gaps between the infill and perimeter noticeable on the right-side cube but that’s because my build platform is overdue for leveling – you can see it’s just fine on the left side.

The whole “Test & Tweak” thing is really easy to do. From the previous article, you should have a target layer height and width over thickness (“w/t”) that you’re aiming for. You should also have at least a general idea of the feed rate that you’ll be using.

To do the test & tweak thing, pick a starting feed rate (and, again, aim high here – better to aim too high than too low) and print out a cube. Once you’ve got the cube, take a look at the top of it and decide if the feed rate is too high or too low.

If the cube seems blobby, the feed rate is too low - raise the feed rate a bit; if it’s looking anemic, the feed rate is too high - drop it a bit. Print out another cube at the new feed rate, take a look at the top and tweak the feed rate again. Keep doing this until you’ve got yourself a cube that’s really, really nice.

How much you should tweak the feed rate each time totally depends on how far off the print is. If it comes out like the pictures up near the top of this article, the 2 views of 2 cubes, you’re going to want to change the feed rate by 10; those cubes are way off.

  • Add to the feed rate if too much plastic is being laid down
  • Subtract from the feed rate if too little plastic is being laid down.

I usually go by halfs when I adjust feed rates.. If it’s horribly off, I tweak by 10. Once I think I’m within 10 of the right value, I tweak by 5. Once I’m within 5, I tweak by 2 or so. Then 1 then 0.5.

You can go down to tweaking it by 0.25 if you want but any more than that is overkill, IMO. Other variables (ambient temperature, filament inconsistencies, how well X/Y rods are oiled, etc) can effect the print more than tweaking that much. If you can get it to 0.25, you’re going to be really happy with the prints.

Oooo.. Shiny!

This is another one I wanted pictures of but they look a lot better in person than in picture so you get words instead of photos. While the 20mm cube is printing, keep an eye on the surface of it.

If your feed rate is perfectly right or too high, the surface of the print (even if it’s still in the middle of the print) will look uniformly shiny.

If the feed rate is too low, it will not be uniform – there will be parts that look shiny and parts that look sorta dull.

This makes perfect sense, too.. Go back up and look at the 2 view of 2 cubes near the top of this post. On the top-right one where there’s not enough plastic being laid down because the feed rate is far too high, if you were to look in from the front of your ‘bot while this is printing, each of those identical lines would reflect light the same way and it would be nice and uniformly shiny.

On the bottom-right part of the picture where it’s blob city because the feed rate is far too low, it’s not consistent. Because too much plastic is being laid down, extra plastic is pushing up from semi-random places which causes the light reflection of those places to be different from the more normal parts.

Watching the print while it’s printing, especially once you get down to tweaking feed rate by 1 or less, is going to be enormously helpful in figuring how where to go next on the feed rate - if you get to the point where it’s all nice & shiny up until the last couple layers, you’re within 0.5 or 0.25 of it being perfect. If it’s fine until around mid-print, you’re probably within 1 or 2.

All that said, I generally ignore the first 5 layers or so unless they’re hugely, painfully obviously off. It’s hard to get the Z stage perfectly positioned at the start of a print and that can throw things off a bit. Once you get 5 or so layers done, it will have worked out any of those types of issues.

Take notes!

One thing I learned pretty early in my calibration cube printing days is that with each cube taking 10-15 minutes to cycle through, from starting the print to starting the next print, plus eating and sleeping and answering the phone and maybe a tasty adult beverage in there too, it gets hard to keep track of what’s what.

The easiest & simplest solution to this, at least for me, was to use a razor to carve a roman numeral into the side of each cube when it finishes printing and notes on a piece of paper (or some text editor) the details for each cube.

You don’t have to use roman numerals if you don’t want to but it’s a lot easier to carve I, II, III, IV, etc into a cube than 1, 2, 3, 4. Or use a Sharpie, as long as you’re sure it won’t smear or fade or anything like that.

This doesn’t need to be anything fancy. When I dial in a profile, I just scribble the layer height and w/t at the top of the paper then have lines under that like “I = 33″, “II = 34″, etc, noting the cube number and the feed rate it was printed at.



Once you get close to being dialed in, this will make things a lot easier. You’ll be able to just check out the top of the cubes for too much or too little plastic and make a quick decision on how much the feed rate needs changing.

Infill Solidity = 1.0??

Any time I suggest printing calibration cubes, I say they should be printed with Infill Solidity set to 1.0, which is 100% solid. Fairly frequently, people look at me funny (yes I can tell, even when it’s via text) and say that they never print over .15 or .25 solidity so why waste time & plastic turning it up to 1.0?

The bottom 2-views-of-2-cubes cube shows a bit of an extreme example of why these cubes should be printed at 1.0. If I had printed this one at a lower infill, skeinforge would have left hollow bits in the object and those would have given all that extra plastic somewhere to go – it still wouldn’t have looked great but it wouldn’t have been as horribly wrong as what you see in this picture.

On the surface, that might sound like that’s a good thing – if it hides problems, why not turn the infill down and be happy? The answer is that it probably is fine if you’re never going to print anything more complicated than a calibration cube.

Once you tried a more complicated print like something with some large flat areas and some smaller/narrower areas, you’d run into trouble – you’d either get too little plastic (like the top picture) on the big open areas or you’d get too much plastic (bottom picture) on the smaller areas. Only with a profile that puts out the correct amount of plastic will you be able to handle both types of features in a single print.

So, moral of the story, set Infill Solidity to 1.0 when you’re printing calibration cubes. The goal is not just to get a little cube that looks good – it’s to find the right combination of values that will work at any infill setting…

Done.

I know that’s a lot of words and hope you didn’t “tl;dr!” this and jump here to the end. I also know it’s a fair amount of work to dial in a profile but once you go through it a couple times, it really does go pretty quickly. You’ll also, hopefully, get a better feel for skeinforge, which isn’t nearly as complicated as it seems, once you get a handle on the basics.

I really can’t over-state how much your prints can improve if you’ve never really sat down & worked on a profile and go through this test & tweak process . The time & plastic investment you make here are well worth it. Really. :)

Thanks Dave!

Tagged with , , , 4 comments
 

Configuring Skeinforge: Creating a new profile with THE David Durant!!!

David Durant had recent published another amazingly readable guide on working with Skeinforge.  He’s also published an index of his articles on configuring Skeinforge so far.  This latest article is particularly interesting because he suggests a new method for dialing in your latest Skeinforge settings when creating a new Skeinforge profile.

It’s very useful to have multiple Skeinforge profiles – for different equipment1 or different materials2 .  Another excellent reason for having multiple profiles is so that you can optimize one profile for speed and another profile for high resolution prints.

So, without further ado or gilding the lily, I am pleased to present David Durant!3

Next up is actually creating a new profile.. I’m using Skeinforge 33 for this, dated 10.11.10, but any version close to that should work pretty well.

I know 2 ways to dial in a new skeinforge profile. One, the one this post is not about, involves picking layer height & feed rate then printing a thin-walled object and measuring the wall width. You do a little bit of math to figure out the width over thickness (“w/t”) then plug that into skeinforge.

There’s nothing ‘wrong’ with this method - lots of people use it - but I don’t like it. I’d rather pick layer height and w/t then tweak the feed rate until it comes out right, which is the other way. The way this blog post is going to talk about…

The reason for my preference here is that layer height has a lot to do with resolution – how ‘fine’ the object is printed. Similar, the w/t values say a lot about the strength of the object. Basically, layer height and w/t are characteristics of the finished object.

Feed rate and flow rate, on the other hand, don’t really tell you anything about an finished object - they’re more about the process of how the object was printed than about how the object ends up.

Because of this, layer height and w/t are values that I want to choose. Within reason, I’m not too concerned about where the feed and flow rates end up – I’m more interested in the resulting object.

All that said, on with making up a new profile. I think the basic process has 2 big parts: The Setup and The Test & Tweak. This post is about The Setup, the next one will be on Test & Tweak.

The Setup

The plan goes something like this:

  1. Decide on your target layer thickness and w/t values
  2. Clone an existing profile and give the new one a descriptive name
  3. Plug your target values into the new profile
  4. Take a guess at what the feed rate should be for the new profile
  5. Make gcode and feed it to your ‘bot
  6. Examine the result, tweak the feed rate
  7. Back to step 5

1: The first step is to pick some reasonable values for layer height and w/t. By reasonable, I mostly mean something your hardware is actually capable of printing; probably a layer height in the 0.20 to 0.50 range with w/t values of 1.2 to 2.0.

If you’re shooting for a profile that’s a lot different than one of your existing ones, I strongly recommend doing a series of profiles and working your way towards your goal. This may seem like a lot of extra work but once you do it a couple times, you’ll find that it goes pretty quick. Similar, if you’re changing both layer height and w/t, it’s probably easier to concentrate on just one of those parameters until it’s pretty good then go back and do the other one.

If you don’t actually have a decent profile to start from, don’t worry – below are some combinations I’ve used before. Some of these are better than others but all should at least be in the right ballpark. If you haven’t done a lot of printing before and are picking one of these combos below, you probably want to start with one that’s got a feed rate under 45 or so. Moving faster is certainly possible but takes a bit more work & care – start slower, work up to it.

Layer Height Width/Thickness Feed Rate Flow Rate
0.25 1.8 49.50 255
0.25 1.6 60.00 255
0.28 1.8 44.00 255
0.28 1.6 49.75 255
0.28 1.4 54.25 255
0.28 1.2 61.50 255
0.32 1.6 34.25 255
0.32 1.4 42.25 255
0.32 1.2 51.75 255
0.32 1.0 60.50 255
0.35 1.4 34.25 255
0.35 1.0 46.25 255

(yeah, my HTML table-fu stinks.. :( )

2: Clone an existing profile and give the new one a descriptive name.

Next up is creating a new profile. Fire up skeinforge and, near the top, click the Profile button then click the Extrusion button below that. At the bottom, there will be buttons for Add Profile and Delete Profile with a list of your existing profiles above that.

You should give your new profile a descriptive name. I usually use names like “0.5mm, 0.32mm, 1.6, 3.0mm” which means it’s for a 0.5mm nozzle, 0.32mm layer height, 1.6 w/t and 3.0mm filament. Use whatever you want but if you call it something like “asdf” or “test”, you’re probably not going to remember what that means, a couple months down the line.

In the list above the add/delete buttons, single-click the profile you want to clone, type the name of your new profile in the area to the right of the Add Profile button then click the Add Profile button. That’s it – your new profile is started.

At least for me, I need to exit and restart skeinforge at this point. If I don’t, it gets a little bit weird and doesn’t let me use my new profile. No big deal – just close skeinforge then start it back up.

Near the top of the skeinforge window, make sure the Profile Type is set to “Extrusion” and the Profile Selection is set to your new profile then click the Craft button, just below those.

3: Plug your target values into the new profile.

Unless you’ve done this a few times before, now would be a good time to wander through all the pages in skeinforge Craft and compare them to my previous post. You don’t need lots of things enabled at this point; you’re really not going to be looking for the perfect print here - you’re just looking for the right combination of the Big 4 (or 5) Settings.

In addition to plugging in the Big 4 (or 5) Settings, there are a couple other things you should set while you’re in there. Here’s my checklist for when I’m printing 20mm calibration cubes:

  • Carve\Layers From = 0
  • Carve\Layers To = 10000  (or any really big number)
  • Carve\Layer Thickness = your target layer thickness
  • Carve\Perimeter Width over Thickness = your target w/t
  • Fill\Diaphram Thickness = 0
  • Fill\Infill Width over Thickness = your target w/t
  • Fill\Infill Solidity = 1.0 (yes, really.. set this to 1.0 for calibrating)
  • Fill\Infill Perimeter Overlap = some value under 0.25
  • Temperature\All Settings = 210 (or whatever value you extrude at.. usually 210 or 220)
  • Speed\Flow Rate = 255
  • Speed\Travel Feed Rate = 50
  • Speed\Feed Rate = your best guess.. :)

Since you’re starting with values you chose for layer height and w/t, and since I said to just peg the flow rate at 255 (full speed on the extruder), the only one of the Big Settings left is feed rate. For that, you really do just have to take your best guess.

That said, you can make it a fairly educated guess by looking at various combinations of settings that should work and comparing them to the combination you’re trying to make work – the correct feed rate should go up or down based on if you’re raising or lowering the layer height and if you’re raising or lowering the w/t. In general:

  • Lower layer height or lower w/t = higher feed rate
  • Higher layer height or higher w/t = lower feed rate
  • Change feed rate by 3-4 for each 0.01mm change in layer height
  • Change feed rate by ~5 for each 0.1 change in w/t

So, if you’re going from 0.32mm layer height to 0.30mm layer height, you probably want to start by adding 8 to the feed rate. If you’re going from a 1.4 w/t to a 1.6 w/t, you should subtract about 10 from the feed rate.

Forget about fractions here – just use whole numbers – and when in doubt, aim a bit high with the feed rate.

If you’re stressing over get this wrong, don’t worry about it – unless you guess really, really low on what the feed rate show be, nothing bad will happen. If that doesn’t decrease your stress level, just do your best on getting it about right then add 5 to it. Don’t worry.

The Setup is almost complete.. The only prep left to do is to head over to Thingiverse and grab the 20mmbox.stl file from Spacexula’s Makerbot Calibration Set. The other pieces he’s done are also good but I’m just going to be using the 20mmbox object.

That’s it! Next up will be printing the 20mmbox and dialing in your profile.

Thanks Dave!

  1. Such as a MK4 versus a MK5 extruder, with/without heated or automated build platforms. []
  2. Such as PLA versus ABS. []
  3. I really wanted to preface his introduction with this quote, but it seemed a bit much. []
Tagged with , , , , , One comment
 

Configuring Skeinforge: Configuring the latest version of Skeinforge with David Durant!!!

Dave Durant makes Skeinforge less spooky

Dave Durant makes Skeinforge less spooky

Dave Durant has continued his series on how to configure Skeinforge for your 3D printer1  Although Dave prefaces his comments by saying these are not necessarily recommended settings, he (again!) does a great job of going through each setting available in Skeinforge 033 and explaining why he is using that particular setting – along with suggestions of when those parameters may not be appropriate for your ‘bot.

Starting at ReplicatorG version 0020, the folks at MakerBot are also including a recent version of Skeinforge. w00T!!

I’ve been advocating moving up to more recent versions of skeinforge for months now, mostly because I think I can sorta figure out how to configure them. The older versions just make me go cross-eyed and confuse me. YMMV.

Since my last blog post was a bit (or more than a bit.. or even a LOT more than a bit) long winded and preachy, I’ll try to keep this one short. Below’s my notes on going through all the modules in skeinforge 33, the latest as of today. Note that this isn’t really “Dave’s recommended settings.” It’s more like, “where to start things, if you’re moving up from an old version.”

Bottom: This is new, as of version 32 or so. I’m not sure what it does but it seems to be the “bottom” parameters that used to be in the Raft module so I’m leaving it enabled and just taking the default values.

I think the “bottom” params in raft used to control how high the nozzle was at the very start of the print. Since I always tweak a Z pulley when I start printing, I don’t care too much about this one

Carve: Absolutely enable this. This one contains two of my Big 4 (or 5) parameters, Layer Thickness and Perimeter Width Over Thickness. Those two I care about, the rest I just leave as they are.

Chamber: Disabled. I think this is for heated build chamber. Like, if your bot was all enclosed in a temperature controlled environment, you’d want to enable this and figure out some reasonable values to plug in here.

Clip: Enabled. Clip is sortofa method that looks for parts of the print that are really close together and clips bits off, to keep too much plastic from being put down.

I’m very sure that the values you plug in here could be tweaked to get a little more performance out of your bot but I suspect it’s a 2% thing – good to learn if you really want the absolute best prints you can get but not really worth it for most people. I take the default values.

Comb: Enabled. I love comb. Comb rules.

Comb basically tells skeinforge to not let the extruder move outside the perimeter if it can avoid it. This makes a HUGE difference (in a good way) in cleanup times but does add to the total print time. Unless you’re really, REALLY interested in the quickest print you can get, just leave it enabled.

Cool: Disabled. This is an interesting module but I think DC extruders (which virtually all Makerbot people have) don’t play well with it.

Cool lets you tell skeinforge the minimum amount of time it should spend on each layer. If a layer is going to take less than that amount of time, skeinforge will add gcode to orbit around – aka: waste time – until that minimum is reached.

This is a great idea but unless you really have ooze under control, you probably don’t want to use it. If you don’t have ooze under tight control and enable Cool, it’s going to make a huge mess.

Also, if you do want to enable it but don’t have a stepper extruder, don’t use the Slow Down option. Slow Down tells it to drop the flow and feed rates down instead of orbiting – with a DC motor, the extruder will stall and you’ll get no plastic coming out.. Bad.

Dimension: Disabled. This is for “5D” stuff that’s not supported (yet??) on Makerbots. The 5D stuff, if I understand it correctly, are extensions to gcode that lets the extruder move faster on diagonals than it does on straight-X or straight-Y lines. Nice feature but not something Makerbots can use.

Export: Enabled. Not 100% sure what this does…

Some types of machines process the gcode in the firmware and one thing Export allows you to do is strip all the comments (stuff that’s user readable but ignored by the machine) out of the gcode. In theory, if you have lots of comments in the gcode and the machine isn’t very fast, stripping out comments will help prevent problems.

On a Makerbot, the gcode is processed by your PC (or Mac or whatever) so this isn’t much use for Makerbots. Leave it enabled, tell it to strip comments out or not – I leave them in but it doesn’t really mattter.

Fill: Enabled!!! I spend more time in Fill than I do anywhere else. More on this module later (next post?) but once you get your profile all nice and dialed in, this is pretty much the only place you need to be when you want to print something.

Fillet: Disabled. This is another interesting module that I don’t use very often. Fillet sorta rounds off sharp corners in the object, which can help if you’re suffereing from quality problems due to high feed rates.

Picture printing a perfectly square cube. There’s lots of “full power to X. Stop X! Full power to Y. Stop Y! Full reverse on X!” over and over. This can encourage belt-related issues like backlash. Fillet lessens these issues by rounding things off of a little.

In general, I’d say disable it for prints that require bolts and bearings and things – stuff that’s been measured out and has bits that fit together – and enable it for more organic-type object that don’t require precision.

Home: Disabled. This allows you to add a bit of custom gcode to the start of every layer. I’m sure there are good reasons why you might want to do this but I don’t think any apply to Makerbots..

Hop: Disabled. Not really sure what this does but I think it sorta tells skeinforge to add more into the Z increase at the end of a layer then drop back down for the start of the next layer.

Inset: Enabled. Another one I’m not to sure on but I think it controls tweaks on how to remove overlapping bits of the print that will likely cause blobs. I just leave this at the default values.

Jitter: Disabled. You know that extra little blob of plastic you sometimes get at the point where the Z goes up to the next layer? This module causes Z to move up in a different place on each layer, which spreads out those blobs.

Personally, I don’t get those blobs too much any more and they don’t really bother me anyway. I leave this module disabled but feel free to enable it, if you want.

Lash: Disabled because I haven’t gotten to mess with it yet. This seems to be about controlling backlash – that bit of lag you get when the X or Y steppers quickly start/stop/reverse. I suspect it won’t work well on a Makerbot but haven’t tried it yet.

Limit: Disabled but this is near the top of my list of things to mess with. Yet another module I’m fuzzy on but it seems to control the maximum feed rates of the gcode.

In particular, I’m eyeing the Maximum Z Feed Rate. If upping this value actually makes the Z stage move faster, it will go on my list of things to always enable – it should (might) help a lot with those blobs you get when Z moves up to the next layer.

If you want to enable this and see if you can make your Z blobs disappear, make sure to disable Jitter first.

Multiply: Enabled. Multiple is another one that rules. Enable it, set both Number of Rows and Number of Columns to 1 and skeinforge will automatically make sure your object is centered and on the platform. Very helpful.

If you want to print multiply copies of an object at once, you can mess with the rows and columns values – this is useful on small objects, since they tend to print too quickly and have heat problems. (which Cool would also help, if we had stepper extruders or well-controlled ooze)

Oozebane: Disabled. Oozebane tries to limit ooze (the extra strings you have to clean up post-print) by shutting the extruder off a little early. It can also turn the extruder on a little early if you have lag between when the machine is supposed to start and when it actually starts.

Probably very useful but I think it’s tricky to configure correctly and don’t use it.

Preface: There’s no enable/disable on this one. Take the defaults.

Raft: Enabled, even if you don’t want to print rafts. Actually, I’m not sure this always needs to be enabled now, since the temperature settings moved to a different module – they used to be in raft.

I just leave it enabled anyway. If you don’t want to print a raft, just set Base Layers and Interface Layers to 0 instead of disabling it.

Speed: Enabled. Two more of the Big 4 (or 5) settings live here: flow rate and feed rate.

Splooge: Disabled. Yet another module that I’m not to sure on. Seems related to oozebane.

Temperature: Enabled. This is where you can tell skeinforge to use different temperatures for different parts of the object. Note the Cooling and Heating rates in this module – if you use different temperatures for different parts of the object, these control how long skeinforge will orbit between the different parts. (I use the same temp for everything because I don’t want it to orbit)

Tower: Disabled. Another good (or at least interesting) module that I don’t use. Say you want to print ”I I” standing up. Tower tells it to print multiple layers of one leg then drop back down and print multple layers of the other leg.

This is useful because you’ll have a lot less ooze between legs but beware using it on objects that have small legs – using tower on objects like that will encourage heat-related problems which, IMO, are worse than ooze.

Unpause: Disabled. I think this tries to bump up your feed rate a bit to compensate for processing delays on complicated objects.

If you have problems printing things like bolt holes or other feature that have lots and lots of little turns in them, you can try enabling this. Beware having your feed rate times the Unpause “Maximum Speed (ratio)” being higher than your maximum useful feed rate, though – if you speed things up too much, your print will end up worse than before.

Widen: Disabled. Yet another module I’m not sure of.

Wipe: Disabled. This one’s good if your ‘bot has a toothbrush. This lets you send the bot to some particular position at the end of every layer so the extruder nozzle can get cleaned off.

If you set the Wipe Period to some big number, it should do this only at the very start of the print, before it does anything else. If you’ve got some sort of brush mounted in your bot, this is useful for auto-cleaning up the test extrusion.

That’s it!

Next up: Creating a new profile…

Thanks Dave!

  1. Photo courtesy of Great Beyond []
Tagged with , , , 6 comments
 

Configuring Skeinforge: Five Critical Settings with Dave Durant!

Skeinforge!  Go!

Skeinforge! Go!

Dave Durant has done it again with a second post in his series about configuring Skeinforge for your 3D printer.1 Skeinforge has been integrated with ReplicatorG versions 0017 onwards.  His guide about the five most critical Skeinforge settings is extremely helpful.  Lock down these five settings and off you go!  Once again, take it away Dave!!!

Unlike the previous post which was sortofa mini Skeinforge dictionary, this one is about some parameters you’ll actually find in Skeinforge. This was written with Skeinforge 31 (“10.09.21″) in mind but anything past version 20 or so should be pretty close. Hopefully future ones will be, too.

Although there are many, many parameters in Skeinforge, I think there are 4 or 5 really important ones that make up the foundation of a profile. A good portion of the other parameters in Skeinforge are ones that reference these parameters (usually with that darn “over” word in there) so if you get any of these 4-5 big ones wrong, it will have a ripple effect. More than any other settings in Skeinforge, these are the ones I try to get right first when making up a new profile.

Layer Thickness: I always think of this as “layer height” though skeinforge never calls it that – it uses the term “layer thickness.” I’m going to stick with layer height because I think that’s a less ambiguous term (“thickness” can mean vertical or horizontal and “height” is really just vertical, so I like “height”).

A MakerBot prints an object by drawing (with plastic) one layer, moving up a little then drawing another layer. Do this enough times and put down enough layers and you’ve got yourself a real, physical object.

Layer height is simply the height of each of these layers. You don’t really get to print an object with different layer heights - you pick one value and that’s the height for every layer in the object.

In a lot of ways, layer height equals resolution. Say you tried to print something like a wine glass but could only do it with a 1-inch layer height. If you think about a wine glass sitting on a bar (or table, bedstand, whatever) and the bottom inch of it, there’s a whole lot of detail in that one inch – there’s a wide base, which tapers tapidly to the stem which goes (mostly) straight up.

If you tried to record the description of a wine glass in 1-inch resolution then play that recording back later, it’d be complete crap – you probably couldn’t even tell it was supposed to be a wine glass because there’s just not enough resolution to accurately describe the object. For something like a big, perfectly square 3-inch cube, that sort of resolution would probably be fine but it just doesn’t work for objects with lots of detail.

As the layer height decreases, the resolution increases.

Flow Rate: This is how fast the extruder motor is turning and is frequently also called PWM, Pulse Width Modulation. PWM is like turning a light switch on & off really quickly to simulate having a dimmer dial – by varying the ‘width’ of the how long it’s on, you can change how bright it appears. Flow Rate PWM is the same thing but with a motor instead of a light.

For DC-motor extruders (which includes just about everybody with a MakerBot), a value of 255 means full speed or about 2 RPM. With a 10mm gear on the end of the motor shaft, that 255 or 2RPM means a length of ~30mm of filament going into the extruder every minute.

The really, really important bit to remember about flow rate is that this value is only about how fast the extruder motor is turning and how fast a given length of plastic is going into the extruder – it’s not the same as how much plastic is coming out of the nozzle. It’s all about the length of plastic going in.

If you’re trying to get really high quality prints out of your makerbot, this is extra important because when you buy “3mm filament” you’re actually getting anything from 2.70mm filament to 3.10mm filament. If you’ve got a skeinforge profile all nicely dialed in with a 255 flow rate on your 2.70 filament then you try using it with 3.10mm filament, you’re going to be pretty disapointed. Why? Because a 2.70mm filament has a ~5.7mm² area (cross section) and a 3.1mm filament has a ~7.5mm² area; it’s +30% more plastic per length of filament and, again, the flow rate is about how fast a given length of plastic is being fed into the extruder.

All that said, it’s important to keep in mind but in reality you’re not likely to end up switching from 2.70mm filament to 3.10mm filament – I’m just using the extreme examples to make the point. If you always buy filament from the same place, they’re probably shipping stuff that’s all pretty close to the same diameter.

One aspect of flow rate being all about the amount of plastic going into the extruder is that layer height has a much smaller impact on build time than you might think. Imagine filling up two identical boxes from a tube of liquid plastic that flows at a constant rate. On one box, you move the tube around really, really quickly so it makes lots and lots of tiny layers. On the other box, you move the tube around slowly and it makes a smaller number of thicker layers. Which one fills up quicker? Trick question! They fill at the same time. This is also true when printing – the difference in build times between low and high layer heights (on the same object with the same filament and PWM, etc) is the difference in the objects non-printing times. Non-printing times are things like travel and orbit. For something easy to print like a solid cube, there’s little non-printing time so the difference in pretty small. For something complicated, it can add up. Either way, it’s the difference in non-printing times.

You can adjust the flow rate from 1 to 255 but with DC extruders (again, that’s most of us) the nature of the beast limits us in the what numbers are actually usable. On my machine, I can get down to about 180 if the machine is nicely warmed up. Anything below that and the motor just stalls and nothing comes out of the nozzle.

If you’re really going after quality or resolution, the minimum flow rate you can use on your machine will be a good value to know. You can test this out in the ReplicatorG control panel by putting values in the ”Motor Speed (PWM)” box and trying to extrude. Note that this minimum-flow rate value may change a bit when you change filament stock, if the diameters are different and may also vary based on the temperature you extrude at and, believe it or not, the color of your filament – these probably won’t be huge differences but if you’re going for the best quality you can get, they’re good to be aware of.

Feed Rate: This is how fast the build platform moves, in milimeters per second.

A good number to know for your machine is the maximum feed rate you can use without losing quality. The ‘standard’ MakerBot profiles are usually around 30mm/second or so but you can, if you want, run the machine a lot faster – I’ve printed at over 65mm/second.

Though having the build platform zip around at +60mm/s is pretty cool (and a little scary, the first couple times) to watch, it’s probably not what you want to do. For one, it doesn’t really make the print complete any faster – that’s largely about flow rate and the non-printing moves that Skeinforge does.

Another issue is that it usually degades the quality of the print. The reason for this is the way the Cupcake X and Y stages are driven. In particular, the belts that move them around will always have a little backlash (lag when they reverse direction) no matter how tight you make them and the faster you go, the more they will vibrate – both of these things get transfered to the print and degrade quality.

Here’s an example of printing at a feed rate that the machine can do but is too fast for it to do nicely. This side of the object should be all straight, except for 3 holes and a circular indentation (it’s a Brutstruder at around 60mm/s, if you’re curious) in it. Note the waves or echos around the holes and the dent. :(

Although turning up the feed rate doesn’t really help build times, it’s something you’ll probably need to do if you start trying to increase resolution by doing stuff like turning down the layer height or using a smaller nozzle.

Keeping your belts & bolts tight and your X & Y rods oiled will help raise your maximum usable feed rate. You can also upgrade your X and Y stages to use bearings instead of bushings – not only will upgrades like that make your bot a lot quieter, they will also move more smoothly, which will help lessen the vibrations. If you’re interested in such upgrades, search through Thingiverse for “mendel inspired”.

Feed rate is what I consider to be the number one tweakable thing in a profile. That is, if you’ve got to change one of the settings listed in this blog post to make a profile come out right, this is the one to change if possible. More on that later..

Width Over Thickness, two different kinds: I don’t really care for this term, Width Over Thickness. Math scares me and it always makes me think I have to do math. I think a better term would be “Aspect Ratio”. Yes, it has the mathy word “ratio” in there but aspect ratio is a pretty common term so it’s not as bad. You can also think of these values as “width over height”, which I think would also have been a better term than “width over thickness.”

In short, these values tell Skeinforge how wide the filament being laid down is, in relation to how tall it is. If you have a layer height of 0.25mm and width over thickness values of 2.0, it’s going to generate gcode that works just right if the threads are 0.25mm tall and 0.5mm (0.25mm * 2.0) wide.

Skienforge has a number of parameters labled “width over thickness” but the two big ones are the Perimeter Width Over Thickness in Carve, how wide perimeter lines are vs layer height, and Infill Width Over Thickness in Fill, how wide infill lines are vs layer height.

In general, you should have the same value for both of these parameters. If you’re really tweaking the most out of a profile, you might want to change one just a little bit to make things come out perfectly. I think that if you have a difference more than about 0.2, something is wrong in your profile. I’m tempted to say that if the difference is more than 0.1, be suspicious.

Changing the width of threads has a big impact on two things. One is that higher numbers have more adhesion than lower numbers – they’re better at sticking to the layer below them. Picture two big circles of tape, side by side and touching. They have a puny contact area and won’t stick to each other very well. Now sorta squash them a bit so they are more oval than circular – more contact area, better stick.

The other big impact is on the feed rate. Picture the melted plastic coming out of your nozzle. If the build platform isn’t moving, you’re just going to get a big blob of plastic. If the build platform is moving really quickly, the plastic is going to stretch out and be a thin line, probably thinner than your nozzle size. If the build platform is moving slowly, you’re going to get a fat, hopefully non-blobby line.

If you raise the width/thickness values, you probably need to drop the feed rate down to make the threads come out wider. This is good news, especially if things like tiny layer heights have driven your feed rate up, but there are limits to it. If you raise width/thickness enough, you’ll have to go so slowly that the plastic will start blobbing up around the print head – beware width/thickness and layer height values that make the thread width more than the width (outside diameter) of your nozzle. That hard, brass nozzle doesn’t just spit out plastic – it also helps flatten & smooth out the tops of threads.

I had planned to yak more about the interaction of these big settings but this is getting pretty long. Reeally long. Too much coffee today or something. I’ll save that stuff for the next post..

Next in this series: Configuring Skeinforge: Moving’ on up!

Tune in next time when Dave Durant gives us another primer on the latest version of Skeinforge!

  1. Photo courtesy of Jaycoxfilm []
Tagged with , , , 19 comments