Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    When I pause during a print, printer does not home correctly

    Scheduled Pinned Locked Moved
    General Discussion
    4
    14
    1.1k
    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.
    • OwenDundefined
      OwenD @Feynman137
      last edited by OwenD

      @Feynman137 post your pause.g and resume.g files as well

      Feynman137undefined 1 Reply Last reply Reply Quote 0
      • Feynman137undefined
        Feynman137 @OwenD
        last edited by Feynman137

        @OwenD Dang I bet this is what it is. I have never edited these!! Also I home using homeall and this is the one I've kept up to date. You can see that it hits the switch then moves several mm and calls this home but this isn't done in home x and home y

        ; pause.g
        ; called when a print from SD card is paused
        ;
        ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Jun 23 2021 23:47:22 GMT-0400 (Eastern Daylight Time)
        M83            ; relative extruder moves
        G1 E-10 F3600  ; retract 10mm of filament
        G91            ; relative positioning
        G1 Z5 F360     ; lift Z by 5mm
        G90            ; absolute positioning
        G1 X0 Y0 F6000 ; go to X=0 Y=0
        
        
        ; resume.g
        ; called before a print from SD card is resumed
        ;
        ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Jun 23 2021 23:47:22 GMT-0400 (Eastern 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 E10 F3600         ; extrude 10mm of filament
        
        
        Feynman137undefined OwenDundefined jens55undefined 3 Replies Last reply Reply Quote 0
        • Feynman137undefined
          Feynman137 @Feynman137
          last edited by

          Ah never mind I don't see how the pause/resume could've caused a problem.

          1 Reply Last reply Reply Quote 0
          • OwenDundefined
            OwenD @Feynman137
            last edited by

            @Feynman137
            When you pause it runs pause.g
            It won't home unless you tell it to do so.
            For example by putting G28 X Y in there.
            In your pause.g you have it set to move to X0 Y0
            That should not cause the carriage to crash if you normally home to axis minima and the machine has not skipped any steps.

            1 Reply Last reply Reply Quote 1
            • jens55undefined
              jens55 @Feynman137
              last edited by jens55

              @Feynman137, I still haven't seen you mention what the printer is, especially the x and y size.
              As a matter of semantics - you mentioned 'the printer homes' a few times. 'Homeing' and going to the home position (as in your pause.g) is something completely different and could confuses the issue for some people (ie me)

              1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator
                last edited by

                G1 X5					;move x axis
                G92 X0					;compensate to keep BL touch on plate
                G1 Y35					;move y from unprintable region
                G92 Y0             		;compensate to keep BL touch on plate
                

                Your homeall.g is a little weird. You're homing to the switch, and then moving away from it and then calling that X0 Y0.

                When you run pause.g it is telling it to go to x0 y0, is that in a safe space, or not? If you change that X0 Y0 to a known safe non-zero location does it still happen?

                What firmware version? For good measure can you send M122 and M98 P"config.g" and post the results?

                Do you have a bed.g or anything else that gets run before a print? Can you share your slicer start gcode?

                Z-Bot CoreXY Build | Thingiverse Profile

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

                  @OwenD I see now that it is not actually homing like you said but attempting to move to X0 Y0

                  @jens55 I did not mention the details of the printer like max sizes etc because the config.g for the printer is posted above. But the printer looks like this:

                  CoreXY3.jpg coreXY2.jpg coreXY1.jpg

                  @Phaedrux you are correct the homing file is hitting the limit switch then moving away from it just slightly. There is an unprintable region due to the dual nozzles and bed clips etc.

                  The X0 and Y0 should be a safe place after the homing has been completed.

                  Slicer start gcode:

                  M106 S127 ;turn on extruder fan
                  M140 P0 S{material_bed_temperature} ;heated beds
                  M140 P1 S{material_bed_temperature}
                  M140 P2 S{material_bed_temperature}
                  M140 P3 S{material_bed_temperature}
                  
                  
                  G28 ; home
                  G30 P0 X529.725 Y29.65 Z-99999 ; probe near a leadscrew
                  G30 P1 X529.725 Y479.65 Z-99999 ; probe near a leadscrew
                  G30 P2 X29.725 Y479.65 Z-99999 ; probe near a leadscrew
                  G30 P3 X29.725 Y29.65 Z-99999 S4 ; probe near a leadscrew and calibrate 4 motors
                  
                  ; bed.g
                  ; called to perform automatic bed compensation via G32
                  ;
                  ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Jun 23 2021 23:47:21 GMT-0400 (Eastern Daylight Time)
                  M561 ; clear any bed transform
                  G29  ; probe the bed and enable compensation
                  
                  

                  The M122 response is below. I was afraid to run the other command because I am in the middle of printing

                  M122
                  === Diagnostics ===
                  RepRapFirmware for Duet 3 MB6HC version 3.4.2 (2022-09-13 15:17:43) running on Duet 3 MB6HC v1.01 (SBC mode)
                  Board ID: 08DJM-956BA-NA3TN-6J1FJ-3SN6K-198AU
                  Used output buffers: 1 of 40 (14 max)
                  === RTOS ===
                  Static ram: 152664
                  Dynamic ram: 67408 of which 0 recycled
                  Never used RAM 127456, free system stack 112 words
                  Tasks: SBC(ready,99.8%,438) HEAT(notifyWait,2.8%,322) Move(notifyWait,56.2%,238) CanReceiv(notifyWait,3.3%,772) CanSender(notifyWait,0.2%,328) CanClock(delaying,0.8%,339) TMC(notifyWait,174.9%,57) MAIN(running,180.3%,923) IDLE(ready,0.3%,30), total 518.6%
                  Owned mutexes: HTTP(MAIN)
                  === Platform ===
                  Last reset 107:20:19 ago, cause: power up
                  Last software reset at 2022-12-31 12:45, reason: User, Platform spinning, available RAM 130672, slot 0
                  Software reset code 0x0000 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
                  Error status: 0x00
                  Aux0 errors 0,0,0
                  Step timer max interval 136
                  MCU temperature: min 11.4, current 18.7, max 21.7
                  Supply voltage: min 23.8, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
                  12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0
                  Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/12/12, gc cycles 0
                  Events: 0 queued, 0 completed
                  Driver 0: standstill, SG min 0, mspos 648, reads 25674, writes 41 timeouts 0
                  Driver 1: standstill, SG min 0, mspos 744, reads 25674, writes 41 timeouts 0
                  Driver 2: standstill, SG min 0, mspos 712, reads 25666, writes 49 timeouts 0
                  Driver 3: standstill, SG min 0, mspos 760, reads 25666, writes 49 timeouts 0
                  Driver 4: standstill, SG min 0, mspos 8, reads 25666, writes 49 timeouts 0
                  Driver 5: standstill, SG min 0, mspos 872, reads 25666, writes 49 timeouts 0
                  Date/time: 2023-01-05 00:06:25
                  Slowest loop: 65.97ms; fastest: 0.03ms
                  === Storage ===
                  Free file entries: 10
                  SD card 0 not detected, interface speed: 37.5MBytes/sec
                  SD card longest read time 0.0ms, write time 0.0ms, max retries 0
                  === Move ===
                  DMs created 125, segments created 12, maxWait 72177277ms, bed compensation in use: mesh, comp offset -0.396
                  === MainDDARing ===
                  Scheduled moves 4379, completed 4379, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 42], CDDA state -1
                  === AuxDDARing ===
                  Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                  === Heat ===
                  Bed heaters 2 3 4 5 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
                  Heater 0 is on, I-accum = 0.0
                  Heater 2 is on, I-accum = 0.0
                  Heater 3 is on, I-accum = 0.0
                  Heater 4 is on, I-accum = 0.0
                  Heater 5 is on, I-accum = 0.0
                  === GCodes ===
                  Segments left: 0
                  Movement lock held by null
                  HTTP* is doing "M122" in state(s) 0
                  Telnet is idle in state(s) 0
                  File* is idle in state(s) 0
                  USB is idle in state(s) 0
                  Aux is idle in state(s) 0
                  Trigger* is idle in state(s) 0
                  Queue* is idle in state(s) 0
                  LCD is idle in state(s) 0
                  SBC is idle in state(s) 0
                  Daemon is idle in state(s) 0
                  Aux2 is idle in state(s) 0
                  Autopause is idle in state(s) 0
                  Code queue is empty
                  === CAN ===
                  Messages queued 3764111, received 7728772, lost 0, boc 0
                  Longest wait 1ms for reply type 6042, peak Tx sync delay 395, free buffers 50 (min 46), ts 1932100/1932099/0
                  Tx timeouts 0,0,0,0,0,0
                  === SBC interface ===
                  Transfer state: 5, failed transfers: 0, checksum errors: 0
                  RX/TX seq numbers: 21157/20032
                  SPI underruns 0, overruns 0
                  State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x2b1c8
                  Buffer RX/TX: 0/0-0, open files: 0
                  === Duet Control Server ===
                  Duet Control Server v3.4.2
                  File /opt/dsf/sd/gcodes/CFFFP_base3ii.gcode is selected, paused
                  Code buffer space: 4096
                  Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 1
                  Full transfers per second: 38.72, max time between full transfers: 88.0ms, max pin wait times: 3758.8ms/9.1ms
                  Codes per second: 0.81
                  Maximum length of RX/TX data transfers: 3480/1636
                  
                  
                  OwenDundefined jens55undefined Phaedruxundefined 3 Replies Last reply Reply Quote 0
                  • OwenDundefined
                    OwenD @Feynman137
                    last edited by

                    @Feynman137 said in When I pause during a print, printer does not home correctly:

                    the homing file is hitting the limit switch then moving away from it just slightly. There is an unprintable region due to the dual nozzles and bed clips etc.
                    The X0 and Y0 should be a safe place after the homing has been completed.

                    You could just set your axis minima as a negative number in M208
                    M208 X-5:550 Y-35:500 Z-2:451 (Not sure why you have a negative Z minima)

                    Feynman137undefined 1 Reply Last reply Reply Quote 0
                    • Feynman137undefined
                      Feynman137 @OwenD
                      last edited by

                      @OwenD This is quite an interesting idea

                      1 Reply Last reply Reply Quote 0
                      • jens55undefined
                        jens55 @Feynman137
                        last edited by

                        @Feynman137 said in When I pause during a print, printer does not home correctly:

                        @jens55 I did not mention the details of the printer like max sizes etc because the config.g for the printer is posted above. But the printer looks like this:

                        I was trying to determine if your config.g settings for axis length were reasonable. I was thinking that if you allowed an axis to move for a maximum of 550 mm but the actual physical axis was only 500 mm, then you would see issues like you described. Your axis maxima are 550 and 500 which I thought was odd as most off the shelf printers seem to be square ... but then your printer is custom and could be any size.

                        Anyway, my limited knowledge is exhausted so I will bow out of this discussion and let smarter people help you.

                        1 Reply Last reply Reply Quote 0
                        • Phaedruxundefined
                          Phaedrux Moderator @Feynman137
                          last edited by

                          @Feynman137 said in When I pause during a print, printer does not home correctly:

                          @Phaedrux you are correct the homing file is hitting the limit switch then moving away from it just slightly. There is an unprintable region due to the dual nozzles and bed clips etc.
                          The X0 and Y0 should be a safe place after the homing has been completed.

                          When you do that, the axis maxima is also shifted over. That would explain it if it were crashing into the high end of travel, but not why it would crash into the limit switch on the low end.

                          It's safer to use the method mentioned by OwenD to use an altered minima instead.

                          Perhaps a video of the problem in action would be helpful.

                          @OwenD said in When I pause during a print, printer does not home correctly:

                          (Not sure why you have a negative Z minima)

                          A slightly negative z minima allows you to baby step lower than z0.

                          Z-Bot CoreXY Build | Thingiverse Profile

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