Navigation

    Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Second layer printing too high

    Tuning and tweaking
    2
    4
    68
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • flobler
      flobler last edited by flobler

      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.0

      My 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!!!

      flobler 1 Reply Last reply Reply Quote 0
      • flobler
        flobler @flobler last edited by

        This post is deleted!
        1 Reply Last reply Reply Quote 0
        • Phaedrux
          Phaedrux Moderator last edited by

          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?

          Z-Bot CoreXY Build | Thingiverse Profile

          flobler 1 Reply Last reply Reply Quote 0
          • flobler
            flobler @Phaedrux last edited by

            @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.

            1 Reply Last reply Reply Quote 0
            • Referenced by  flobler flobler 
            • First post
              Last post
            Unless otherwise noted, all forum content is licensed under CC-BY-SA