Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ender 3 Profile Improvements #3376

Open
wants to merge 3 commits into
base: master
from
Open

Conversation

@pmjdebruijn
Copy link

pmjdebruijn commented Dec 23, 2019

  • case sentivity fix for the ender3 printer image in the wizard.
  • replace the ender3 bed model with a simpler,
    more representative and more functional design
  • simplify the ender3 bed image to be more representative
  • fix bed shape (so the virtual bed center is also the physical bed center)
  • lower bridge flow ratio given the limited cooling available on an ender3
  • enable overhanging perimeter detection given the limited cooling avaliable on an ender3
  • increase first layer height, as the ender3 lacks an auto bed levelling probe by default
  • heavily revised start_gcode, keeping in mind auto bed levelling, as there's a popular
    official Creality BLTouch upgrade kit:
    • warm bed to bed bed temp
    • warm nozzle to 150 degrees (warming the nozzle directly to
      nozzle temp may incur oozing problems during auto bed levelling)
    • auto home
    • auto bed level (disabled/commented by default)
    • move the nozzle to be easily accessible (just in case if any oozing occurs)
    • warm nozzle to final nozzle temp
    • prime the nozzle
  • heavily revised end_gcode
    • retract at the end of the print to significantly limit oozing
    • present print without the bed protruding from the main printer chassis and
      avoiding a little bit of wear on the X endstop.
    • briefly raise nozzle temp, to let any residual pressure ooze out at the end of the print
      rather than at the start of the next print
  • increase skirting to make sure nozzle pressure is optimal
  • slightly increase retraction_length to Creality's recommendation (CrealitySlicer)
  • add 0.08 ultra print setting
@pmjdebruijn pmjdebruijn force-pushed the pmjdebruijn:ender branch 4 times, most recently from c290541 to bff8439 Dec 23, 2019
@pmjdebruijn pmjdebruijn changed the title Ender 3 Ender 3 Profile Improvements Dec 26, 2019
@pmjdebruijn pmjdebruijn force-pushed the pmjdebruijn:ender branch from bff8439 to 6768258 Dec 27, 2019
@noderat

This comment has been minimized.

Copy link

noderat commented Dec 31, 2019

There are a number of improvements for the stock ender 3 platform that can likely be copied over from the settings in this repository: https://github.com/sn4k3/Ender3

@pmjdebruijn

This comment has been minimized.

Copy link
Author

pmjdebruijn commented Jan 1, 2020

There are a number of improvements for the stock ender 3 platform that can likely be copied over from the settings in this repository: https://github.com/sn4k3/Ender3

Aside from verbatim copying, it'll be difficult to figure out what's different for a reason and why, and what's just arbitrarily different.

Also the print bed STLs in that repo are absolutely ridiculous, at 40+MB...

I'm trying to improve the profile currently in PrusaSlicer with clear notes why the changes I make have been made.

@pmjdebruijn pmjdebruijn force-pushed the pmjdebruijn:ender branch 3 times, most recently from 4edce85 to 2372b90 Jan 1, 2020
@pmjdebruijn

This comment has been minimized.

Copy link
Author

pmjdebruijn commented Jan 7, 2020

So the last change was a comment typo fix, and this seems ready for review to me.

@@ -372,11 +394,11 @@ retract_speed = 35
serial_port =
serial_speed = 250000
single_extruder_multi_material = 0
start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all\nG92 E0.0\nG1 Z0.15 F240\nG1 X60.0 E9.0 F800.0 ; intro line\nG1 X100.0 E12.5 F800 ; intro line\nG92 E0.0
end_gcode = M104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+30, max_print_height)}{endif} ; Move print head up\nG1 X0 F3000 ; home X axis\nM84 ; disable motors
start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\n\nM104 S[first_layer_bed_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\n\nG28 ; home all\n;G29 ; auto bed leveling (bltouch)\n\nG1 X2 Y10 Z50 F3000 ; lift nozzle\n\nM104 S[first_layer_temperature] ; set extruder temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\n\nG1 X2 Y10 Z0.28 F240\nG92 E0\nG1 Y190 E15.0 F1500.0 ; intro line\nG1 X2.3 F5000\nG1 Y10 E30 F1200.0 ; intro line\nG92 E0

This comment has been minimized.

Copy link
@noderat

noderat Jan 12, 2020

M104 S[first_layer_bed_temperature] ; set extruder temp should probably use [first_layer_temperature] not [first_layer_bed_temperature]

This comment has been minimized.

Copy link
@pmjdebruijn

pmjdebruijn Jan 12, 2020

Author

It absolutely should. As documented in the commit message, if we raise to first_layer_temperature, and do auto bed levelling, the nozzle may very well ooze, and potentially interfere with the levelling process. If we raise nozzle temp after auto bed levelling we waste time.

Raising nozzle temp to bed temp first, means the nozzle can heat up to a point where it will not ooze. Then we autohome, and optionally auto bed level (given this is a very common upgrade for ender3's), and then we move the nozzle to the front so it's easily accessible, and we raise the hotend to first_layer_temp. Then it might ooze a little, but by then the nozzle is easily accessible and makes wiping away any oozed filament easy and convenient.

This approach is pretty much near-optimal in all configurations with and without BLTouch.

This comment has been minimized.

Copy link
@koenkooi

koenkooi Jan 13, 2020

FWIW, the Prusa Mini profile hardcodes 170°C for bed leveling.

This comment has been minimized.

Copy link
@noderat

noderat Jan 13, 2020

However, for those who do not have automatic bed leveling (the majority) this causes a preheated hotend temperature to drop since marlin waits for the bed's temperature to "stabilize" even if it's already at temperature.

This comment has been minimized.

Copy link
@noderat

noderat Jan 13, 2020

Additionally, you should add all notes to the pull request description in addition to the commit messages as pull requests are usually squash-merged.

This comment has been minimized.

Copy link
@pmjdebruijn

pmjdebruijn Jan 13, 2020

Author

However, for those who do not have automatic bed leveling (the majority) this causes a preheated hotend temperature to drop since marlin waits for the bed's temperature to "stabilize" even if it's already at temperature.

Is that really the case? Since I'm only using M104 (set and continue) and not M109 (set and wait)...

This comment has been minimized.

Copy link
@pmjdebruijn

pmjdebruijn Jan 13, 2020

Author

FWIW, the Prusa Mini profile hardcodes 170°C for bed leveling.

Oh, that works too, probably slightly better with regard to speed...

@pmjdebruijn pmjdebruijn force-pushed the pmjdebruijn:ender branch from 2372b90 to 973c7d5 Jan 14, 2020
@pmjdebruijn

This comment has been minimized.

Copy link
Author

pmjdebruijn commented Jan 14, 2020

I changed the nozzle temp to 170 during homeing/levelling as suggested by @koenkooi

pmjdebruijn added 3 commits Dec 26, 2019
the new model is simpler and more functional as it has the front lip also
present on the stock c-mag bed, which is a clear visual indicator of the
front of the bed, which makes orienting parts slightly easier.

source: https://www.thingiverse.com/thing:3866765
 - fix bed shape (so the virtual bed center is also the physical bed center)
 - lower bridge flow ratio given the limited cooling available on an ender3
 - enable overhanging perimeter detection given the limited cooling avaliable on an ender3
 - increase first layer height, as the ender3 lacks an auto bed levelling probe by default
 - heavily revised start_gcode, keeping in mind auto bed levelling, as there's a popular
   official Creality BLTouch upgrade kit:
   * warm bed to bed bed temp
   * warm nozzle to 150 degrees (warming the nozzle directly to
     nozzle temp may incur oozing problems during auto bed levelling)
   * auto home
   * auto bed level (disabled/commented by default)
   * move the nozzle to be easily accessible (just in case if any oozing occurs)
   * warm nozzle to final nozzle temp
   * prime the nozzle
 - heavily revised end_gcode
   * retract at the end of the print to significantly limit oozing
   * present print without the bed protruding from the main printer chassis and
     avoiding a little bit of wear on the X endstop.
   * briefly raise nozzle temp, to let any residual pressure ooze out at the end of the print
     rather than at the start of the next print
 - increase skirting to make sure nozzle pressure is optimal
 - slightly increase retraction_length to Creality's recommendation (CrealitySlicer)
 - add 0.08 ultra print setting
@pmjdebruijn pmjdebruijn force-pushed the pmjdebruijn:ender branch from 973c7d5 to cd9e2c4 Jan 18, 2020
@pmjdebruijn

This comment has been minimized.

Copy link
Author

pmjdebruijn commented Jan 18, 2020

After some more testing, 170C seems a little too high, at 170C I still see some nozzle oozing, not enough to cause issues in my particular case, but lowering that to 150C seems to completely remove the oozing risk, and still offering significant speed improvement.

@pmjdebruijn pmjdebruijn requested a review from YuSanka Jan 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.