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.5k
    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 @dc42
      last edited by dwuk3d

      @dc42 Thanks - but its definitely not doing that - I've turned that off.
      I've also put null M203's and M201's into every filament change Gcode - and am getting the following consistently
      From queue 12 - the slow one in this case
      Max speeds (mm/min): X: 21000.0, Y: 21000.0, Z: 600.0, U: 21000.0, V: 21000.0, W: 21000.0, A: 600.0, B: 600.0, 😧 600.0, E: 1800.0:1800.0:1800.0, min. speed 30.00
      Accelerations (mm/sec^2): X: 6000.0, Y: 6000.0, Z: 500.0, U: 6000.0, V: 6000.0, W: 6000.0, A: 500.0, B: 500.0, 😧 500.0, E: 250.0:250.0:250.0

      from queue2 - the fast one
      Max speeds (mm/min): X: 21000.0, Y: 21000.0, Z: 600.0, U: 21000.0, V: 21000.0, W: 21000.0, A: 600.0, B: 600.0, 😧 600.0, E: 1800.0:1800.0:1800.0, min. speed 30.00
      Accelerations (mm/sec^2): X: 6000.0, Y: 6000.0, Z: 500.0, U: 6000.0, V: 6000.0, W: 6000.0, A: 500.0, B: 500.0, 😧 500.0, E: 250.0:250.0:250.0

      I have also monitored feed rates by putting a few
      echo inputs[state.thisInput].feedRate into the Job, plus also watching the two values on DWC - and they both seem to range up to 500 - and I can't see any differences between the fast and slow ones.

      So still a bit of a mystery to me - especially as it was Blue yesterday - vs white and red today - I thinks the order of first tool printing - but I have change to use the real axis rather than X&Y for all tools too - so that might be making some sort of difference.

      I wonder if its accelerations rather than feed rates - I might try lowering all of the accelerations down to see if I can get both queues to at least be the same slow speed - as for my current test print the Red and White is going too fast for print quality.

      If you look at one of my videos - such as this one - you will see how much faster the blue printing is once it starts doing inner walls compared to the white and red.
      https://youtu.be/5FAYvt4uwtw?t=107

      Also looking a bit further into the video - the speeds off the X1C and Sovol have both been set at 350x60 - but the acceleration of the X1C is set much faster - but on the X1C layer 1 the blue printing of the inner walls is a lot slow that it was on the Sovol Duet Machine - so it looks to me like it is fast tool exceeding the feed rates, rather than the slow tool being particularly slow.

      dwuk3dundefined 1 Reply Last reply Reply Quote 0
      • 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