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

    M571 not recognizing extruder moves

    Scheduled Pinned Locked Moved Solved
    General Discussion
    4
    11
    713
    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.
    • tooundefined
      too
      last edited by

      Hello,

      I am trying to set up M571 "output on extrude" on my current machine, however I am a bit stuck.

      The output of the pin never changes, whether I am extruding manually or from gcode.
      I have tried several ways and different pins all without success

      M571 S1 P"0.out8"
      M571 S1 P"out8"
      M571 S1.0 P"0.out8"
      M571 S1 P"0.out7"
      M571 P"out7" S1
      (you get the idea)
      

      I can successfully invert the output pin with the ! modifier and measure my VIN voltage, but the pin is not changing when the extruder is active.

      The extruder is driven by a 1XD board with CAN address 23:

      M569	P20.0	S1		; X forward on 20
      M569	P21.0	S1		; Y forward on 21
      M569	P22.0	S0		; Z forward on 22
      M569	P23.0	S0		; E forward on 23
      M569	P24.0	S0		; U forward on 24
      

      I have figured out that I cannot use the 1XD as output, I get the following error when I try:

      M571 P"23.out1" S1
      Error: M571: Remote ports are not supported by this command
      

      I suspect that I haven't configures the tool correctly, but I cannot figure out what to change:

      M563	P0	D0		; Define tool 0
      

      If I enter the drive number differently I get an error:

      M563 P0 D23.0
      Error: M563: bad drive number
      

      Does Anyone have an Idea?
      Thanks!

      Attached the full config file:
      config.g

      Cartesian Duet3+Raspberry pi 4 with 5x 1XD using servo drives printing mortars and concrete

      fcwiltundefined dc42undefined 3 Replies Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt @too
        last edited by

        @too

        I've re-posted your config file using the </> tags - it saves folks from having to download it.

        ; Configuration file for Duet 3 (firmware version 3)
        ; executed by the firmware on start-up
        ;
        ; generated by RepRapFirmware Configuration Tool v3.1.3 on Fri Jul 03 2020 17:01:27 GMT+0200 (Central European Summer Time)
        
        ; General preferences
        G90														; send absolute coordinates...
        M83														; ...but relative extruder moves
        
        ;Recommended by 1XD manual
        G4 S1   ;wait for expansion boards to start
        
        
        ; Drives
        M569	P20.0	S1										; X forward on 20
        M569	P21.0	S1										; Y forward on 21
        M569	P22.0	S0										; Z forward on 22
        M569	P23.0	S0										; E forward on 23
        M569	P24.0	S0										; U forward on 24
        
        M584	X20.0	Y21.0	Z22.0	E23.0		R0			; set drive mapping for linear axes
        M584	U24.0								R1			; set drive mapping for rotational axes
        
        
        ; "fast mode" to allow for a step rate of more than 55kHz
        M569	P20.0	T2.5:2.5:5:0							; set pulse timing for X to "fast mode"
        M569	P21.0	T2.5:2.5:5:0							; set pulse timing for Y to "fast mode"
        M569	P22.0	T2.5:2.5:5:0							; set pulse timing for Z to "fast mode"
        M569	P23.0	T2.5:2.5:5:0							; set pulse timing for E to "fast mode"
        M569	P24.0	T2.5:2.5:5:0							; set pulse timing for U to "fast mode"
        
        
        ;CONCRETELAB VALUES
        ;M350	X1	Y1 	Z1 	E1 	U1	 I1		; Configure microstepping with interpolation
        ;M92	X100	Y100 	Z100 	E100 	U100			; Set steps per mm
        ;M566	X3000 	Y3000 	Z100 	U1200 	E3000 			; Set maximum instantaneous speed changes (mm/min)
        ;M203	X15000 	Y15000 	Z2500 	U6000 	E50000 			; Set maximum speeds (mm/min)
        ;M201	X300 	Y300 	Z100 	E1500 	U300   			; Set accelerations (mm/s^2)
        
        
        ;PARKER VALUES
        ;M350	X16	Y16	Z16	E16	U16	I1		; Configure microstepping with interpolation
        M92 	X180 	Y72 	Z614	E106	U525			; Set steps per mm
        M566 	X800	Y800	Z80	E3000	U3000    		; Set maximum instantaneous speed changes (mm/min)
        M203	X15000	Y15000	Z2000	E36000	U7500 			; Set maximum speeds (mm/min)
        M201 	X300	Y300	Z100	E1500	U5000			; Set accelerations (mm/s^2)
        
        
        ; Axis Limits
        M208	X0	Y0	Z000	E-99999	U-99999		S1	; set axis minima
        M208	X5000 	Y5000	Z3000	E999999	U999999		S0	; set axis maxima
        
        ; Endstops
        M574	X0							; no X endstop
        M574	Y0							; no Y endstop
        M574	Z0							; no Z endstop
        M574	E0							; no E endstop
        M574	U0							; no U endstop
        M574	V0							; no U endstop
        
        ; Z-Probe
        M558	P8	C"22.io0.in"	H20	F750	T15000	R1	; Set Z probe type to switch and the dive height + speeds
        G31		P500	X0	Y-200	Z156			; Set Z probe trigger value, offset and trigger height
        	
        M557	X0:3200	Y0:4200	S500					; Define probing grid size and spacing
        M376	H500 							; define compensation taper
        
        ; Heaters
        M140	H-1							; Disable heated bed
        
        ; Tools
        M563	P0	D0						; Define tool 0
        G10		P0	X0	Y0	Z0			; Set tool 0 axis offsets
        G10		P0	R0	S0				; Set initial tool 0 active and standby temperatures to 0C
        
        ; Miscellaneous
        T0								; Select first tool
        M302	P1							; Allow cold extrusion
        
        ; Homing outputs
        M950 	P0	C"20.out1"									; Homing request pin for X
        ;M950 	P1	C"21.out1"									; Homing request pin for Y
        ;M950 	P2	C"22.out1"									; Homing request pin for Z
        ;M950 	P4	C"24.out1"									; Homing request pin for U
        ;M950	P5	C"25.out1"									; Homing request pin for V
        
        
        ; increase movement queque buffer size
        M595 P240 S500
        
        ; output on extrude 
        ;M571 P"0.out7" S1			; enable output on extrude
        M571 S1 P"0.out8"
        
        ; ENABLE panelDUE
        M575 P1 S1 B57600
        
        ;For saving worklpace coordinate systems to file
        M501
        
        
        
        

        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

        1 Reply Last reply Reply Quote 0
        • fcwiltundefined
          fcwilt @too
          last edited by

          @too

          Have you tried executing config.g using M98 P"config.g" from the DWC Console to see if any errors are reported?

          Errors in the file during boot are usually not seen.

          Frederick

          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

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

            @too I've looked into this. Currently the M571 feature does not work when the extruder drive is driven from a CAN-connected expansion board. I will work on a fix.

            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

            tooundefined 1 Reply Last reply Reply Quote 1
            • tooundefined
              too @dc42
              last edited by

              Hey @dc42, just wondering if you have managed to fix this?
              I couldn't see anything about that in the changelogs..

              Cartesian Duet3+Raspberry pi 4 with 5x 1XD using servo drives printing mortars and concrete

              dc42undefined 1 Reply Last reply Reply Quote 0
              • Phaedruxundefined Phaedrux marked this topic as a question
              • dc42undefined
                dc42 administrators @too
                last edited by

                @too I'm sorry, this has not been fixed yet but it is on the list.

                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

                tooundefined 1 Reply Last reply Reply Quote 0
                • tooundefined
                  too @dc42
                  last edited by

                  @dc42 alright, that's good to hear... Any idea when this will be fixed time-wise? 🙂

                  Any idea for a workaround in the meantime?
                  Could I add a second driver to the extruder axis that is mapped to a driver on the 6HC to make this run? I'll go ahead and give this a try..

                  Cartesian Duet3+Raspberry pi 4 with 5x 1XD using servo drives printing mortars and concrete

                  dc42undefined 1 Reply Last reply Reply Quote 0
                  • tooundefined
                    too
                    last edited by

                    I was hoping to get this working by adding a second driver from the 6HC to the E axis without luck. I am now not sure if this is because of some limitation of RRF that I didn't see or if I am implementing this wrong:

                    ; Configuration file for Duet 3 (firmware version 3)
                    
                    ; General preferences
                    G90														; send absolute coordinates...
                    M83														; ...but relative extruder moves
                    
                    ;Recommended by 1XD manual
                    G4 S1   ;wait for expansion boards to start
                    
                    
                    ; Drives
                    M569	P20.0	S1							; X forward on 20
                    M569	P21.0	S1							; Y forward on 21
                    M569	P22.0	S1							; Z forward on 22
                    M569	P23.0	S0							; E forward on 23
                    M569	P24.0	S1							; U forward on 24
                    M569	P0.0	S0							; additional axis for OutOnExtrude
                    
                    M584	X20.0		Y21.0	Z22.0	R0			; set drive mapping for linear axes
                    M584	E23.0:0.0	U24.0		R1			; set drive mapping for rotational axes
                    
                    [...]
                    
                    ;OMRON VALUES
                    M350	X1	 Y1	 Z1	 E1	 U1	 I1		; Configure microstepping with interpolation
                    M92	X100	Y100 	Z100 	E100 	U100			; Set steps per mm
                    M566	X3000 	Y3000 	Z100 	U1200 	E3000 			; Set maximum instantaneous speed changes (mm/min)
                    M203	X15000 	Y15000 	Z2500 	U6000 	E50000 			; Set maximum speeds (mm/min)
                    M201	X300 	Y300 	Z100 	E1500 	U300   			; Set accelerations (mm/s^2)
                    
                    [...]
                    
                    ;output on extrude 
                    M571 P"0.io3.out" S1			; enable output on extrude
                    

                    Is there any workaround or quickfix that you can come up with to control a pin according to extrusion moves? Could I somehow use a driver_Enable signal configured in a certain way?

                    Cartesian Duet3+Raspberry pi 4 with 5x 1XD using servo drives printing mortars and concrete

                    Phaedruxundefined 1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator @too
                      last edited by

                      @too said in M571 not recognizing extruder moves:

                      M584 E23.0:0.0

                      You've defined 2 extruders, but I only see settings values for one extruder.

                      Do you have a tool configured to use that extruder?

                      Z-Bot CoreXY Build | Thingiverse Profile

                      tooundefined 1 Reply Last reply Reply Quote 0
                      • tooundefined
                        too @Phaedrux
                        last edited by

                        @phaedrux Yeah, so far I have only been using / configuring single-tool machines. The Extruder tool on 23.0 works fine. but because its on a CAN-extension board the M571 command doesn't work.

                        The tool is defined to use both drives: M563 P0 D0:1
                        I have tried to configure the Extruder tool with drives 0.0 and 23.0 and had partial success: If I write M584 E:0.0:23.0 then the output on extrude pin switches, but I don't see any STP/DIR signals on 23.0.
                        If I write M584 E:23.0:0.0 however, I get no output on extrude pin switches, but I see STP/DIR signals on 23.0...

                        ; Configuration file for Duet 3 (firmware version 3)
                        ; executed by the firmware on start-up
                        ;
                        ; generated by RepRapFirmware Configuration Tool v3.1.3 on Fri Jul 03 2020 17:01:27 GMT+0200 (Central European Summer Time)
                        
                        ; General preferences
                        G90														; send absolute coordinates...
                        M83														; ...but relative extruder moves
                        
                        ;Recommended by 1XD manual
                        G4 S1   ;wait for expansion boards to start
                        
                        ; RESTART 1XD
                        ;M98 P"0:/sys/COBOD_restart_expansionboards"			; reboot 1XD boards
                        
                        
                        ; Drives
                        M569	P20.0	S1						; X forward on 20
                        M569	P21.0	S1						; Y forward on 21
                        M569	P22.0	S1						; Z forward on 22
                        M569	P23.0	S0						; E forward on 23
                        M569	P24.0	S1						; U forward on 24
                        ; additional E driver for output on extrude
                        M569	P0.0	S0
                        
                        M584	X20.0	Y21.0	Z22.0	E0.0:23.0		R0			; set drive mapping for linear axes
                        M584	U24.0						            R1		; set drive mapping for rotational axes
                        
                        
                        ;CONCRETELAB VALUES
                        M350	X1	 	Y1	 	Z1	 	E1:1	U1	 	I1		; Configure microstepping with interpolation
                        M92		X100	Y100 	Z100 	E100	U100		; Set steps per mm
                        M566	X3000 	Y3000 	Z100 	E3000   U1200 			; Set maximum instantaneous speed changes (mm/min)
                        M203	X15000 	Y15000 	Z2500 	E50000  U6000 			; Set maximum speeds (mm/min)
                        M201	X300 	Y300 	Z100 	E1500 	U300   			; Set accelerations (mm/s^2)
                        
                        ; Axis Limits
                        M208	X0		Y0		Z000	E-99999:-99999	U-99999		S1	; set axis minima
                        M208	X5000 	Y5000	Z3000	E999999:999999	U999999		S0	; set axis maxima
                        
                        ; Endstops
                        M574	X0							; no X endstop
                        M574	Y0							; no Y endstop
                        M574	Z0							; no Z endstop
                        M574	E0							; no E endstop
                        M574	U0							; no U endstop
                        M574	V0							; no U endstop
                        
                        ; Z-Probe
                        M558	P8	C"22.io0.in"	H20	F750	T15000	R1	; Set Z probe type to switch and the dive height + speeds
                        G31		P500	X0	Y-200	Z156			; Set Z probe trigger value, offset and trigger height
                        	
                        M557	X0:3200	Y0:4200	S500					; Define probing grid size and spacing
                        M376	H500 							; define compensation taper
                        
                        ; Heaters
                        M140	H-1							; Disable heated bed
                        
                        ; Tools
                        M563	P0	D0:1						; Define tool 0
                        G10		P0	X0	Y0	Z0			; Set tool 0 axis offsets
                        G10		P0	R0	S0				; Set initial tool 0 active and standby temperatures to 0C
                        
                        ; Miscellaneous
                        T0								; Select first tool
                        M302	P1							; Allow cold extrusion
                        
                        ; Homing outputs
                        M950 	P0	C"20.out1"					; Homing request pin for X
                        ;M950 	P1	C"21.out1"					; Homing request pin for Y
                        ;M950 	P2	C"22.out1"					; Homing request pin for Z
                        ;M950 	P4	C"24.out1"					; Homing request pin for U
                        ;M950	P5	C"25.out1"					; Homing request pin for V
                        
                        
                        ; increase movement queque buffer size
                        M595 P240 S500
                        
                        ; get current position from PLC
                        G28
                        
                        ;For saving worklpace coordinate systems to file
                        M501
                        
                        ; output on extrude
                        M571 P"0.io0.out" S1						; enable output on extrude
                        
                        

                        Reading through the gcode wiki again I noticed that I probably need to define a mixing ratio, as our slicer doesn't output multiple E values...
                        I have added the corresponding command to the config.g:

                        ; set tool mixing ratio
                        M567 P0 E1:1
                        

                        ........ and now it finally works!
                        I have added this block onto the end of the config.g

                        ; SETUP OUTPUT ON EXTRUDE
                        ; additional "virtual" E driver
                        M569	P0.0	S0
                        ; updated driver mapping
                        M584	E0.0:23.0		R0
                        ; updated microstepping setting
                        M350	E1:1
                        ; updated axis limits
                        M208	E-99999:-99999	S1	; set axis minima
                        M208	E999999:999999	S0	; set axis maxima
                        ; updated Tool definition
                        M563	P0	D0:1
                        ; set tool mixing rato
                        M567 P0 E1:1
                        ; enable output on extrude
                        M571 P"0.io0.out" S1
                        
                        

                        Thanks for sending me into the right direction @Phaedrux !

                        Cartesian Duet3+Raspberry pi 4 with 5x 1XD using servo drives printing mortars and concrete

                        1 Reply Last reply Reply Quote 3
                        • tooundefined too has marked this topic as solved
                        • dc42undefined
                          dc42 administrators @too
                          last edited by

                          @too I'm sorry this has taken so long to resolve and I am glad you found a workaround. I am implementing a fix for M571 when the extruder is driven from a CAN-connected board in RRF 3.5beta2.

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