Determining the temps and speeds for DIY printers?
I've been going down the learning road with two broken printers that I'm rebuilding with better parts and electronics.
One thing that I've recognized is that there is a pretty low likelihood that any hotend or heatbed that has had the thermistor/thermocouple and/or the printer board swapped with a non-OEM part can be trusted to accurately report it's own temperature.
Sure, there are lots of things I can (and do) do to try to make it as accurate as reasonable like calibrating with thermistors from multimeters, IR thermometers, etc., but each method has limitations. You never know if the 2nd thermistor is mounted both correctly, or if it is reading the same local temp as the printer thermistor. IR thermometers have issues with reflective surfaces (like aluminum hot ends and build plates) Calibrating the thermistor constants from experimental data isn't perfect.
IMHO, any hotend/heatbed temp on a DIY setup might be off by a constant ± 5 °C or so, more if it is poorly calibrated.
Printers use PID controlled heaters to keep oscillations down to a degree or two Celsius, because people say it impacts print quality.
Is there a good visual or experimental way to know whether your temperatures are "correct" for your printer/filament? IOW, if my filament was supposed to be heated to 220 °C, how would I know if my printer was having issues because the "true" temperature is only 215 °C (or 225 °C) when it is reporting 220 °C?
One common problem I've experienced is the nozzle clogging after the transistion from layer 1 to layer 2. (Layer 1 = higher heat and slower speeds, Layers 2+ = lower heat and faster speeds.) It's been a struggle to know which factor (lower heat or faster speeds) are to blame for the clogs after the transition.
The short answer is, you use the temps and speeds that give you good results. It's trial and error.
The temperature number your printer reports really doesn't matter. That's just a process control variable: it needs to be consistent and repeatable, but it doesn't need to be accurate against an independent reference. What you should care about is your print results.
Some signs your printing temp is too cold:
- PLA printed parts have a dull, matte surface
- Poor layer adhesion
- Extruder stalls or strips the filament at fairly low printing speeds for your extruder and nozzle size
Some signs your printing temp is too hot:
- PLA printed parts have a very shiny surface
- PLA has a very strong sugary/waffle smell, or any material smells burnt
- Stringiness during travel moves that you can't eliminate by tuning retraction
- Excessive oozing while the nozzle is stationary off the print
- Bubbles or cloudiness in extruded strands in extruded strands even with dry filament
You will also calibrate speeds via trial and error. There are two main speed limits for a printer: how fast the motion mechanism can move the nozzle without running into issues or unacceptable print quality degradation (which is also a function of acceleration settings), and how fast the hot end can heat up and melt filament.
The mechanism speed limits you have to find via trial and error. Pick a test print you like (such as Benchy) and repeat it with different tuning until you find your preferred limits.
Melt flow restrictions are slightly more complex, because they are a function of VOLUME flow rate, not commanded speeds. Make a large boxy test print (with long straight lines) and multiply extrusion width times layer height times feedrate. That will give you your approximate flow rate in mm3/sec. Generally speaking, every extruder + hot end + material combo will have a maximum feasible flow rate. For example, most "average" hobbyist printers with 0.4 mm nozzles and good extruders can extrude about 4-8 mm3/sec with PLA. PTFE-lined hot ends are at the lower end, all-metal hot ends are at the higher end. The value will depend on your hardware. But you can do a few quick benchmarking tests to find the limit, and then use that to determine peak feedrates to avoid exceeding the melt capacity of your system.
Could it be right that the *volumetric speed* [mm^3/sec] is something like **layer_height * nozzle_diameter * print_speed**? So a layer height of 0.2mm with a nozzle of 0.4mm and a print speed of 50mm/s would give a volumetric speed of 4 mm^3/sec. This can, for instance, be used for advanced speed control in Slic3r.
@TormodHaugene You want to use extrusion width because many/most people extrude strands much wider than the nozzle, and that's more volume flowing through the orifice. Unfortunately, it does depend on the slicer. They all do volume calculations a little differently. Slic3r's volume calculations in particular are screwy because it requires an oval strand cross-section, which is only physically accurate for [extrusion width > nozzle diameter + layer height]. See micrograph pics here: https://groups.google.com/d/msg/3dp-ideas/2FG_gUxa_fE/tGPx-yPu8lcJ
@RyanCarlyle, Thanks for sharing, I see you have explored the topic quite a bit!
@TormodHaugene A while back, I realized that different communities have different "best practices" for extrusion width vs nozzle size, and I spent a while trying to figure out why. Eventually traced it down to differences in 1) slicer algorithms and 2) nozzle tip geometry. For example, somebody running an E3Dv6 with Slic3r will have different optimal settings than someone running a Replicator 2 with Makerware. Not a lot of people realize that.
@RyanCarlyle, you are right indeed. I have tried to understand how handle random events of massive over extrusion in Slic3r for some time. Setting extrusion with == nozzle diameter appears to "fix" it for individual prints, but at the cost of reduced print strength, increased time to print, and so on. On the other hand, I think your point about nozzle geometry is a very good one, one that I have not thought of until now!
As per the detailed answer given by Ryan Carlyle, it can be a trial and error process to determine the optimal settings for your printer. This certainly does not require absolute accuracy of the temperature sensors1 or the use of ideal filament to achieve. In your slicing program it should be possible to increment or alter the parameters - like 'flow rate' or 'printing temperature' during a print of a simple shape - in such a way that is is possible to make subjective comparisons.
Some enthusiast videos detail a method of using a slicer program to print a simple hollow column and to increment a particular parameter from say 90 % to 110 % of the "ideal" values in fixed steps every 5 mm in the Z direction. One can then observe the output and make a subjective determination of the print quality along the length of the column, and adopt the parameter value associated with the position in Z that produced the "best" outcome in terms of finish, strength and layer adhesion.
A standard plugin for the free slicer program "Ultimaker Cura" called "TweakAtZ" allows one to generate such a script, and could be a good option even if you normally would use a different slicer. A user on the youtube site (with which I have no association) detailed this approach in a video titled How to Find the Perfect Print Settings For Your 3D Printer. They went on to recommend this process be undertaken each time a new roll of filament is loaded in the printer.
I consider the method to be a good suggestion, as I find the suggestion "Pick a test print you like (such as Benchy) and repeat it with different tuning until you find your preferred limits." to be a potentially very wasteful and nonproductive proposition to an inexperienced user.
1 Directly calibrating the accuracy of the indicator for the temperature sensor inside the extruder would be no small feat, and as has been mentioned above would likely be of little value. If absolutely necessary it would probably best be done with a small gauge wire twisted Type "T" thermocouple wire tip inserted directly into the extruder nozzle if possible. Using an IR thermometer not would be appropriate due to the size of the target vs the IR thermometer's field of view and the emissivity of the nozzle as you have already observed.
It looks like you have to calibrate your thermometer first. The easiest way is to use well known thermistor (preferably in well working printer) and then measure temperatures with your thermometer. This way will give you proper calibration of it. Then you can measure other thermistors with this thermometer.
Of course it requires to keep conditions constant as far as possible.
But to be honest... I don't really feel (or see) if there is a big difference with temperature ± 10 °C.
Let's say my filament has temperatures from 185 °C to 225 °C and I tell you there is no difference (at least I don't see it) if it's 190 °C or 210 °C.
Of course this difference is crucial when you reach min/max temperature but in the middle...
License under CC-BY-SA with attribution
Content dated before 7/24/2021 11:53 AM
darth pixel 6 years ago
thanx for precise description of "too hot". I vote up.