Navigation

    Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    How to extrude until trigger

    Tuning and tweaking
    6
    38
    2335
    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.
    • NicoLab28
      NicoLab28 last edited by

      Just a stupid question, how to extrude until the release of a specific sensor.
      I have my search everywhere, I can not find.

      G1 E9999 ???
      It extrudes 12mm, for example, stops but without error / pause / change of filament.
      A bit like a homing.

      I explain, I have a duet eternet + duex5, and I'm trying to build a MMU.
      So I would like to be able to control the postition of my filaments, move them to some sensor, then make position changes and re-extrude to another sensor.

      Do you have to use the M577? Knowing that I risk using several sensors, 2 extruders sometimes synchronized

      Of type M577 E0 S1
      knowing that E0 is the sensor and that I use the E7 engine for example
      Then G1 E9999

      Thank you

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

        M577 seems to doesnt work. Or I don't know how to use it...

        I tried M581 E0 T3 S1 C0
        To use macro using trigger
        It doesn't work too.
        M581 doesn't work imediately, need it time to be enabled?

        In my macro trigger3.g I have put "M117 Trigger3" to have a message...

        then I wrote in the gcode sender:
        M581 E0 T3 S1 C0
        and
        G1 E2000 F1000
        only after 5-10 seconds, I receive the message "Trigger3", but not from the first trig.
        Futhermore, S1 or S0 do the same (perhaps need capacitor on the micro switch?)

        To finish with M581, this didn't stop the G1 code.

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

          For info :
          M115
          FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.0(RTOS) ELECTRONICS: Duet Ethernet 1.02 or later + DueX5 FIRMWARE_DATE: 2018-06-05b3

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

            there is something that escape me.

            I'm just trying to stop the G1 E1000 command when E0's trigger is off.
            I'm not in printing mod, but in cold extrusion enable to test the gcode.

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

              There is currently no direct facility in RepRapFirmware to extrude until trigger. However, there is a facility to extrude until the extruder motor stalls - just use a G1 S1 Exxx Fxxx command.

              To achieve the effect of extrude until endstop switch triggered, you could create an additional axis (say U) using M584, and assign the extruder moor to both the extruder and U. Then a G1 S1 Uxxx command will drive the motor until the U endstop is triggered. Afterwards, use the M584 P parameter to hide the U axis.

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

                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!

                dc42 1 Reply Last reply Reply Quote 0
                • dc42
                  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
                  • NicoLab28
                    NicoLab28 last edited by

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

                    dc42 1 Reply Last reply Reply Quote 0
                    • NicoLab28
                      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
                      • NicoLab28
                        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
                        • dc42
                          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

                          NicoLab28 2 Replies Last reply Reply Quote 0
                          • NicoLab28
                            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

                            dc42 1 Reply Last reply Reply Quote 0
                            • dc42
                              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
                              • NicoLab28
                                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
                                • NicoLab28
                                  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
                                  • NicoLab28
                                    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
                                    • NicoLab28
                                      NicoLab28 last edited by

                                      Another question...

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

                                      dc42 1 Reply Last reply Reply Quote 0
                                      • dc42
                                        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
                                        • NicoLab28
                                          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.

                                          dc42 1 Reply Last reply Reply Quote 0
                                          • dc42
                                            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
                                            • NicoLab28
                                              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
                                              • gavatron3000
                                                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
                                                • NicoLab28
                                                  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
                                                  • gavatron3000
                                                    gavatron3000 last edited by

                                                    Yeah it's exactly the same just no electronics

                                                    1 Reply Last reply Reply Quote 0
                                                    • NicoLab28
                                                      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
                                                      • First post
                                                        Last post
                                                      Unless otherwise noted, all forum content is licensed under CC-BY-SA