Core One Nominal Chamber Temp
I have a Core One and recently added an MMU3 to it. Before I added the MMU, I had set the min and max chamber temps to help prevent the fans from running too much. I found the overcooled the chamber causing bed adhesion and warping vs keeping the chamber a bit warmer. Especially with how the fans are placed.
The fan used to only kick on when I reached max chamber temp. Now I keep seeing the fans kick on and it's using that min temp as the "nominal" temp to control the chamber too. Basically it's now controlling the chamber temp to the min temp I set in the filament settings. I've tried searching for nominal temp in the gcode and slicer settings. I'm not sure if something changed in recent firmware or when I upgraded to the MMU3 it changed the logic.
I have 6.4.0+11974 currently installed
RE: Core One Nominal Chamber Temp
Update. I worked with support and tried a couple versions of gcode and still the printer keeps the fan at the minimum temp and never goes to the nominal set in the filament settings. Attached is the test code they sent. I'll also add my project file.
RE: Core One Nominal Chamber Temp
Looking at the gcode, for some reason with the MMU this block is missing:
G28 ; home all without mesh bed level; Min chamber temp section M104 S170 ; set idle temp G1 Z10 F720 ; set bed position G1 X242 Y-9 F4800 ; set print head position M191 S20 ; wait for minimal chamber temp M141 S35 ; set nominal chamber temp M107M140 S60 ; set bed temp
RE: Core One Nominal Chamber Temp
I found the root of the issue. The printer custom gcode for the MMU printer profile had an if statement that overrides temps if the filament is PLA no matter what. I removed that. I also found the bed temp was not being pulled in when changed. I updated the code to also pull from the initial tool
If you have the same issue, copy this code below, go to Printers>Custom G Code and replace the top section of custom gcode with this
M17 ; enable steppers
M862.1 P[nozzle_diameter] A{((is_extruder_used[0] and filament_abrasive[0]) ? 1 : (is_extruder_used[1] and filament_abrasive[1]) ? 1 : (is_extruder_used[2] and filament_abrasive[2]) ? 1 : (is_extruder_used[3] and filament_abrasive[3]) ? 1 : (is_extruder_used[4] and filament_abrasive[4]) ? 1 : 0)} F{(nozzle_high_flow[0] ? 1 : 0)} ; nozzle check
M862.3 P "COREONE" ; printer model check
M862.5 P2 ; g-code level check
M862.6 P "Input shaper" ; FW feature check
M862.6 P "MMU3" ; FW feature check
M115 U6.4.0+11974
; setup MMU
M708 A0x0b X5 ; extra load distance
M708 A0x0d X140 ; unload feeedrate
M708 A0x11 X140 ; load feedrate
M708 A0x14 X20 ; slow feedrate
M708 A0x1e X12 ; Pulley current to ~200mA
M555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))}
G90 ; use absolute coordinates
M83 ; extruder relative mode
{if chamber_minimal_temperature[initial_tool]!=0}
M140 S115 ; set bed temp for chamber heating
{else}
M140 S{first_layer_bed_temperature[initial_tool]} ; set bed temp
{endif}
M109 R{((filament_notes[initial_tool]=~/.*MBL160.*/) ? 160 : (filament_notes[initial_tool]=~/.*HT_MBL10.*/) ? (first_layer_temperature[initial_tool] - 10) : (filament_type[initial_tool] == "PC" or filament_type[initial_tool] == "PA") ? (first_layer_temperature[initial_tool] - 25) : (filament_type[initial_tool] == "FLEX") ? 210 : 170)} ; wait for temp
M84 E ; turn off E motor
G28 ; home all without mesh bed level
{if chamber_minimal_temperature[initial_tool]!=0}
; Min chamber temp section
M104 S{idle_temperature[initial_tool]} ; set idle temp
G1 Z10 F720 ; set bed position
G1 X242 Y-9 F4800 ; set print head position
M191 S{chamber_minimal_temperature[initial_tool]} ; wait for minimal chamber temp
M141 S{chamber_temperature[initial_tool]} ; set nominal chamber temp
M107
M140 S{first_layer_bed_temperature[initial_tool]} ; set bed temp
{else}
M141 S{chamber_temperature[initial_tool]} ; set nominal chamber temp
{endif}
{if first_layer_bed_temperature[initial_tool]<=60}M106 S70{endif}
G0 Z40 F10000
M104 T{initial_tool} S{if is_nil(idle_temperature[initial_tool])}100{else}{idle_temperature[initial_tool]}{endif}
M190 S{first_layer_bed_temperature[initial_tool]} ; wait for bed temp
M107
G29 G ; absorb heat
M109 T{initial_tool} R{((filament_notes[initial_tool]=~/.*MBL160.*/) ? 160 : (filament_notes[initial_tool]=~/.*HT_MBL10.*/) ? (first_layer_temperature[initial_tool] - 10) : (filament_type[initial_tool] == "PC" or filament_type[initial_tool] == "PA") ? (first_layer_temperature[initial_tool] - 25) : (filament_type[initial_tool] == "FLEX") ? 210 : 170)} ; wait for MBL temp
M302 S155 ; lower cold extrusion limit to 155C
{if filament_type[initial_tool]=="FLEX"}
G1 E-4 F2400 ; retraction
{else}
G1 E-2 F2400 ; retraction
{endif}
M84 E ; turn off E motor
G29 P9 X208 Y-2.5 W32 H4
;
; MBL
;
M84 E ; turn off E motor
G29 P1 ; invalidate mbl & probe print area
G29 P1 X150 Y0 W100 H20 C ; probe near purge place
G29 P3.2 ; interpolate mbl probes
G29 P3.13 ; extrapolate mbl outside probe area
G29 A ; activate mbl
; prepare for purge
M104 S{first_layer_temperature[initial_tool]}
G0 X249 Y-2.5 Z15 F4800 ; move away and ready for the purge
M109 S{first_layer_temperature[initial_tool]}
G92 E0
M569 S0 E ; set spreadcycle mode for extruder
M591 S0 ; disable stuck detection
T[initial_tool]
G1 E{parking_pos_retraction + extra_loading_move - 15} F1000 ; load to the nozzle
;
; Extrude purge line
;
G92 E0 ; reset extruder position
G1 E{(filament_type[initial_tool] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning
G0 E5 X235 Z0.2 F500 ; purge
G0 X145 E36 F500 ; purge
G0 X135 E4 F500 ; purge
G0 X125 E4 F650 ; purge
G0 X122 Z0.05 F8000 ; wipe, move close to the bed
G0 X119 Z0.2 F8000 ; wipe, move quickly away from the bed
M591 R ; restore stuck detection
G92 E0
M221 S100 ; set flow to 100%