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

    IDEX Homing issue

    Scheduled Pinned Locked Moved
    General Discussion
    2
    4
    195
    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.
    • customPrintundefined
      customPrint
      last edited by

      Hello,

      Hope all are well.

      Build: Duet3D, using DWC
      For physical orientation.
      MY custom printer: IDEX. On the same physical axis:
      -Left side extruder = X-axis.
      -Right side = U-axis.

      Issue:
      When I 1st Home U, it physically works, U-extruder moves as I want, but I get a "G28 U Homing failed", I see that the X-axis coordinates are updated, not U, and the Home X button is blue - not Home U.

      If I continue, ignoring the Homing Error, and I push the "Home X" or "Home U" button, the U-extruder will move (again) in both cases crashing as there's no more travel.

      If I 1st Home X, the U-extruder will move, running the HomeX routine - no Homing Error and the X-position is updated. If I then run the "Home U" routine the the U-extruder runs (again) the Home U routine, but I get the G28 error and the X-position is changed.

      From playing around with, drive mapping in config file I can control either extruder, so they are 'independently' operational.

      I'm using trying to use the same limit switch for both, printer is physically set up to allow it.

      I have played around with the both HomeX and U files (Motor & endstop mapping) but no improvement, sometimes making it worse. Some remnants of which is in the code(s) below.

      Thank you for any help.
      -Peter

      Relevant code?
      Config:
      ; Drives
      M569 P0.3 S1 ; physical drive 0.3 goes forwards
      M569 P0.2 S1 ; physical drive 0.2 goes forwards 2nd X drive - U-extruder
      M569 P0.1 S1 ; physical drive 0.1 goes forwards
      M569 P0.0 S1 ; physical drive 0.0 goes forwards
      M569 P0.5 S1 ; physical drive 0.5 goes forwards
      M569 P0.4 S1 ; physical drive 0.4 goes forwards 2nd X extruder
      M584 X0.2 Y0.1 Z0.0 U0.3 E0.5:0.4 ; set drive mapping X-axis added as well as 2nd extruder U0.2
      M350 X16 Y16 Z16 U16 E16 E1 16 I1 ; configure microstepping with interpolation
      M92 X160.00 Y160.00 U160.00 Z8000.00 E420.00 E1 420.00 ; set steps per mm
      M566 X900.00 Y900.00 U900.00 Z60.00 E120.00 E1 120.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 U6000.00 Z180.00 E1200.00 E1 1200.00 ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 U500.00 Z20.00 E250.00 E1 2500 ; set accelerations (mm/s^2)
      M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
      M84 S30 ; Set idle timeout

      ; Axis Limits
      M208 X0 Y0 Z0 U0 S1 ; set axis minima M208 X0 Y0 Z0 U558 S1
      M208 X508 Y375 U508 Z250 S0 ; set axis maxima M208 X508 Y375 U42 Z250 S0

      ; Endstops
      M574 U2 S1 P"io6.in" ; configure active-high endstop for High end on X via pin io0.in intermediate stop
      M574 X2 S1 P"io0.in" ; configure active-high endstop for High end on U via pin io6.in end stop
      M574 Y1 S1 P"!io3.in" ; configure active-high endstop for low end on Y via pin !io3.in
      M574 Z1 S1 P"!io4.in"

      HomeU:
      ; homeu.g
      ; called to home the X axis
      ;
      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun Feb 21 2021 14:34:36 GMT-0500 (Eastern Standard Time)

      G91 ; relative positioning

      ;M574 X2 S1 P"io0.in" ; configure active-high endstop for low end on U via pin io6.in end stop
      ;mG1 H2 Z5 F6000 ; lift Z relative to current position
      G1 H1 X513 F1800 ; move quickly to X axis endstop and stop there (first pass)
      G1 H2 X-5 F6000 ; go back a few mm
      G1 H1 X513 F360 ; move slowly to X axis endstop once more (second pass)
      G1 H2 X25 F1800
      ; G1 H2 Z-5 F6000 ; lower Z again
      G90 ; absolute positioning
      ;M584 X0.2 Y0.1 Z0.0 U0.3 E0.5:0.4 P3

      HomeX:
      ; homex.g
      ; called to home the X axis
      ;
      M574 U2 S1 P"io6.in" ; configure active-high endstop for low end on X via pin io0.in intermediate stop
      M574 X2 S1 P"io0.in"
      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun Feb 21 2021 14:34:36 GMT-0500 (Eastern Standard Time)
      G91 ; relative positioning
      ;mG1 H2 Z5 F6000 ; lift Z relative to current position
      G1 H1 X513 F1800 ; move quickly to X axis endstop and stop there (first pass)
      G1 H2 X-5 F6000 ; go back a few mm
      G1 H1 X513 F360 ; move slowly to X axis endstop once more (second pass)
      ; G1 H2 Z-5 F6000 ; lower Z again
      G90 ; absolute positioning

      o_lampeundefined 1 Reply Last reply Reply Quote 0
      • o_lampeundefined
        o_lampe @customPrint
        last edited by

        @customprint said in IDEX Homing issue:

        M584 X0.2 Y0.1 Z0.0 U0.3 E0.5:0.4 ; set drive mapping X-axis added as well as 2nd extruder U0.2

        On custom printers you should put this line before M669 (kinematics model).
        I guess, you have a custom M669?

        customPrintundefined 1 Reply Last reply Reply Quote 0
        • customPrintundefined
          customPrint @o_lampe
          last edited by

          @o_lampe Thank you for responding. I'll take a look into what you have posted.

          My machine is fundamentally a Cartesian 3D printer, when I say custom, it's that I have designed and fabricated custom mechanical parts of it.

          I have been trying to follow this https://duet3d.dozuki.com/Wiki/ConfiguringMultipleIndependentXcarriagesCartesian#Section_Creating_new_axes

          From preliminary looking into your post and seeing if there's is any relation to the link above, I did see that I missed a line about how endstops and 'extra' axis are linked - so to speak. I was starting to wonder about this based on what I was seeing in my tests. Ah maybe need to add some custom wiring....

          The challenge continues, thanks again for your input (it's interesting in of itself).
          -Peter

          o_lampeundefined 1 Reply Last reply Reply Quote 0
          • o_lampeundefined
            o_lampe @customPrint
            last edited by

            @customprint
            For the RRF configuration tool a 'custom printer' begins by adding a second extruder on an independent axis. It's not able (yet) to sort out the best logic way to put the M-codes in the right order.
            "M584 before M669" is mentioned somewhere in the gcode-dictionary.

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