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.
    • dc42undefined
      dc42 administrators @MaracMB
      last edited by

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

      this is repeating on sending Home Z.
      Sometimes it works, sometimes it does not.

      I will leave this here.
      https://drive.google.com/file/d/1bWrnUszf52sSI6WxNkiBHYnSRBgFj5J1/view?usp=sharing

      I hope you now understand what the problem is. It is the same problem from the start. Now i just isolated it to Z axes.

      Please explain WHAT fails, and post the config file you are using. Also your homing files if they have changed since you posted them before.

      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

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