diff --git a/calibration.html b/calibration.html index d74f230..f876a1e 100644 --- a/calibration.html +++ b/calibration.html @@ -710,7 +710,7 @@
Wipe moves the nozzle back towards the recently printed geometry to wipe ooze off. If you are having trouble reducing stringing, it may be a good option.
Both coast and wipe are turned off in the gcode generator below.
  • Maximum extruder feedrate: Your firmware may have a hard limit imposed on extruder movement that is below the retraction speed values you are attempting to use with the form above. You may need to use M203 to raise the extruder feedrate limit to try higher values for retraction speed. This potentially needs to be saved with M500 if you want it to be permanent.
  • -
  • Travel feedrate: A travel move is one where the printer moves to a new location without extruding. The slower this move is, the more time filament will have to ooze from the nozzle and add to stringing. The feedrate is set to 100mm/sec in the gcode generator above. Matching this in your slicer is advised if these tests look better than your own slicer results.
  • +
  • Travel feedrate: A travel move is one where the printer moves to a new location without extruding. The slower this move is, the more time filament will have to ooze from the nozzle and add to stringing. The default feedrate is set to 100mm/sec in the gcode generator above, and increases or decreases based on the user feedrate input. Matching this in your slicer is advised if these tests look better than your own slicer results.
  • Travel acceleration: This test does not manipulate travel acceleration but increasing its value may help reduce stringing. You can change travel acceleration with M204 and the T argument.
  • Linear advance: Linear advance, covered later in this guide, can drastically improve the accuracy of our extrusion. It has a significant impact of retraction (reducing the need), so after configuring linear advance you may need to revisit retraction.
  • Slicer differences: The gcode generated below was originally sliced by Simplify3D. The settings you establish should translate to your slicer quite well but there may be idiosyncrasies. For instance, Cura measures extra restart distance in volume rather than length.
  • diff --git a/js/createform.js b/js/createform.js index e87559e..1f66f46 100644 --- a/js/createform.js +++ b/js/createform.js @@ -238,8 +238,9 @@ var feedrate = `

    Feedrate

    `; var accel = `

    Base feedrate/speed

    -

    You can specify the feedrate for X and Y movements. The inner perimeter will be set to this speed and the outer perimeter 50% of this speed. It is recommend to follow the process above to calculate safe limits for feedrate.

    - +

    You can specify the feedrate for X and Y movements. Both the inner and outer perimeter speed can be specified. It is recommend to follow the process above to calculate safe limits for feedrate.

    +

    +

    Acceleration and jerk/junction deviation

    After entering M503, I have determined my 3D printer firmware uses:

    diff --git a/js/gcodeprocessing.js b/js/gcodeprocessing.js index 4451a24..0b7bef6 100644 --- a/js/gcodeprocessing.js +++ b/js/gcodeprocessing.js @@ -216,7 +216,8 @@ function processGcode(formName) { } // collect acceleration inputs if(name == "accelerationForm"){ - var feed = formName.feedrate.value*60; + var inner = formName.innerFeedrate.value*60; + var outer = formName.outerFeedrate.value*60; var jerk_or_jd = formName.jerk_or_jd.value; var a1 = formName.accel_a1.value; var a2 = formName.accel_a2.value; @@ -401,7 +402,7 @@ function processGcode(formName) { gcode = gcodeArray.join("\n"); } } - // experimental feedrate change + // feedrate change if(name != "accelerationForm"){ if(feedMod != 1){ var gcodeArray = gcode.split(/\n/g); @@ -422,9 +423,9 @@ function processGcode(formName) { // changes for acceleration test if(name == "accelerationForm"){ // edit feedrates - gcode = gcode.replace(/F3600/g, "F"+feed+" ; custom feedrate - full"); - gcode = gcode.replace(/F2880/g, "F"+feed+" ; custom feedrate - full"); - gcode = gcode.replace(/F2160/g, "F"+feed/2+" ; custom feedrate - half"); + gcode = gcode.replace(/F3600/g, "F"+outer+" ; custom outer perimeter feedrate"); + gcode = gcode.replace(/F2880/g, "F"+outer+" ; custom outer perimeter feedrate"); + gcode = gcode.replace(/F2160/g, "F"+inner+" ; custom inner perimeter feedrate"); // add acceleration segments gcode = gcode.replace(/;process Process-1/, "M201 X50000 Y50000 Z50000; custom raise acceleration limits\nM204 P"+a1+" ; custom acceleration - A\n;j1"); gcode = gcode.replace(/;process Process-2/, "M204 P"+b1+" ; custom acceleration - B\n;j2");