Notifications
Clear all

[Solved] Help- Custom code for heating after bedmesh not working  

  RSS
Hydrohydra
(@hydrohydra)
Member
Help- Custom code for heating after bedmesh not working

Hi, I copied some code from various places on the internet, but I must have put the code in the wrong place because my printer does not print with this code.

I don't know anything about code, could someone tell me why it is not working and give me the correct copy pasteable code?

The code is supposed to heat the bed to printing temperature, and heat the nozzle to 160c before doing bed mesh leveling, to prevent ooze. Then it should play a little midi song, so I have time to clean the nozzle from ooze before it starts moving the extruder.

When I run the print with this code, it heats the nozzle to 160 and the bed to the correct temperature, but nothing else seem to happen for at least several minutes after.

M862.3 P "[printer_model]" ; printer model check
M862.1 P[nozzle_diameter] ; nozzle diameter check
M115 U3.14.0 ; tell printer latest fw version
G90 ; use absolute coordinates
M83 ; extruder relative mode
M140 S[first_layer_bed_temperature] ; set bed temp
M104 S160 ; preheat extruder to no ooze temp to help warm PINDA
M190 S[first_layer_bed_temperature] ; wait for bed temp
M109 S160 ; wait for extruder temp
M860 S36 ; wait for PINDA temp. 
G28 W ; home all without mesh bed level
G80 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])} ; mesh bed levelling
M104 S[first_layer_temperature] ; we heat extruder AFTER mesh to minimize ooze
M109 S[first_layer_temperature] ; wait for extruder temp
M300 P192 S392 ; Beeps pokemon evolution song to give time for cleaning and to warn you to remove your hands.
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P400 S440
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P392 S494
{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}
G1 Z0.3 F720
G1 Y-3 F1000 ; go outside print area
G92 E0
G1 X60 E9 F1000 ; intro line
G1 X100 E9 F1000 ; intro line
{else}
G1 Z0.2 F720
G1 Y-3 F1000 ; go outside print area
G92 E0
G1 X60 E9 F1000 ; intro line
G1 X100 E12.5 F1000 ; intro line
{endif}
G92 E0
M221 S{if layer_height<0.075}100{else}95{endif}; Don't change E values below. Excessive value can damage the printer.
{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}
{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif}

Best Answer by Hydrohydra:

I found the reason why I was not getting any beeps, it is because the printer was set in the settings to be "silent", that apparantly mutes any speaker activity.
Now it plays the "song" but, i want to turn it off again because it sound so horrible, haha.

I also removed the command about waiting for the pinda to get up to temperature, because i think that is why the code stopped, and I had been printing without it being part of the code until then.

I updated my code to this:

M862.3 P "[printer_model]" ; printer model check
M862.1 P[nozzle_diameter] ; nozzle diameter check
M115 U3.14.0 ; tell printer latest fw version
G90 ; use absolute coordinates
M83 ; extruder relative mode
M140 S[first_layer_bed_temperature] ; set bed temp
M104 S160 ; preheat extruder to no ooze temp to help warm PINDA
M300 P100 S392
M300 S392 P500
M190 S[first_layer_bed_temperature] ; wait for bed temp
M109 S160 ; wait for extruder temp
G28 W ; home all without mesh bed level
G80 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])} ; mesh bed levelling
M104 S[first_layer_temperature] ; we heat extruder AFTER mesh to minimize ooze
M109 S[first_layer_temperature] ; wait for extruder temp
M300 P192 S392 ; Beeps pokemon evolution song to give time for cleaning and to warn you to remove your hands.
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P400 S440
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P392 S494
{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}
G1 Z0.3 F720
G1 Y-3 F1000 ; go outside print area
G92 E0
G1 X60 E9 F1000 ; intro line
G1 X100 E9 F1000 ; intro line
{else}
G1 Z0.2 F720
G1 Y-3 F1000 ; go outside print area
G92 E0
G1 X60 E9 F1000 ; intro line
G1 X100 E12.5 F1000 ; intro line
{endif}
G92 E0
M221 S{if layer_height<0.075}100{else}95{endif}; Don't change E values below. Excessive value can damage the printer.
{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}
{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif}
Posted : 02/09/2024 2:25 pm
Hydrohydra
(@hydrohydra)
Member
Topic starter answered:
RE: Help- Custom code for heating after bedmesh not working

I found the reason why I was not getting any beeps, it is because the printer was set in the settings to be "silent", that apparantly mutes any speaker activity.
Now it plays the "song" but, i want to turn it off again because it sound so horrible, haha.

I also removed the command about waiting for the pinda to get up to temperature, because i think that is why the code stopped, and I had been printing without it being part of the code until then.

I updated my code to this:

M862.3 P "[printer_model]" ; printer model check
M862.1 P[nozzle_diameter] ; nozzle diameter check
M115 U3.14.0 ; tell printer latest fw version
G90 ; use absolute coordinates
M83 ; extruder relative mode
M140 S[first_layer_bed_temperature] ; set bed temp
M104 S160 ; preheat extruder to no ooze temp to help warm PINDA
M300 P100 S392
M300 S392 P500
M190 S[first_layer_bed_temperature] ; wait for bed temp
M109 S160 ; wait for extruder temp
G28 W ; home all without mesh bed level
G80 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])} ; mesh bed levelling
M104 S[first_layer_temperature] ; we heat extruder AFTER mesh to minimize ooze
M109 S[first_layer_temperature] ; wait for extruder temp
M300 P192 S392 ; Beeps pokemon evolution song to give time for cleaning and to warn you to remove your hands.
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P400 S440
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P192 S392
M300 P208 S0
M300 P392 S494
{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}
G1 Z0.3 F720
G1 Y-3 F1000 ; go outside print area
G92 E0
G1 X60 E9 F1000 ; intro line
G1 X100 E9 F1000 ; intro line
{else}
G1 Z0.2 F720
G1 Y-3 F1000 ; go outside print area
G92 E0
G1 X60 E9 F1000 ; intro line
G1 X100 E12.5 F1000 ; intro line
{endif}
G92 E0
M221 S{if layer_height<0.075}100{else}95{endif}; Don't change E values below. Excessive value can damage the printer.
{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}
{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif}
Posted : 02/09/2024 5:03 pm
Neophyl
(@neophyl)
Illustrious Member
RE: Help- Custom code for heating after bedmesh not working

The M860 S36, Wait for pinda to reach a specific temperature does not work with the SuperPinda, only the earlier version.  That is because the earlier version contained a thermistor so you could read the pinda temp.  The 'super' does not.  As such it never returns the required value so will just sit there.

I'm guessing you used Bob's start up in there and when Bob posted those original examples it was pre Super Pinda.  Later examples from Bob had a note to remove it if you were using a super pinda.

Posted : 03/09/2024 12:45 pm
Share: