• Tags
  • Documentation
  • Order
  • Register
  • Login
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.
  • undefined
    too
    last edited by 4 Oct 2021, 12:00

    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

    undefined undefined 3 Replies Last reply 4 Oct 2021, 13:46 Reply Quote 0
    • undefined
      fcwilt @too
      last edited by 4 Oct 2021, 13:46

      @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
      • undefined
        fcwilt @too
        last edited by 4 Oct 2021, 14:04

        @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
        • undefined
          dc42 administrators @too
          last edited by dc42 12 Sept 2021, 21:39 5 Oct 2021, 12:58

          @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

          undefined 1 Reply Last reply 9 Dec 2021, 15:21 Reply Quote 1
          • undefined
            too @dc42
            last edited by 9 Dec 2021, 15:21

            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

            undefined 1 Reply Last reply 9 Dec 2021, 21:40 Reply Quote 0
            • Phaedruxundefined Phaedrux marked this topic as a question 9 Dec 2021, 19:57
            • undefined
              dc42 administrators @too
              last edited by 9 Dec 2021, 21:40

              @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

              undefined 1 Reply Last reply 10 Dec 2021, 09:54 Reply Quote 0
              • undefined
                too @dc42
                last edited by 10 Dec 2021, 09:54

                @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

                undefined 1 Reply Last reply 30 Jan 2023, 16:10 Reply Quote 0
                • undefined
                  too
                  last edited by 10 Dec 2021, 13:32

                  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 10 Dec 2021, 19:13 Reply Quote 0
                  • Phaedruxundefined
                    Phaedrux Moderator @too
                    last edited by 10 Dec 2021, 19:13

                    @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

                    undefined 1 Reply Last reply 13 Dec 2021, 08:26 Reply Quote 0
                    • undefined
                      too @Phaedrux
                      last edited by 13 Dec 2021, 08:26

                      @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
                      • undefined too has marked this topic as solved 13 Dec 2021, 08:26
                      • undefined
                        dc42 administrators @too
                        last edited by 30 Jan 2023, 16:10

                        @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