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

    Filament load macro whith sensor

    Scheduled Pinned Locked Moved
    Filament Monitor
    6
    15
    665
    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.
    • toddelundefined
      toddel
      last edited by

      Hello...

      i'm using the bondtech prusa extruder on my corexy. It has the prusa IR Filament Sensor built in near the gears.

      I'm looking for a macro that does nearly the same as the prusa printers:

      Heat the nozzle up
      when temp is reached a message appears "Now you can load Filament"
      When now the sensor triggers the filament loading should start...

      How can i adress the sensor for that? Or has anyone this running already?

      1 Reply Last reply Reply Quote 0
      • T3P3Tonyundefined
        T3P3Tony administrators
        last edited by

        How are you connecting the prusa IR sensor? from memory these connected by I2C to the prusa board.

        www.duet3d.com

        A Former User? toddelundefined 2 Replies Last reply Reply Quote 0
        • A Former User?
          A Former User @T3P3Tony
          last edited by

          @T3P3Tony said in Filament load macro whith sensor:

          connected by I2C

          thats the laser sensor, the FINDA acts like any inductive npn probe afaik

          1 Reply Last reply Reply Quote 0
          • toddelundefined
            toddel @T3P3Tony
            last edited by

            @T3P3Tony

            ; Filament Sensor
            M591 D0 P2 C"io8.out" S0 0 ; Filament Sensor an E0, Endstop IO8, Mode P1 Signal high when Filament in, S1: Pause on error

            1 Reply Last reply Reply Quote 0
            • toddelundefined
              toddel
              last edited by

              ![alt text](pap.PNG image url)

              Made a plan, sorry i just have PowerPoint here 🙂

              So how can i read the property of the filament sensor?

              Is there any source/manual how to speak the printers language?

              1 Reply Last reply Reply Quote 0
              • T3P3Tonyundefined
                T3P3Tony administrators
                last edited by

                Potentially use

                https://duet3d.dozuki.com/Wiki/Gcode#Section_M581_Configure_external_trigger

                However this looks like an opportunity to use the Gcode meta commands, have you looked at this:
                https://duet3d.dozuki.com/Wiki/GCode_Meta_Commands

                www.duet3d.com

                toddelundefined 1 Reply Last reply Reply Quote 0
                • toddelundefined
                  toddel @T3P3Tony
                  last edited by

                  @T3P3Tony
                  Yes. Thanks. Thats what i'm searching for... Meta Commands...

                  Nice. Now i need the name/how to check filament sensor state...

                  But i'm a step further now...

                  Thanks

                  T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
                  • T3P3Tonyundefined
                    T3P3Tony administrators @toddel
                    last edited by

                    @toddel and for that you can look at the Object Model
                    https://duet3d.dozuki.com/Wiki/Object_Model_of_RepRapFirmware

                    I believe that OM documentation is yet to catch up with the very latest firmware build (which you should use for this) however use M409 to see the OM as a JSON stucture
                    https://duet3d.dozuki.com/Wiki/Gcode#Section_M409_Query_object_model

                    www.duet3d.com

                    toddelundefined 1 Reply Last reply Reply Quote 0
                    • toddelundefined
                      toddel
                      last edited by

                      When i try:

                      M409 K"sensors.filamentMonitors" F"filamentPresent"

                      -> {"key":"sensors.filamentMonitors","flags":"filamentPresent","result":[{"filamentPresent":true}]}

                      When i try:

                      echo !sensors.filamentMonitors[0].filamentPresent

                      -> false

                      Hmm what's wrong?

                      1 Reply Last reply Reply Quote 0
                      • toddelundefined
                        toddel
                        last edited by

                        echo sensors.filamentMonitors[0].filamentPresent works 🙆‍♂️🙆‍♂️

                        1 Reply Last reply Reply Quote 0
                        • toddelundefined
                          toddel @T3P3Tony
                          last edited by

                          @T3P3Tony

                          Got it running!

                          if sensors.filamentMonitors[0].filamentPresent = true
                          M291 P"Es ist noch Filament geladen. Möchten Sie es entladen?" R"Filament noch geladen!" S3
                          ;call unload.g
                          if sensors.filamentMonitors[0].filamentPresent = false
                          M291 P"Extruder wird zum laden aufgeheizt" R"Extruder wird aufgeheizt" S2
                          M109 S220 ;Wait for extruder
                          while true
                          M291 P"Filament einlegen..." R"Filament einlegen" S1
                          if sensors.filamentMonitors[0].filamentPresent = true
                          G1 E10 F100
                          G1 E100 F300
                          break

                          Is there a way to ask the user after G1 E100 "Color OK?" with anwer options Yes(break), No(another G1 E100) and Abort(break)?

                          Then its finished...

                          Kolbiundefined 1 Reply Last reply Reply Quote 0
                          • Kolbiundefined
                            Kolbi @toddel
                            last edited by

                            @toddel I made a similar macro set that may interest you.
                            https://forum.duet3d.com/topic/17566/single-macro-for-filament-handling/15

                            1 Reply Last reply Reply Quote 1
                            • mitchundefined
                              mitch
                              last edited by

                              I am having issues with this macro while using the Duet3D laser filament sensor.

                              ; Filament is currently loaded
                              if sensors.filamentMonitors[0].filamentPresent = true
                              M702 ; Unload filament as previously configured

                              Does the laser sensor only detect movement and is unable to detect filament presence when it is stationary? In the console when I enter:

                              echo sensors.filamentMonitors[0].filamentPresent

                              I get "null"

                              m591 d0
                              Duet3D laser filament monitor v2 on pin e0stop, enabled, allow 15% to 110%, check every 3.0mm, version 2, quality 223, brightness 255, shutter 86, no calibration data
                              
                              oliofundefined 1 Reply Last reply Reply Quote 0
                              • oliofundefined
                                oliof @mitch
                                last edited by

                                @mitch I think your question should be in its own thread so it gets the proper attention.

                                <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                                1 Reply Last reply Reply Quote 0
                                • mitchundefined
                                  mitch
                                  last edited by

                                  I have been searching around the forum tonight leading me to several "indirect filament sensor" threads. I believe the answer to my question above is yes. The sensor detects movement and not presence.

                                  The laser filament sensor does have an input for a micro switch but most of the mods do not use it. I must just have an unusual use case in wanting to take advantage of the static state of knowing if filament is loaded. I was using this information to automate startup and printing.

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