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

    Sovol SV08 Multiple Motion System Upgrade.

    Scheduled Pinned Locked Moved
    My Duet controlled machine
    8
    272
    42.7k
    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.
    • dwuk3dundefined
      dwuk3d @dwuk3d
      last edited by

      @dwuk3d
      Ps/ the 500's relate to the fact that orca slicer is putting F30000 on zhops for some reason.-
      With slower speeds like between F3000 and F13000 for the actual print moves.

      I might try reducing the F30000 to say F600 in my post processor tomorrow to see if somehow that is getting picked up and overriding the later feedrates.

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

        @dwuk3d are you using mesh bed compensation? If so, is it applied to both tools or only the first one?

        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

        dwuk3dundefined 1 Reply Last reply Reply Quote 0
        • dwuk3dundefined
          dwuk3d @dc42
          last edited by dwuk3d

          @dc42 no not yet.
          All i am doing at present is tap probing two points per print head (one in the centre and one by the prime tower) and then switching the Zhopper motor offset to the appropriate height in my tool change/priming macros when switching between priming and printing.

          Once I have sorted out to speed issue doing independent mesh compensation is what I plan to do - probably using a SZP on each print head.

          In terms of the speed problem my next steps are:

          1. Try changing the zhop speed down from F30000 (which should be being ignored by the zhoppers, but used for the xy / uv / wv moves, but not extrudes)
            Update - changing ZHop + ZHop Travel speed from F30000 to F3000 - no impact.
            There are still travel moves of F30000 - so next step to change all of those over to F3000
            Update2 - Changing travel moves to F3000 no effect - 2nd tool, 2nd layer still too fast

          Example Layer switch on T2 - where printing is very fast

          M204 P2000
          ; printing object LegF VarL.stl id:0 copy 0
          M204 T2000
          M486 S0
          echo "985",inputs[state.thisInput].feedRate
          G1 A{global.aOffset+0.4} F3000
          M802 L986; 
          G1 F3000 W165.356 V196.864 A{global.aOffset+0.4}
          M802 L988; 
          T-1  
          G1 F3000 Z.4
          M400 ; Release Z Axis
          T2  
          G1 F3000 A{global.aOffset}
          M802 L993; 
          echo "995",inputs[state.thisInput].feedRate
          G1 E.8 F1800
          ;TYPE:Inner wall
          ;WIDTH:0.449999
          echo "999",inputs[state.thisInput].feedRate
          G1 F13265.237
          G1 F13265.237 W165.181 V196.373 E.01729
          G1 F13265.237 W165.075 V195.878 E.0168
          G1 F13265.237 W165.048 V195.177 E.02327
          G1 F13265.237 W165.145 V194.667 E.01722
          G1 F13265.237 W165.265 V194.165 E.01714
          G1 F13265.237 W165.476 V193.669 E.01788
          G1 F13265.237 W165.747 V193.233 E.01702
          G1 F13265.237 W172.811 V200.297 E.33138
          

          Output

          1584 30.0
          1592 50.0
          1596 30.0
          

          T0 Gcode - which is still normal speed

          T0  
          
          ;M98 P"0:/macros/changeFilament.g" A previous_extruder  B new_filament_temp  L layer_num  N next_extruder   F first_layer_temperature0
          
          M98 P"0:/macros/changeFilament.g" A1 B220 L1  N0  F220 
          M203
          M201
          
          M106 S255
          ; Filament gcode
          G10 S220 P0 ; set nozzle temperature
          ;prev preheat:0:T0:**NO PREHEAT**
          M116.1 ; wait for temperature to be reached
          ; printing object LegF VarL.stl id:0 copy 0
          M486 S-1
          M486 S0
          echo "1584",inputs[state.thisInput].feedRate
          G1 B{global.bOffset+0.4} F3000
          M802 L1585; 
          G1 F3000 X126.246 Y193.591
          G1 F3000 B{global.bOffset+0.4}
          M802 L1588; 
          G1 F3000 B{global.bOffset}
          M802 L1590; 
          echo "1592",inputs[state.thisInput].feedRate
          G1 E2 F1800
          ;TYPE:Inner wall
          ;WIDTH:0.449999
          echo "1596",inputs[state.thisInput].feedRate
          G1 F13265.237
          G1 F13265.237 X126.244 Y193.59 E.00007
          G1 F13265.237 X126.244 Y167.554 E.86366
          G1 F13265.237 X126.621 Y167.427 E.01318
          G1 F13265.237 X126.813 Y167.232 E.00908
          G1 F13265.237 X126.97 Y166.902 E.01213
          G1 F13265.237 X127.002 Y166.658 E.00817
          

          Note they both specify the same feed rate

          1. Try reducing the overall speeds and accelerations - firstly globally, but might then try changing it dynamically between travel and extrude moves to see what happens
            Update - trying M203's before every feed rate change - examples
          G1 F3000 X130.472 Y162.126 E.02147
          G1 F3000 X130.91 Y162.539 E.02242
          G1 F3000 X131.625 Y163.351 E.04029
          G1 F3000 X132.131 Y163.869 E.02698
          G1 F3000 X132.939 Y164.566 E.03976
          G1 F3000 X133.353 Y164.796 E.01763
          M203  X21000  Y21000 
          G1 X133.718 Y164.469 F30000
          ;TYPE:Outer wall
          M203  X3000  Y3000 
          G1 F3000
          G1 F3000 X134.388 Y165.376 E.04199
          G1 F3000 X134.994 Y165.998 E.03233
          G1 F3000 X135.427 Y166.324 E.02019
          
          G1 F3000 U134.805 V165.063 E.02208
          G1 F3000 U134.543 V164.743 E.01539
          M203  U1800  V1800 
          G1 E-.8 F1800
          M203  U21000  V21000 
          G1 D{global.dOffset+0.4} F30000
          M802 L796; 
          G1 F30000 U139.183 V165.424 D{global.dOffset+0.4}
          M802 L798; 
          G1 F30000 D{global.dOffset}
          M802 L800; 
          M203  U1800  V1800 
          G1 E.8 F1800
          ;TYPE:Bottom surface
          ;WIDTH:0.582273
          M203  U6000  V6000 
          G1 F6000
          G1 F6000 U130.293 V156.535 E.55254
          G1 F6000 U130.293 V157.297 E.03352
          G1 F6000 U138.38 V165.384 E.50263
          G1 F6000 U138.077 V165.402 E.01331
          

          Update - 2nd tool still too fast even with M203's before every feed rate change.
          Next test - changing the limit on M203's to F12000 vs F21000 to see if that slows down T2/T1.
          Update- still not working - T2/T1 still too fast.
          Next test - changing config.g to lower all Axis speeds from 21000 to 12000 - so see If that at least slows down the layer2 extruder moves on T2/T1
          Update - T2/T1 still too fast
          Next test - changing config.g to lower all Axis speeds down to 6000, plus also change all G1 F30000 to G1 F3000
          Update T2/T1 still too fast - no extruder moves are nice and slow - but extrude moves are still far too fast and don't seem to be respecting any sort of feed rates.
          Maybe somehow to extruder federates are being respected rather than the motion ones,
          Next test - Trying halving all extruder rates

          
          ; Extruders
          M584 E121.0:122.0:123.0 ; set extruder mapping
          M350 E16:16:16 I1 ; configure microstepping with interpolation
          M906 E800:800:800 ; set extruder driver currents
          M92 E492:492:492 ; configure steps per mm
          ;M566 E120:120:120 ; set maximum instantaneous speed changes (mm/min)
          ;M203 E{30*60}:{30*60}:{30*60} ; set maximum speeds (mm/min)
          ;M201 E250:250:250 ; set accelerations (mm/s^2)
          
          M566 E60:60:60 ; set maximum instantaneous speed changes (mm/min)
          M203 E{15*60}:{15*60}:{15*60} ; set maximum speeds (mm/min)
          M201 E125:125:125 ; set accelerations (mm/s^2)
          
          

          That didn't work either - but finally I think I am getting somewhere.
          M203
          Max speeds (mm/min): X: 6000.0, Y: 6000.0, Z: 600.0, U: 6000.0, V: 600.0, W: 600.0, A: 600.0, B: 600.0, 😧 600.0, E: 1800.0:1800.0:1800.0, min. speed 30.00

          I have slowed down all of the max speeds on the UV&W axis by a factor of 10 using M203's before every feed rate change - its now moving at a snails pace - but seems to at least be taking notice of the max feed rates now and going at a more reasonable pace for the extrude moves.

          Interestingly it seems to be moving faster on the W than the V axis for these types of move

                  G1 A{global.aPrimeOffset} F300
                  G1 F2000
                  G1 W{param.W} V{param.V} F2000
                  ;M800 T{param.T} H0  ; ZHop down
                  G1 W{param.W} V{param.V+param.S} E{var.E} F2000
                  G1 W{param.W+var.S2} V{param.V+param.S}  E{var.E*2} F2000
                  G1 W{param.W+var.S2} V{param.V}  E{var.E*2} F2000
                  G1 W{param.W} V{param.V}   E{var.E} F2000
                  G1 W{param.W-2} V{param.V+param.S/2} 
                  G1 W298 V295 F2000
          

          Example main printing GCODE that's finally running at a controllable pace - a bit slow - so will probably try just dividing the speed by 5 for extrude moves only next.

          G1 E.8 F1800
          ;TYPE:Inner wall
          ;WIDTH:0.449999
          M203  W600.0  V600.0 
          G1 F13265.237
          G1 F13265.237 W176.869 V198.669 E.01729
          G1 F13265.237 W176.762 V198.174 E.0168
          G1 F13265.237 W176.736 V197.473 E.02327
          G1 F13265.237 W176.832 V196.963 E.01722
          G1 F13265.237 W176.952 V196.46 E.01714
          G1 F13265.237 W177.164 V195.964 E.01788
          
          1. Try some simpler models with just 3 squares - and try various combinations of 2 or 3 in different orders to confirm whether it is the ordering of tool swaps that is impacting which gantry runs too fast.
          2. Try later firmware as I am still on 3.5.4
          dc42undefined 1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators @dwuk3d
            last edited by

            @dwuk3d maybe it's treating U and V as rotary axes in the feed rate calculations. What M584 command do you use to create U and V? What is the response when you send M584 without parameters?

            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

            dwuk3dundefined 1 Reply Last reply Reply Quote 0
            • dwuk3dundefined
              dwuk3d @dc42
              last edited by dwuk3d

              @dc42

              M584 X0.3 Y0.4 Z0.1:0.2:0.0:1.3 U1.0 V1.5:1.6 W1.1 A1.4 B0.5 D1.2 a0.1 b0.2; set axis mapping
              

              NB/ I have duplicated 0.1 and 0.2 on dummy a and b axis at the moment to try and overcome my layer shifting problem.
              Not sure if they are still needed as I might have found a workaround by surrounding my G1 Zn layer changes with T-1, M400, Tn.

              Output from M584 as follows.

              Driver assignments: X0.3 Y0.4 Z0.1:0.2:0.0:1.3 U1.0 V1.5:1.6 W1.1 (r)(c)A1.4 (r)(c)B0.5 (r)(c)D1.2 E121.0:122.0:123.0, 9 axes visible
              

              NB/. A,B and D are my Z hoppers - not the motion axis

              I think I can getting closer to understanding this issue which seems to be that the the 2nd motion system used in the print - the Extruder moves around between 5 and 7 times faster than the feedrate you specify in the F parameter on the G1 command.

              I'm just about to try a print with my original settings and speeds - but with in the case of the print where the M596 P0/T1/T2 motion system comes second in the print - with all speeds correct, apart from the G1 E moves - which I am adding a F parameter - with the required feedrate divided by 7.

              UPDATE: I think dividing by 7 for the E moves is a bit too much - but also the normal non extrude moves are now a bit fast too - so I probably need to divide the speed on those too.

              dwuk3dundefined 1 Reply Last reply Reply Quote 0
              • dwuk3dundefined
                dwuk3d @dwuk3d
                last edited by dwuk3d

                @dwuk3d Further update - have moved on to testing with the same shape on each print head and I think the its more complicated that just multiplying the feedrate.

                When doing diagonals to fill out a square the speed might be getting faster in different parts of the diagonals

                Will switch over the print so that the X&Y M596 P1 motion system comes second next to see if I can work out a pattern.

                Further update - when printing squares - I changed the print order so that T2 white came first - and it still prints too fast when I don't divide the speed - so I may have been wrong about thinking it relates to the motion system and tool first used order.

                So will continue with my investigations for now on the basis that the issue relates to the U,V & W Axis.

                dwuk3dundefined 1 Reply Last reply Reply Quote 0
                • dwuk3dundefined
                  dwuk3d @dwuk3d
                  last edited by dwuk3d

                  @dwuk3d Decided to upgrade from 3.5.4 to 3.6.0

                  All went fairly well - homing not quite the same - even though I am using optical sensors all round with no sensorless homing.

                  I had to make a small adjustment to my U axis homing - just positioning the A Axis (which is the lifter on the WV extruder - which the UV extruder homes against.

                  Probing and alignment worked ok.

                  Started multiple motion system 3 colour simple squares print that has worked on on 3.5.4 - and for which I was just trying to tune speed adjustments.

                  T0 worked ok.
                  T1 priming worked out - but printing out of the box didn't UV movements which should have formed a square shape just formed a diagonal line.
                  T2 had the same issue - so not sure what is going on.

                  It can't be a general movement issue - as things work fine when moving around and doing alignment / homing etc.

                  Full config file here.

                  ; Configuration file for RepRapFirmware on Duet 3 Main Board 6HC
                  ; executed by the firmware on start-up
                  ;
                  ; generated by RepRapFirmware Configuration Tool v3.5.10 on Wed Jan 29 2025 10:20:21 GMT+0000 (Greenwich Mean Time)
                  
                  ; General
                  G90 ; absolute coordinates
                  M83 ; relative extruder moves
                  M550 P"Duet 3" ; set hostname
                  
                  ; Network
                  M552 P0.0.0.0 S1 ; configure Ethernet adapter
                  M586 P0 S1 ; configure HTTP
                  M586 P1 S1 ; configure FTP
                  
                  ; Wait a moment for the CAN expansion boards to become available
                  G4 S2
                  
                  ; Smart Drivers
                  M569 P0.0 S1 D2 ; driver 0.0 goes forwards (Z axis)
                  M569 P0.1 S1 D2 ; driver 0.1 goes forwards (Z axis)
                  M569 P0.2 S0 D2 ; driver 0.2 goes backwards (Z axis)
                  M569 P0.3 S1 D2 ; driver 0.3 goes forwards (X axis)
                  M569 P0.4 S0 D2 ; driver 0.4 goes backwards (Y axis)
                  M569 P1.3 S1 D2 ; driver 0.5 goes backwards (Z axis) - changed to 1.3 forwards
                  ;M569 P1.0 S0 D3 V2000 ; driver 1.0 goes backwards (U axis)
                  ;M569 P1.1 S0 D3 V2000 ; driver 1.1 goes backwards (V axis)
                  M569 P1.0 S0 D2; driver 1.0 goes backwards (U axis)
                  M569 P1.1 S0 D2 ; driver 1.1 goes backwards (V axis)
                  M569 P1.4 S0 D2 ; Z-hopper 2
                  M569 P0.5 S1 D2 ; Z-hopper 1
                  M569 P1.5 S0 D2 ; VH Axis Left
                  M569 P1.6 S1 D2 ; VH Axis Right
                  M569 P1.2 S1 D2 ; U AXIS Z Hopper
                  
                  M569 P121.0 S0 D2 ; driver 121.0 goes backwards (extruder 0).  X
                  M569 P122.0 S0 D2 ; driver 122.0 goes backwards (extruder 1).  C
                  M569 P123.0 S0 D2 ; driver 123.0 goes backwards (extruder 2).  U
                  
                  ;M569 P124.0 S0 D2 ; driver 124.0 goes backwards (extruder 2).  a
                  ;M569 P125.0 S0 D2 ; driver 125.0 goes backwards (extruder 2).  b
                  
                  ; Motor Idle Current Reduction
                  M906 I30 ; set motor current idle factor
                  M84 S30 ; set motor current idle timeout
                  
                  ; Axes
                  M584 X0.3 Y0.4 Z0.1:0.2:0.0:1.3 U1.0 V1.5:1.6 W1.1 A1.4 B0.5 D1.2 a0.1 b0.2; set axis mapping
                  M350 X16 Y16 Z16 U16 V16 W16 A16 B16 D16 I1 ; configure microstepping with interpolation
                  M906 X800 Y800 Z800 U800 V800 W800 A750 B750 D750 a100 b100 ; set axis driver currents
                  ; A - 1.8 degree, 0.7mm pitch - 200*16/0.7 = 4571
                  ; A - 1.8 degree, 1mm pitch - 200*16 = 3200
                  M92 X80 Y80 Z533.33 U80 V80 W80 A3200 B3200 D4571  ; configure steps per mm
                  if exists(global.vMin) == false
                      global vMin = 120
                      global vMax = 340
                      global yMin = -5
                      global yMax = 210
                  M208 X0:327 Y0:210 Z0:300 U3:216 V120:329.39 A0:4 B0:3 W120:324.87 D0:3.5 a0:4 b0:4; set minimum and maximum axis limits
                  
                  M566 X540 Y540 Z100 U540 V540 W540 A100 B100 D100 ; set maximum instantaneous speed changes (mm/min)
                  M203 X{350*60} Y{350*60} Z{20*60} U{350*60} V{350*60} W{350*60} A{20*60} B{20*60}   D{10*60}; set maximum speeds (mm/min)
                  ;M203 X{100*60} Y{100*60} Z{10*60} U{100*60} V{100*60} W{100*60} A{10*60} B{10*60}   D{10*60}; set maximum speeds (mm/min)
                  if !exists(global.xyMaxFeed)
                      global xyMaxFeed = 0
                  set global.xyMaxFeed = 21000
                  
                  ;M201 X2000 Y2000 Z500 U2000 V2000 W2000 A1000 B1000 D1000 ; set accelerations (mm/s^2)
                  M201 X6000 Y6000 Z500 U6000 V6000 W6000 A500 B500 D500 ; set accelerations (mm/s^2)
                  
                  ; Extruders
                  M584 E121.0:122.0:123.0 ; set extruder mapping
                  M350 E16:16:16 I1 ; configure microstepping with interpolation
                  M906 E800:800:800 ; set extruder driver currents
                  M92 E492:492:492 ; configure steps per mm
                  M566 E120:120:120 ; set maximum instantaneous speed changes (mm/min)
                  M203 E{30*60}:{30*60}:{30*60} ; set maximum speeds (mm/min)
                  M201 E250:250:250 ; set accelerations (mm/s^2)
                  
                  ;M566 E60:60:60 ; set maximum instantaneous speed changes (mm/min)
                  ;M203 E{15*60}:{15*60}:{15*60} ; set maximum speeds (mm/min)
                  ;M201 E125:125:125 ; set accelerations (mm/s^2)
                  
                  ; Kinematics
                  ;M669 K8 ; configure CoreXYUV kinematics
                  M669 K1 ; configure CoreXY kinematics
                  ;     X:Y:Z: U: V: W:A:B:D
                  M669 V0:0:0: 1: 1:-1:0:0:0
                  
                  
                  
                  ; Probes
                  M558 K0 P8 C"121.io1.in" H5 F1200:300 T18000 ; configure unfiltered digital probe via slot #0
                  if exists(global.probeK0) == false
                      global probeK0 = 2.5
                      global probeK1 = 2.1
                  G31 P500 X-17 Y10 Z2.5 ; set Z probe trigger value, offset and trigger height
                  M558 K1 P8 C"122.io1.in" H5 F1200:300 T18000 ; configure unfiltered digital probe via slot #1
                  G31 K1 P500 U-17 V10 Z2.1 ; set Z probe trigger value, offset and trigger height
                  M558 K2 P8 C"!121.io2.in" H1 F300 T300 ; configure unfiltered digital probe via slot #2 B Axis
                  G31 K2 P500 X0 Y0 Z-2.5 B0 ;   B Axis Optical Probe
                  M558 K3 P8 C"io3.in" H1 F300 F300;   Ball Probe
                  
                  
                  
                  
                  ; Endstops
                  M574 X1 S3 ; configure X axis endstop
                  ; M574 Y1 S3 ; configure Y axis endstop
                  M574 Y1 P"io8.in" S1 ; configure X axis to B axis optical probe
                  M574 Z1 S2 K0; configure Z axis endstop
                  M574 W2 P"!122.io0.in" S1 ; configure C axis endstop - dummy end stop
                  M574 U2 P"!123.io0.in" S1 ; configure U axis endstop - dummy end stop
                  
                  M574 V2 P"io4.in" S1 ; V Axis optical
                  
                  M574 B1 S2 K2
                  M574 A1 P"122.io2.in" S1 ; configure A axis endstop 
                  M574 D1 P"123.io2.in" S1 ; configure D axis endstop 
                  ;    122.io3.in - dummy endstop when A swapped out
                  
                  
                  ; Sensors
                  M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8 ; configure sensor #0
                  M308 S1 P"121.temp0" Y"thermistor" A"Nozzle" T110000 B4487 C6.95777e-8 ; configure sensor #1
                  M308 S2 P"122.temp0" Y"thermistor" A"Nozzle2" T110000 B4487 C6.95777e-8 ; configure sensor #2
                  M308 S3 P"123.temp0" Y"thermistor" A"Nozzle3" T110000 B4487 C6.95777e-8 ; configure sensor #3
                  
                  ; Heaters
                  M950 H0 C"out0" T0 ; create heater #0
                  M143 H0 P0 T0 C0 S105 A0 ; configure heater monitor #0 for heater #0
                  M307 H0 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #0
                  M950 H1 C"121.out0" T1 ; create heater #1
                  M143 H1 P0 T1 C0 S305 A0 ; configure heater monitor #0 for heater #1
                  M307 H1 R6.387 K1.184:0.189 D1.91 E1.35 S1.00 B0 V24.5
                  ;M307 H1 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #1
                  M950 H2 C"122.out0" T2 ; create heater #2
                  M143 H2 P0 T2 C0 S305 A0 ; configure heater monitor #0 for heater #2
                  ;M307 H2 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #2
                  M307 H2 R6.946 K0.880:0.127 D1.68 E1.35 S1.00 B0 V23.9
                  M950 H3 C"123.out0" T3 ; create heater #3
                  M143 H3 P0 T3 C0 S305 A0 ; configure heater monitor #0 for heater #3
                  M307 H3 R8.957 K0.898:0.044 D1.24 E1.35 S1.00 B0 V24.3
                  ;M307 H3 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #3
                  
                  ; Heated beds
                  M140 P0 H0 ; configure heated bed #0
                  
                  ; Fans
                  M950 F0 C"121.out2+out2.tach" ; create fan #0
                  M106 P0 S0 L0 X1 B0.1 ; configure fan #0
                  M950 F1 C"121.out1+out1.tach" ; create fan #1
                  M106 P1 C"Hotend" S0 B0.1 H1 T45 ; configure fan #1
                  M950 F2 C"122.out2+out2.tach" ; create fan #2
                  M106 P2 C"E2Cool" S0 L0 X1 B0.1 ; configure fan #2
                  M950 F3 C"122.out1+out1.tach" ; create fan #3
                  M106 P3 C"Hotend2" S0 B0.1 H2 T45 ; configure fan #3
                  M950 F4 C"123.out2+out2.tach" ; create fan #4
                  M106 P4 C"E3Cool" S0 L0 X1 B0.1 ; configure fan #4
                  M950 F5 C"123.out1+out1.tach" ; create fan #5
                  M106 P5 C"Hotend3" S0 B0.1 H3 T45 ; configure fan #5
                  
                  ; Tools
                  ;     X:Y:Z:U: V:W:A:B:C:D:a :b 
                  ;     0 1 2 3. 4 5 6 7 8 9 10 11
                  
                  
                  M563 P0 D0 H1 F0 ; create tool #0.    XYB
                  M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures
                  ;M563 P1 D1 H2 F2 ; create tool #1
                  
                  ;Tool T1 - Left Nozzle - 2nd Gantry as X and Y.  UVD
                  ;M563 P1 D2 H3 F4
                  ;M563 P1 D2 X3 Y4 H3 F4
                  M563 P1 D2 X10 Y11 H3 F4
                  G10 P1 X0 Y0 U0 V0 S0 R0
                  M568 P1 R0 S0 ; set initial tool #1 active and standby temperatures
                  
                  ;Tool T2 - Right Nozzle 2nd Gantry as X and Y.   WXA
                  ;M563 P2 D1 H2 F2
                  ;M563 P2 D1 X5 Y4 H2 F2
                  M563 P2 D1 X10 Y11 H2 F2
                  G10 P2 X0 Y0 U0 V0 S0 R0
                  M568 P2 R0 S0 ; set initial tool #1 active and standby temperatures
                  
                  
                  ; T3 - duplicate mode
                  M563 P3 D0:1 H1:2 X0:3 Y1:4 F0:1
                  G10 P3 X0 Y0 U0 V-150 S0 R0
                  M567 P3 E1:1
                  M568 P3 S1
                  
                  
                  ; Miscellaneous
                  
                  ; Custom settings
                  M915 X Y U V  R0 F0
                  M671 X410:-60:-60:410 Y420:-10:420:-10 S7
                  M307 H1 R7.427 K0.701:0.030 D1.50 E1.35 S1.00 B0 V24.5
                  M307 H2 R7.020 K0.857:0.148 D1.65 E1.35 S1.00 B0 V24.0
                  M307 H0 R0.527 K0.163:0.000 D5.70 E1.35 S1.00 B0
                  M557 X20:300 Y20:220 S40
                  
                  M950 S1 C"122.io0.out"
                  M280 P1 S60  ; Set Servo
                  if exists(global.servo1pos) == false
                      global servo1pos = 60
                      global probeAngle = 162
                      global probeOut = 80
                      global probeIn = 165
                      global probeSpeed = 1
                  
                  M950 S5 C"1.io1.out"  ; Probe Servo
                  
                  M280 P5 S162  ; Set Servo
                  M42 P5 S0 ; Servo Off
                  
                  
                  ; Electro Magnet
                  M950 P4 C"1.out1"
                  M42 P4 S0
                  
                  
                  ;M42 P1 S0
                  
                  
                  ; Allow movement without homing
                  
                  ;M564 S0 H0
                  
                  
                  
                  
                  ; Backlash compensation
                  M425 U0.1 V0.1 S1
                  
                  ;Secondary Queue Length
                  ;M595 Q0 P100
                  ;M595 Q1 P100
                  
                  ;G10/G11 Retraction
                  M207 S2
                  
                  ;Timers
                  if exists(global.AOff) == false
                      global AOff = 0
                      global BOff = 0
                      global T0Off = 0
                      global T1Off = 0
                      global magnetOff = 0
                      global servo5Off = 0
                      global T0Clean = true
                      global T1Clean = true
                      global degSec = 4.25
                      global primeTime0 = 4
                      global primeTime1 = 3
                      global preHeatT = 20
                      global xyParked = false
                      global uvParked = false
                  if !exists(global.p0state)
                      global p0state = "null"
                      global p1state = "null"
                      
                  
                  
                  M929 P"eventlog.txt" S2
                  
                  M98 P"setExtGlobals.g"
                  
                  
                  
                  
                  
                  
                  
                  

                  Picture showing square working ok from T0 - should be two more from T1 and T2 - The T2 one in white is shown roughly where the white bit of plastic is - which was its attempt to draw a square.

                  IMG_7645.jpeg

                  Both of them just came out as diagonal lines - they should have been like this
                  Screenshot 2025-06-05 at 17.06.52.png

                  dwuk3dundefined 1 Reply Last reply Reply Quote 0
                  • dwuk3dundefined
                    dwuk3d @dwuk3d
                    last edited by dwuk3d

                    @dwuk3d Managed to get a print out of my WV axis on 3.6.0 - but I am getting unreliable homing on UVW, plus the W motor stopped working when trying to do my W homing.

                    Moving V was moving out in the W direction too.
                    G1 W-1 didn't move it
                    G1 H2 W-1 moved W - then after that G1 W-1 seemed to work.

                    I wonder if there are still issues on 3.6.0 with remote tool boards - I have a 6HC as the first board - the 0. drivers, and a Mini5+ as the 2nd board - the 1.0 drivers.

                    I think I might have to go back to 3.5.4

                    06/06/2025, 07:43:30	G1 W-1
                    06/06/2025, 07:43:20	G1 H2 W-1
                    06/06/2025, 07:42:41	M669
                    Kinematics is CoreXY, no segmentation, modified matrix:
                    1.00 1.00 0 0 0 0 0 0 0
                    1.00 -1.00 0 0 0 0 0 0 0
                    0 0 1.00 0 0 0 0 0 0
                    0 0 0 1.00 0 0 0 0 0
                    0 0 0 1.00 1.00 -1.00 0 0 0
                    0 0 0 0 0 1.00 0 0 0
                    0 0 0 0 0 0 1.00 0 0
                    0 0 0 0 0 0 0 1.00 0
                    0 0 0 0 0 0 0 0 1.00
                    06/06/2025, 07:41:18	M584
                    Driver assignments: X0.3 Y0.4 Z0.1:0.2:0.0:1.3 U1.0 V1.5:1.6 W1.1 (r)(c)A1.4 (r)(c)B0.5 (r)(c)D1.2 E121.0:122.0:123.0, 9 axes visible
                    06/06/2025, 07:40:45	M913
                    Motor current % of normal - X:100, Y:100, Z:100, U:100, V:100, W:100, A:100, B:100, D:100, E:100:100:100
                    06/06/2025, 07:38:45	M906
                    Motor current (mA) - X:800, Y:800, Z:800, U:800, V:800, W:800, A:750, B:750, D:750, E:800:800:800, idle factor 30%, timeout 30.0 sec
                    
                    M122
                    === Diagnostics ===
                    RepRapFirmware for Duet 3 MB6HC version 3.6.0 (2025-05-25 08:05:42) running on Duet 3 MB6HC v1.02 or 1.02a (standalone mode)
                    Board ID: 0JD4M-958L1-M2NS0-7JTDG-3SN6K-91FKZ
                    Used output buffers: 1 of 40 (36 max)
                    === RTOS ===
                    Static ram: 137420
                    Dynamic ram: 134416 of which 240 recycled
                    Never used RAM 71764, free system stack 150 words
                    Tasks: NETWORK(1,ready,30.5%,153) ETHERNET(5,nWait 7,0.3%,315) HEAT(3,nWait 6,0.0%,335) Move(4,nWait 6,0.0%,209) TMC(4,nWait 6,3.1%,341) CanReceiv(6,nWait 1,0.1%,772) CanSender(5,nWait 7,0.0%,325) CanClock(7,delaying,0.0%,350) MAIN(1,running,66.0%,103) IDLE(0,ready,0.0%,29) USBD(3,blocked,0.0%,144), total 100.0%
                    Owned mutexes:
                    === Platform ===
                    Last reset 00:23:05 ago, cause: software
                    Last software reset at 2025-06-06 07:27, reason: User, Gcodes spinning, available RAM 69292, slot 0
                    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
                    Error status: 0x00
                    MCU temperature: min 44.8, current 49.9, max 50.0
                    Supply voltage: min 24.1, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
                    12V rail voltage: min 12.0, current 12.2, max 12.4, under voltage events: 0
                    Heap OK, handles allocated/used 99/42, heap memory allocated/used/recyclable 2048/1588/1092, gc cycles 0
                    Events: 0 queued, 0 completed
                    Date/time: 2025-06-06 07:50:30
                    Slowest loop: 11.44ms; fastest: 0.05ms
                    === Storage ===
                    Free file entries: 19
                    SD card 0 detected, requested/actual speed: 25.0/25.0MBytes/sec
                    SD card longest read time 2.9ms, write time 3.9ms, max retries 0
                    === Move ===
                    Segments created 9, maxWait 354248ms, bed comp in use: none, height map offset 0.000, hiccups added 0/0 (0.00/0.00ms), max steps late 0, ebfmin 0.00, ebfmax 0.00
                    Pos req/act/dcf: 13160.00/13160/0.00 10840.00/10840/0.00 8001.00/8001/0.00 37009.00/37009/-0.00 23151.00/23151/0.00 405.00/405/-0.00 0.00/1/-1.00 9600.00/9600/0.00 0.00/1/-1.00
                    Next step interrupt due in 269 ticks, disabled
                    Driver 0: standstill, SG min 0, mspos 24, reads 18307, writes 39 timeouts 1
                    Driver 1: standstill, SG min 0, mspos 632, reads 18307, writes 39 timeouts 1
                    Driver 2: standstill, SG min 0, mspos 136, reads 18307, writes 39 timeouts 1
                    Driver 3: standstill, SG min 0, mspos 968, reads 18306, writes 40 timeouts 1
                    Driver 4: standstill, SG min 0, mspos 648, reads 18306, writes 40 timeouts 1
                    Driver 5: standstill, SG min 0, mspos 616, reads 18307, writes 39 timeouts 1
                    Phase step loop runtime (us): min=0, max=370, frequency (Hz): min=539, max=10000
                    === DDARing 0 ===
                    Scheduled moves 236, completed 236, LaErrors 0, Underruns [0, 0, 0]
                    Segments left 0, axes/extruders owned 0x80000033, drives owned 0x80000023
                    Code queue is empty
                    === DDARing 1 ===
                    Scheduled moves 0, completed 0, LaErrors 0, Underruns [0, 0, 0]
                    Segments left 0, axes/extruders owned 0x00000000, drives owned 0x00000000
                    Code queue is empty
                    === Heat ===
                    Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1 -1 -1 -1 -1, ordering errs 0
                    Heater 0 is on, I-accum = 0.0
                    Heater 1 is on, I-accum = 0.0
                    === GCodes ===
                    Movement locks held by null, null
                    HTTP is idle in state(s) 0
                    Telnet is idle in state(s) 0
                    File is idle in state(s) 0
                    USB is idle in state(s) 0
                    Aux is idle in state(s) 0
                    Trigger is idle in state(s) 0
                    Queue is idle in state(s) 0
                    LCD is idle in state(s) 0
                    SBC is idle in state(s) 0
                    Daemon is idle in state(s) 0
                    Aux2 is idle in state(s) 0
                    Autopause is idle in state(s) 0
                    File2 is idle in state(s) 0
                    Queue2 is idle in state(s) 0
                    === CAN ===
                    Messages queued 12667, received 94565, lost 0, ignored 0, errs 0, boc 0
                    Longest wait 2ms for reply type 6031, peak Tx sync delay 273, free buffers 50 (min 48), ts 6567/6566/0
                    Tx timeouts 0,0,0,0,0,0
                    === Network ===
                    Slowest loop: 44.16ms; fastest: 0.03ms
                    Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
                    HTTP sessions: 1 of 8
                    === Multicast handler ===
                    Responder is inactive, messages received 0, responses 0
                    = Ethernet =
                    Interface state: active
                    Error counts: 0 0 0 1 0 0
                    Socket states: 6 2 2 2 2 2 0 0 0
                    === WiFi ===
                    Interface state: disabled
                    Module is disabled
                    Failed messages: pending 0, notrdy 0, noresp 0
                    Socket states: 0 0 0 0 0 0 0 0
                    

                    Oh dear - attempt to revert back to 3.5.4 failed now getting no response over LAN and no flashing lights - will have to dig out the serial/usb cables.
                    Last time this happened I had to reflash the Mini5+ board using a PC - which is quite inconvenient as it is hard to get a USB cable into that board.

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

                      @dwuk3d this thread is far too long to use for raising firmware issues. Please start a new thread for each distinct issue.

                      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

                      dwuk3dundefined 1 Reply Last reply Reply Quote 0
                      • dwuk3dundefined
                        dwuk3d @dc42
                        last edited by

                        @dc42 i didn'r think it was worth raising issues until I went to 3.6.0.

                        I tried 3.6.0 yesterday and today and have got a more fundamental issue with 3.6.0 which I have raised as a separate thread.
                        Once I have resolved that (or found a workaround) I will retest other issues and if they still existing raise them as 3.6.0 threads.

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