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

    Power recover wrong last position

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    29
    3.9k
    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.
    • DR8undefined
      DR8
      last edited by

      I did one more test and I have filmed everything. So the last position of Z axis when I shut down the printer was 8.51mm. After I turn it on, the printer did G28 and sat at X0 Y0 Z5. After the print fan turned on, Z got to 10.62, X and Y to the last position and then Z droped to 8.63. The last part of ressurect.g is this:

      M23 cilindru5.gcode
      M26 S109990 P0.000
      G0 F6000 Z11.226
      G0 F6000 X102.91 Y76.74
      G0 F6000 Z9.226
      G1 F6000.0 P0
      M24

      So 8.63-8.51= 0.12 This means Z should be up by about half of the layer height( I'm printing at 0.2). this is what values says but what I see is basically the head crushing into the object. Clearly, My Z is not with 0.12mm above the print.

      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by

        M203 Z1250 is fine if that's a speed that your Z axis can do.

        The head should go down by exactly 2mm after it moves to the correct XY position, that's what the code in resurrect.g commands.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators
          last edited by

          What Z homing mechanisms are you using in homeall.g and in resurrect-prologue.g; and how are you ensuring that the Z height after homing in resurrect.g is exactly right?

          Duet WiFi hardware designer and firmware engineer
          Please do not ask me for Duet support via PM or email, use the forum
          http://www.escher3d.com, https://miscsolutions.wordpress.com

          1 Reply Last reply Reply Quote 0
          • DR8undefined
            DR8
            last edited by

            This is my homeall.g

            ; homeall.g
            ; called to home all axes
            ;
            ; generated by RepRapFirmware Configuration Tool on Sat Oct 28 2017 12:36:25 GMT+0300 (GTB Daylight Time)

            ; Relative positioning
            G91

            ; Lift Z
            G1 Z5 F6000

            ; Course home X or Y
            G1 X-205 Y-205 F6000 S1
            ; Course home X
            G1 X-205 S1
            ; Course home Y
            G1 Y-205 S1

            ; Move away from the endstops
            G1 X5 Y5 F1000

            ; Fine home X
            G1 X-205 F360 S1
            ; Fine home Y
            G1 Y-205 S1

            ; Move Z down until the switch triggers
            G1 Z-255 F1000 S1

            ; Absolute positioning
            G90

            ; Tell the firmware where we are
            G92 Z2.5

            ; Uncomment the following line to lift the nozzle after probing
            G1 Z5 F100

            Ressurect-prologue.g is:

            ;resurrect-prologue.g

            M116
            G28
            ;M83
            ;G1 E2 F3600

            "how are you ensuring that the Z height after homing in resurrect.g is exactly right?"
            I have filmed with my phone the web page to see where my last position of the Z axis was before turning off the printer and also I have filmed where my Z axis is going after running ressurect.g file. And I have compared this values with those from ressurect.g file.

            You said something interesting and now I see. Yes, the ressurect.g file is telling to the printer to go down by 2mm. How can i make to not do this. I'm gonna do something. I'm gonna run again the experiment but before to upload the ressurect.g file I'll modify it in order to make Z to stay at the same height.

            1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators
              last edited by

              The resurrect.g file tells the printer to go initially to 2mm higher than where the print was interrupted. That's why it goes down 2mm at the end.

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              1 Reply Last reply Reply Quote 0
              • DR8undefined
                DR8
                last edited by

                Yeah I know but it's like is not respecting this. Another huge problem that I have is that after X Y Z are positioned, the extruder is trying to extrude a huge amount of filament at a huge speed. The filament is getting grinded and that's all. Hmm, I really don't know where should I start with everything

                1 Reply Last reply Reply Quote 0
                • resamundefined
                  resam
                  last edited by

                  The extruder thing sounds like you are mixing absolute vs. relative extruder moves: M82 and M83.

                  1 Reply Last reply Reply Quote 0
                  • DR8undefined
                    DR8
                    last edited by

                    @resam:

                    The extruder thing sounds like you are mixing absolute vs. relative extruder moves: M82 and M83.

                    i have M83 everywhere… Is power recover working for you?

                    1 Reply Last reply Reply Quote 0
                    • resamundefined
                      resam
                      last edited by

                      What slicer are you using? Cura defaults to absolute extruder moves - but you are using relative in your code.

                      1 Reply Last reply Reply Quote 0
                      • DR8undefined
                        DR8
                        last edited by

                        yes I was thinking about this that this is my problem. i ll give a try tmr using slic3r. but… i don t know what to say, there must be a solution for working with any slicer available.

                        1 Reply Last reply Reply Quote 0
                        • DR8undefined
                          DR8
                          last edited by

                          So I've tried power failure feature with a gcode generated by slic3r and the extruder does not have any problems now. But the problem with the X axis persist. If i have G28 in ressurect-prologue.g the print will be resumed about 2mm into the print so it will hit the print. If I have G28 X Y the print will restart about 2 mm above the print.

                          1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators
                            last edited by

                            Are you certain that the resurrect.g file was created when you lost power, and not some time earlier when you paused the print? If there isn't enough power to move the head up 3mm, perhaps there isn't enough power to save the resurrect.g file either. This line in resurrect.g:

                            M26 S48738 P0.000

                            tells me that the print was stopped between moves, rather than in the middle of a move as I would expect with a power failure. Also the header:

                            ; File "cilindru5.gcode" resume print after print paused at 2017-11-06 13:04

                            says it was created due to a pause, not a power failure.

                            Try removing the M913 X0 Y0 from the start of your power fail script. This should be OK in beta 6 but wasn't in beta 4.

                            Duet WiFi hardware designer and firmware engineer
                            Please do not ask me for Duet support via PM or email, use the forum
                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                            1 Reply Last reply Reply Quote 0
                            • DR8undefined
                              DR8
                              last edited by

                              I tried again. This is the gcode. I'm sure ressurect.g has time to be created

                              ; File "cubsl.gcode" resume print after power failure at 2017-11-07 10:36
                              M140 S55.0
                              G10 P0 S200 R0
                              T0 P0
                              M98 Presurrect-prologue.g
                              M106 P0 S1.00
                              M106 P2 S1.00
                              M106 P3 S0.00
                              M106 P4 S0.00
                              M106 P5 S0.00
                              M106 P6 S0.00
                              M106 P7 S0.00
                              M106 P8 S0.00
                              M106 S255.00
                              M116
                              M290 S0.000
                              G92 E0.00000
                              M83
                              M23 cubsl.gcode
                              M26 S22706 P0.430
                              G0 F6000 Z5.001
                              G0 F6000 X116.30 Y99.47
                              G0 F6000 Z3.001
                              G1 F2400.0 P0
                              M24

                              I placed a piece of sticky band where my Z level was when the power droped. And with G28 in ressurect-prologue.g clearly the Z is going way down when the print is restarting.(I'm testing without extruding filament to not damage something). Can my resume.g file somehow influent this?

                              ; resume.g
                              ; called before a print from SD card is resumed

                              G1 R1 Z5 F6000 ; go to 5mm above position of the last print move
                              G1 R1 ; go back to the last print move
                              M83 ; relative extruder moves
                              G1 E1 F3600 ; extrude 1mm of filament

                              1 Reply Last reply Reply Quote 0
                              • DR8undefined
                                DR8
                                last edited by

                                I have changed my last part of ressurect.g code from:

                                G0 F6000 Z5.001
                                G0 F6000 X116.30 Y99.47
                                G0 F6000 Z3.001
                                G1 F2400.0 P0
                                M24

                                to

                                G0 F6000 Z5.001
                                G0 F6000 X116.30 Y99.47
                                G0 F6000 Z5.001
                                G1 F2400.0 P0
                                M24

                                So the height of the object at the moment of power outage is 3mm(from DWC) . After G28 ressurect.g tells to the head to go 2mm above the print (5mm) but now 5mm from DWC is actually the height of the print( witch was 3mm in reality. So datas from DWC does not correspond with reality). Now, this is when the problem begin. Ressurect.g tells to the head to go down by 2mm and the print head will hit the print. I tried to change G0 F6000 Z5.001 with G0 F6000 Z7.001 and G0 F6000 Z3.001 with G0 F6000 Z5.001 and the print head now will go for real 2mm above the print, it will come down at 5 (in reality is 3) and start printing and everything is fine but after two seconds or so something is telling to the head to go again 2 mm down. So it's like DWC is always offset with 2mm from the real values. This happens only after the power outage. Otherwise everything is fine. My steps/mm are calibrated and the gantry is not going down when the power drops.

                                1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators
                                  last edited by

                                  It sounds to me that there is a difference of 2mm in where the printer thinks Z=0 is after you home it in resurrect-prologue.g. If you turn the printer on and send "M98 Presurrect-prologue.g" instead of pressing the home all button, does it home correctly - in particular, is the Z height correct?

                                  Duet WiFi hardware designer and firmware engineer
                                  Please do not ask me for Duet support via PM or email, use the forum
                                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                                  1 Reply Last reply Reply Quote 0
                                  • DR8undefined
                                    DR8
                                    last edited by

                                    I turned on the printer, I sent M98 Presurrect-prologue.g and the printer did a normal home procedure. My normal home all procedure is this:

                                    ; homeall.g
                                    ; called to home all axes
                                    ;
                                    ; generated by RepRapFirmware Configuration Tool on Sat Oct 28 2017 12:36:25 GMT+0300 (GTB Daylight Time)

                                    ; Relative positioning
                                    G91

                                    ; Lift Z
                                    G1 Z5 F6000

                                    ; Course home X or Y
                                    G1 X-205 Y-205 F6000 S1
                                    ; Course home X
                                    G1 X-205 S1
                                    ; Course home Y
                                    G1 Y-205 S1

                                    ; Move away from the endstops
                                    G1 X5 Y5 F1000

                                    ; Fine home X
                                    G1 X-205 F360 S1
                                    ; Fine home Y
                                    G1 Y-205 S1

                                    ; Move Z down until the switch triggers
                                    G1 Z-255 F1000 S1

                                    ; Absolute positioning
                                    G90

                                    ; Tell the firmware where we are
                                    G92 Z2.5

                                    ; Uncomment the following line to lift the nozzle after probing
                                    G1 Z5 F100

                                    So after "M98 Presurrect-prologue.g" Z axis stays at 5mm height because this is what homeall.g is telling to do. After I run ressurect.g the Z axis is rising from 5mm (home position of Z) to let's say 10 mm where the print was intrerupted. And then goes gown at 8. This is totally wrong. It should go up at 12 and then go down at 10.

                                    It's frustrating. I have 30 intrerruptions to make this work and I still can t manage what s wrong.

                                    1 Reply Last reply Reply Quote 0
                                    • dc42undefined
                                      dc42 administrators
                                      last edited by

                                      After homing Z, do you normally use the Z probe to do any sort of calibration or bed compensation or to set the Z=0 height before printing?

                                      Duet WiFi hardware designer and firmware engineer
                                      Please do not ask me for Duet support via PM or email, use the forum
                                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                                      1 Reply Last reply Reply Quote 0
                                      • DR8undefined
                                        DR8
                                        last edited by

                                        Ok, so the problem was

                                        ; Tell the firmware where we are
                                        G92 Z2.5

                                        this line of gcode from homeall.g .I have disabled it and now it's working great. I can't believe, such a thiny detail… But now I understand the point.

                                        Now, how can I make to have the ressurect.g file to be saved automatically to SD Card?

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