Z-offset increasing after a print



  • Hi, my leveling isn't so in tune so when I start a print I like to use baby stepping, pausing and restarting and such to the the first layer right. but when I home Z after canceling a print the z offset increases by a millimeter or so. For example say my Z offset was Z-1 and my H parameter in M558 was 3, after homing I should see Z at position 4 in the machine status box. I do see this after a reboot/reset, but if I home after canceling a print that number increases to something like 5 or 6. the only way to get it bak to normal is to restart the board. If I try printing with this new offset the head crashes into the bed. also if I run mesh leveling in this state it will show the bed that much lower even though its homed first in the center of the bed.

    alt text
    https://ibb.co/dzNGoV

    Side note may be related, I can't seem to get mesh leveling to work. Its either over compensating, making some points higher or not working at all and its just my bed.

    0_1541706170793_config.g

    ; Configuration file for Duet WiFi (firmware version 1.17 to 1.19)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Sun Dec 17 2017 13:32:42 GMT-0800 (PST)
    
    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P1 ; Set firmware compatibility to look like RepRapFirmare
    
    M667 S1 ; Select CoreXY mode
    M208 X0 Y0 Z-2.0 S1 ; Set axis minima
    M208 X360 Y345 Z345 S0 ; Set axis maxima
    
    
    ; Endstops
    M574 Z0 S2 ; Set active low endstops
    M574 X1 Y2 ; Set active high endstops
    M558 P5 I1 T6000 H3 F6000; Set Z probe type to switch, the axes for which it is used and the dive height + speeds
    G31 X14 Y2 Z1.65 ; Set Z probe trigger value, offset and trigger height
    M557 X40:315 Y70:320 S40 ; probe from X=40 to 300, Y=50 to 320mm with a mesh spacing of 50mm
    G29 S1
    
    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes backwards
    M350 X32 Y32 Z32 E32 I1 ; Configure microstepping with interpolation
    ;
    M92 X200 Y200 Z800 E830 ; Set steps per mm
    ;
    ; Acceleration
    M566 X600 Y600 Z50 E600 ; Set maximum instantaneous speed changes (mm/min)
    M203 X30000 Y30000 Z2400 E10000 ; Set maximum speeds (mm/min)
    M201 X2000 Y2000 Z100 E4000 ; Set accelerations (mm/s^2)
    M572 D0 S0.15
    M906 X800 Y800 Z800 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout
    
    ; Heaters
    
    M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
    M305 P0 T100000 B3950 C0 R4700  ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120                              ; Set temperature limit for heater 0 to 120C
    
    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C
    M307 H1 A542.0 C224.8 D5.3 B0
    
    
    ; Tools
    M563 P0 D0 H1 ; 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
    
    ; Network
    M550 PD-bot ; Set machine name
    M587 S"TP-Link_B3F2" P"********"
    M587 S"Linksys01868" P"********"
    M552 S1 ; Enable network
    ; M587 S"Belkin.4832" P"********" ; Configure access point. You can delete this line once connected
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet
    
    
    ; Fans
    M106 P0 S0 I0 F250 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; Custom settings
    ; Comment out the default M558 and  replace it with this
    ;M558 P5 I1 T1000 H7
    
    ; Miscellaneous
    T0 ; Select first tool
    ; M671 X-40:40:315:315 Y70:70:320:320 ; Z level screws are at (40,70), (40,320) and (315,70)
    
    
    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Sun Dec 17 2017 13:32:42 GMT-0800 (PST)
    G91               ; relative positioning
    G1 Z1 F6000 S2      ; lift Z relative to currnt position
    G90                ; back to absolute mode
    G1 X202 Y200 F6000 ; put head over the centre of the bed, or wherever you want to probe
    G30 ;lower head, stop when probe triggered and set Z to trigger height
    ;G91
    ;G1 S1 Z-270 F6000 ; move Z down until the switch triggers
    ;G91               ; relative positioning
    ;G1 Z1 F6000       ; lift Z relative to current position
    ;G90                ; back to absolute mode
    ;G1 S1 Z -10 F6000
    ;G92 Z0.3          ; set Z position to trigger height
    
    ; Uncomment the following lines to lift Z after probing
    ;G91              ; relative positioning
    ;G1 Z7 F100       ; lift Z relative to current position
    ;G90              ; absolute positioning


  • What is your firmware version?



  • @mokash said in Z-offset increasing after a print:

    M208 X0 Y0 Z-2.0 S1 ; Set axis minima

    Just noticed you have your z axis minima at -2. Is this to allow you to baby step below the Z0 position at bed center?



  • @phaedrux
    My firmware version is 1.21 (2018-03-21) Yes, I have my z axis minima at -2 so that I can baby step and get around with my leveling issues.



  • I'd have to look back at the release notes but there was a bug where the z offset could get applied more than it should have. Perhaps consider updating to 2.01.



  • What is your z probe?

    Are you using mesh grid compensation?

    It shouldn't be necessary to use baby stepping constantly. With a little more information on your printer we could probably solve the root problem and get your first layers more consistent without baby sitting the baby stepping.



  • @phaedrux said in Z-offset increasing after a print:

    e baby stepping constant

    It's a d-bot 300x300 using this z setup (motors on the side) and an 8mm inductive probe on an aluminum bed covered with one of these build surfaces.

    bondtech BMG Bowden with about 660mm PTFE tube

    I don't know if mesh grid compensation is working or not, I have it configured in my config g and the bed probes. And I have G29 S1 in the config as well, so I think that's it right?



  • @phaedrux
    Just found this under the 1.21.1 release notes

    "If G30 was used to set an accurate Z height after mesh bed probing or loading a height map, if bed compensation was then cancelled then any Z offset from the height map remained. One consequence of this was that if bed probing was run again, the original height map Z offset was carried through to the new one, but the sign of the offset was reversed."

    I'll try to update when I get home tonight



  • If the Z motors each have their own driver you can use automatic bed leveling to get some tilt correction between the two screws, but that may not be necessary if your bed is stable and your motors stay synced.

    https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

    I would recommend you upgrade the firmware and rerun a G29 mesh compensation routine to get a new map and then test a first layer. IF your Z trigger height is accurate you shouldn't need to use constant baby stepping anymore, the grid compensation will do that for you.



  • @phaedrux said in Z-offset increasing after a print:

    If the Z motors each have their own driver you can use automatic bed leveling to get some tilt correction between the two screws, but that may not be necessary if your bed is stable and your motors stay synced.

    https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

    Personally I love this feature. I only need to do this once in a while,but when I do, it's perfect. I use a spirit level to make sure that the actual bed is level, and that the Z rods are plumb. I also level the X axis rods, but there's a fraction of a mm adjustment that still needs to happen to get it perfect.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.