Ender 3 Setup for PrusaSlicer  

  RSS
DotNetRob
(@dotnetrob)
Active Member

I have been using Cura with my Ender 3 since I got my printer just over a year ago.  I am trying to move to a new slicer, prusa Slicer obviously.    I got it setup, connected it to octiprint, moved over my start/end gcode, and customized a few settings for a simple calibration cube I have printed way to many times on my ender 3 via cura.   

But something is very wrong.  I either missed a setting or messed something up.  Was watching the printer as it started, bed heated up, then hot end started to heating but then it started the EZABL mesh generation.  Normally it heats the hot end, then does the mesh generation, pauses for the hot end to hit desired temp, then prints.   

Instead it started trying to print when the hot end was about ~100C, I quickly shutoff the printer.  Have looked thru the setting and don't see what I missed, re-copied my g-code and it did it again.  

My start G-Code is copied straight out of cura, have printed with it for along time, even printed earlier today.

Is there a setting I am missing or something wrong with my Start G-Code?

G28 ; home all axes

G92 E0 ; Reset Extruder distance to 0

G1 E-2 ; Retracts filament to prevent blobs during probing

G28 Z ; home Z to get more accurate Z position

G29; EZABL mesh generation

G4 S10; wait for heaters to recover

G92 E0 ; reset extruder

G1 Z1.0 F3000 ; move z up little

G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position

G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line

G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little

G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line

G92 E0 ; reset extruder

G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed

M117 Printing.....

 

Posted : 03/04/2020 10:43 pm
DotNetRob
(@dotnetrob)
Active Member

Update, I see the difference In the GCode from Cura and PrusaSilcer.

Cura Gcode for the temperature

M140 S60
M105
M190 S60
M104 S205
M105
M109 S205

Prusa Slicer GCode

M190 S60 ; set bed temperature and wait for it to be reached
M104 S205 ; set temperature

 

How can I fix this?  Shouldn't prusa be doing a M109 ": Set Extruder Temperature and Wait"

Posted : 03/04/2020 10:59 pm
joan.t
(@joantabb)
Veteran Member Moderator

Hi, Prusa slicer does the following for the Mk3S

M862.3 P "[printer_model]" ; printer model check
M862.1 P[nozzle_diameter] ; nozzle diameter check
M115 U3.8.1 ; tell printer latest fw version
G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S[first_layer_temperature] ; set extruder temp
M140 S[first_layer_bed_temperature] ; set bed temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
M109 S[first_layer_temperature] ; wait for extruder temp
G28 W ; home all without mesh bed level
G80 ; mesh bed leveling
G1 Y-3.0 F1000.0 ; go outside print area
G92 E0.0
G1 X60.0 E9.0 F1000.0 ; intro line
G1 X100.0 E12.5 F1000.0 ; intro line
G92 E0.0
M221 S{if layer_height<0.075}100{else}95{endif}

 

And for the Mini, it does :- 

G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S170 ; set extruder temp for bed leveling
M140 S[first_layer_bed_temperature] ; set bed temp
M109 R170 ; wait for bed leveling temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
G28 ; home all without mesh bed level
G29 ; mesh bed leveling
M104 S[first_layer_temperature] ; set extruder temp
G92 E0.0
G1 Y-2.0 X179 F2400
G1 Z3 F720
M109 S[first_layer_temperature] ; wait for extruder temp

; intro line
G1 X170 F1000
G1 Z0.2 F720
G1 X110.0 E8.0 F900
G1 X40.0 E10.0 F700
G92 E0.0

M221 S95 ; set flow

and it offers a custom printer setup facility for Non Prusa printers, 
They are not trying to make Prusa Slicer fit all Printers. 

I suggest you take a little from the above profiles and add it to your profile... 

the Mini profile does a two stage heat up, to reduce the liklihood of nozzle dribbling during mesh bed levelling, you may wish to use this in your profiles. 
Regards Joan

I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK...
Posted : 03/04/2020 11:25 pm
DotNetRob
(@dotnetrob)
Active Member

It list the ender 3 under other vendor printers in the setup wizard, yes I know it is beta but figured I would try it.  Have used cura mainly and mattercontrol a bit,  Both use M109 in there output gcode without me adding custom start gcode.  I just think its a bit dangerous to generated gcode that is obviously not going to work.  This issue was apparently brought up on github months ago (oct 2019) but apparently is being ignored. 

The reason I was looking to move to prusa slicer is because I just order an MK3 and was looking to move to a unified slicer once I get my printer in a month or so.

 

Posted : 04/04/2020 12:24 am
joan.t
(@joantabb)
Veteran Member Moderator

Hi, I have just added Creality ender 3 to my Prusa slicer version 2.2.0 setup, and the start code seems to be 

G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S[first_layer_temperature] ; set extruder temp
M140 S[first_layer_bed_temperature] ; set bed temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
M109 S[first_layer_temperature] ; wait for extruder temp
G28 ; home all
G1 Z2 F240
G1 X2 Y10 F3000
G1 Z0.28 F240
G92 E0.0
G1 Y190 E15.0 F1500.0 ; intro line
G1 X2.3 F5000
G1 Y10 E30 F1200.0 ; intro line
G92 E0.0

Which translates to.....
M201 X500 Y500 Z100 E5000 ; sets maximum accelerations, mm/sec^2
M203 X500 Y500 Z10 E60 ; sets maximum feedrates, mm/sec
M204 P500 R1000 T500 ; sets acceleration (P, T) and retract acceleration (R), mm/sec^2
M205 X8.00 Y8.00 Z0.40 E5.00 ; sets the jerk limits, mm/sec
M205 S0 T0 ; sets the minimum extruding and travel feed rate, mm/sec
M107
G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S215 ; set extruder temp
M140 S40 ; set bed temp
M190 S40 ; wait for bed temp
M109 S215 ; wait for extruder temp
G28 ; home all
G1 Z2 F240
G1 X2 Y10 F3000
G1 Z0.28 F240
G92 E0.0
G1 Y190 E15.0 F1500.0 ; intro line
G1 X2.3 F5000
G1 Y10 E30 F1200.0 ; intro line
G92 E0.0
G21 ; set units to millimeters
G90 ; use absolute coordinates
M83 ; use relative distances for extrusion
; Filament gcode
;BEFORE_LAYER_CHANGE
;0.2

which is different to your code... but includes wait for heating to complete and seems to leave out Automatic bed levelling...

do all ender3's have automatic bed levelling??

What version of Prusa slicer do you have?

I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK...
Posted : 04/04/2020 3:15 am
DotNetRob
(@dotnetrob)
Active Member

No, to my knowledge ender 3 don't come with bed leveling, I added mine myself.  My prusa slicer version is 2.2.0+win64, downloaded and installed yesterday.  Below is the gcode generated by prusa, the gcode in red is my custom start gcode which is for my EZABL.  I took out my custom start gcode and get the same start code, just without my leveling, still only a M104.  

; generated by PrusaSlicer 2.2.0+win64 on 2020-04-03 at 22:01:08 UTC

;

; external perimeters extrusion width = 0.45mm
; perimeters extrusion width = 0.45mm
; infill extrusion width = 0.45mm
; solid infill extrusion width = 0.45mm
; top infill extrusion width = 0.40mm
; first layer extrusion width = 0.42mm

M201 X9000 Y9000 Z500 E10000 ; sets maximum accelerations, mm/sec^2
M203 X500 Y500 Z12 E120 ; sets maximum feedrates, mm/sec
M204 P1500 R1500 T1500 ; sets acceleration (P, T) and retract acceleration (R), mm/sec^2
M205 X10.00 Y10.00 Z0.20 E2.50 ; sets the jerk limits, mm/sec
M205 S0 T0 ; sets the minimum extruding and travel feed rate, mm/sec
M107
M190 S60 ; set bed temperature and wait for it to be reached
M104 S205 ; set temperature
G28 ; home all axes

G92 E0 ; Reset Extruder distance to 0
G1 E-2 ; Retracts filament to prevent blobs during probing
G28 Z ; home Z to get more accurate Z position
G29; EZABL mesh generation

G4 S10; wait for heaters to recover
G92 E0 ; reset extruder

I have figured out what the difference is after many tries.  When going thru the wizard setup, if you choose ender 3, then next,  it goes to "custom printer setup" that has a checkbox and a profile name box.  I checked the box so I could change the name, but apparently check that box also removes the gcode it generates for the ender 3.  If I don't check the box it adds the custom start gcode below.  The only reason I checked the box was to change the name, so it not something generic, doesn't tell you it going to wipe out all the settings.

G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S[first_layer_temperature] ; set extruder temp
M140 S[first_layer_bed_temperature] ; set bed temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
M109 S[first_layer_temperature] ; wait for extruder temp
G28 ; home all
G1 Z2 F240
G1 X2 Y10 F3000
G1 Z0.28 F240
G92 E0.0
G1 Y190 E15.0 F1500.0 ; intro line
G1 X2.3 F5000
G1 Y10 E30 F1200.0 ; intro line
G92 E0.0

Posted : 04/04/2020 5:25 pm
joan.t
(@joantabb)
Veteran Member Moderator

Did you choose the Ender3 option in the config wizard? 

 

regards Joan

I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK...
Posted : 05/04/2020 1:38 am
Sembazuru
(@sembazuru)
Prominent Member

There are 4 different temperature related G-Codes to remember that are similar but different. Here they are in table form: (Sorry for the ASCII table, don't know how to do a proper table in this forum.)

               | Extruder | Bed  |
---------------+----------+------+
Set don't Wait | M104 | M140 |
---------------+----------+------+
Set and Wait | M109 | M190 |
---------------+----------+------+

Look carefully you should see this pattern there:

  • "M10x" is extruder
  • "M1x0" is bed
  • x=4 for set but don't wait
  • x=9 for set and do wait

I don't see a "set and do wait" for the extruder in your start g-code so you may be trying to print before your extruder has reached your filament temperature. Additionally, I've found with the firmware in the Prusa that if you send the set and wait codes w/o a temperature argument then my printer will wait until it reaches the last setpoint. I'm not sure if your firmware includes that behavior (thought I think that is standard Marlin). Some people's start gcodes (mine included) use this behavior.

This post was modified 2 months ago by Sembazuru
See my (limited) designs on:
PrusaPrinters - https://www.prusaprinters.org/social/1448-sembazuru/prints
Thingiverse - https://www.thingiverse.com/Sembazuru/designs...
Posted : 07/04/2020 9:40 pm
Share:

Please Login or Register