Shop by Category
Thing-O-Matic Mk7 PLA Set-up and Troubleshooting (Likely Mk8)
While a vast improvement over previous extruders, the MK7 can still prove challenging for those wanting to get started with PLA. However, while PLA is more picky in the settings surrounding how it is printed, its benefits over other printing materials make getting over the calibration hurdle well worth it. It has little to no smell when extruded, can be used without a heated bed, undergoes less warping and cracking and can produce highly detailed features and surfaces when used in conjunction with a cooling fan. So read on and with any luck you'll be happily printing with it too. While following applies directly to those using an MK7 on a Thing-O-Matic using skeinforge 35, those using other machines and configurations should find some of this information useful. It is also likely that the following instructions will apply to those who own a Replicator as the MK8 appears to be very similar to the MK7. Be sure to have a look at the 'Tips & Troubleshooting' at the end.
But First, some vocab…
- An audible clunking from extruder stepper motor indicating the motor is unable to turn; no plastic will exit the nozzle.
- When the teeth of the drive wheel tear and strip plastic off the filament creating a semi-circular gouge where the drive wheel will no longer be able to grip; filament will feel loose if tugged and no plastic will exit the nozzle.
- Periodic loss of grip from the drive wheel to the filament; plastic will exit the nozzle unevenly. This is the hardest failure mode to diagnose as minor slipping has very few signs while wreaking havoc on calibration, print quality and consistency.
- The speed at which the nozzle moves relative to the print-bed; usually expressed in mm/s (others include mm/minute or steps/s)
- The speed at which the drive wheel turns pulling filament into the extruder. Not to be confused with Flow-Rate under the context of the volume of plastic entering the extruder expressed as cc/hr. They are directly related but for the purposes of this post Flow-Rate will always relate to the drive wheel turning.
I'm crystal; no wait I'm amorphous!
Unlike ABS, PLA is part crystalline and part amorphous.
When heated, crystalline materials exhibit a rapid phase transition, changing from solid to liquid suddenly. Water is an excellent example of this, the ice crystals are very rigid all the way up until the transition temperature is reached where all at once they become liquid. Amorphous materials, however, slowly soften when heated until they are "liquid". ABS is this way; as is glass. It is thought that PLA's ability to quickly harden upon cooling is one reason objects printed in PLA can achieve very fine feature detail when a cooling fan is used directing air towards the nozzle.
The ratio of crystallinity to amorphous in PLA filament is partly grade and partly the conditions under which the filament was made; as such the ratio can vary between different vendors of the same grade. The crystalline portions of PLA will experience a fast transition from solid to liquid while the amorphous chains of PLA will become very tacky and sticky as they soften. As such the temperature settings must be matched to the rate at which plastic exits the extruder. Going too fast or too cool and the crystalline parts of the plastic won't reach the sharp transition point from solid to near liquid in time to flow through the compression zone, effectively jamming in the nozzle. Too slow or too hot and heat traveling back up the barrel will soften the amorphous portions of PLA and gum up the barrel. At least this is what we believe to be happening.
PLA on MK7 - temperature and Flow Rate
The MK7 has low thermal mass and a steep heat gradient. That is, it can gain and lose heat quickly and has a high temperature exit point at the nozzle and a low temperature entry point at the cooling block. These two factors combined mean failures with PLA happen more often with temperatures that are too low rather than temperatures that are too high. Extruders with greater insulation and more thermal mass are able to buffer an increase in Flow-Rate for a given temperature by using heat energy already present in the system. The MK7 is not so well equipped for this and lower temperatures with higher Flow-Rates quickly bring it too it's knees. In contrast, the MK7's ability to heat it's nozzle while keeping the filament entry point cool means high temperatures with low Flow-Rates do not cause the same level of back-pressure that can be seen in other extruders. The take-away being PLA on the MK7 can withstand higher temperatures easier than it can handle lower temperatures. This is good because your extruder speed is more likely to slow down during a print (perimeter, cool plugin, support, first layer, etc.) than it is to speed up (ie. bridges). Slowing down means the temperature will overshoot for a short period so we're lucky the MK7 handles better when running too hot than it does running too cool.
The follow table and graph were found experimentally using our PLA. These are the lowest recommended temperatures for given Flow-Rates to eliminate skipping, stripping, or slipping. They are 5C higher than the temperatures where such failures no longer occurred. Due to the slightly subjective nature of detecting certain extruder failures such as slipping filament, and the many variables associated with each printer as well as the environment where it is run your actual numbers may be different; though they will likely have a similar, predictable trend. The same holds true for filament from other vendors; while temperatures are likely to follow similar to these, your actual mileage is likely to vary when using different grades or suppliers.
|Flow-Rate ( M108 RX.XX )||2||2.5||3||3.5||4||5||6||7||8|
|Temperature (C) ( M104 SXXX )||195||200||205||210||215||225||235||245||255|
The result is a surprisingly linear relationship between how much PLA is pushed through the MK7 and how hot it needs to be to keep up. It should be noted that the manufacturer lists a target melt temperature of 210+-10C with temperatures not exceeding 240C to prevent excessive thermal degradation. So while experimentally our PLA seemed to flow normally at 195C and agreeably at 255C these temperatures are still considered out of range for "proper" processing.
The units for Flow-Rate given here are the units used by skeinforge under the "Speed" plugin and are seen again in gcode next to the M108 command, ie. M108 R1.591488 where 1.591488 is the Flow-Rate.
Location of Flow-Rate in Skeinforge:
M108 - Set Flow-Rate command in gcode:
(<procedureDone> export </procedureDone>) (</extruderInitialization>) (<extrusion>) ;M113 S1.0 M108 R1.591488 ; <-- Flow Rate M104 S225.0 (<layer> 0.2 ) M108 R0.44 ...
Temperature is in Celsius and found in skeinforge under the "Temperature" plugin and again in gcode with the M104 command ie. M104 S225 where 225 is the Temperature.
Location of Temperature in Skeinforge:
M104 - Set Temperature command in gcode:
(<procedureDone> export </procedureDone>) (</extruderInitialization>) (<extrusion>) ;M113 S1.0 M108 R1.591488 M104 S225.0 ; <-- Temperature (<layer> 0.2 ) M108 R0.44 ...
If you are familiar using skeinforge directly I would recommend doing so, using the table and graph as a starting point, adjusting up if stripping or skipping occurs or down to reduce stringing and blobbing.
On to the Printing - Pre-Print Prep
1. Verify you have a flat and level build surface
2. Make sure the cooling fan is unobstructed and is blowing INTO the heat-sink
3. Ensure your initial printing height is properly calibrated
4. From the control panel, check that your temperature does not oscillate more than a couple of degrees when set to 200C
5. CLEAN THE FILAMENT DRIVER! I wasn't going to suggest doing this unless nothing else was working but am now strongly recommending you do this before you start. After prolonged use or several failures due to filament stripping the spurs on the drive wheel become stuck with pieces of filament. After removing the stepper motor from the extruder (you can leave the rest of the MK7 mounted to the machine) and cleaning the wheel with an old tooth-brush, I found my MK7 had been having to spin 10% faster to make up for filament slipping, and was now able to print 5-10C cooler while getting better looking and more consistent prints. Not to mention that if the filament driver is clean and able to effectively grip filament, when it DOES fail it will be with a much more identifiable and alerting "clunk" rather than a silent, unknown slip.
Printing with PLA (Putting the numbers to use)
The following is intended to get anyone up and running with a hard working PLA profile with a 0.2mm layer height using skeinforge directly. If you wish to use Print-O-Matic please jump below to Printing with PLA and Print-O-Matic.
Create and Set "PLA MK7" skeinforge settings
The "1.75mm PLA MK7" profile does not reflect temperatures set in the Temperature Plugin so we are going to create our own to work from. The following is done on an Apple but will be fundamentally identical for all operating systems.
1. Using the top menu go to Gcode > Edit Slicing Profiles…
2. Select any profile and hit "Locate…"
3. Duplicate "1.75mm ABS MK7"
4. Rename "1.75mm ABS MK7 Copy" to "PLA MK7" or use whatever naming convention you want, such as those below. (I'm old school and appreciate the better quality achieved by bypassing Print-O-Matic and as such have many carefully tuned profiles for different needs)
5. Navigate to "PLA MK7" > "alterations" and open "start.gcode" (you can close the "edit slicing profiles…" window)
6. Change the gcode in the boxed in area to match as shown below. These are a good set of conservative values for the extruder temperature, heat-bed temperature and initial Flow-Rate.
7. Return to Gcode > Edit Slicing Profiles…, select "PLA MK7" (or what have you), and hit "Edit…"
8. Navigate the various tabs replacing the following values with the ones below
- Layer Thickness = 0.2
- Perimeter Width over Thickness = 2.5 (equates to 0.5mm trace width)
- Infill Width over Thickness = 2.5
- Solid Surface Thickness = 5
- Feed Rate = 40
- Flow Rate = 2.85
- All Temperatures = 205
- Base Layers = 0
- Interface Layers = 0
- Object First Layer Feed Rate Infill Multiplier = 1
- Object First Layer Feed Rate Perimeter Multiplier = 1
- Object First Layer Flow Rate Multiplier = 1
Thats it! Now take that puppy for a test spin. If you want to speed up or slow down your Feed-Rate just remember that Feed-Rate and Flow-Rate are proportionate to each other. So if you halve or double one, you must do so to the other to maintain calibration. If top layers look a little sparse, tack on an additional 5% or so to "FlowRate", reduce FlowRate if surfaces look blobby or smooshy.
If there is interest we can go into more depth regarding various methods of calibration involving more than just the ol' eye-ball approach. Let us know if this is something of interest and we can work on dedicating some time to putting that together.
Printing with PLA and Print-O-Matic
Print-O-Matic is a feature Makerbot introduced into ReplicatorG in an attempt to simply profile alteration and generation. It allows someone to quickly change settings like Feed-Rate and layer height without having to go through the process of calibrating a new profile.
The problem with Print-O-Matic for our purposes is that while it amends some settings such as Flow-Rate, it does not adjust the temperature to match. To fix this we must manually search the gcode for the generated Flow-Rate and then adjust the temperature accordingly.
The saving grace of Print-O-Matic is that their formula is such that the only parameter in the most often used "Settings" tab that affects Flow-Rate is "Feedrate (mm/s)," which as we remember decides how fast your nozzle moves back and forth on the printbed. Once you find a speed that works well for your printing style you shouldn't need to alter the temperature when changing other settings like your layer height.
Access and set initial Print-O-matic settings
1. Load a model to test (20mm_Calibration_Box.stl from the "Examples" sub-menu in the "File" menu is a good one).
2. Click "Generate GCode" and access Print-O-Matic by checking "Use Print-O-Matic (stepper extruders only)"
3. Set values in the three tabs "Settings," "Plastic," and "Extruder" as shown below.
The "Settings" tab is where you're most likely to be changing things once you have Print-O-Matic setup. Simplified; "Object infill (%)" and "Number of shells" will determine the weight and strength of objects, "Layer Height (mm)" will determine the vertical resolution or blockiness, and scaling "Feedrate (mm/s)" up will adjust how fast an object is printed. For the Thing-O-Matic, practical Feed-Rates range from 15 - 55 mm/s with 30 mm/s being a common middle of the road speed. For many, the urge is to push your 3d printer too fast. While doing so does get the job done faster, you start to have problems such as poor adhesion between layers, overheating of the printed object (leading poor details and general mushiness,) and artifacts on vertical walls caused by mechanical backlash.
The overheating of an object can be a serious concern with PLA as the crystalline portions are in liquid phase and must quickly return to solid. Small objects are more susceptible to this as the previous layer has less time to cool before a fresh layer of molten plastic is laid above it. Since the most common solution to this problem (a fan directing air towards the nozzle) is not stock with the Thing-O-Matic, let's take this first print at 30 mm/s.
For "Material Type" select PLA and enter 1.7 for "Filament Diameter (mm). If you have a pair of calipers you can take your own measurements of the filament diameter. Do so in several places and enter the average under "Filament Diameter."
The "Nozzle Diameter" parameter is used to determine an optimal trace width for a given layer height taking into account the cross sectional area of purged extrudate (throw that phrase around the office). Leave it at .4 for the stock MK7 nozzle.
The "Drive Gear Diameter" parameter represents the physical drive wheel on the extruder stepper motor. Together with the "Material" selection from the "Plastic" tab this will decide what length of filament is taken in as the drive wheel rotates. To us however, this will be our fudge factor that will allow us to fine-tune the calculated Flow-Rate so our prints come out looking good and feeling strong. You'll notice the value of 11.4 is a little higher than the default yet is what was experimentally found to be a working value. Start here and adjust as needed as per the calibration section.
Generate and Modify the gcode
1. Select "PLA MK7" (or 1.75mm ABS MK7 if you skipped the previous section) and click "Generate Gcode." Select the "gcode" tab in ReplicatorG when slicing is complete.
2. Locate your Operating Flow Rate near the top of your gcode ( Edit > Find… is helpful here.)
Here we see some comments from skeinforge informing us of various values. Among them is the operating Flow-Rate and we see it has a value of ~2.783.
3. Find the extruder temperatures by searching for M104 via the menu item Edit > Find… Click "Find" a few times and note any different temperatures listed ie. S225, S205.
4. Replace temperatures with those corresponding to the Operating Flow Rate from the table below.
|Flow-Rate ( M108 RX.XX )||2||2.5||3||3.5||4||5||6||7||8|
|Temperature (C) ( M104 SXXX )||195||200||205||210||215||225||235||245||255|
In this case the existing temperature of 205 is close enough to our Flow-Rate of 2.783 that it doesn't necessarily warrant changing; but to demonstrate the process we'll split the difference and replace with 202. Don't forget to add the 'S' to the front of the temperature you want to find and replace. Hit "Replace All' and you're done.
5. Save the gcode and you're ready to print.
If you find you use a temperature often enough, you can use the previous section and hardcode the temperature into skeinforge and your start.gcode eliminating the need to alter your gcode each time it is generated.
Adjusting and calibrating Print-O-Matic
To get everything looking just right you may want to do some calibration to further match how much plastic your printer thinks its laying down to what it actually is. You could do this by tweaking the value for your filament diameter, but doing so will make using filament with a slightly different average diameter much harder. Instead we'll tweak the value for the "Drive Gear Diameter." Print a 20mm_Calibration_Box located under the drop-down menu File > Examples… setting infill to 100%. If there are gaps between the lines decrease the "Drive Gear Diameter" by about 5%; if the top layer looks blotchy and bubbly, increase the "Drive Gear Diameter." It doesn't take many iterations to hone in on a value that produces pleasing surfaces. It is important to remember that decreasing the value for the "Drive Gear Diameter" will increase the amount of plastic laid down and vice versa. If you change plastic suppliers, make sure to check the diameter of your new plastic and re-enter correct values, the calibration you did by adjusting the "Drive Gear Diameter" value should hold steady.
Again, if there is interest we can go into more depth regarding various methods of calibration involving more than just the ol' eye-ball approach. Let us know if this is something of interest and we can work on dedicating some time to putting it together.
Tips & Troubleshooting
Dwell Time - PLA doesn't do well if it sits hot in the barrel for a prolonged period. Doing so can sometimes cause a clogging of the barrel that requires backing the filament out, snipping it off at the tip and feeding back in. I find I do not have this issue if I avoid the control panel and just let the printer heat up on its own at the start of a print. If I do preheat the extruder for any particular purpose, I use the control panel to purge filament for a few seconds before starting a print.
We're not entirely certain the exact cause of this, it could be thermal degradation of the plastic, reverse polymerization due to absorbed moisture (moisture and PLA react at high temperatures causing the polymer to break apart,) or something else entirely.
Aggressive Reversals - Reversals are used to prevent ugly stringing when the nozzle must stop printing in one location and move to another. There are three components to a reversal, the length of time filament is reversed back up the barrel, the length of time it is pushed back down the barrel, and the speed at which it happens. Together they dictate how far filament is reversed. If too much filament is pulled out too fast it can cause skipping or stripping. If you hear a clunk each time the filament is reversed, or if PLA stops extruding in the middle of a print with lots of jumps you may want to adjust these in skeinforge. Values of 20 across the board for "Reversal speed," Reversal time," and "Push-back time" have served us well. Optimal settings will vary depending on each machine and profile.
Wearing of Delrin Plunger - The MK7 uses a Delrin plunger to push the filament against the drive wheel. Over time the filament will wear a rut into this plunger and one can find their carefully crafted profile no longer prints as it once did. Every now and then, take some time to verify that your printer is properly calibrated to account for this. You can also buy a replacement plunger from the Makerbot Store.
Extra Low Flow-Rates - If filament moves too slowly through the extruder you can run into similar troubles as with dwell times above. If you're like me and like super easy to remove support structures at low layer heights this can be a problem on printed objects that require large amounts of support. If you suspect this might be happening to you, try adjusting your Feed-Rate/Flow-Rate up as well as "Support Flow Rate over Operating Flow Rate" in the Raft plugin of skeinforge. The default for the latter is set at 0.7 and will probably work for most cases, the problem is when you get daring and try to go to 0.4 or lower. Going lower risks clogging but if you can manage it nothing beats soft, pillowy support.
Increases in Back-Pressure - If your printer is calculating Flow-Rates that are too high or your nozzle is too close to the print-bed (or the prior layer); there will not be enough room around the nozzle for plastic to escape. This can cause an increase in back-pressure leading to skipping, stripping, or slipping. Reducing your Flow-Rate or raising the initial height of your nozzle will help solve this.
Curling and Peeling of Base Corners - If this is happening, you are having trouble with the first layer of your print sticking. Confirm your bed is level. Clean your bed (acetone is the go-to chemical for this). Slow down your first layer (change "Object First Layer…" values under the Raft tab in skeinforge to 0.6). Lower the starting height of your nozzle, or Increase the temperature of your heated bed in increments of 5C. Save those last two until you have tried the others as they will affect the final look of your prints.
Add a Cooling Fan - To get the best definition on corners and surfaces a cooling fan is a must. If you have doubts, take a moment during a print and blow at the nozzle for a couple layers, it's quite surprising the difference it makes. Corners, walls, and overhangs (especially overhangs) will all see improvements. If you use one that makes use of the existing fan by attempting to direct air after it passes through the heat-sink you may find yourself with more trouble than its worth as it can narrow the operating temperatures for PLA even more. So if you do use one such as MK7 Extruder Fan Blower or MK7 Fan Duct v2, make sure you are already printing well with PLA so if things go south after you add it you can know whether or not it was the cause.
Poor Quality Filament - All our testing was done with the filament we stock and carry. Especially with 1.75 filament, and especially with PLA, use high quality, high tolerance filament. It doesn't have to be us, and we're not saying the cheaper guys won't work, but too many times people express frustration over cheap filament or surprise at the instant success when using a quality supplier. Roundness, diameter consistency, atmospheric voids, vacuum voids, particulates, moisture saturation, etc, if these have not been accounted for you are simply not going to get the results you want or worse you won't be able to print. If your extruder is skipping or stripping due specifically to changing diameter or oval filament, the answer is not a printed spring tensioned, ball bearing replacement, the answer is better filament. Even if you can find a way to make it extrude, at the very least you're looking at reduced print quality due to variance in Flow-Rate.
Try Alternative Filament Drivers - The two main concerns with the stock MK7 filament driver is the insufficient bite of the drive wheel into the filament leading to stripping and slipping and the increase friction cause by the Delrin plunger leading to skipping. There are a few alternatives on thingiverse worth having a look at. There is Whosawhatsis's brilliantly simple Minimalistic MK7 Replacement, and MK7 Ball Bearing Extruder Drive by Jag as well as others. One benefit to these is that the open design will let you clean the drive wheel periodically without having to disassemble the extruder. Just make sure to check for any calibration adjustments as alternative drivers may grip the filament different and push slightly more or less plastic than before.
Use an Alternative Extruder - If no matter what you do you simply cannot get things working or simply want to avoid the hassle, there are alternatives to the MK7. In addition to many popular extruders used within the reprap community (search 'extruder' or 'hot end' on thingiverse) there is the very competent MakerGear Stepper Plastruder. It comes in both 3mm and 1.75mm filament varieties, gets a bump in resolution by using planetary gears, grips filament incredibly well and very consistently, and comes with a mounting plate for the Thing-O-Matic. Not to mention MakerGear stocks an assortment of nozzles that go all the way down to 0.25mm. It currently comes in at $170 with an option for fully assembled for $20 dollars more (worth it, personally). ABS, PLA, it does it all with aplomb. The Plastruder ships with a thermistor, though you can use the existing thermo-couple from your MK7 by using Polyimide (kapton) tape to attach it to the nozzle. Bear in mind that you must be certain the thermocouple is attached firmly without chance of dislodging; a thermo-couple or thermistor coming loose from any extruder is the quickest way to a fire.
Feedback / Cheat-sheet
Let us know if this was helpful or if you have any other questions you would like to see answered. We're always happy to hear from people.
We also have a cheat-sheet you can print out that has the graph and table of temperatures for different Flow-Rates.