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

    IDEX Tool Changing Issues

    Scheduled Pinned Locked Moved
    Duet Web Control
    2
    5
    313
    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.
    • Atomundefined
      Atom
      last edited by

      I am running a new custom IDEX setup but when I change to T2 (Duplicate) and T3 (Mirror) the two printheads just move towards the center of the X-axis and crash. My T0 and T1 work as expected and I have not had any issues with them.

      Config.g:
      ; Configuration file for Duet 3 (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Jul 07 2021 22:50:05 GMT-0400 (Eastern Daylight Time)

      ; General preferences
      G90 ; send absolute coordinates...
      M83 ; ...but relative extruder moves
      M550 P"Duet 3" ; set printer name

      ; Drives
      M569 P0.0 S0 ; physical drive 0 goes forwards
      M569 P0.1 S1 ; physical drive 1 goes backwards
      M569 P0.2 S0 ; physical drive 2 goes forwards
      M569 P0.3 S0 ; physical drive 3 goes forwards
      M569 P0.4 S1 ; physical drive 4 goes backwards
      M569 P0.5 S0 ; physical drive 5 goes forwards
      M584 X0.0 Y0.1 Z0.2 U0.3 E0.4:0.5 ; create the U axis and assign stepper driver 3 to it
      M350 X16 Y16 Z16 U16 E16 I1 ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z1600.00 U80.00 E408.91 ; set steps per mm
      M566 X900.00 Y900.00 Z60.00 U900.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z180.00 U6000.00 E1200.00 ; set maximum speeds (mm/min)
      M201 X500.00 Y450.00 Z20.00 U500.00 E250.00 ; set accelerations (mm/s^2)
      M906 X1100 Y1300 Z1300 U1100 E1100 I30 ; set motor currents (mA) and motor idle factor in per cent
      M84 S30 ; Set idle timeout

      ; Axis Limits
      M208 X-157.5 Y-150 Z0 U-70 S1 ; set axis minima
      M208 X157.5 Y150 Z275 U240 S0 ; set axis maxima

      ; Endstops
      M574 X1 S1 P"io4.in" ; Set active X endstops
      M574 Y2 S1 P"io6.in" ; Set active Y endstops
      M574 U2 S1 P"io5.in" ; Set active U endstops
      M574 Z0 ; Set endstops Z controlled by probe

      ; Z-Probe
      M558 P5 I1 R0.4 C"io3.in" H2 F1200 T6000 ; set Z probe type to effector and the dive height + speeds
      G31 P500 X14.117 Y32.467 Z2.5 ; set Z probe trigger value, offset and trigger height
      M557 X45:300 Y70:295 S50 ; define mesh grid

      ; Heaters
      M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
      M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
      M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
      M140 H0 ; map heated bed to heater 0
      M143 H0 S120 ; set temperature limit for heater 0 to 120C
      M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1
      M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
      M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
      M143 H1 S300 ; set temperature limit for heater 1 to 300C
      M308 S2 P"temp2" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin temp2
      M950 H2 C"out2" T2 ; create nozzle heater output on out2 and map it to sensor 2
      M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
      M143 H2 S300 ; set temperature limit for heater 2 to 300C

      ; Fans
      M950 F0 C"out9" Q500 ; create fan 0 on pin out9 and set its frequency
      M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
      M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off
      M950 F2 C"out6" Q500 ; create fan 2 on pin out6 and set its frequency
      M106 P2 S1 H-1 ; set fan 2 value. Thermostatic control is turned off
      M950 F3 C"out5" Q2500 ; create fan 3 on pin out5 and set its frequency
      M106 P3 S0 H-1 ; set fan 3 value. Thermostatic control is turned off
      M950 F4 C"out4" Q2500 ; create fan 4 on pin out4 and set its frequency
      M106 P4 S0 H-1 ; set fan 4 value. Thermostatic control is turned off

      ; Tools
      M563 P0 S"Left Ex" H1 D0 F3 ; define tool 0 (Left Ex)
      G10 P0 X-25.438 Y-16.096 Z0 ; set tool 0 axis offsets
      G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
      M563 P1 S"Right Ex" H2 D1 X3 F4 ; define tool 1 (Right Ex)
      G10 P1 Y-16.096 Z0 U-54.2 ; set tool 1 axis offsets
      G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C
      M563 P2 S"Duplicate" H1:2 D0:1 X0:3 F3:4
      G10 P2 X-25.428 Y-16.096 Z0 U-54.2 ; set tool offsets and temperatures
      G10 P2 R0 S0
      M567 P2 E1:1 ; set mix ratio 100% on both extruders
      M563 P3 S"Mirror" H1:2 D0:1 X0:3 F3:4 ; define tool 3 (Mirror Mode)
      G10 P3 X-25.428 Y-16.096 Z0 U-54.2 ; set tool 3 axis offsets
      G10 P3 R0 S0
      M567 P3 E1:1 ; set mix ratio 100% on both extruders

      ; Custom settings are not defined

      ; Miscellaneous
      M575 P1 S1 B57600 ; enable support for PanelDue

      M501

      And here are my tool change files for T2 and T3
      Tfree2:
      M83 ; relative extruder movement
      G1 E-2 F3600 ; retract 2mm
      M106 S0 ; turn off our print cooling fan
      G91 ; relative axis movement
      G1 Z3 F500 ; down 3mm
      G28 X U ; home the X and U carriages
      G1 Z-3 F500 ; up 3mm
      G90 ; absolute axis movement

      Tfree3:
      M579 U1
      M83 ; relative extruder movement
      G1 E-2 F3600 ; retract 2mm
      M106 S0 ; turn off our print cooling fan
      G91 ; relative axis movement
      G1 Z3 F500 ; down 3mm
      G28 X U ; home the X and U carriages
      G1 Z-3 F500 ; up 3mm
      G90 ; absolute axis movement

      Tpost2:
      M106 R2 ; restore print cooling fan speed
      M116 P2 ; wait for tool 2 heaters to reach operating temperature
      M83 ; relative extruder movement
      M567 P2 E1:1 ; set tool mix ratio
      M568 P2 S1 ; turn on mixing
      G1 E2 F3600 ; extrude 2mm from both extruders

      Tpost3:
      M579 U-1 ; invert U axis direction
      M106 R2 ; restore print cooling fan speed
      M116 P2 ; wait for tool 2 heaters to reach operating temperature
      M83 ; relative extruder movement
      M567 P2 E1:1 ; set tool mix ratio
      M568 P2 S1 ; turn on mixing
      G1 E2 F3600 ; extrude 2mm from both extruders

      Tpre files are all blank.
      I feel like I'm going crazy trying to debug this as there shouldn't be any move commands called during the tool changes other than the homing commands which work when I change T0 and T1.

      1 Reply Last reply Reply Quote 0
      • oliofundefined
        oliof
        last edited by

        Looks identical to my IDEX setup. What I did change was create a new printer definition in SuperSlicer with a half-width bed and custom start gcode selecting T2 (never used mirror mode). That worked.

        Currently rebuilding that machine so I'll be following along.

        <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

        Atomundefined 1 Reply Last reply Reply Quote 0
        • Atomundefined
          Atom @oliof
          last edited by Atom

          I have the same slicer setup and though I have been doing most of my troubleshooting just calling the tool from the Web Control, I have also tried running a file using this slicer setup with no success. I think I have narrowed down the problem to the M563 command in config.g defining T2, specifically the mapping of X to both X and U (X0:3). I don't know why this would change the result but I changed this line so that X only mapped to U (X:3), then I changed the tool to T3 with the X still mapped to both X and U and that seemed to work as intended; though, when I try to do a similar thing by selecting T1 first and then T2 with X mapped to X and U I have the same problem. Seeing how this seems to be a firmware issue I might try reinstalling/updating the firmware and seeing if that gets me anywhere.

          1 Reply Last reply Reply Quote 0
          • Atomundefined
            Atom
            last edited by

            Update- I seem to have figured out how to fix the issue, though I'm still not sure what is causing the issue. I found that by removing the X axis offset in the tool initialization and then offsetting the U axis by the length of the axis (-397.5 in my case) keeps the extruders in the correct places and works as intended.

            1 Reply Last reply Reply Quote 0
            • Atomundefined
              Atom
              last edited by

              Another update for those that might be trying to figure out this stuff in the future.

              To setup duplicate mode offsets set the X axis offset to 0 and the U axis offset by the total length of your axis (distance between X stop and U stop).

              I cannot figure out a sound method for setting up the mirror mode offsets as I had to just trial and error my way through it (stupid me thinking they'd be the same as the duplicate mode). I found a ratio between the X and -U offsets that add up to the length of my axis and put the tool at X0 U0 through trial and error. My axis is 397.5 and at offsets X150 and U-247.5 the tool position would read 0, but the print heads would still move a little and crash. I then found the offset X165 and U-247.5 that would make it so the tool heads would not move when the tool was changed but the tool position would read 7.5. I learned this tool position could then be offset by any amount without causing crashing issues as long as the same value was subtracted of the X offset and added to the U axis. To find the value I needed to offset this by I took the home position of my T0 (-182.9) and subtracted 7.5 from it getting 190.4. I then subtracted this from my X (165-190.4=-25.4) and added it to my U (-247.5+190.4=-57.1).

              I don't understand why this is like this and why this stuff isn't well understood/documented. Are others having the same issues on their IDEX setups or is this my machine specific?

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