diff --git a/calibration.html b/calibration.html index 0f00291..eac5a9c 100644 --- a/calibration.html +++ b/calibration.html @@ -409,67 +409,82 @@ M84 ; disable motors
My method of determining the correct flow rate is to print a hollow, single wall cube with a specified wall thickness, then measure the actual thickness of the wall and adjust the flow rate in the slicer to suit.
Some people prefer to have multiple walls and measure them together. For example, if the extrusion width was 0.4mm with two perimeters, then you would be hoping to measure 0.8mm for the cube wall. This does introduce more variables, such as the amount of perimeter overlap, and therefore a risk of the process failing. This is why I personally prefer a single wall cube, but each to their own.
Unfortunately, I can't provide pre-sliced gcode for this process. It is vital to use gcode generated by YOUR slicer. Setting up your slicer to print the cube in the right way should be simple by following these steps:
-Step | -Cura | -Simplify3D | -PrusaSlicer | +||||||
---|---|---|---|---|---|---|---|---|---|
1. Import STL | -cube.stl | +cube.stl | |||||||
2. Turn off infill | -Infill > Infill density: 0% | -General settings > Infill percentage: 0% | -Print settings > Infill > Fill density: 0% Also set infill to 0% on main panel |
+ Infill > Infill density: 0% | +General settings > Infill percentage: 0% | +Print settings > Infill > Fill density: 0% Also set infill to 0% on main panel |
+ Print settings > Infill > Sparse: 0% Also set infill to 0% on main panel |
+ Template > Infill > Infill density: 0% | |
3. Turn off top layers | -Top/bottom > Top/bottom thickness > Top layers: 0 | -Layer > Top solid layers: 0 | -Print settings > Layers and perimeters > Horizontal shells > Top: 0 | +Top/bottom > Top/bottom thickness > Top layers: 0 | +Layer > Top solid layers: 0 | +Print settings > Layers and perimeters > Horizontal shells > Top: 0 | +Print settings > Perimeters and Shell > Horizontal shells > Top: 0 | +Template > Solid Fill > Top solid fill layers: 0 | |
4. Ensure wall thickness is a known value. Substitute whatever values you like here. This example uses 0.4, which is common for a 0.4mm nozzle and 0.2mm layer height. |
- Walls > Wall thickness: 0.4 | -Extruder > Extrusion width > tick manual > 0.4 | -Print settings > Advanced > Extrusion width > Default extrusion width: 0.4 + | 4. Ensure wall thickness is a known value. Substitute whatever values you like here. This example uses 0.4, which is common for a 0.4mm nozzle and 0.2mm layer height. |
+ Walls > Wall thickness: 0.4 | +Extruder > Extrusion width > tick manual > 0.4 | +Print settings > Advanced > Extrusion width > Default extrusion width: 0.4 and - Print settings > Advanced > Extrusion width > Perimeters: 0.4 + Print settings > Advanced > Extrusion width > Perimeters: 0.4 and - Print settings > Advanced > Extrusion width > External perimeters: 0.4 - |
+ Print settings > Advanced > Extrusion width > External perimeters: 0.4
+
+ Print settings > Width and flow > Extrusion width > default: 0.4 + and + Print settings > Width and flow > Extrusion width > perimeter: 0.4 + and + Print settings > Width and flow > Extrusion width > external perimeter: 0.4 |
+ Template > Extruder > Extrusion width: 0.4 |
5. Set outer wall thickness to single extrusion | -Walls > Wall line count: 1 (Also ensure Walls > Alternate extra wall is disabled) |
- Layer > Outline/Perimeter shells: 1 | -Print settings > Layers and perimeters > Vertical shells > Perimeters: 1 | +Walls > Wall line count: 1 (Also ensure Walls > Alternate extra wall is disabled) |
+ Layer > Outline/Perimeter shells: 1 | +Print settings > Layers and perimeters > Vertical shells > Perimeters: 1 | +Print settings > Perimeters and shell > Vertical shells > Perimeters: 1 | +Template > Layer > Shells: 1 | |
6. Set flow rate to default: 1.0 / 100% | -Material > Flow: 100 & Material > Initial Flow: 100 (first layer flow) | -Extruder > Extrusion multiplier: 1.0 | -Filament settings > Filament > Extrusion multiplier: 1 | +Material > Flow: 100 & Material > Initial Flow: 100 (first layer flow) | +Extruder > Extrusion multiplier: 1.0 | +Filament settings > Filament > Extrusion multiplier: 1 | +Filament settings > Filament > Extrusion multiplier: 1 | +Primary extruder > General > Flowrate: 100% | |
7. Enable vase/spiral mode (optional) | -Not recommended for Cura. Testing suggests the flow rate is increased which will void the test. | -Layer > Single outline corkscrew printing mode (vase mode) | -Print settings > Layers and perimeters > Vertical shells > Spiral vase | +Not recommended for Cura. Testing suggests the flow rate is increased which will void the test. | +Layer > Single outline corkscrew printing mode (vase mode) | +Print settings > Layers and perimeters > Vertical shells > Spiral vase | +Print settings > Perimeters and shells > Vertical shells > Spiral vase | +Template > Layer > Spiral vase mode | |
8. Expected result: | -![]() |
- ![]() |
- ![]() |
+ ![]() |
+ ![]() |
+ ![]() |
+ ![]() |
+ ![]() |
Cura | -Simplify3D / PrusaSlicer | +Cura / ideaMaker | +Simplify3D / PrusaSlicer / SuperSlicer | |||||
---|---|---|---|---|---|---|---|---|
Retraction Parameter | -Cura | -Simplify3D | -PrusaSlicer | +|||||
Retraction distance: The length the filament is pulled away from the nozzle in mm. | -Travel > Retraction distance | -Extruder > Retraction distance | -Printer settings > Extruder 1 > Retraction > Length | +Travel > Retraction distance | +Extruder > Retraction distance | +Printer settings > Extruder 1 > Retraction > Length | +Printer settings > Extruder 1 > Retraction > Length | +Template > Extruder > Retraction > Retraction Material Amount |
Retraction speed: The speed at which this filament is withdrawn in mm/sec. | -Travel > Retraction speed | -Extruder > Retraction speed | -Printer settings > Extruder 1 > Retraction > Retraction Speed | +Travel > Retraction speed | +Extruder > Retraction speed | +Printer settings > Extruder 1 > Retraction > Retraction Speed | +Printer settings > Extruder 1 > Retraction > Retraction Speed | +Template > Extruder > Retraction > Retraction Speed |
Extra restart distance: The retraction distance will be reversed when the travel (non-extruding) movement is over. This is typically zero, but you can opt for extra filament to be extruded (a positive value) or less than what was retracted (a negative value). Also measured in mm. | -Travel > Retraction extra prime amount | -Extruder > Extra restart distance | -Printer settings > Extruder 1 > Retraction > Extra length on restart | +Travel > Retraction extra prime amount | +Extruder > Extra restart distance | +Printer settings > Extruder 1 > Retraction > Extra length on restart | +Printer settings > Extruder 1 > Retraction > Extra length on restart | +Template > Extruder > Retraction > Extra Restart Amount |
Prime (unretract) speed: The speed at which this filament is reintroduced to the nozzle in mm/sec. | -Travel > Retraction prime speed | -Not supported. S3D will use retraction speed as prime speed. | -Printer settings > Extruder 1 > Retraction > Deretraction speed | +Travel > Retraction prime speed | +Not supported. S3D will use retraction speed as prime speed. | +Printer settings > Extruder 1 > Retraction > Deretraction speed | +Printer settings > Extruder 1 > Retraction > Deretraction speed | +Template > Extruder > Retraction > Restart Speed |
Z hop: The amount the nozzle lifts vertically in mm during a travel (non-extruding) movement. After this movement, the correct Z value is then restored before the filament is unretracted/primed again ready for printing. | -Travel > Z hop when retracted | -Extruder > Retraction vertical lift | -Printer settings > Extruder 1 > Retraction > Lift z | +Travel > Z hop when retracted | +Extruder > Retraction vertical lift | +Printer settings > Extruder 1 > Retraction > Lift z | +Printer settings > Extruder 1 > Retraction > Lift z | +Template > Extruder > Retraction > Z Hop at Retraction |
One strategy is to calculate the fastest your 3D printer can move while extruding cleanly, set this feedrate in the slicer, and then tune acceleration to meet this speed. If you are not interested in printing as fast as possible, skip to the next section.
This part of the guide and calculator is adapted from Martin Pirringer's tutorial. Please consider supporting him and his robotics team through paypal or you can also donate to team 1989 through their Team 1989 Web Site
The following calculator will assist you in determining the maximum feedrate your printer/extruder/hot end is capable of.
-Input setting: | -Cura | -Simplify3D | -PrusaSlicer | +|||||
---|---|---|---|---|---|---|---|---|
- | Quality > Line width | -Extruder > Extrusion width | -Print settings > Advanced > Extrusion width > Default extrusion width | +Quality > Line width | +Extruder > Extrusion width | +Print settings > Advanced > Extrusion width > Default extrusion width | +Print settings > Width & Flow > Extrusion width > default | +Template > Extruder > General > Extrusion width | +
Your maximum reliable XY feedrate is 90 mm per second.
Warning: This value is dependent on a number of variables such as filament type, brand, colour, ambient temperature, etc. Be conservative to ensure success.
- - - +We will now produce an acceleration tower to conveniently test back to back settings in a single print. If you would like to slice the model yourself, here is the STL: accelerationtower.stl. It should be sliced with a normal base, but hollow, no top layers and only 2 perimeters.
The only thing you need to know before this test is whether your firmware is set up for jerk (older) or junction deviation (newer). Entering M503 via terminal will give a list of printer variables:
@@ -910,8 +937,8 @@ M84 ; disable motorsM500
Each of these parameters can also be entered and stored from the configuration menu of the Marlin LCD.
Cura and PrusaSlicer both have the capability to control these parameters from the slicer by inserting appropriate gcode. If you are finding that your new acceleration values are not taking effect, you may need to also set them in the slicer. This is actually a desirable feature, as it allows more aggressive settings for infill and features that can't be seen in the final print, yet be more conservative for outer walls where aesthetics are paramount.
+Cura, PrusaSlicer and SuperSlicer all have the capability to control these parameters from the slicer by inserting appropriate gcode. If you are finding that your new acceleration values are not taking effect, you may need to also set them in the slicer. This is actually a desirable feature, as it allows more aggressive settings for infill and features that can't be seen in the final print, yet be more conservative for outer walls where aesthetics are paramount.
Select your nozzle diameter and layer height. If you have not changed your nozzle, it will likely be 0.4 mm. 0.2 mm is a typical layer height for this nozzle.
25 options are available, however some of the tests don't work very well with the larger options.
diff --git a/js/gcodeprocessing.js b/js/gcodeprocessing.js index a347cce..b123ef2 100644 --- a/js/gcodeprocessing.js +++ b/js/gcodeprocessing.js @@ -77,8 +77,8 @@ function flowCalc2(){ var maxExtVol = 7.22; var maxFeedRate = 100; function maxExt(){ - var dia = document.maxExtrusion.filDia.value; - var max = document.maxExtrusion.maxFeed.value; + var dia = document.maxExtrusion1.filDia.value; + var max = document.maxExtrusion1.maxFeed.value; var result = ((Math.pow(dia/2, 2))*Math.PI)*(max/60); var str = result.toFixed(2); maxExtVol = parseFloat(str); @@ -86,8 +86,8 @@ function maxExt(){ } function maxFee(){ - var layH = document.maxExtrusion.layerH.value; - var layW = document.maxExtrusion.layerW.value; + var layH = document.maxExtrusion2.layerH.value; + var layW = document.maxExtrusion2.layerW.value; var maxFeedRate = Math.floor(maxExtVol/(layH*layW)); $('#maxFee').html(maxFeedRate); }