Hi Smithy, my Cura profile is configured to use G-Code flavor of Marlin.
Edited by 3DStyleI meant, that the Ultimaker printers do the bed leveling on their own before a print, regardless what you set in your g-code. (will maybe ignored) And as far as I know, you can override this behavior when setting the g-code flavor to Marlin.
But I am not an expert, just give some advise what I have read in the past. And if you already set it to Marlin, it will be probably something else.
-
1
tinkergnome 926
12 hours ago, 3DStyle said:Am I doing something wrong?
I think so...? It looks like a start script for Simplify3D, not for Cura?
Have you inspected the generated gcode?
The variable names are different for Cura and curly brackets are used:
; for example: ; M190 S{material_bed_temperature_layer_0} ; M109 T0 S{material_standby_temperature, 0} ; M104 T0 S{material_print_temperature_layer_0, 0} ;
AFAIK all variable names that are defined in "fdmprinter.def.json" can be used.
-
1
10 hours ago, tinkergnome said:
I think so...? It looks like a start script for Simplify3D, not for Cura?
; for example: ; M190 S{material_bed_temperature_layer_0} ; M109 T0 S{material_standby_temperature, 0} ; M104 T0 S{material_print_temperature_layer_0, 0} ;
You were right! I took those lines from a Simplify3D forum, now I understand why it didn't work out.
Anyways, I used M140 S{material_bed_temperature_layer_0} and M190 S{material_bed_temperature_layer_0} and it
works - when I start a print job that includes a build plate temperature, the bed is heating and once it's done - printer starts to initialize a G29 command. While the printer is auto bed leveling, I want the extruder to heat up, and let the machine wait until the extruder reached its temperature before starting to print.
Since my extruder is on E1, I used M104 T1 S{material_print_temperature, 1} and M109 T1 S{material_print_temperature, 1}.
Unfortunately, the extruder is not heating up. The printer starts to print and the extruder is cold. Do you know why?
Here's how my G-Code looks like now:
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;Turn layer fan OFF
M140 S{material_bed_temperature_layer_0} ;set bed temperature
G28 ;home all axis
M190 S{material_bed_temperature_layer_0} ;wait for bed temperature
M104 T1 S{material_print_temperature, 1} ; set hotend temperature
G29 ;auto bed leveling
M109 T1 S{material_print_temperature, 1} ;wait for hotend temperature
Edited by 3DStyle
I was able to make it to work! This is how the G-Code looks now:
M140 S{material_bed_temperature} ;set bed temperature
G28 ;home all axis
M190 S{material_bed_temperature} ;wait for bed temperature
M104 T0 S{material_print_temperature} ;set hotend temperature
G29 ;auto bed leveling
M109 T0 S{material_print_temperature} ;wait for hotend temperature
Now my prints are more "productive" - instead of waiting for the nozzle and/or the bed to heat up, then home XYZ, then start to auto bed leveling; now it first heats up the bed (if it set to do it), in the same time it homes XYZ, and wait for the bed's target temperature.
When the bed reaches to its temperatures, the printer will proceed to heat the nozzle and while the nozzle heats up, auto bed leveling is being executed. When the heating is all done, print starts.
-
2
I do something similar with my start code, but my bed temperature heat up takes the longest time, start the head heating at the same time too, but I don't M190 until after all the levelling, and then park & wait at a wait point. I also use the Cura standby temperature setting to partially heat up the nozzle, before going to the higher print temperature at the wait point, as too much heat here can damage the LokBuild on probing with my printhead nozzle. Cuts my preheat time and start to print time down too, so win win for me. ?
Here's what I've got for a Prusa i3 Mk3 (edited down to show warmups only). I raise the nozzle for inspection and bed cleaning, then set the nozzle up to a no-ooze temp and set the bed to a warming temp for the PINDA leveling probe . This has the side benefit of waiting to cool down to this temp if the nozzle is hot, which is good for the Prusa PINDA probe. I then drop the nozzle near the bed center for warming the PINDA probe (consistent temp yields consistent results). Once it's warmed, I re-home, set final bed and nozzle temps, wait for them to warm up, then print the prime line and go.
; Last updated 20180910
M104 S140 ; Set nozzle no-ooze warmup temp
M140 S65 ; set bed PINDA warmup temp
G28 W ; home all without mesh bed level
G0 X0 Y200 Z100.0 F1000 ; raise nozzle and present bed for cleaning
M109 ; wait for extruder no-ooze warmup temp before mesh bed leveling, cool hot PINDA
G0 X125 Y105 Z0.10 F1000; PINDA warming position
M190 S65 ; wait for bed PINDA warmup temp
M860 S35 ; wait for PINDA temp to stabilize
G28 W ; home all without mesh bed level
G80 ; mesh bed leveling
M140 S{material_bed_temperature_layer_0} ; set bed final temp
M104 S{material_print_temperature_layer_0} ; set extruder final temp
M109 S{material_print_temperature_layer_0} ; wait for extruder final temp
M190 S{material_bed_temperature_layer_0} ; wait for bed final temp
; Print prime line
G92 E0.0 ; reset extrusion distance
G1 Y-3.0 F1000.0 ; go outside print area
G1 X20.0 E6 F1000.0 ; 20mm intro line @ 0.30
G1 X60.0 E3.2 F1000.0 ; +40mm intro line @ 0.08
G1 X100.0 E6 F1000.0 ; +40mm intro line @ 0.15
G1 E-1.0 F900; retract to avoid string
G1 X95.0 E0 F1000.0 ; -5mm intro line @ 0.00
G1 X106.0 E0 F1000.0 ; +6mm intro line @ 0.00
G92 E0.0 ; reset extrusion distance
M82 ; absolute extrusion mode
Recommended Posts
Smithy 1,141
Hi
I am not really sure if this is your problem, but as far as I know, the leveling of the bed comes from the firmware itself (if you use an Ultimaker). So if you want to do it on your own, you have to switch the g-code flavor in Cura to ??? (I think Marlin).
Link to post
Share on other sites