Maestro pause/resume ends up about 0.5mm above original Z



  • Not sure why this is happening, the same Pause.g and resume.g worked on a Duet 2 Ethernet. However since I moved the configs to my maestro board pause always ends up way off.

    I tested a few times on a first layer and before the pause I'd be at about 0.14 Z and on resume I'd be at around ~0.78 Z.

    ; pause.g
    ; called when a print from SD card is paused
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Mon Apr 08 2019 00:27:29 GMT-0700 (Pacific Daylight Time)
    M83            ; relative extruder moves
    G1 E-5 F3600  ; retract 10mm of filament
    G91            ; relative positioning
    G1 Z5 F360     ; lift Z by 5mm
    G90            ; absolute positioning
    G1 X0 Y270 F6000 ; go to X=0 Y=0
    
    ; resume.g
    ; called before a print from SD card is resumed
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Mon Apr 08 2019 00:28:40 GMT-0700 (Pacific Daylight Time)
    G1 R1 X0 Y0 Z5 F6000 ; go to 5mm above position of the last print move
    G1 R1 X0 Y0          ; go back to the last print move
    M83                  ; relative extruder moves
    G1 E5 F3600         ; extrude 10mm of filament
    
    ; resurrect.g 
    ; File "0:/gcodes/DONE-QUEUED-lock_body_x4.gcode" resume print after print paused
    M140 P0 S98.0
    G10 P0 S261 R261
    T0 P0
    G29 S1
    G92 X131.128 Y182.923 Z0.460
    M98 Presurrect-prologue.g
    M106 P0 S0.00
    M106 S0.00
    M116
    M290 X0.000 Y0.000 Z0.160
    G92 E0.00000
    M83
    M23 0:/gcodes/DONE-QUEUED-lock_body_x4.gcode
    M26 S14684 P0.000
    G0 F6000 Z2.460
    G0 F6000 X131.128 Y182.923
    G0 F6000 Z0.460
    G1 F2300.0
    M24
    
    ; config.g
    ; General preferences
    G90							; Send absolute coordinates...
    M83							; ...but relative extruder moves
    
    ; Network
    M550 P"- Maestro! -"					; Set machine name
    M552 P0.0.0.0 S1                         ; Enable network and acquire dynamic address via DHCP
    M586 P0 S1				 ; Enable HTTP
    M586 P1 S0                               ; Disable FTP
    M586 P2 S0                               ; Disable Telnet
    
    
    ; Drives
    M569 P0 S0					; X Drive 0 goes backwards
    M569 P1 S1						; Y Drive 1 goes for
    M569 P2 S0						; Z1 Drive 2 goes forwards
    M569 P3 S1						; E0 Drive 3 goes forwards
    M569 P4 S0						; Z2 Drive 4 goes forwards
    M584 X0 Y1 Z4:2 E3					; X on X, Y on Y, Z and Z2 on Z and E1, E0 on E0
    M671 X-89:379 Y150:150 S10				; Z leadscrews are at
    M350 X16 Y16 Z16 E16 I1					; Configure microstepping with interpolation
    M92 X160 Y200 Z800 E837					; Set steps per mm e3d
    M98 Pmotorspeeds.g
    M84 S60							; Set idle timeout
    
    ; Heaters
    M307 H0 A344.9 C801.8 D2.3 S1.00 V24.0 B0
    M307 H1 A564.3 C278.0 D3.9 S1.00 V23.9 B0
    
    ; Axis Limits
    M208 X0 Y0 Z-7 S1					; Set axis minima
    M208 X300 Y280 Z360 S0					; Set axis maxima
    
    ; Endstops
    M574 X1 Y1 S0
    
    ; Z-Probe
    M574 Z1 S2
    M558 P1 H2.5 F500 T10000 S0.01 A30 B0			; X0 Y0 Z1 B1 F160
    G31 P500 X17 Y0 Z2.30					; Set Z probe trigger value, offset and trigger height
    M557 X20:280 Y10:270 S20				; mesh
    M305 P0 T100000 B3988 C0 R2200				; Set thermistor + ADC parameters for heater 0
    M143 H0 S130						; Set temperature limit for heater 0 to 130C
    M305 P1 T100000 B4725 C7.060000e-8 R2200		; Set thermistor + ADC parameters for heater 1
    M143 H1 S290						; Set temperature limit for heater 1 to 290C
    
    ; Heaters
    M305 P0 T100000 B4138 R2200              ; Set thermistor + ADC parameters for heater 0
    
    M305 P1 T100000 B4138 R2200              ; Set thermistor + ADC parameters for heater 1
    
    
    ; Fans
    M106 P0 S0 I0 H-1 F60 B0.2				; Part Fans
    M106 P1 H1 T55 F60 S1					; Hotend fan
    M106 P2 T31:40 H100:101:102				
    
    ; 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
    
    M572 D0 S0.05						;Pressure advance
    
    ; Powerloss
    M911 S21.0 R23.0 P"M913 X0 Y0 G91 M83 G1 Z2 E-2 F7000"	; Set voltage thresholds and actions to run on power loss
    
    ; Miscellaneous
    G29 S1 Pheightmap.csv
    M501							; Load saved parameters from non-volatile memory
    T0
    


  • Your resurrect file has a g92 to set the z height and an m290 to do baby stepping. It looks like they may add up to your height difference?



  • @phaedrux but the resurrect file is automatically generated by the firmware on a pause. Would there be anything i could do other than manually editing on resume?



  • I'll take a closer look later today when I'm at my laptop. It's a little hard on a phone.



  • @norbs12 said in Maestro pause/resume ends up about 0.5mm above original Z:
    OK thanks.

    I should probably mention that I replaced a duet 2 ethernet on this printer with a maestro so I could use the duet 2 ethernet on another printer.

    The few things i changed after the move to the maestro was:

    • Uploaded the Maestro firmware (though the duet 2 one seemed to boot).
    • Disable sensorless homing and used limit switches for X and Y.
    • Change thermistor settings to work with maestro.
    • Ran heater autotune again since nothing was heating with the old PID settings.

    I don't think any of that would have any affect on pause/resume but I thought I should mention it.



  • What do you have in your resurrect-prologue?

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

    Note: recent firmware versions write a G92 command containing the coordinates at the time of failure into resurrect.g, just before the call to resurrect-prologue.g. So you may get away without homing axes. But it is still best to home any axes that you can (typically X and Y on a cartesian or CoreXY printer).

    So that explains the G92 in resurrect. How are you homing the printer in prologue? Were you using baby stepping on this print before the power loss?



  • @phaedrux

    My resurrectprologue.g is empty (well all commented out).

    Yes I was using +0.16mm baby stepping, however, this isn't even a power failure. Just a pause and then resume after. There is no need to home anything since the printer is still homed.

    I included my resurrect.g because I don't know 100% how the pause/resume process works and thought it might have relevant info since it's generated on pause.

    Does the maestro handle pause/resume differently than a duet 2?



  • Sorry, I missed that detail that it's just a pause and resume. In that case the whole power loss thing doesn't even come into play at all.

    Your pause.g and resume.g look a little different than mine. This is what I have.

    ; pause.g
    ; called when a print from SD card is paused
    ;
    ; generated by RepRapFirmware Configuration Tool on Wed Feb 07 2018 13:21:45 GMT-0600 (CST)
    G10		; retract filament
    G91		; relative positioning
    G1 Z5		; lift Z by 5mm
    G90		; absolute positioning
    G1 X0 Y0 F10000	; go to X=0 Y=0
    

    Only real difference here is that I'm using firmware retraction so I use G10 to retract. Otherwise it's the same as yours for all intents and purposes.

    ; resume.g
    ; called before a print from SD card is resumed
    ;
    ; generated by RepRapFirmware Configuration Tool on Wed Feb 07 2018 13:21:45 GMT-0600 (CST)
    G1 R1 Z5 F10000 ; go to 5mm above position of the last print move
    G1 R1          ; go back to the last print move
    G11		; unretract
    

    And here the difference seems to be the X0 Y0, which I don't have. So maybe give that a try. I can't remember if I changed that or not. There was a bug on resume in one of the last few firmwares that may have caused me to change it. I can't recall.

    The G1 R1 documentation doesn't really go into much detail on how it should be used either.



  • @phaedrux I'll give you version a try later today.

    Curious are you on a maestro or a duet? I'm only asking because it worked on a duet.



  • Duet wifi. I'm not aware of any difference for the maestro in this regard though.



  • @phaedrux said in Maestro pause/resume ends up about 0.5mm above original Z:

    So I got it fixed, but unfortunately I kind of a did the shotgun approach and I could not tell you which one thing fixed it.

    Swapped to an SD card that came with the duet, copied all configs (from SD card that wasn't working), added a "G29 S1 Pheightmap.csv" into resume.g (again not sure if necessary), downgraded to latest stable firmware (2.02?).

    Works like normal now, I'm curious what was causing it but not curious enough to do all those steps 1 by 1 and try a print each time. I do have a old card though, so I could probably replicate the issue if I wanted to.

    Anyways I appreciate your time.



  • It may be worth updating to the 2.03 beta just to test with everything else as is.



  • @phaedrux
    OK, I eventually will. I just need to get some prints done, will tinker more after.


 

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