Second layer printing too high
-
Hey
I am running a MK3 Bear with the Duet 3 Mini 5+ (v0.4)
Firmware: RepRapFirmware for Duet 3 Mini 5+ 3.3beta2 (2021-03-10)
DWC: Duet Web Control 3.3.0-b2
Slicer: Prusaslicer v2.3.0My first layer seems to be perfect but once the printer continues to print the second layer, it seems that it is printing it too high, causing it to look severely under-extruded.
I have seen this post about a similar issue but was not sure if there was a fix mentioned that would help me: https://forum.duet3d.com/topic/20460/second-layer-jump
; Configuration file for Duet 3 Mini 5+ (firmware version 3) ; executed by the firmware on start-up ; General preferences G90 ; absolute positioning M83 ; set extruder to relative mode M550 P"MK3_Bear" ; set printer name ; Network M552 S1 ; enable network and acquire dynamic address via DHCP ; Drives M569 P0.1 S1 ; physical drive 0.1 goes forwards / X M569 P0.2 S0 ; physical drive 0.2 goes backwards / Y M569 P0.3 V10 S1 ; physical drive 0.3 goes forwards / Z-left / reduced V parameter to enable stealthChop M569 P0.4 V10 S1 ; physical drive 0.4 goes forwards / Z-right / reduced V parameter to enable stealthChop M569 P0.0 S0 ; physical drive 0.0 goes backwards / E ; M584 X0.1 Y0.2 Z0.3:0.4 E0.0 ; set drive mapping ; M671 X-36.5:293.5 Y0:0 ; define lead screw positions ; M350 X16 Y16 Z16 E32 I1 ; configure microstepping with interpolation M92 X100.00 Y100.00 Z400.00 E280.00 ; set steps per mm ; M566 X480.00 Y480.00 Z48.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M203 X24000.00 Y24000.00 Z1200.00 E6000.00 ; set maximum speeds (mm/min) M201 X800.00 Y800.00 Z100.00 E300.00 ; set accelerations (mm/s^2) ; M906 X500 Y500 Z450 E550 I40 ; set motor currents (mA) and motor idle factor in per cent ; M84 S60 ; Set idle timeout M564 H0 ; allow unhomed movement ; Axis Limits M208 X0 Y-4 Z0 S1 ; set axis minima M208 X250 Y212.5 Z210 S0 ; set axis maxima ; Endstops M574 X1 S3 ; configure sensorless endstop for low end on X M574 Y1 S3 ; configure sensorless endstop for low end on Y M915 X S3 F0 H200 R0 ; set the X axis sensitivity M915 Y S3 F0 H200 R0 ; set the Y axis sensitivity ; Z-Probe M558 P5 C"^io3.in" H5 F500 T10000 A1 ; set Z probe type to switch, dive height, dive speeds, travel speeds and number of probes G31 P1000 X23 Y5 Z0 ; set Z probe trigger value, offset and trigger height M557 X24:228 Y6:208 P7:7 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4725 C7.06e-8 A"Bed" ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S110 ; set temperature limit for heater 0 to 110C ; M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 A"Nozzle" ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"out5" Q25 ; create fan 0 on pin out3 and set its frequency M106 P0 C"Part Cooling" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off ; M950 F1 C"!out4" Q25000 ; create fan 1 on pin !out4 and set its frequency M106 P1 C"Hotend" S1 H1 T45 ; set fan 1 name and value. Thermostatic control is turned on ; M950 F2 C"out3" Q500 ; create fan 2 on pin out5 and set its frequency M106 P2 C"Case" S1 H1 T45 ; set fan 2 name and value. Thermostatic control is turned on ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load saved parameters from non-volatile memory
; homeall.g ; called to home all axes M98 P"homing_modifications.g" ; applies necessary modifications for the homing moves ; get Z out of the way G91 ; relative positioning G1 H2 Z5 F1200 ; lift Z M400 ; wait for current moves to finish ; home X G1 H1 X5 F1200 ; move slowly away G1 H1 X-255 F3600 ; move to X axis endstop and stop there (first pass) G1 X5 F1200 ; go back a few mm G1 H1 X-10 F3000 ; move to X axis endstop once more (second pass) G1 X10 F1200 ; go back a few mm M400 ; wait for current moves to finish ; home Y G1 H1 Y5 F1200 ; move slowly away G1 H1 Y-220 F3600 ; move to Y axis endstop and stop there (first pass) G1 Y5 F1200 ; go back a few mm G1 H1 Y-10 F3000 ; move to Y axis endstop once more (second pass) G1 Y10 F1200 ; go back a few mm M400 ; wait for current moves to finish ; home Z G90 ; absolute positioning G1 X11.5 Y4.5 F6000 ; go to first probe point G30 ; home Z by probing the bed G1 Z0.6 F500 ; move Z to origin G91 ; relative positioning G1 Z1 F500 ; lift Z relative to current position M400 ; Wait for current moves to finish M98 P"homing_modifications_reset.g" ; resets all modifications applied for the homing move
Start Gcode:
G90 ; absolute positioning M83 ; set extruder to relative mode ; G28 ; home all without mesh bed level M104 S140 ; set extruder temp M140 S[first_layer_bed_temperature] ; set bed temp G0 X125 Y105 Z80 F1500 ; move up to clean bed and nozzle G10 P0 S140 ; wait for extruder temp M190 S[first_layer_bed_temperature] ; wait for bed temp ; G32 ; true bed leveling with mesh bed leveling ; M104 S[first_layer_temperature] ; set extruder temp G10 P0 S[first_layer_temperature] ; wait for extruder temp T0 ; select tool 0 M116 ; wait ; G92 E0.0 ; reset extruder position to 0 G1 X60.0 E9.0 F1000.0 ; intro line thin part G1 X100.0 E12.5 F1000.0 ; intro line thick part G92 E0.0 ; reset extruder position to 0
Layer change Gcode:
;BEFORE_LAYER_CHANGE G92 E0.0 ;[layer_z]
Does anyone know why this is happening in my case?
EDIT: I also just saw that while the print currently is at layer 5, DWC displays "Layer 0 of 189" on the "Status page".
Not sure if this is related but seems like it could?
Thanks!!!
-
This post is deleted! -
Post your bed.g and any other macros called in your homeall etc.
Can you share your entire sliced gcode file?
What type of probe is it?
Is your extruder calibrated?
Are you using mesh compensation?
-
@phaedrux Thanks!
Gcode: low_cube_80_0.2mm_PET_MK3_41m.gcode
Probe: SuperPinda
Extruder is calibrated, yes.
I am using mesh bed compensation.
bed.g
; bed.g ; called to perform automatic bed compensation via G32 ; G28 ; home all M400; ; wait for current moves to finish M558 A3 ; set times to probe to 3 G30 P0 X24 Y104 Z-9999 ; probe near left leadscrew, front of Y axis G30 P1 X228 Y104 Z-99999 S2 ; probe near right leadscrew, back of Y axis and calibrate 2 motors M400 ; wait for current moves to finish ; G91 ; relative positioning G1 Z5 ; raise nozzle 5mm M400 ; wait for current moves to finish ; G90 ; absolute positining G28 ; home all G29 ; mesh bed leveling G1 X0 Y-3 Z0.4 F3000 ; bring nozzle into prime line position M558 A1 ; reset times to probe to 1 ;
macros called in homeall.g
; homing_modifications.g ; tune motor drivers, set motor current and V parameter for homing moves ; apply modifications M569 P0.1 V10 ; reduce V to ensure stealthChop is enabled for X M569 P0.2 V10 ; reduce V to ensure stealthChop is enabled for Y M913 X70 Y70 ; drop motor current to 50% G4 P100 ; wait 100ms ; tune drivers G91 ; relative positioning G1 H2 X0.2 Y0.2 F3000 ; power up motors to ensure they are not stalled G4 P100 ; wait 100ms M400 ; wait for current moves to finish
; homing_modifications_reset.g ; reset all homing modifications applied in homing_modifications.g ; M913 X100 Y100 ; return current to 100% for X and Y M569 P0.1 V2000 ; restore default V for X M569 P0.2 V2000 ; restore default V for Y G90 ; absolute positioning
I think I have potentially fixed it. I added the ";E" comment in Prusaslicer to the end gcode:
G4 P200 ; wait M104 S0 ; turn off temperature M140 S0 ; turn off heatbed M107 ; turn off fan {if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+30, max_print_height)}{endif} ; E Move print head up G1 X0 Y200 F3000 ; home X axis M84 ; disable motors
Now the print also shows the right size in DWC + whatever value is used for Z-hop. Example:
- Z-hop = 0.4mm
- object height = 10mm
- height displayed in DWC = 10.4mm
It also seems to print the second layer fine now. Initially when I added the ";E" comment, it caused the first layer to be squished way too much (it was dialed in nicely before applying the comment). So I think something was off with the first layer before I added the comment which caused me to compensate with baby stepping and then carried into the second layer.
I will do a few more tests now.
-