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

Filament runout stops instead of pauses

Scheduled Pinned Locked Moved
Filament Monitor
3
7
501
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
    ddeflyer
    last edited by 11 Apr 2020, 15:50

    So I've got my magnetic filament sensor working correctly (using a duet 3) with a microswitch. The problem is when I trip the microswitch (unplug it actually) the printer just stops (pause.g/pause button moves to x0 y0) and DWC says disconnected and reconnects. Once it reconnects it says that filament ran out and so paused, but the pause button isn't lit.

    Anyone know what is going on with this or where I can start debugging it?

    undefined 1 Reply Last reply 11 Apr 2020, 15:59 Reply Quote 0
    • undefined
      Turbo @ddeflyer
      last edited by 11 Apr 2020, 15:59

      @ddeflyer how are you connecting it? it either sounds like the gcode that's supposed to execute when the filament runout triggers is wrong, (possibly sending an emergency stop), or you're shorting the board when it triggers, causing it to reset. Those are my guesses at least.
      The gcode your should have should include an M226, or M600 (filament change pause), or M601 if you're on 3.01+ Fw.

      Cant stop tuning wont stop tuning.
      Dbot, Custom i3, Voron 0&2

      1 Reply Last reply Reply Quote 0
      • undefined
        ddeflyer
        last edited by 11 Apr 2020, 16:11

        My pause.g is:

        ; pause.g
        ; called when a print from SD card is paused
        ;
        ; generated by RepRapFirmware Configuration Tool v2.1.8 on Fri Mar 20 2020 05:06:07 GMT-0700 (Pacific 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

        I haven't tried it for a while but I believe it did the same thing when I had an issue with the extruder skipping. Additionally I think this line from running M122 says that the duet 3 hasn't reset:

        Last reset 01:23:10 ago, cause: software
        Last software reset at 2020-04-11 15:21, reason: User
        undefined 1 Reply Last reply 11 Apr 2020, 17:01 Reply Quote 0
        • undefined
          Turbo @ddeflyer
          last edited by 11 Apr 2020, 17:01

          @ddeflyer Is there an M25 in the generated Gcode? which pause gcode is the slicer generating?

          Cant stop tuning wont stop tuning.
          Dbot, Custom i3, Voron 0&2

          1 Reply Last reply Reply Quote 0
          • undefined
            Demi
            last edited by 11 Apr 2020, 22:52

            Im having the exact same problem, and I think it has to do with how Im declaring the pin maybe?

            M591 D0 S1 P1 C"io8.in"
            M581 P"io8.in" T1 S1 C0

            This seems to be guidance for older firmware, but Im having the same with:

            M950 J"io8.in"
            M581 P"io8.in" T1 S1 C0

            That syntax is probably not correct, as then you could only have one trigger, but the syntax examples arent comprehensive. Can anyone shed some light?

            Turbo, Im confused by your M25 question. Wouldnt the pause/trigger all be firmware side?

            1 Reply Last reply Reply Quote 0
            • undefined
              Demi
              last edited by Demi 4 Dec 2020, 15:25 12 Apr 2020, 15:22

              Okay, so i was more than a little confused, and I figured out how to declare a GPIO trigger which I have working as a filament sensor, but still cant get the M591 assignment to work correctly. Hopefully this can help you a little OP.

              M950 J12 C"io8.in" ; Names IO pin 8 in as Input 12 (required for M581)
              M581 P12 T1 S0 C1; References previously declare pin designation (12) to run pause.g (trigger 1) on falling edge (S0), only while printing (C1)

              The pin designation used in M950 creates a new naming convention. So instead of calling the pin by "name" (in this case io8.in) you call it by whatever number you named it. I just chose 12 to avoid any unknown (to me) input declarations the system might have reserved or in use.

              undefined 1 Reply Last reply 12 Apr 2020, 16:23 Reply Quote 0
              • undefined
                Demi @Demi
                last edited by 12 Apr 2020, 16:23

                Sorry to keep replying to my own posts here, but I have made some more progress, and now have it working completely (as a stand alone trigger anyway). Im just using a microswitch to detect filament so OP your setup might vary a bit.

                M950 J12 C"io8.in"
                M581 P12 T1 S0 C1
                M581 P12 T3 S1 C0

                So this setup detects running out of filament only when printing, but inserting filament anytime. I made a file, trigger3.g, which runs whenever you insert filament, acts as a filament load script. Filament runs out, print pauses runs pause.g, filament is inserted, it runs trigger3.g, then I click "resume print" and it starts back up. Works like a champ. Still not sure how to use M591, but this is working.

                1 Reply Last reply Reply Quote 1
                3 out of 7
                • First post
                  3/7
                  Last post
                Unless otherwise noted, all forum content is licensed under CC-BY-SA