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:

- +
- - - - + - + - - - + + + + + - - - + + + + + - - - - + + + + Print settings > Advanced > Extrusion width > External perimeters: 0.4 + + - - - + + + + + - - - + + + + + - - - + + + + + - - - + + + + +
StepCuraSimplify3DPrusaSlicer
1. Import STLcube.stlcube.stl
2. Turn off infillInfill > 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 layersTop/bottom > Top/bottom thickness > Top layers: 0Layer > Top solid layers: 0Print settings > Layers and perimeters > Horizontal shells > Top: 0Top/bottom > Top/bottom thickness > Top layers: 0Layer > Top solid layers: 0Print settings > Layers and perimeters > Horizontal shells > Top: 0Print settings > Perimeters and Shell > Horizontal shells > Top: 0Template > 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.4Extruder > Extrusion width > tick manual > 0.4Print 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.4Extruder > Extrusion width > tick manual > 0.4Print 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 > 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 extrusionWalls > Wall line count: 1
(Also ensure Walls > Alternate extra wall is disabled)
Layer > Outline/Perimeter shells: 1Print settings > Layers and perimeters > Vertical shells > Perimeters: 1Walls > Wall line count: 1
(Also ensure Walls > Alternate extra wall is disabled)
Layer > Outline/Perimeter shells: 1Print settings > Layers and perimeters > Vertical shells > Perimeters: 1Print settings > Perimeters and shell > Vertical shells > Perimeters: 1Template > 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.0Filament settings > Filament > Extrusion multiplier: 1Material > Flow: 100 & Material > Initial Flow: 100 (first layer flow)Extruder > Extrusion multiplier: 1.0Filament settings > Filament > Extrusion multiplier: 1Filament settings > Filament > Extrusion multiplier: 1Primary 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 vaseNot 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 vasePrint settings > Perimeters and shells > Vertical shells > Spiral vaseTemplate > Layer > Spiral vase mode
8. Expected result:
@@ -488,8 +503,8 @@ M84 ; disable motors - - + + @@ -669,41 +684,49 @@ M84 ; disable motors - - - + - - - + + + + + - - - + + + + + - - - + + + + + - - - + + + + + - - - + + + + +
CuraSimplify3D / PrusaSlicerCura / ideaMakerSimplify3D / PrusaSlicer / SuperSlicer
Retraction ParameterCuraSimplify3DPrusaSlicer
Retraction distance: The length the filament is pulled away from the nozzle in mm.Travel > Retraction distanceExtruder > Retraction distancePrinter settings > Extruder 1 > Retraction > LengthTravel > Retraction distanceExtruder > Retraction distancePrinter settings > Extruder 1 > Retraction > LengthPrinter settings > Extruder 1 > Retraction > LengthTemplate > Extruder > Retraction > Retraction Material Amount
Retraction speed: The speed at which this filament is withdrawn in mm/sec.Travel > Retraction speedExtruder > Retraction speedPrinter settings > Extruder 1 > Retraction > Retraction SpeedTravel > Retraction speedExtruder > Retraction speedPrinter settings > Extruder 1 > Retraction > Retraction SpeedPrinter settings > Extruder 1 > Retraction > Retraction SpeedTemplate > 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 amountExtruder > Extra restart distancePrinter settings > Extruder 1 > Retraction > Extra length on restartTravel > Retraction extra prime amountExtruder > Extra restart distancePrinter settings > Extruder 1 > Retraction > Extra length on restartPrinter settings > Extruder 1 > Retraction > Extra length on restartTemplate > 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 speedNot supported. S3D will use retraction speed as prime speed.Printer settings > Extruder 1 > Retraction > Deretraction speedTravel > Retraction prime speedNot supported. S3D will use retraction speed as prime speed.Printer settings > Extruder 1 > Retraction > Deretraction speedPrinter settings > Extruder 1 > Retraction > Deretraction speedTemplate > 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 retractedExtruder > Retraction vertical liftPrinter settings > Extruder 1 > Retraction > Lift zTravel > Z hop when retractedExtruder > Retraction vertical liftPrinter settings > Extruder 1 > Retraction > Lift zPrinter settings > Extruder 1 > Retraction > Lift zTemplate > Extruder > Retraction > Z Hop at Retraction
@@ -815,7 +838,7 @@ M84 ; disable motors

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.

-
+
  1. Clear debris from hobbed gear, bring nozzle up to normal printing temp and load filament.
  2. Enter the following into pronterface. This will set movement to relative and then extrude 50mm of filament at a feedrate of 2mm/sec:
  3. @@ -832,39 +855,43 @@ M84 ; disable motors
    G90
  4. Enter your reliable feedrate and filament diameter below:
  5. Maximum feedrate calculator
    +

    Your maximum reliable extrusion rate is 7.22 mm³ per second.

    +
  6. Enter the following settings from your slicer:
  7. - - - + + - - - + + + + + - - - + + + + + +
    Input setting:CuraSimplify3DPrusaSlicer
    Quality > Layer heightLayer > Primary layer heightPrint settings > Layer heightQuality > Layer heightLayer > Primary layer heightPrint settings > Layers and perimeters > Layer height > Layer heightPrint settings > Slicing > Layer height > Base Layer heightTemplate > Layer > General > Layer height
    Quality > Line widthExtruder > Extrusion widthPrint settings > Advanced > Extrusion width > Default extrusion widthQuality > Line widthExtruder > Extrusion widthPrint settings > Advanced > Extrusion width > Default extrusion widthPrint settings > Width & Flow > Extrusion width > defaultTemplate > 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.

    -
-

- +

Acceleration Tuning

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 motors
M500

Each of these parameters can also be entered and stored from the configuration menu of the Marlin LCD.

-
Special note for Cura and PrusaSlicer:
-

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.

+
Special note for Cura, PrusaSlicer and SuperSlicer:
+

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.

Higher acceleration without ringing: Input Shaping

diff --git a/css/styles.css b/css/styles.css index 669e80d..e9bbc71 100644 --- a/css/styles.css +++ b/css/styles.css @@ -16,13 +16,13 @@ body { box-shadow: 0px 5px 5px #88888895; } -.firmwareSelector input[type="radio"] { +.firmwareSelector input[type="radio"], .slicerSelector input[type="radio"] { opacity: 0; position: fixed; width: 0; } -.firmwareSelector label { +.firmwareSelector label, .slicerSelector label { display: inline-block; background-color: #ddd; padding: 8px 20px; @@ -34,7 +34,7 @@ body { cursor:pointer; } -.firmwareSelector input[type="radio"]:checked + label { +.firmwareSelector input[type="radio"]:checked + label, .slicerSelector input[type="radio"]:checked + label { background-color:#00c5ae31; border-color: #00c5ad; font-weight:bolder; diff --git a/img/ideamakercube.jpg b/img/ideamakercube.jpg new file mode 100644 index 0000000..6d02531 Binary files /dev/null and b/img/ideamakercube.jpg differ diff --git a/img/superslicercube.jpg b/img/superslicercube.jpg new file mode 100644 index 0000000..917fdae Binary files /dev/null and b/img/superslicercube.jpg differ diff --git a/js/createform.js b/js/createform.js index 21350f2..d8a63f0 100644 --- a/js/createform.js +++ b/js/createform.js @@ -35,6 +35,42 @@ function displayCustom(){ $('.klipperContent').hide(); $('.rrfContent').show(); } + // slicer selector + if($("#curaSelector").prop("checked") == true){ + $('.curaContent').show(); + $('.s3dContent').hide(); + $('.prusaslicerContent').hide(); + $('.superslicerContent').hide(); + $('.ideamakerContent').hide(); + } + if($("#s3dSelector").prop("checked") == true){ + $('.curaContent').hide(); + $('.s3dContent').show(); + $('.prusaslicerContent').hide(); + $('.superslicerContent').hide(); + $('.ideamakerContent').hide(); + } + if($("#prusaslicerSelector").prop("checked") == true){ + $('.curaContent').hide(); + $('.s3dContent').hide(); + $('.prusaslicerContent').show(); + $('.superslicerContent').hide(); + $('.ideamakerContent').hide(); + } + if($("#superslicerSelector").prop("checked") == true){ + $('.curaContent').hide(); + $('.s3dContent').hide(); + $('.prusaslicerContent').hide(); + $('.superslicerContent').show(); + $('.ideamakerContent').hide(); + } + if($("#ideamakerSelector").prop("checked") == true){ + $('.curaContent').hide(); + $('.s3dContent').hide(); + $('.prusaslicerContent').hide(); + $('.superslicerContent').hide(); + $('.ideamakerContent').show(); + } } var firmwareSelector = /*html*/ `
@@ -47,9 +83,25 @@ var firmwareSelector = /*html*/ `RRF

- `; +var slicerSelector = /*html*/ `
+

Use the button to switch instructions for different slicers:

+

+ + + + + + + + + +

+
+`; + + var nozzleLayer = /*html*/ `

Nozzle Diameter / Layer Height

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); }