Final G-code
Start G-code
M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration
M203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate
M204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration
M205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk
M220 S100 ;Reset Feedrate
M221 S100 ;Reset Flowrate
; Start Dual Nozzle/Bed Preheating
M140 S{material_bed_temperature_layer_0} ; start preheating the bed
M104 S{material_print_temperature_layer_0} T0 ; start preheating hotend
G28 ; home
M190 S{material_bed_temperature_layer_0} ; heat to Cura Bed setting
M109 S{material_print_temperature_layer_0} T0 ; heat to Cura Hotend
G28 ;Home
G29 ;
M500 ; Save settings
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
End G-code
G91 ;Relative positioning
G1 E-2 F2700 ;Retract a bit
G1 E-2 Z0.2 F2400 ;Retract and raise Z
G1 X5 Y5 F3000 ;Wipe out
G1 Z10 ;Raise Z more
G90 ;Absolute positionning
G1 X{machine_width} Y{machine_depth} ;Present print
M106 S0 ;Turn-off fan
M104 S0 ;Turn-off hotend
M140 S0 ;Turn-off bed
M84 X Y E ;Disable all steppers but Z
Research
Change 1
Chuck Hellebuyck has a video on how to get Cura to heat up the bed and hot end at the same time. Faster Hot End & Heated Bed warm-up in Cura
Change 2
G29 - Bed Leveling (Automatic): Probes the bed and enables bed leveling compensation.
M420 - Bed Leveling State: Get and/or set bed leveling state.
'Storing Bed Leveling Mesh & Updating your Slicer' from TH3D Studio
'Unified Bed Leveling (UBL) - Marlin Firmware' from 3DMaker Engineering
'Automatic Bed Leveling' from Marlin
M500 - Save Setting: saves all configurable settings to EEPROM
Having a start g-code that uses a G29 followed by M420, is not necessary. The G29 turns on bed leveling, probes the bed, and stores the values to RAM. The M420 turns on bed leveling and reads the values from the EEPROM.
Options to make bed leveling more helpful
- Modify the start g-code to run G29 without M420
- Modify the start g-code to run G29 and M500 without M420
- Modify the start g-code to run G29, M500, and M420
- Modify the start g-code to run M420 and occasionally run a bed leveling that saves the data
In thinking through the options, I have settled on option 2. The build surface on my Ender 5 Plus is removable. Having the auto-leveling routine run before each print should help get a good first layer as the build surface develops imperfections over time. By saving the bed leveling data, I should get two benefits. The first benefit is the data will be present after the power is cycled on the printer. The second benefit is the plug-in 'Bed Visualizer' will have current data.
Change 3
The ending G-code uses the variable {machine_depth} to set the 'Y' axis. This puts the hot end in the back left corner. The problem is when the printer starts up the BL Touch sensor reports an error. My solution is to change from using the variable {machine_depth} to a value of '0'.
Update: The X0 Y0 position put the hot end in the front left corner. I am trying X{machine_width} y{machine_depth}, hopefully this puts the hot end in the back right corner.
Before Changes
Before I get started on making any changes, I recorded the start and end G-code that my version of Cura (4.6.1) is using.
Start G-code
M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration
M203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate
M204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration
M205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk
M220 S100 ;Reset Feedrate
M221 S100 ;Reset Flowrate
G28 ;Home
G29 ;
M420 S1 Z2 ;Enable ABL using saved Mesh and Fade Height
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
G92 E0 ;Reset Extruder G1 Z2.0 F3000 ;Move Z Axis up
End G-code
G91 ;Relative positioning
G1 E-2 F2700 ;Retract a bit
G1 E-2 Z0.2 F2400 ;Retract and raise Z
G1 X5 Y5 F3000 ;Wipe out
G1 Z10 ;Raise Z more
G90 ;Absolute positionning
G1 X0 Y{machine_depth} ;Present print
M106 S0 ;Turn-off fan
M104 S0 ;Turn-off hotend
M140 S0 ;Turn-off bed
M84 X Y E ;Disable all steppers but Z
No comments:
Post a Comment