Sovol3d / SV08

SV08 is a flying gantry Core-XY printer with a print area of 350x350x345mm, also a derivative work based on Voron V2.4. It aims to provide an alternative solution for 3D printing enthusiasts who are eager to use Voron V2.4 but are hindered by high costs and learning barriers. SV08 open source (including structure, hardware, and firmware) for users
GNU General Public License v3.0
125 stars 29 forks source link

bed temperature on calibration #16

Closed FCosta1 closed 2 months ago

FCosta1 commented 2 months ago

gcode_macro START_PRINT] when starts to using the macro [gcode_macro _global_var]

[gcode_macro _global_var] variable_pause_park:{‘x’: 0, ‘y’: 0, ‘z’: 10, ‘e’: 1} variable_cancel_park:{‘x’: 0, ‘y’: 350, ‘z’: 10, ‘e’: 1} variable_z_maximum_lifting_distance: 345 variable_pause_resume_travel_speed: 150 variable_bed_mesh_calibrate_target_temp: 65 variable_load_filament_extruder_temp: 230 #250 gcode:

how to change: variable_bed_mesh_calibrate_target_temp: 65

if possible to get correct temperature to pla, asa, abs, etc...

of the pre-heat bed to make calibration on the correct temp?

Or I have to change all the time the file to get this right?

FCosta1 commented 2 months ago

found... solution: in orcaslicer "machine gcode"

G28
G90
M104 S0 ; Stops OrcaSlicer from sending temp waits separately
M140 S0 START_PRINT BED_TEMP=[first_layer_bed_temperature] EXTRUDER_TEMP=[first_layer_temperature] MATERIAL=[filament_type]
M190 S[bed_temperature_initial_layer_single] ;wait for bed temp
M109 S[nozzle_temperature_initial_layer];wait for extruder temp
START_PRINT

(not need to paste the rest of start gcode from orca)

macro.cfg:
[gcode_macro _global_var]
variable_pause_park:{'x': 0, 'y': 0, 'z': 10, 'e': 1}
variable_cancel_park:{'x': 0, 'y': 350, 'z': 10, 'e': 1}
variable_z_maximum_lifting_distance: 345
variable_pause_resume_travel_speed: 150
#variable_bed_mesh_calibrate_target_temp: 65         # comment this line
variable_load_filament_extruder_temp: 230 #250
gcode:
[gcode_macro QUAD_GANTRY_LEVEL]
rename_existing:QUAD_GANTRY_LEVEL_BASE
gcode:
    {% set mesh_name = "default" %}
    {% set extruder_target_temp = params.EXTRUDER_TEMP|default(printer.extruder.target|int) %}
    {% set bed_target_temp = params.BED_TEMP|default(printer.heater_bed.target|int) %}
    {action_respond_info("Check Heating!")}
    {% if printer.heater_bed.temperature != bed_target_temp %}
        M140 S{bed_target_temp}     
        {action_respond_info("The bed target temperature was not reached!")}
        {action_respond_info("Bed heating...")}
        M190 S{bed_target_temp}
    {% endif %}
    {% if printer.toolhead.homed_axes|lower != "xyz" %}
        G28
    {% endif %}
    QUAD_GANTRY_LEVEL_BASE
    {% if current_target_temp == 0 %}
        M140 S0
    {% endif %}
[gcode_macro PROBE_CALIBRATE]
rename_existing:PROBE_CALIBRATE_BASE
gcode:
    {% set mesh_name = "default" %}
    {% set extruder_target_temp = params.EXTRUDER_TEMP|default(printer.extruder.target|int) %}
    {% set bed_target_temp = params.BED_TEMP|default(printer.heater_bed.target|int) %}
    {action_respond_info("z_offset_calibrate")}
    {% if printer.heater_bed.temperature != z_offset_calibrate_temp %}
        M140 S{z_offset_calibrate_temp}
        {action_respond_info("The bed target temperature was not reached!")}
        {action_respond_info("Bed heating...")}
        M190 S{z_offset_calibrate_temp}
    {% endif %}
    G28
    PROBE_CALIBRATE_BASE
    TESTZ z=-4
[gcode_macro BED_MESH_CALIBRATE]
rename_existing: BED_MESH_CALIBRATE_BASE
gcode:
    {% set mesh_name = "default" %}
    {% set extruder_target_temp = params.EXTRUDER_TEMP|default(printer.extruder.target|int) %}
    {% set bed_target_temp = params.BED_TEMP|default(printer.heater_bed.target|int) %}
    {action_respond_info("Check Heating!")}
    {% if printer.heater_bed.temperature != bed_target_temp %}
        M140 S{bed_target_temp}
        {action_respond_info("The bed target temperature was not reached!")}
        {action_respond_info("Bed heating...")}
        M190 S{bed_target_temp}
    {% endif %}
    {% if printer.toolhead.homed_axes|lower != "xyz" %}
        G28
    {% endif %}
    BED_MESH_CLEAR
    BED_MESH_CALIBRATE_BASE ADAPTIVE=1
    {% if current_target_temp == 0 %}
        M140 S0  
    {% endif %}
Mogh-Seriphen commented 1 week ago

After SV08 reaches center and then moves to wait location for temps it gives error:

Error evaluating 'gcode_macro START_PRINT:gcode': jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'bed_mesh_calibrate_target_temp'

I copied over your macro edits exactly. The default Machine start G-code is the following

G28 G90 G1 X0 F9000 G1 Y20 G1 Z0.600 F600 G1 Y0 F9000 START_PRINT G90 G1 X0 F9000 G1 Y20 G1 Z0.600 F600 G1 Y0 F9000 M400 G91 M83 M140 S[bed_temperature_initial_layer_single] ;set bed temp M104 S[nozzle_temperature_initial_layer] ;set extruder temp M190 S[bed_temperature_initial_layer_single] ;wait for bed temp M109 S[nozzle_temperature_initial_layer];wait for extruder temp G1 E25 F300 G4 P1000 G1 E-0.200 Z5 F600 G1 X88.000 F9000 G1 Z-5.000 F600 G1 X87.000 E20.88 F1800 G1 X87.000 E13.92 F1800 G1 Y1 E0.16 F1800 G1 X-87.000 E13.92 F1800 G1 X-87.000 E20.88 F1800 G1 Y1 E0.24 F1800 G1 X87.000 E20.88 F1800 G1 X87.000 E13.92 F1800 G1 E-0.200 Z1 F600 M400

And the following is what I edited it to based off yours:

G28 G90 G1 X0 F9000 G1 Y20 G1 Z0.600 F600 G1 Y0 F9000 START_PRINT G90 G1 X0 F9000 G1 Y20 G1 Z0.600 F600 G1 Y0 F9000 M400 G91 M83 M140 S0 START_PRINT BED_TEMP=[first_layer_bed_temperature] EXTRUDER_TEMP=[first_layer_temperature] MATERIAL=[filament_type] M104 S0 ; Stops OrcaSlicer from sending temp waits separately M109 S[nozzle_temperature_initial_layer];wait for extruder temp G1 E25 F300 G4 P1000 G1 E-0.200 Z5 F600 G1 X88.000 F9000 G1 Z-5.000 F600 G1 X87.000 E20.88 F1800 G1 X87.000 E13.92 F1800 G1 Y1 E0.16 F1800 G1 X-87.000 E13.92 F1800 G1 X-87.000 E20.88 F1800 G1 Y1 E0.24 F1800 G1 X87.000 E20.88 F1800 G1 X87.000 E13.92 F1800 G1 E-0.200 Z1 F600 M400

If im just an idiot, make sure to let me know please.