Dual extruder tool changer set up not working properly.

  • I am working on my tool changer printer but am getting few strange things happening that I just can't seem to figure out.

    I have two extruders, T0 & T1 I am trying to print with T0 but the extruder motor will not run unless T1 is also set to minimum extrusion temp. Also, you will notice that for T0 I have it set to use D1 drive and T1 using D0 drive. I originally had them set in reverse but when I had T0 selected it kept trying to drive the T1 motor. I have checked all of my wiring multiple times and everything is going to the correct locations so this has me baffled.

    Config and firmware info.
    Board: Duet WiFi 1.0 or 1.01 + DueX5
    Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 2.04 (2019-11-01b1)
    Duet WiFi Server Version: 1.23
    Duet Web Control 2.0.4

    ;General preferences*******************************************************************
    M584 U9 ; Drive mapping
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"BOXX" ; set printer name

    M307 H7 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch
    M558 P9 F100 H5 R0.2 T6000 B0 ; Set Z probe type to BLTouch and the dive height + speeds
    G31 P25 X-3 Y-39.3 Z0.4 ; Set Z probe trigger value, offset and trigger height
    M557 X15:350 Y20:350 S2 ; Define mesh grid

    M584 X0 Y1 Z2:3 E5:6 ; Drive mapping

    M569 P0 S0 ; X Drive 0 goes forwards
    M569 P1 S1 ; Y Drive 1 goes backwards

    M569 P2 S1 ; Z1 Drive 2 goes backwards
    M569 P3 S1 ; Z2 Drive 3 goes backwards

    ;M569 P4 S1 ; NOT USED

    M569 P5 S0 ; E0 Drive 5 goes forwards
    M569 P6 S0 ; E1 Drive 6 goes forwards

    ;M569 P7 S0 ; NOT USED
    ;M569 P8 S0 ; NOT USED
    M569 P9 S1 ; U Drive 4 goes backwards

    M669 K1 ; Select CoreXY mode

    M350 X16 Y16 Z16 E16:16 U16 I1 ; Configure microstepping with interpolation
    M92 X66 Y66 Z1600 E443.62:443.62 U100 ; Set steps per mm

    M566 X200 Y200 Z300 E1000:1000 U100 ; Set maximum instantaneous speed changes (Jerk) (mm/min)
    M203 X30000 Y30000 Z400 E4000:4000 U5000 ; Set maximum speeds (mm/min)
    M201 X600 Y600 Z20 E1000:1000 U800 ; Set accelerations (mm/s^2)

    M906 X1200 Y1200 Z1300 E400:600 U1500 I30 ; Set motor currents (mA) and motor idle factor in percent
    M84 S30 ; Set idle timeout

    M305 P0 S"BED" T100000 B4138 C0 ; Set thermistor
    M143 H0 S100 ; Set temperature limit for heater 0 to 225C

    M305 P1 R4700 T100000 B4388 ; Set thermistor
    M143 H1 S280 ; Set temperature limit for heater 3 to 300C

    M305 P2 R4700 T100000 B4388 ; Set thermistor
    M143 H2 S280 ; Set temperature limit for heater 4 to 300C

    M563 P0 D0 H1 F4 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Reset tool 0 axis offsets
    G10 P0 R0 S0 ; Reset initial tool 0 active and standby temperatures to 0C

    M563 P1 D1 H2 F6 ; Define tool 1
    G10 P1 X0 Y0 Z0 ; Reset tool 1 axis offsets
    G10 P1 R0 S0 ; Reset initial tool 1 active and standby temperatures to 0C

    ;M106 P0 S0 I0 F500 H-1 ; UNUSED
    M106 C"T0 FAN" P3 S1 I0 F500 H1 T70 ; T0 HE
    M106 C"T0 LAY FAN" P4 S0 ; T0 PCF
    M106 C"T1 FAN" P5 S1 I0 F500 H2 T70 ; T1 HE
    M106 C"T1 LAY FAN" P6 S0 ; T1 PCF
    ;M106 P7 S0 H3 T70 ; T2 HE
    ;M106 P8 S0 ; T2 PCF

    ;Axis Limit*******************************************************************
    M208 X0:355 Y0:360 Z0:400 ; Set axis min/max
    M208 U0:180 ; Set axis min/max

    ;Endstop Settings*******************************************************************
    M574 Z1 S2 ; Set endstops controlled by probe
    M574 X1 Y1 S1 ; Set active high endstops
    M574 U1 S1 ; Set homing switch configuration for toolchange lock. Both switches should be wired NC and in series.

  • Hi,

    Seems to me the wiring has to be wrong. What else could cause the drivers to be swapped?

    The issue with the temps is consistent with the motors being swapped in your config file.

    I understand that you've checked them many times but I cannot see anything else.

    Also I don't recall having to specify anything in the "Fans" section for layer cooling fans as this is handled in the "Tools" section.

    Just for grins remove those entries in the "Fans" section and see if somehow that is messing things up.


  • So last night I got fed up with trying to get both extruders to work that I commented out all of the lines for T1 tool and heater and just like that T0 works fine without changing any of the wiring...

  • @cdl1701yahoo-com said in I am so confused, firmware and extruders:

    ;deselect tools

    Just as an "oh by the way" that has little to do with your original question. Deselecting tools does not work like what is implied by your code (above).

    Every time Tn is encountered, the machine mounts tool "n". If there is another tool mounted, it will free that currently mounted tool first.



    Always frees whatever tool is mounted. Because it "mounts" tool "negative one", which does not exist. It frees the current tool first (which is what you want) and then stops, because there is no "negative one" set of free/pre/post macros to execute.

    So no need for any form of separate free commands. "T-1" will always work.

  • @cdl1701yahoo-com said in I am so confused, firmware and extruders:

    M563 S"T0" P0 D1 H1 F4 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Reset tool 0 axis offsets
    G10 P0 R0 S0 ; Reset initial tool 0 active and standby temperatures to 0C
    M563 S"T1" P1 D0 H2 F6 ; Define tool 1
    G10 P1 X0 Y0 Z0 ; Reset tool 1 axis offsets
    G10 P1 R0 S0 ; Reset initial tool 1 active and standby temperatures to 0C

    As to your original question: I don't know how your machine is wired, but you absolutely have the motor drives in reverse order from the heaters and fans in those definitions. I bolded just the drives and heaters above; the fans are backwards as well.

    D1 H1
    D0 H2

    should be

    D0 H1
    D1 H2

    So, yes, the "lower numbered" motor is not going to run until the "higher numbered" heater is above its auto-thermostat setting (70C as currently configured).

  • Yeah , I know they are backwards from what they should be but that was the only way I could get the correct motor to run.

    When I had it set like this:

    M563 P0 S"T0" D0 H1 F4 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Reset tool 0 axis offsets
    G10 P0 R0 S0 ; Reset initial tool 0 active and standby temperatures to 0C

    M563 P1 S"T1" D1 H2 F6 ; Define tool 1
    G10 P1 X0 Y0 Z0 ; Reset tool 1 axis offsets
    G10 P1 R0 S0 ; Reset initial tool 1 active and standby temperatures to 0C

    when I try to extrude filament with T0 selected it would try to drive T1 and when I had T1 selected it would drive T0 motor BUT neither extruder would work unless both hotends were heated.

    For now I have commented out the T1 tool and now T0 works fine. Here is a picture of my wire connections.

    1121191941.jpg !

    Originally I had it set up that E0 would use heater 3 & temp 3 and E1 was set up to use heater 4 and temp 4 but had all kinds of issues with getting that to work with my 4.3" panel due. See this post:

    I tried every combination I could think of to get them to show up as 1 & 2 but nothing I did would change that and have them still work. I also could not get 1 & 2 to go away and only show 3 & 4. So I decided to wire them as you see now in the picture and is why I am using extensions on the E-motor cables because I had sized my cable to only fit to the Duex5.

  • After more digging I have narrowed the issue down to having a "U" drive. If I disable the U drive in the config but putting a ; in front of M584 U4 then both extruders will work fine.
    Changes I have tried:

    1. Moving the drive number that "U" is using from drive 4 to drive 9 with the same results
    2. Changing "U" to "V"... , same results.
    3. Moved any M350, M906, M92, M201, M203, M208, M350, M566, M574 , M667 and M669 commands to be after the M584 commands.

    So the only way to get my dual extruder to work is to not have a "U,V,W,A,B,C" axis it seems but I need the extra axis for the tool change. There has got to be something I am missing..

    I have updated my config in the first post to my current updated config.

  • @cdl1701yahoo-com why exactly do you need another axis. Is it a special kind of tool changing setup?

  • @TC Yes, it is for the tool changer locking mechanism like what E3D is doing on their tool changer.

  • @cdl1701yahoo-com ah interesting 🙂
    What did you use as a T-lock? And is there a reason not to try an electromagnetic coupling?

  • @TC Check out the Jubilee printer by Poofjunior.
    You can find the info on the T-lock at these links. He is also selling the T-lock now already made but I made my own since I started working on mine before he started selling them. Anyway I am adapting his tool changer idea to my existing coreXY printer.



  • administrators

    @cdl1701yahoo-com, you are creating a U drive for your tool locking. You need to home it, and you may also wish to hide it except during tool change operations.

  • @dc42 How do you hide it?

  • @cdl1701yahoo-com said in Dual extruder tool changer set up not working properly.:

    @dc42 How do you hide it?

    Use the "P" parameter https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping

    e,g, M584......P3 will display X, Y and Z but hide U.

  • Update
    I found that if I move M584 U4 above all other commands in the config.g that the issue goes away. I am going to try the P3 though to hide the U axis but just have not gotten around to it yet. Thanks for eveyone's help.

Log in to reply