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!