Hi everyone, just wanted to know if anyone of you has find out that nozzle clean routine is the same for every tipe of filament. For PLA bed and nozzle temps are perfect but when it comes to Petg or abs it uses the same temps and when it comes to adhere on the bed and being extruded I find it not good.
What do you think? Has anyone changed the macros?
I’m not currently using the official bed cleaning macro, I’m using a different one.
Theme temperatures you can set the macro to receive a specific temperature. I’ll share it with you in case you want to modify it to your liking
[gcode_macro _global_var]
variable_pause_park:{'x': 2, 'y': 225, 'z': 10, 'e': 1}
variable_z_maximum_lifting_distance: 250
variable_pause_resume_travel_speed: 150
## Nozzle Cleaning Variables
variable_cleaning: True
variable_clean_probe: False
variable_clean_end: False
variable_post_clean_home: False
variable_clean_m600: True
variable_clean_macro: 'CLEAN_NOZZLE'
variable_clean_x: 24
variable_clean_y: 230
variable_clean_z: -0.3
variable_clean_wipe_axis: 'X'
variable_clean_wipe_dist: 30
variable_clean_wipe_qty: 5
variable_clean_wipe_spd: 100
variable_clean_raise_dist: 10
variable_clean_temp: 180
variable_clean_hot: True
[gcode_macro CLEAN_NOZZLE]
gcode:
BED_MESH_CLEAR
{% set printcfg = printer['gcode_macro _global_var'] %} ; get printcfg variables
{% if printer.toolhead.homed_axes != "xyz" %}
G28
{% endif %}
{% set nozzle_targ = params.TARGET|default(0)|float %}
{% set is_hot = printcfg.clean_hot %}
{% if params.HEAT is defined %}
{% if params.HEAT|lower == 'true' %}
{% set is_hot = False %}
{% elif params.HEAT|lower == 'false' %}
{% set is_hot = True %}
{% endif %}
{% endif %}
{% if is_hot == False %}
{% if printcfg.led_status == True %}
{printcfg.status_heat}
{% endif %}
M{printcfg.output} Heating extruder
{% if nozzle_targ > 0 %}
M109 S{nozzle_targ}
{% elif printcfg.clean_temp > 0 %}
M109 S{printcfg.clean_temp}
{% endif %}
{% endif %}
G90 ; absolute positioning
## Move nozzle to start position
G0 X{printcfg.clean_x} Y{printcfg.clean_y} F6000
G0 Z{printcfg.clean_z} F1500
## Set lighting
{% if printcfg.led_status == True %}
{printcfg.status_clean} ; LED feedback
{% endif %}
## Wipe nozzle
M{printcfg.output} Wiping nozzle
{% for wipes in range(1, (printcfg.clean_wipe_qty + 1)) %}
G0 X{printcfg.clean_x + printcfg.clean_wipe_dist} F{printcfg.clean_wipe_spd * 60}
G0 X{printcfg.clean_x} F{printcfg.clean_wipe_spd * 60}
{% endfor %}
## Raise nozzle
G0 Z{printcfg.clean_raise_dist}
{% if is_hot == False %}
M{printcfg.output} Cooling extruder
M104 S0
{% endif %}
{% if printcfg.post_clean_home == True %}
G28 Z
{% endif %}
thank you very much, i admit that i didn’t tried your start code… but you gave me a good idea of personalizing mine… so reading this and that i find out a setting that i really like, with tilt adj before everyprint end cleaning of the nozzle at the rigth temp everytime.
1 Like