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

Resume on power failure - CNC

Scheduled Pinned Locked Moved
CNC
3
11
603
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.
  • undefined
    Nightowl
    last edited by Nightowl 1 Jul 2023, 19:51 7 Jan 2023, 19:42

    I have a CNC machine controlled by a Duet3 MB6HC v1.01 board, running RRF 3.4.5

    I've asked before about the machine powering down so quickly it doesn't have time to fully prepare a resurrect.g file which includes the spindle speed of the milling motor, but have not yet achieved this.

    Recently, I came across the Raspberry Pi Pico and thought I could use this, with a pair of relays, to provide a 5V supply from a PowerBank to give the Duet3 a bit more time to save the resurrect.g file, but the issue comes when getting the Pico to 'sense' the loss of the 24V supply from the PSU, as it doesn't support such a high voltage.

    It was recently pointed out that I could use the 24V supply from the PSU and a 5V supply from the PowerBank (in turn connected to a USB supply) so that when the 24V failed, the 5V would be around long enough for the file to be saved.

    Is this true and, if it is, how should I set the 5V jumpers shown here:

    Screenshot 2023-01-07 at 19.40.20.png

    The documentation isn't particularly clear (to me) about this, so I just need some clarification.

    Thank you

    Few things are more dangerous than taking the advice of someone who thinks he knows what he's doing.
    I'm still on my learning curve, so take everything I say with caution!

    RatRig 1075, Duet3 MB6HC, Sorotec SFM 1000 PV-ER milling motor, Hobbyist

    1 Reply Last reply Reply Quote 0
    • undefined
      Nightowl
      last edited by 8 Jan 2023, 12:13

      Could someone help with this, please?

      I'm kinda stuck until I can make some progress.

      Thanks

      Few things are more dangerous than taking the advice of someone who thinks he knows what he's doing.
      I'm still on my learning curve, so take everything I say with caution!

      RatRig 1075, Duet3 MB6HC, Sorotec SFM 1000 PV-ER milling motor, Hobbyist

      undefined 1 Reply Last reply 9 Jan 2023, 14:38 Reply Quote 0
      • undefined
        T3P3Tony administrators @Nightowl
        last edited by 9 Jan 2023, 14:38

        @Nightowl If i understand correctly you plan to wire the machine with 24V in, and provide 5V backup from a USB power bank?

        In this can i presume you still want to use the internal 5V supply on the Duet for normal operation, and then just provide USB power as well. Making the assumption that you do not have an SBC connected you can leave the jumper on internal 5V En, hot have either of the 5V<->SBC jumpers fitted and plug the power bank into the USB port of the Duet.

        www.duet3d.com

        undefined 1 Reply Last reply 9 Jan 2023, 18:12 Reply Quote 1
        • undefined
          Nightowl @T3P3Tony
          last edited by 9 Jan 2023, 18:12

          Thank you, @T3P3Tony
          No, I just want to power the board from the 5V long enough to ensure the Resume.g file can be written (although the PowerBank kept my Duet2 Network board powered for almost 2 hours!)

          I don't have a SBC connected, no. I run the machine from a web browser on my Surface Pro.

          So, only a single jumper across the Internal 5V En pins, and not the other two.

          Brilliant, thanks again 👍

          Few things are more dangerous than taking the advice of someone who thinks he knows what he's doing.
          I'm still on my learning curve, so take everything I say with caution!

          RatRig 1075, Duet3 MB6HC, Sorotec SFM 1000 PV-ER milling motor, Hobbyist

          undefined 1 Reply Last reply 11 Jan 2023, 13:46 Reply Quote 0
          • undefined
            dc42 administrators @Nightowl
            last edited by 11 Jan 2023, 13:46

            @Nightowl if you are not running anything external from the 5V rail (or not much anyway) and using 24V VIN then RRF should have sufficient time to write the complete resurrect.g file, provided you don't do anything in the power fail script that waits for movement to stop. If that's not happening, try a new SD card.

            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

            undefined 1 Reply Last reply 11 Jan 2023, 15:58 Reply Quote 0
            • undefined
              Nightowl @dc42
              last edited by 11 Jan 2023, 15:58

              @dc42 I don't think I'm running anything external from the 5V power rail and I am using a 24V 350W PSU, but there doesn't seem to be enough time for the resurrect.g file to be written.

              Here's the appropriate line from the config.g file:

              M911 S23 R23.5 P"M98 P""SaveSpindleSpeed.g""M913 X0 Y0" ; set voltage thresholds and actions to run on power loss

              ...and here's the savespindlespeed.g file:

              var fName = "RestoreSpindleSpeed.g"
              echo >{var.fName} "if {!exists(global.abort_process)}"
              echo >>{var.fName} " global abort_process = true"
              echo >>{var.fName} "else"
              echo >>{var.fName} " set global.abort_process = true"
              echo >>{var.fName} "M291 S3 R""Resurrect:"" P""Continue with <"^{job.file.fileName}^">?"""
              echo >>{var.fName} "set global.abort_process = false"
              echo >>{var.fName} "M3 S"^{spindles[0].active}

              All this was brought about by my desire to ensure the CNC machine saved all the necessary information, in the event of a power failure, to be able to resume the cut when mains power returns. For whatever reason, the power drain is too quick for the files to be written, hence my thoughts of connecting a 5V backup battery to the microUSB port.

              We discussed this, at length, here, here and this thread, but not yet found a solution.

              Few things are more dangerous than taking the advice of someone who thinks he knows what he's doing.
              I'm still on my learning curve, so take everything I say with caution!

              RatRig 1075, Duet3 MB6HC, Sorotec SFM 1000 PV-ER milling motor, Hobbyist

              undefined 1 Reply Last reply 12 Jan 2023, 18:00 Reply Quote 0
              • undefined
                T3P3Tony administrators @Nightowl
                last edited by 12 Jan 2023, 18:00

                @Nightowl one thing that occurs to me is that you could potentially shorten the execution of this file to the following:

                echo >>"RestoreSpindleSpeed.g" "M291 S3 R""Resurrect:"" P""Continue with <"^{job.file.fileName}^">?"""
                echo >>"RestoreSpindleSpeed.g""set global.abort_process = false"
                echo >>"RestoreSpindleSpeed.g" "M3 S"^{spindles[0].active}

                and have the first part of the file created as part of the print start gcode, then recreated as part of the power fail recover code..

                How far through writing the file does it get?

                I did not read through other long thread so apologies if it was also tried but did you try writing an empty file, just to confirm that the macro was being run at all, as a test change savespindlespeed.g to

                echo >"RestoreSpindleSpeed.g" ""
                

                www.duet3d.com

                undefined 1 Reply Last reply 12 Jan 2023, 19:18 Reply Quote 0
                • undefined
                  Nightowl @T3P3Tony
                  last edited by 12 Jan 2023, 19:18

                  Thanks, @T3P3Tony

                  With the current configuration files it only saves about 6 lines but, to be completely honest, I haven't spent a lot of time trying to sort this out as there have been other issues that have taken priority.

                  I've got a project to run tomorrow (Friday) so I'll finish that off and then concentrate on this, including a simulated power failure.

                  Just out of curiosity, am I correct in thinking the pause.g file is relevant to this process, and that the resume.g file can be used after powering down and restarting the machine, or have I got my wires crissed?

                  Thanks

                  Few things are more dangerous than taking the advice of someone who thinks he knows what he's doing.
                  I'm still on my learning curve, so take everything I say with caution!

                  RatRig 1075, Duet3 MB6HC, Sorotec SFM 1000 PV-ER milling motor, Hobbyist

                  undefined 2 Replies Last reply 12 Jan 2023, 19:48 Reply Quote 0
                  • undefined
                    dc42 administrators @Nightowl
                    last edited by 12 Jan 2023, 19:48

                    @Nightowl it may help that in RRF 3.5beta1 the resurrect.g file includes commands to restore the spindle speed. Please note, this has not been tested yet. Let me know if it works for you.

                    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

                    undefined 1 Reply Last reply 12 Jan 2023, 21:09 Reply Quote 0
                    • undefined
                      Nightowl @dc42
                      last edited by 12 Jan 2023, 21:09

                      Thanks, @dc42
                      I’ll see how I get on tomorrow.

                      TBH I’m reluctant to test a beta version as my current configuration is really stable, but I could try with a different microSD card, so I’ve got a fallback.

                      Few things are more dangerous than taking the advice of someone who thinks he knows what he's doing.
                      I'm still on my learning curve, so take everything I say with caution!

                      RatRig 1075, Duet3 MB6HC, Sorotec SFM 1000 PV-ER milling motor, Hobbyist

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        dc42 administrators @Nightowl
                        last edited by 12 Jan 2023, 21:32

                        @Nightowl said in Resume on power failure - CNC:

                        Just out of curiosity, am I correct in thinking the pause.g file is relevant to this process, and that the resume.g file can be used after powering down and restarting the machine, or have I got my wires crissed?

                        The pause.g and resume.g files are not relevant to resume after power fail. However, any time you pause a print, resurrect.g gets written. This is to allow you to pause the job and then power down, knowing that you can resume it if you have set up resurrect-prologue.g appropriately. This works for 3D printing; I don't know whether it is appropriate for CNC applications.

                        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
                        1 out of 11
                        • First post
                          1/11
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA