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

    How to extrude until trigger

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    6
    38
    4.3k
    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.
    • dc42undefined
      dc42 administrators @NicoLab28
      last edited by

      @nicolab28 said in How to extrude until trigger:

      exactly, a solution not very elegant, but which remains in the concept of all gcode.

      Why so much difference between the management of the XYZ and E axes?

      Finally it probably saves me, I will test this step!

      I don't think anyone has asked for extrude-until-trigger before. What is the use case?

      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
      • NicoLab28undefined
        NicoLab28
        last edited by

        Yes but how to affect E0 endstop to U axe?
        I need to wire it?

        dc42undefined 1 Reply Last reply Reply Quote 0
        • NicoLab28undefined
          NicoLab28
          last edited by

          it's for create a MMU.
          I want to push/retract the filament until a position. Perhaps there is another method?

          For my MMU, I use one extruder for direct drive, and 2 stepper for selecting et bowden.
          For the moment I use an 5 multi filament. this one https://www.thingiverse.com/thing:2785379
          I use a sensor before the direct drive, to know exactly where the filament is.
          So I need to push until trig.

          1 Reply Last reply Reply Quote 0
          • NicoLab28undefined
            NicoLab28
            last edited by

            Another question
            how to do an
            if (E5 trig sensor) then G1 U-100

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

              @nicolab28 said in How to extrude until trigger:

              Yes but how to affect E0 endstop to U axe?
              I need to wire it?

              The first axis you create using M584 will use the E0 endstop, and the next will use the E1 endstop.

              I use a sensor before the direct drive, to know exactly where the filament is.

              Are you sure you can't use extruder stall detection instead?

              Another question
              how to do an
              if (E5 trig sensor) then G1 U-100

              Conditions in GCode are planned to be supported in RRF 2.03.

              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

              NicoLab28undefined 2 Replies Last reply Reply Quote 0
              • NicoLab28undefined
                NicoLab28 @dc42
                last edited by

                @dc42 said in How to extrude until trigger:

                The first axis you create using M584 will use the E0 endstop, and the next will use the E1 endstop.

                I use
                M584 X0 Y1 Z4:5 E3:6:7:8:9 U6 P4
                So E3 use E0 endstop
                E6 and U6 -> E1 endstop ...

                Ok I will try

                If i do
                M584 X0 Y1 Z4:5 E9:8:7:6:3 U6 P4
                So E9 become E0 endstop
                E6 and U6 -> E3 endstop ...
                And I can do this on the fly without loosing my tool definition?



                My T1 def:
                M563 P1 D0:1 H1 S"Tool 1" ; Define tool 1
                M567 P1 E1:0.975 ; mixing
                G10 P1 X0 Y0 Z0

                So I need to do this
                M584 X0 Y1 Z4:5 E3:6:7:8:9 U6 P4
                T1
                G1 E-100 S1 ; with E1 endstop

                Are you sure you can't use extruder stall detection instead?

                When I'm looking for Extruder stop I saw "stall" in a gcode title command, but I was thinking that was for loosing step for the XYZ axes, I will take a look.

                Conditions in GCode are planned to be supported in RRF 2.03.
                YES YES YES!!!
                Varaiable too?
                when? 1 week, 1 month or 1 year?
                A python/php/lua would be grate

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

                  @nicolab28 said in How to extrude until trigger:

                  I use
                  M584 X0 Y1 Z4:5 E3:6:7:8:9 U6 P4
                  So E3 use E0 endstop
                  E6 and U6 -> E1 endstop ...

                  No, because extruders are not axes. U will use the E0 endstop.

                  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
                  • NicoLab28undefined
                    NicoLab28
                    last edited by

                    OK,

                    even if Z use driver 4:5 it doens't take E4 E5 endstop
                    P4 from M584 say E0 for 4th axe U and only 4 axes
                    So I need to use P8 for U V W and A? B?

                    1 Reply Last reply Reply Quote 0
                    • NicoLab28undefined
                      NicoLab28 @dc42
                      last edited by

                      @dc42 said in How to extrude until trigger:

                      Are you sure you can't use extruder stall detection instead?

                      I took a look in the doc, but I don't understand how stall detection will help me. how did you see the thing?

                      I did not take the time to test the M584, for the endstop, I'm experiment without for the moment.

                      1 Reply Last reply Reply Quote 0
                      • NicoLab28undefined
                        NicoLab28
                        last edited by

                        Back from holidays!

                        Ok it works, if I affect a 4th axis "A" it has the E0 endstop.
                        By mapping the axis A to the extruder E0, I can extrude and control the position of my filament.

                        M569 P5 S0                          ; Driver 5
                        M584 X0 Y1 Z2 E5 A5 P4     ; Extruder E and A-axis on the driver 5
                        ... set step / mm speed ...
                        M574 X1 Y1 A1 S1                 ; Set active high endstops

                        So if I want to extrude normally I use as usual G1 Exx
                        And If I want to get the filament back to endstop I use the function G1 A-1000 S1

                        Thank you DC42 !!!

                        What is the M577 command for? in which situation to use it?

                        1 Reply Last reply Reply Quote 0
                        • NicoLab28undefined
                          NicoLab28
                          last edited by

                          Another question...

                          Can we use the laser filament sensor as endstop for an axis? If yes, how?

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

                            @nicolab28 said in How to extrude until trigger:

                            Another question...

                            Can we use the laser filament sensor as endstop for an axis? If yes, how?

                            That's not supported, or planned at present. Would you be wanting to extrude until the filament monitor detects motion, or until it detects no motion?

                            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
                            • NicoLab28undefined
                              NicoLab28
                              last edited by

                              both ... It's mostly to have contactless sensors.

                              2 extruders (a bowden and a direct drive)
                              In fact I have an extruder that pushes the filament to the second which is a direct drive.
                              I have an endstop that is just after the first extruder, which serves me to change filament. I retract until endstop, I retract a few millimeters again, and I change my filament.
                              And I push the filament until the second endstop, before the direct drive, I push a few millimeters to hang the direct drive, and I disengaged the first extruder that pushed the filament.

                              My printer is big enough, my bed is 500x500, I have a long tube of ptfe, and it's quite complicated to be precise enough in the position of the filament.

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

                                @nicolab28 said in How to extrude until trigger:

                                In fact I have an extruder that pushes the filament to the second which is a direct drive.

                                I have an endstop that is just after the first extruder, which serves me to change filament. I retract until endstop, I retract a few millimeters again, and I change my filament.

                                And I push the filament until the second endstop, before the direct drive, I push a few millimeters to hang the direct drive, and I disengaged the first extruder that pushed the filament.You should be able to use extruder stall detection for that one.

                                You should be able to use extruder stall detection to use the first extruder to push the filament and stop when it reaches the direct drive extruder.

                                The way endstops are configured and used is scheduled to be reworked in firmware 2.03, so I'll bear your suggestions in mind.

                                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
                                • NicoLab28undefined
                                  NicoLab28
                                  last edited by

                                  I do not think I can use the stall, with the extruder pushing, because the filament must always be engaged in it.
                                  With a servo I engage or I disengage this extruder.

                                  But it is to test for the direct drive.

                                  Normally, all parts are finished product tomorrow, I will finally be able to make the first tests ...

                                  1 Reply Last reply Reply Quote 0
                                  • gavatron3000undefined
                                    gavatron3000
                                    last edited by gavatron3000

                                    @NicoLab28 im currently doing the same project running a MMU2 with the duet, your welcomed to use my macros if you like. they work ok so far but dont have many miles on them yet so use them as you will. they detect loading and unloading failures. the triggers are very new and not fully tested but seem ok so far

                                    My axes:
                                    A=selector B=filament gear C=idler pulleys

                                    i aim to install the laser sensor once it comes back in stock. you can see where ive added space for it.

                                    cheers
                                    Gav

                                    tpre0.g ( 1-4 are the same apart from the A and C positions)

                                    G90 ; absolute moves
                                    M913 A100 B100 C100
                                    G1 A1 F2000 ; move selector to T0 position
                                    G1 C4 F10000 ; move idler to T0 position
                                    M400 ; wait for moves to stop
                                    M98 P"tpremaster.g"
                                    M913 A50 B20 C20

                                    tpremaster.g (global loading macro)

                                    M591 D0 P2 C3 S0 ; deactivate filament sensor
                                    M574 B2 S0 ; set B axis max endstop to switched low
                                    G91 ; relative moves
                                    G1 B30 S1 F3000 ; feed filament to filament sensor
                                    G92 B0 ; force B to 0mm
                                    G1 B20 F3000 ; feed a bit more to reliably switch sensor and reach tube
                                    M400 ; wait till moves finish
                                    M574 B2 S3 ; set B axis max endstop to sensorless
                                    M581 E0 S0 T2 C0 ; activate trigger 2 on falling edge
                                    M582 T2 ; check filament sensor to confirm loading successful
                                    G4 P4000 ; trial wait to signify it progress
                                    M913 B50 ; reduce motor current to 50% to prevent grinding
                                    M915 B S5 F0 ; set stall guard parameters
                                    G1 S1 B550 F3600 ; fast feed filament into extruder
                                    M591 D0 P2 C3 S1 ; activate filament sensor
                                    G92 B0 ; force B to 0mm
                                    G90 ; absolute moves

                                    tpost0.g (1-4 are the same apart from C position)

                                    M913 A100 B100 C100
                                    G1 C4
                                    M98 P"tpostmaster.g"
                                    M116 P0
                                    M913 A50 B20 C20

                                    tpostmaster.g ( global loading macro)

                                    G91 ; relative moves
                                    G1 E5 B5 F300 ; feed filament into extruder with both B and E axis
                                    ;activate laser pew pew pew
                                    G90 ; absolute moves
                                    G1 C78 F10000 ; move C to safe position
                                    M400 ; wait for moves to finish
                                    G91 ; relative moves
                                    M915 E S3 F0 ; set extruder stall parameters
                                    M913 E70 ; lower extruder current by 50%
                                    G1 S1 E100 F3000 ; drive extruder till stall
                                    M913 E100 ; return extruder current to 100%
                                    G90 ; absolute moves

                                    tfree0.g

                                    M913 A100 B100 C100
                                    M98 P"TipSmoothing.g"
                                    G90 ; absolute moves
                                    G1 C4 F10000 ; select T0 with idler
                                    M98 P"tfreemaster.g"
                                    M913 A50 B20 C20

                                    tfreemaster.g (global unloading macro)

                                    M591 D0 P2 C3 S0 ; deactivate filament sensor
                                    G91 ; relative moves
                                    M574 B1 S1 ; set B axis min endstop to switched high temporarily
                                    G4 P4000 ; trial wait to show progress
                                    G1 B-500 S1 F3000 ; retract filament till sensor switches off
                                    G92 B0 ; force B axis position to 0mm
                                    M581 E0 S1 T3 C1 ; activate trigger 3 on rising edge while printing
                                    M582 T3 ; check filament sensor to confirm unloading successful
                                    G1 B-22 F3000 ; retract to position clear of selector
                                    G90 ; absolute moves
                                    ;G1 C78 F10000 ; move C to safe position
                                    M400 ; wait for moves to finish

                                    trigger2.g

                                    ; for detecting loading problems
                                    M400
                                    M291 P"Loading failure detected" S2 B1

                                    trigger3.g

                                    ;for detecting unloading problems
                                    M400
                                    M291 P"Unloading failure detected" S2 B1

                                    1 Reply Last reply Reply Quote 0
                                    • NicoLab28undefined
                                      NicoLab28
                                      last edited by

                                      thank you Gavatron3000!
                                      I will look at this very closely!
                                      Yours is a replica of MMU Prusa?

                                      1 Reply Last reply Reply Quote 0
                                      • gavatron3000undefined
                                        gavatron3000
                                        last edited by

                                        Yeah it's exactly the same just no electronics

                                        1 Reply Last reply Reply Quote 0
                                        • NicoLab28undefined
                                          NicoLab28
                                          last edited by

                                          My duet seems to have died ...
                                          I was quietly re-doing a home selector, before moving to the configuaration of the extruder. I heard a pitchhh, and a little smell ...

                                          I do not understand too much, yet I have already made bad wiring, but not there ...

                                          Unless the M584 X0 Y1 Z2: 4 E3 A8 B9 C9 P6 is not advisable? We can?

                                          I just ordered a new one, I'll try to see what's wrong with the hardware, but I can not access it by http ...

                                          1 Reply Last reply Reply Quote 0
                                          • NicoLab28undefined
                                            NicoLab28
                                            last edited by

                                            nothing by usb too!

                                            hoping that the duex5 and the panel7 have nothing?

                                            0_1546793496268_IMG_20190106_174119b.jpg

                                            0_1546793505357_IMG_20190106_174045b.jpg

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