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

    My quad carriage machine is failing on Tools. AGAIN.

    Scheduled Pinned Locked Moved Solved
    General Discussion
    5
    72
    3.6k
    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.
    • MaracMBundefined
      MaracMB @dc42
      last edited by

      @dc42 are you deliberately ignoring that the Z homing fails? Or are you just playing? I don't know, techically, what fails. It fails to home both leadscrews. motors grind. What does it look like when Z does not home right?
      And sometimes it does home right. This is why i recorded a video. Because we seem not to undestand eachother.

      Since you said:

      *dc42 ADMINISTRATORS 4 Nov 2020, 16:11
      Is it the U and/or W axes that failed to home? If so, it is just one of those, or both of them?

      Those endstop switches are the ones connected to the DueX5 board. Keeping those switches up to date relies on I2C communications between the Duet and the DueX along with an interrupt. A M122 report taken when this happens will provide data on the status of the I2C interface.*

      So I rewired, moved the X axes to Duet board and isolated the unrealiable homing to Z.

      I have posted you the homing of Z just above. Do you want me to do it again? here you go:

      G91               		; relative positioning
      G1 H2 Z5 F600
      M584 Z5 A6 P7				;split
      G1 Z-405 A-405 F900 H1
      M584 Z5:6 P6
      G1 Z5 F900				; lift both Zs to 3
      G90					; absolute positioning
      

      I have posted you M122 after Z homing fails, as you instructed.

      Here is yet again, the config.

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ; by MaracMB
      ; General preferences
      G90  							; send absolute coordinates...
      M83  							; relative extruder moves
      M550 P"MarX-Quad"  				; set printer name
      
      ; Network
      M552 S1  						; enable network
      M586 P0 S1  					; enable HTTP
      M586 P1 S0  					; disable FTP
      M586 P2 S0  					; disable Telnet
      
      ; Drives
      M569 P0 S0  					; physical drive 0 X goes backwards - X0
      M569 P1 S1  					; physical drive 1 Y goes forwards - X1
      M569 P2 S1  					; physical drive 2 Z goes forwards - Y
      M569 P3 S1  					; Physical drive 3 E0 goes forwards - X2
      M569 P4 S1  					; Physical drive 4 E1 goes forwards - X3
      
      M569 P5 S1  					; Physical drive 5 E2 goes forwards - Z1
      M569 P6 S1  					; Physical drive 6 E3 goes forwards - Z2
      
      M569 P7 S0  					; physical drive 7 E4 goes backwards - e1
      M569 P8 S0  					; physical drive 8 E5 goes backwards - e2
      M569 P9 S0  					; physical drive 9 E6 goes backwards - e3
      M569 P10 S0  					; physical drive 10 Ext1 goes backwards - e4
      
      ;Mapping drives
      M584 X0 Y2 Z5 U1 V3 W4 A6 P6	; Extruder mapping
      M584 E7:8:9:10 					; Extruder mapping
      
      M350 X32 Y32 Z32 U32 V32 W32 A32 I1 ; Configure microstepping movement
      M350 E16:16:16:16 I0 			; Configure microstepping extruders
      
      ; Motion parameters
      M92 X160 Y160 Z1600 U160 V160 W160 A1600  		; Set steps per mm motion
      M92 E396:396:396:396 							; Set steps per mm extruders
      
      M566 X420 Y420 Z15 U420 V420 W420 A25  		; set maximum instantaneous speed changes motion (mm/min)
      M566 E320:320:320:320 							; set maximum instantaneous speed changes extruders(mm/min)
      
      M203 X12000 Y12000 Z1200 U12000 V12000 W12000 A1200 ; set maximum speeds motion (mm/min)
      M203 E7200:7200:7200:7200           				; set maximum speeds extruders(mm/min)
      
      M201 X880 Y880 Z240 U880 V880 W880 A240					; set accelerations motion (mm/s^2)
      M201 E7200:7200:7200:7200                  		; set accelerations extruders (mm/s^2)
      
      M906 X950 Y1050 Z950 U950 V950 W950 A950 I30 				; set motor currents (mA) and motor idle factor in per cent motion
      M906 E950:950:950:950 I30 									; set motor currents (mA) and motor idle factor in per cent extruders
      
      M84 S60 													; idle time
      
      ; Axis Limits
      M208 X-170 Y-165 Z0 U-112 V-157 W-112 A0 S1 					; Set axies minimas
      M208 X115 Y155 Z350 U168 V112 W158 A350 S0 						; Set axies maximas
      
      ; Endstops
      M574 X1 S1 P"!xstop" 			; configure active-low endstop for low end
      M574 Y1 S1 P"!zstop" 			; configure active-low endstop for low end
      M574 Z1 S1 P"!duex.e2stop" 		; configure active-low endstop for low end
      M574 U2 S1 P"!ystop" 			; configure active-low endstop for high end
      M574 V1 S1 P"!e0stop" 			; configure active-low endstop for low end
      M574 W2 S1 P"!e1stop" 			; configure active-low endstop for high end
      M574 A1 S1 P"!duex.e3stop" 		; configure active-low endstop for low end
      
      ; Z-Probe
      ;M558 P0 H5 F120 T6000 							; disable Z probe but set dive height, probe speed and travel speed
      ;M557 X-125:125 Y-125:125 S125 	 				; define mesh grid
      
      ; Heaters and sensors
      M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 	            ; configure sensor 0
      M308 S1 P"duex.e2temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1
      M308 S2 P"duex.e3temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2
      M308 S3 P"duex.e4temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 3
      M308 S4 P"duex.e5temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 4
      
      M308 S5 Y"mcu-temp" A"MCU" 				    				; Configure sensor for MCU
      M308 S6 Y"drivers" A"DRIVERS" 								; configure sensor 6 as temperature warning and overheat flags on the TMC2660 on Duet
      
      M950 H0 C"bedheat" T0                                       ; create bed heater output on bedheat and map it to sensor 0
      M307 H0 B0 S1.00                                            ; disable bang-bang mode for the bed heater and set PWM limit
      M143 H0 S120                                                ; set temperature limit for heater 0 to 120C
      M140 H0                                                     ; map heated bed to heater 0
      
      M950 H1 C"duex.e2heat" T1                                   ; create nozzle heater output on duex.e3heat and map it to sensor 1
      M143 H1 S300                                                ; set temperature limit for heater 1 to 300C
      M307 H1 B0 S1.00                                            ; disable bang-bang mode for heater  and set PWM limit
      
      M950 H2 C"duex.e3heat" T2                                   ; create nozzle heater output on duex.e4heat and map it to sensor 2
      M143 H2 S300                                                ; set temperature limit for heater 2 to 300C
      M307 H2 B0 S1.00                                            ; disable bang-bang mode for heater  and set PWM limit
      
      M950 H3 C"duex.e4heat" T3                                   ; create nozzle heater output on duex.e5heat and map it to sensor 3
      M143 H3 S300                                                ; set temperature limit for heater 3 to 300C
      M307 H3 B0 S1.00                                            ; disable bang-bang mode for heater  and set PWM limit
      
      M950 H4 C"duex.e5heat" T4                                   ; create nozzle heater output on duex.e6heat and map it to sensor 4
      M143 H4 S300                                                ; set temperature limit for heater 4 to 300C
      M307 H4 B0 S1.00                                            ; disable bang-bang mode for heater  and set PWM limit
      
      ; Fans
      M950 F0 C"duex.fan4" Q1000 		; create fan 1 on pin duex.fan4 and set its frequency TOOL FAN 0
      M106 P0 S0 H-1 					; set fan 1 value. Thermostatic control is turned off TOOL FAN 0
      
      M950 F1 C"duex.fan5" Q1000 		; create fan 2 on pin duex.fan5 and set its frequency TOOL FAN 1
      M106 P1 S0 H-1 					; set fan 2 value. Thermostatic control is turned off TOOL FAN 1
      
      M950 F2 C"duex.fan6" Q1000 		; create fan 3 on pin duex.fan6 and set its frequency TOOL FAN 2
      M106 P2 S0 H-1 					; set fan 3 value. Thermostatic control is turned off TOOL FAN 2
      
      M950 F3 C"duex.fan8" Q1000 		; create fan 4 on pin duex.fan8 and set its frequency TOOL FAN 3
      M106 P3 S0 H-1 					; set fan 4 value. Thermostatic control is turned off TOOL FAN 3
      
      M950 F4 C"fan0" Q1000 			; create fan 5 on pin fan0 and set its frequency HOTEND FAN tool 0
      M106 P4 S0 H1 T45 				; set fan 5 value. Thermostatic control is turned on HOTEND FAN tool 0
      
      M950 F5 C"fan1" Q1000 			; create fan 6 on pin fan1 and set its frequency HOTEND FAN tool 1
      M106 P5 S0 H2 T45 				; set fan 6 value. Thermostatic control is turned on HOTEND FAN tool 1
      
      M950 F6 C"fan2" Q1000 			; create fan 7 on pin fan2 and set its frequency HOTEND FAN tool 2
      M106 P6 S0 H3 T45 				; set fan 7 value. Thermostatic control is turned on HOTEND FAN tool 2
      
      M950 F7 C"duex.fan3" Q1000 		; create fan 3 on pin duex.fan3 and set its frequency HOTEND FAN tool 3
      M106 P7 S0 H4 T45 				; set fan 3 value. Thermostatic control is turned on HOTEND FAN tool 3
      
      ;Extra fan ports
      ;external stepper - PWMed
      M950 F8 C"duex.fan7" Q500 		; fan 8 on pin duex.fan7 EXTRA FAN
      M106 P8 S0 H-1 C"extFan" 		; set fan 8 value. Thermostatic control is turned off
      
      ;LED strip
      ;M950 F5 C"duex.pwm" 			; create port for LEDs on pin duex.fan8
      ;M106 P5 S0 C"LIGHTS" 			; LED control
      
      ; Tools
      M563 P0 X0 D0 H1 F0 			; define tool 0
      G10 P0 X0 Y0 Z0 U0 V0 W0 		; set tool 0 axis offsets
      G10 P0 R0 S0 					; set initial tool 0 active and standby temperatures to 0C
      
      M563 P1 X3 D1 H2 F1 			; define tool 1, ports X axis to U
      G10 P1 X0 Y0 Z0 U0.9 V0 W0		; set tool 1 axis offsets
      G10 P1 R0 S0 					; set initial tool 1 active and standby temperatures to 0C
      
      M563 P2 X4 D2 H3 F2 			; define tool 3, ports X axis to A
      G10 P2 X0 Y161.85 Z0 U0 V0.80 W0 ; set tool 2 axis offsets
      G10 P2 R0 S0 					; set initial tool 1 active and standby temperatures to 0C
      
      M563 P3 X5 D3 H4 F3 			; define tool 3, ports X axis to A
      G10 P3 X0 Y175.2 Z0 U0 V0 W0.25 	; set tool 3 axis offsets
      G10 P3 R0 S0 					; set initial tool 1 active and standby temperatures to 0C
      
      ; DITTO TOOLs 
      M563 P4 S"DITTOFront" D0:1 H1:2 X0:5 F0:1				; Tool 2 uses extruders 1 and 2, hotend heaters 1 and 2, maps X to X and U, uses tool fans 4 and 5
      G10 P4 X77 Y0 U-77    									; Set tool offsets and temperatures for tool 2 - moves X 77 left and U 77 right
      G10 P4 R0 S0
      M567 P4 E1.0:1.0:0.0:0.0 								; Set mix ratio 100% on both front extruders
      M563 P5 S"QUAD" D0:1:2:3 H1:2:3:4 X0:3:5:6 F0:1:2:3		; Tool 6 uses extruders 1,2,3and4, hotend heaters 1,2,3and4, maps X to U,A and B, and tool fans 4,5,6 and 7
      G10 P5 Y0 X0 U-155 V0 W-155   							; Set tool offsets and temperatures for tool 2 - moves X 77 left and U 77 right
      G10 P5 R0 S0
      M567 P5 E1:1:1:1										; Set mix ratio 100% on all extruders
      
      ;Firmware retractions
      M207 P0 S0.70 F2100 T2500 Z0.4
      M207 P1 S0.70 F2100 T2500 Z0.4
      M207 P2 S0.70 F2100 T2500 Z0.4
      M207 P3 S0.70 F2100 T2500 Z0.4
      
      ;Filament runout sensors
      
      ; Automatic saving after power loss is enabled
      M911 S23.00 R23.50 P"M913 X0 Y0 U0 V0 W0 G91 M83 G1 Z2 E-4 F3000" ; Set voltage thresholds and actions to run on power loss
      
      ; MISC
      M501
      
      engikeneerundefined 1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator @MaracMB
        last edited by

        @MaracMB said in My quad carriage machine is failing on Tools. AGAIN.:

        As suggested by @engikeneer, i have joint the Z axes. Is this now a problem?
        homez.g :
        G91 ; relative positioning G1 H2 Z5 F600 G1 Z-405 F900 H1 G1 Z2 F900 H2 G1 Z-5 F360 H1 G1 Z3 F900 ; lift both Zs to 3 G90 ; absolute positioning

        This is correct in RRF3, but you've not changed the endstop configuration to match.

        ; Endstops
        M574 X1 S1 P"!xstop" 			; configure active-low endstop for low end
        M574 Y1 S1 P"!zstop" 			; configure active-low endstop for low end
        M574 Z1 S1 P"!duex.e2stop" 		; configure active-low endstop for low end
        M574 U2 S1 P"!ystop" 			; configure active-low endstop for high end
        M574 V1 S1 P"!e0stop" 			; configure active-low endstop for low end
        M574 W2 S1 P"!e1stop" 			; configure active-low endstop for high end
        M574 A1 S1 P"!duex.e3stop" 		; configure active-low endstop for low end
        

        The Z endstop should be `M574 Z1 S1 P"!duex.e2stop+!duex.e3stop"

        Assuming the second Z axis was A before the change. You'd also need to remove any references to the A axis unless you want to retain the ability to move/jog them independently. If all you want is the auto leveling with endstops, you don't need to split the Z into separate axis at all.

        Z-Bot CoreXY Build | Thingiverse Profile

        MaracMBundefined 1 Reply Last reply Reply Quote 0
        • engikeneerundefined
          engikeneer @MaracMB
          last edited by

          @MaracMB I notice you have one of your motors (Y-axis?) very close to the Duet/Duex ribbon cable. Might it be that that is causing EMI and impacting the I2C? I'd try unplugging the Y-motor completely and seeing if it helps things.

          Was the M122 output after you'd had some failed homings? I don't know what values you'd be looking for but they didn't seem crazy. Maybe someone who knows can comment...

          One other thought - if your current Duex is a clone, there is always the chance that there is an issue with the board. In particular, I'd pull it out and double check all the soldering. I got a clone Duet WiFi earlier in the year and had to redo a few of the joints that they hadn't soldered properly (one was the bed heater so very glad I spotted!).

          E3D TC with D3Mini and Toolboards.
          Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
          i3 clone with a bunch of mods

          1 Reply Last reply Reply Quote 0
          • MaracMBundefined
            MaracMB @Phaedrux
            last edited by

            @Phaedrux yes i do only use split Z to Z and A when homing. I did try to join those, make a double endstop on single axis. but was experiencing the same thing. will try again as suggested maybe just because it makes no difference and there is one less thing to worry about as it certainly makes no difference otherwise.

            @engikeneer you might be correct. there must be some EMI. with the abundant wiring, that can easily be the case.

            yes, sadly, clone it is for now. original got damaged smd component (my fault) and also got shot on some voltage regulators for a fan due to closed circuit i overlooked. So i had a duex clone at hand so that's what i used. sux, not ideal, but has to do for now.
            i can not afford originals until i get this working, but after that, i will most certainly put an original Duex5 in it. Not because it would work better, but reliability (better capacitors, fuse, latest version of pcb, etc), warranty, support i get here... it is just the right thing to do.
            I suggest people on socials to use original duets because of that. it is the support that one pays. Clones are waaay too expensive for what one gets imho.

            Anyhow.
            In the time waiting and thinking i got pretty intimate with e3d toolchanger configs and scripts (from nibbles). They don't have so many axes moving, but that code is much nicer and thought out with running conditionals, low current homing (probably due to sensorless homing i guess) and m400's within called scripts. Much better. I must adapt that.

            for the time being, i just home Z by manually calling it , then Gcode just homes X Y U V W. That works for now.

            Anyhow, i'll report here if EMI is the cause it's the most logical next reason.

            Thank you all for now.

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

              Do you think you could upload your complete config file as files so I can take a look at them together in my text editor more easily? It's a rather complex config and it would be a lot easier than scrolling around trying to find the current versions. Once I can see the whole picture it may become more apparent what should change.

              Also, I think it might be best to stick to 3.1.1 for the time being. I don't think there are any fixes in there that would help you, and there may be other bugs in 3.2 that would hurt.

              Z-Bot CoreXY Build | Thingiverse Profile

              MaracMBundefined 1 Reply Last reply Reply Quote 0
              • MaracMBundefined
                MaracMB @Phaedrux
                last edited by

                @Phaedrux sure. i'll make a backup zip of the whole thing when i get back to it.
                reverted back to 3.1.1 already.
                spent way to much time just watching it fail.

                changed the wires for that possible EMI at IDE cable... no luck.

                as linked, i did a video, where i click home Z button in DWC. Only that button. If you observe, you can see that sometimes it fails to run left Z motor, then works like couple of times, then fails right, then left, then altough it runs motors it fails to stop on an endstop... i mean, it really makes no sense. it's a machine. an error should make repeatable fails.

                https://drive.google.com/file/d/1bWrnUszf52sSI6WxNkiBHYnSRBgFj5J1/view?usp=sharing

                the thing that is repeating is it fails on the same drivers. but different board did no difference.

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

                  can you also provide the results of sending M98 P"config.g" in the gcode console?

                  Z-Bot CoreXY Build | Thingiverse Profile

                  MaracMBundefined 1 Reply Last reply Reply Quote 0
                  • MaracMBundefined
                    MaracMB @Phaedrux
                    last edited by

                    @Phaedrux
                    calling config with m98 returns:

                    m98 p”config.g”
                    Warning: Macro file ”config.g” not found
                    

                    whole zipped package is here:
                    https://www.dropbox.com/s/67teetv5d67ot7z/firmware backup 2020-11-8.zip?dl=0

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

                      @MaracMB said in My quad carriage machine is failing on Tools. AGAIN.:

                      p”config.g”

                      I think it's the curly quotes. Note the difference between ” and "

                      Are you using a mac by chance?

                      https://bear.app/faq/How to disable smart quotes and dashes/

                      Z-Bot CoreXY Build | Thingiverse Profile

                      MaracMBundefined 2 Replies Last reply Reply Quote 0
                      • MaracMBundefined
                        MaracMB @Phaedrux
                        last edited by

                        @Phaedrux no, but it’s probably due to teamviewer with iphone issue. That’s how i communicate with it while away

                        1 Reply Last reply Reply Quote 0
                        • MaracMBundefined
                          MaracMB @Phaedrux
                          last edited by

                          @Phaedrux
                          Error: in file macro line 158 column 14: M567: array too long, max length = 2

                          Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 302C
                          Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 665C
                          Warning: Heater 3 appears to be over-powered. If left on at full power, its temperature is predicted to reach 482C
                          8. 11. 2020 20:25:01 Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
                          Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C

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

                            @MaracMB said in My quad carriage machine is failing on Tools. AGAIN.:

                            Error: in file macro line 158 column 14: M567: array too long, max length = 2

                            Looks like this one

                            M567 P4 E1:1:0:0

                            But no error from this one

                            M567 P5 E1:1:1:1

                            Z-Bot CoreXY Build | Thingiverse Profile

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

                              @Phaedrux said in My quad carriage machine is failing on Tools. AGAIN.:

                              Looks like this one
                              M567 P4 E1:1:0:0

                              That figures. The M563 command that creates tool 4 is this:

                              M563 P4 S"DITTOFront" D0:1 H1:2 X0:5 F0:1 ; Tool 2 uses extruders 1 and 2, hotend heaters 1 and 2, maps X to X and U, uses tool fans 4 and 5

                              Tool 4 uses two extruder drives, so it expect two E values, not four.

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

                                Dc42, thank you. Yes, those tools... don’t even have tfree, tpost, etc files . WIP.
                                while this obviously causes something while printing - using tools, when they will be configured...

                                why would it cause stepper motors 5&6 (first motors on duex and their endstops) to “stutter” occasionaly on homing Z ?

                                Before rewiring, when those stepper drivers were mapped for X carriages for tools T1 and T2, those axes stuttered mid print.
                                It was hard to see. Was seen on print once you know what too look...
                                After rewiring, using and mapping those motors to Z, it’s easier to reproduce and hopefully debug

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

                                  @MaracMB said in My quad carriage machine is failing on Tools. AGAIN.:

                                  why would it cause stepper motors 5&6 (first motors on duex and their endstops) to “stutter” occasionaly on homing Z ?

                                  I don't think it's related. I'm still looking through your other files.

                                  Z-Bot CoreXY Build | Thingiverse Profile

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

                                    So your package of config files currently has the A axis configured as the second Z axis. Are you wanting to keep it this way for independent jogging? If it's just for homing it would be better to remove it entirely.

                                    Here's a modified config.g with the recommended changes (removes A axis entirely, uses x16 microstepping with interpolation across the board, and changes the Z endstops to use both switches for homing/leveling, and fixes that error in M567.)

                                    ; Configuration file for Duet WiFi (firmware version 3)
                                    ; executed by the firmware on start-up
                                    ; by MaracMB
                                    ; General preferences
                                    G90  							; send absolute coordinates...
                                    M83  							; relative extruder moves
                                    M550 P"MarX-Quad"  				; set printer name
                                    
                                    ; Network
                                    M552 S1  						; enable network
                                    M586 P0 S1  					; enable HTTP
                                    M586 P1 S0  					; disable FTP
                                    M586 P2 S0  					; disable Telnet
                                    
                                    ; Drives
                                    M569 P0 S0  					; physical drive 0 X goes backwards - X0
                                    M569 P1 S1  					; physical drive 1 Y goes forwards - X1
                                    M569 P2 S1  					; physical drive 2 Z goes forwards - Y
                                    M569 P3 S1  					; Physical drive 3 E0 goes forwards - X2
                                    M569 P4 S1  					; Physical drive 4 E1 goes forwards - X3
                                    
                                    M569 P5 S1  					; Physical drive 5 E2 goes forwards - Z1
                                    M569 P6 S1  					; Physical drive 6 E3 goes forwards - Z2
                                    
                                    M569 P7 S0  					; physical drive 7 E4 goes backwards - e1
                                    M569 P8 S0  					; physical drive 8 E5 goes backwards - e2
                                    M569 P9 S0  					; physical drive 9 E6 goes backwards - e3
                                    M569 P10 S0  					; physical drive 10 Ext1 goes backwards - e4
                                    
                                    ;Mapping drives
                                    M584 X0 Y2 Z5:6 U1 V3 W4 	; Extruder mapping
                                    M584 E7:8:9:10 					; Extruder mapping
                                    
                                    M350 X16 Y16 Z16 U16 V16 W16 I1 ; Configure microstepping movement
                                    M350 E16:16:16:16 I1 			; Configure microstepping extruders
                                    
                                    ; Motion parameters
                                    M92 X80 Y80 Z800 U80 V80 W80  		; Set steps per mm motion
                                    M92 E396:396:396:396 							; Set steps per mm extruders
                                    
                                    M566 X420 Y420 Z15 U420 V420 W420  		; set maximum instantaneous speed changes motion (mm/min)
                                    M566 E320:320:320:320 							; set maximum instantaneous speed changes extruders(mm/min)
                                    
                                    M203 X12000 Y12000 Z1200 U12000 V12000 W12000 ; set maximum speeds motion (mm/min)
                                    M203 E7200:7200:7200:7200           				; set maximum speeds extruders(mm/min)
                                    
                                    M201 X880 Y880 Z240 U880 V880 W880					; set accelerations motion (mm/s^2)
                                    M201 E7200:7200:7200:7200                  		; set accelerations extruders (mm/s^2)
                                    
                                    M906 X950 Y1050 Z1050 U950 V950 W950 I30 				; set motor currents (mA) and motor idle factor in per cent motion
                                    M906 E950:950:950:950 I30 									; set motor currents (mA) and motor idle factor in per cent extruders
                                    
                                    M84 S30 													; idle time
                                    
                                    ; Axis Limits
                                    M208 X-170 Y-165 Z0 U-112 V-157 W-112 S1 					; Set axies minimas
                                    M208 X115 Y155 Z350 U168 V112 W158 S0 						; Set axies maximas
                                    
                                    ; Endstops
                                    M574 X1 S1 P"!xstop" 			; configure active-low endstop for low end
                                    M574 Y1 S1 P"!zstop" 			; configure active-low endstop for low end
                                    M574 Z1 S1 P"!duex.e2stop+!duex.e3stop" 		; configure active-low endstop for low end
                                    M574 U2 S1 P"!ystop" 			; configure active-low endstop for high end
                                    M574 V1 S1 P"!e0stop" 			; configure active-low endstop for low end
                                    M574 W2 S1 P"!e1stop" 			; configure active-low endstop for high end
                                    
                                    ; Z-Probe
                                    ;M558 P0 H5 F120 T6000 							; disable Z probe but set dive height, probe speed and travel speed
                                    ;M557 X-125:125 Y-125:125 S125 	 				; define mesh grid
                                    
                                    ; Heaters and sensors
                                    M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 	            ; configure sensor 0
                                    M308 S1 P"duex.e2temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1
                                    M308 S2 P"duex.e3temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2
                                    M308 S3 P"duex.e4temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 3
                                    M308 S4 P"duex.e5temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 4
                                    
                                    M308 S5 Y"mcu-temp" A"MCU" 				    				; Configure sensor for MCU
                                    M308 S6 Y"drivers" A"DRIVERS" 								; configure sensor 6 as temperature warning and overheat flags on the TMC2660 on Duet
                                    
                                    M950 H0 C"bedheat" T0                                       ; create bed heater output on bedheat and map it to sensor 0
                                    M307 H0 B0 S1.00                                            ; disable bang-bang mode for the bed heater and set PWM limit
                                    M143 H0 S120                                                ; set temperature limit for heater 0 to 120C
                                    M140 H0                                                     ; map heated bed to heater 0
                                    
                                    M950 H1 C"duex.e2heat" T1                                   ; create nozzle heater output on duex.e3heat and map it to sensor 1
                                    M143 H1 S300                                                ; set temperature limit for heater 1 to 300C
                                    M307 H1 B0 S1.00                                            ; disable bang-bang mode for heater  and set PWM limit
                                    
                                    M950 H2 C"duex.e3heat" T2                                   ; create nozzle heater output on duex.e4heat and map it to sensor 2
                                    M143 H2 S300                                                ; set temperature limit for heater 2 to 300C
                                    M307 H2 B0 S1.00                                            ; disable bang-bang mode for heater  and set PWM limit
                                    
                                    M950 H3 C"duex.e4heat" T3                                   ; create nozzle heater output on duex.e5heat and map it to sensor 3
                                    M143 H3 S300                                                ; set temperature limit for heater 3 to 300C
                                    M307 H3 B0 S1.00                                            ; disable bang-bang mode for heater  and set PWM limit
                                    
                                    M950 H4 C"duex.e5heat" T4                                   ; create nozzle heater output on duex.e6heat and map it to sensor 4
                                    M143 H4 S300                                                ; set temperature limit for heater 4 to 300C
                                    M307 H4 B0 S1.00                                            ; disable bang-bang mode for heater  and set PWM limit
                                    
                                    ; Fans
                                    M950 F0 C"duex.fan4" Q1000 		; create fan 1 on pin duex.fan4 and set its frequency TOOL FAN 0
                                    M106 P0 S0 H-1 					; set fan 1 value. Thermostatic control is turned off TOOL FAN 0
                                    
                                    M950 F1 C"duex.fan5" Q1000 		; create fan 2 on pin duex.fan5 and set its frequency TOOL FAN 1
                                    M106 P1 S0 H-1 					; set fan 2 value. Thermostatic control is turned off TOOL FAN 1
                                    
                                    M950 F2 C"duex.fan6" Q1000 		; create fan 3 on pin duex.fan6 and set its frequency TOOL FAN 2
                                    M106 P2 S0 H-1 					; set fan 3 value. Thermostatic control is turned off TOOL FAN 2
                                    
                                    M950 F3 C"duex.fan8" Q1000 		; create fan 4 on pin duex.fan8 and set its frequency TOOL FAN 3
                                    M106 P3 S0 H-1 					; set fan 4 value. Thermostatic control is turned off TOOL FAN 3
                                    
                                    M950 F4 C"fan0" Q1000 			; create fan 5 on pin fan0 and set its frequency HOTEND FAN tool 0
                                    M106 P4 S0 H1 T45 				; set fan 5 value. Thermostatic control is turned on HOTEND FAN tool 0
                                    
                                    M950 F5 C"fan1" Q1000 			; create fan 6 on pin fan1 and set its frequency HOTEND FAN tool 1
                                    M106 P5 S0 H2 T45 				; set fan 6 value. Thermostatic control is turned on HOTEND FAN tool 1
                                    
                                    M950 F6 C"fan2" Q1000 			; create fan 7 on pin fan2 and set its frequency HOTEND FAN tool 2
                                    M106 P6 S0 H3 T45 				; set fan 7 value. Thermostatic control is turned on HOTEND FAN tool 2
                                    
                                    M950 F7 C"duex.fan3" Q1000 		; create fan 3 on pin duex.fan3 and set its frequency HOTEND FAN tool 3
                                    M106 P7 S0 H4 T45 				; set fan 3 value. Thermostatic control is turned on HOTEND FAN tool 3
                                    
                                    ;Extra fan ports
                                    ;external stepper - PWMed
                                    M950 F8 C"duex.fan7" Q500 		; fan 8 on pin duex.fan7 EXTRA FAN
                                    M106 P8 S0 H-1 C"extFan" 		; set fan 8 value. Thermostatic control is turned off
                                    
                                    ;LED strip
                                    ;M950 F5 C"duex.pwm" 			; create port for LEDs on pin duex.fan8
                                    ;M106 P5 S0 C"LIGHTS" 			; LED control
                                    
                                    ; Tools
                                    M563 P0 X0 D0 H1 F0 			; define tool 0
                                    G10 P0 X0 Y0 Z0 U0 V0 W0 		; set tool 0 axis offsets
                                    G10 P0 R0 S0 					; set initial tool 0 active and standby temperatures to 0C
                                    
                                    M563 P1 X3 D1 H2 F1 			; define tool 1, ports X axis to U
                                    G10 P1 X0 Y0 Z0 U0.45 V0 W0		; set tool 1 axis offsets
                                    G10 P1 R0 S0 					; set initial tool 1 active and standby temperatures to 0C
                                    
                                    M563 P2 X4 D2 H3 F2 			; define tool 3, ports X axis to A
                                    G10 P2 X0 Y161.85 Z0 U0 V0.35 W0 ; set tool 2 axis offsets
                                    G10 P2 R0 S0 					; set initial tool 1 active and standby temperatures to 0C
                                    
                                    M563 P3 X5 D3 H4 F3 			; define tool 3, ports X axis to A
                                    G10 P3 X0 Y175.2 Z0 U0 V0 W0.32 	; set tool 3 axis offsets
                                    G10 P3 R0 S0 					; set initial tool 1 active and standby temperatures to 0C
                                    
                                    ; DITTO TOOLs 
                                    M563 P4 S"DITTOFront" D0:1 H1:2 X0:5 F0:1				; Tool 2 uses extruders 1 and 2, hotend heaters 1 and 2, maps X to X and U, uses tool fans 4 and 5
                                    G10 P4 X77 Y0 U-77    									; Set tool offsets and temperatures for tool 2 - moves X 77 left and U 77 right
                                    G10 P4 R0 S0
                                    M567 P4 E1:1 								; Set mix ratio 100% on both front extruders
                                    
                                    M563 P5 S"QUAD" D0:1:2:3 H1:2:3:4 X0:3:5:6 F0:1:2:3		; Tool 6 uses extruders 1,2,3and4, hotend heaters 1,2,3and4, maps X to U,A and B, and tool fans 4,5,6 and 7
                                    G10 P5 Y0 X0 U-155 V0 W-155   							; Set tool offsets and temperatures for tool 2 - moves X 77 left and U 77 right
                                    G10 P5 R0 S0
                                    M567 P5 E1:1:1:1										; Set mix ratio 100% on all extruders
                                    
                                    M563 P6 S"DD left" D0:2 H1:3 X0:4 F0:2
                                    G10 P6 X0 Y0 U0 V0 W0
                                    G10 P6 R0 S0
                                    
                                    M563 P7 S"DD right" D1:3 H2:4 X3:5 F1:3
                                    G10 P7 X0 Y0 U0 V0 W0
                                    G10 P7 R0 S0
                                    
                                    ;Firmware retractions
                                    M207 P0 S0.70 F2100 T2500 Z0.4
                                    M207 P1 S0.70 F2100 T2500 Z0.4
                                    M207 P2 S0.70 F2100 T2500 Z0.4
                                    M207 P3 S0.70 F2100 T2500 Z0.4
                                    
                                    ;Filament runout sensors
                                    
                                    ; Automatic saving after power loss is enabled
                                    M911 S23.00 R23.50 P"M913 X0 Y0 U0 V0 W0 G91 M83 G1 Z2 E-4 F3000" ; Set voltage thresholds and actions to run on power loss
                                    
                                    ; MISC
                                    M501
                                    

                                    And a simplified homeall/homez

                                    ; homeall.g
                                    ; called to home all axes
                                    ;
                                    ; scripted by Marac
                                    G91                     	; relative positioning
                                    G1 H2 Z2 F360           	; lift Z relative to current position
                                    G1 H1 X-400 Y-450 U400 V-400 W400 F3600	; move quickly to X and Y axis endstops and stop there (first pass)
                                    G1 X5 Y5 U-5 V5 W-5 F3600         	; go back a 5 mm
                                    G1 H1 X-10 Y-10 U10 V-10 W10 F360 			; second pass
                                    M400
                                    M98 Phomez.g			; call homing script for Z axes
                                    G90
                                    
                                    ; homez.g
                                    ; called to home the Z axis
                                    G91               		; relative positioning
                                    G1 Z-405 F900 H1
                                    

                                    Can you give those a try? Send M98 P"config.g" first just to check for any syntax errors I may have inadvertently introduced.

                                    Also, just a note for all of your homing files: Only use H2 modifier when you want to move an axis that isn't already homed. Using it otherwise can hide errors because it will allow an axis to move when it isn't homed.

                                    example: G1 U-2 F600 H2 ; go back a few mm

                                    That move is supposed to happen after the axis has been homed, so the H2 shouldn't be needed. If there was a failure to home the H2 would hide that failure and force movement anyway.

                                    Normally it's just used to life the Z axis slightly before move the XY axis for clearance.

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    MaracMBundefined Phaedruxundefined 2 Replies Last reply Reply Quote 0
                                    • MaracMBundefined
                                      MaracMB @Phaedrux
                                      last edited by

                                      @Phaedrux thank you.

                                      tried proposed config. nothing new. same results.

                                      it homes all the first time.
                                      but then when i call to homeall again, it fails to home. It either does not move left or right Z motor, or it fails to trigger the endstop.

                                      MaracMBundefined 1 Reply Last reply Reply Quote 0
                                      • MaracMBundefined
                                        MaracMB @MaracMB
                                        last edited by MaracMB

                                        correction, as i can't see both endstop states i sent home all from phone and monitored Endstops triggered from Settings>machine specific on the screen.
                                        Ran homeall until it fails to home correctly.

                                        It shows endstop as triggered but motor (in this case left Z) keeps grinding and does not stop. It also does this in it's own random pattern on the right side.

                                        Endstops are OMRON optical endstops, fed by 5V from the CONN_SD.
                                        I set the endstops voltage jumper select on the Duex5 to 5V. The endstops on duex are now wired and fed from their designated pins. Same results no matter how i connect them. No matter what the endstop voltage jumper position is.

                                        MaracMBundefined 1 Reply Last reply Reply Quote 0
                                        • MaracMBundefined
                                          MaracMB @MaracMB
                                          last edited by

                                          after failed homing:
                                          as said, on failed Z homing, while motors grinding and the endstop for Z showed as triggered. I hit emergency stop, board restarts. Endstop for Z shows as not triggered

                                          1 Reply Last reply Reply Quote 0
                                          • jay_s_ukundefined
                                            jay_s_uk
                                            last edited by

                                            Any i2c errors being reported in M122 when it fails to home?

                                            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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