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.
-
+
The following calculator will assist you in determining the maximum feedrate your printer/extruder/hot end is capable of.
Clear debris from hobbed gear, bring nozzle up to normal printing temp and load filament.
Enter the following into pronterface. This will set movement to relative and then extrude 50mm of filament at a feedrate of 2mm/sec:
@@ -910,14 +909,24 @@ M84 ; disable motors
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:
-
-
If the M205 line contains the letters X, Y & Z, your printer is running jerk. The numbers after the X,Y & Z are your current jerk values for each axis.
-
If the M205 contains the letter J, your printer is running junction deviation. The number after the J is your current junction deviation value.
-
-
The image below shows an example of each of these scenarios:
-
-
Use the following form to customise the gcode to your liking:
+
+
+
With Marlin firmware, 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:
+
+
If the M205 line contains the letters X, Y & Z, your printer is running jerk. The numbers after the X,Y & Z are your current jerk values for each axis.
+
If the M205 contains the letter J, your printer is running junction deviation. The number after the J is your current junction deviation value.
+
+
The image below shows an example of each of these scenarios:
+
+
Use the following form to customise the gcode to your liking:
+
+
+
Klipper uses both ACCEL and ACCEL_TO_DECEL. The difference between the is explained here.
+
Klipper uses a value known as Square Corner Velocity (SCV) instead of junction deviation or jerk, but the idea behind it is the same. A value of 5 mm/sec will allow the toolhead to slow to and maintain a 5 mm/sec speed for a 90 degree corner. This speed will be higher for a shallower turn and lower for a sharper turn.
+
+
+
RepRapFirmware uses M205 to set Max Instantaneous Speed Change instead of jerk or junction deviation, but the idea behind it is the same.
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.
@@ -372,21 +373,27 @@ var feedrateTower = /*html*/ `
Feedrate/speed
var feedrateWarning = /*html*/ `
Some users have experienced printing failures with gcode generated by this site when their regular slicer is able to create a successful print with the same STL. The gcode on this site does not use any slow down for short layers to aid cooling, whereas default profiles in some slicers do. This means that your regular slicer may be printing this file a fair bit slower than you realise. To match this on this site, simply lower the default feedrate in the form above.
`
-
var accel = /*html*/ `
Base feedrate/speed
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.
Delta printer
-
Delta printers require X, Y and Z acceleration limits to be raised at the start of the test, whereas cartesian and coreXY only need X and Y limits raised. Tick the box if you are printing this test on a delta printer in order to set the correct behaviour.
+
Delta printers require X, Y and Z acceleration limits to be raised at the start of the test, whereas cartesian and coreXY only need X and Y limits raised. Tick the box if you are printing this test on a delta printer in order to set the correct behaviour.
-
Acceleration and jerk/junction deviation
-
After entering M503, I have determined my 3D printer firmware uses:
-
-
-
Based on the values you saw from M503, enter variables around this below.
-
Junction deviation requires a single value, whereas jerk has separate values for X and Y. You can leave them the same or enter independent values.
-
You should only change either acceleration or jerk/junction deviation for each test print, otherwise it will be impossible to know which parameter is responsible for any changes.
+
Firmware
+
I am running this test on a printer with:
+
+
+
+
+
Acceleration and jerk/junction deviation
+
After entering M503, I have determined my 3D printer firmware uses:
+
+
+
Based on the values you saw from M503, enter variables around this below.
+
Junction deviation requires a single value, whereas jerk has separate values for X and Y. You can leave them the same or enter independent values.
+
+
You should only change either acceleration or jerk/junction deviation/SCV/MISC for each test print, otherwise it will be impossible to know which parameter is responsible for any changes.
Suggested increments for how much to vary the value for each segment are shown in green.
@@ -394,10 +401,14 @@ var accel = /*html*/ `
Base feedrate/speed
Reference diagram
Segment
Acceleration (mm/sec/sec)
± 100 (moving bed i3)
± 500 (coreXY / delta)
-
Jerk X
± 1
-
Jerk Y
± 1
-
Jerk Z (delta only)
± 1
-
Junction deviation
± 0.01 - 0.05
+
Jerk X
± 1
+
Jerk Y
± 1
+
Jerk Z (delta only)
± 1
+
Junction deviation
± 0.01 - 0.05
+
Squarer corner velocity (mm/sec)
± 1
+
Maximum Instantaneous Speed change X (mm/sec)
± 1
+
Maximum Instantaneous Speed change Y (mm/sec)
± 1
+
Maximum Instantaneous Speed change Z (mm/sec) (delta only)