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

    home triggered when Z axis starts moving, limit not plugged in

    Scheduled Pinned Locked Moved
    Using Duet Controllers
    3
    6
    202
    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.
    • solarsamuelundefined
      solarsamuel
      last edited by

      I'm having an issue with Z home. Will try to paint the best picture I can. If you need more info please let me know.

      I've run this machine successfully for about 6 months. I'm running the 3.3 firmware on a 6HC.

      When I press the home button in the web interface, the Z axis moves for a split second and homes (button turns blue). The machine thinks Z is homed, but the problem is the Z limit switch isn't even plugged in .

      X and Y home fine, and I'm using normally open limit switches: https://www.amazon.com/gp/product/B08736NP44/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

      Nothing is plugged in for the Z limit switch (see my picture of the board, pointing to the home switch location with a green pencil).

      I was thinking it was some kind of torque limit or something, but I can move the linear stage with the X and Y drivers/cables no problem. With power off, I can turn it by hand and it seems normal.

      I worked on it all morning and couldn't figure it out. Then I turned off power, ate lunch, came back half an hour later, and it worked! (for about 15 minutes). Then I kept having the same issue.

      Seems like an intermittent driver issue. Has anyone had this before?

      Maybe I hot swapped the motor at some point and it damaged the driver. But I don't know how that would affect the Z limit.

      Files are attached. Has anyone seen this before, triggering home without anything plugged into home?

      Maybe I'll buy a new 6HC and see if anything changes.

      diagnostics.txt

      homez.txt config.txt

      stepper linear drive.jpg premature homing of z.PNG picture of 6HC.jpg

      deckingmanundefined 1 Reply Last reply Reply Quote 0
      • deckingmanundefined
        deckingman @solarsamuel
        last edited by

        @solarsamuel The only time that end stops are checked is when you home the printer. So if the status changes to homed as soon as you start to move Z, then it means that the end stop is triggered. Now, as there is nothing plugged in to the board, and it's configured as a normally open switch, then it might mean that there is a short between the pins of the connector or a short on the board itself. I'm not familiar with the circuit diagram, but usually io pins have either a pull-up or pull down resistor so it might a fault there. Can you see any signs of damaged component anywhere or any debris that might be shorting the pins? Is the back of the board OK?

        If you have another input that isn't being used, try configuring the Z end stop to use that instead of io2.

        Ian
        https://somei3deas.wordpress.com/
        https://www.youtube.com/@deckingman

        1 Reply Last reply Reply Quote 1
        • alankilianundefined
          alankilian
          last edited by

          @solarsamuel

          M574 Z1 S1 P"io2.in"
          

          The S1 in this says you have an switch-type endstop input.

          Since the Duet3 has pullup resistors on these inputs, the endstop will be triggered when there is no switch plugged-in.

          I do not know how this works with a normally-open endstop switch. It would be triggered all the time until the switch closed.

          Are you sure they are normally-open?

          Try inverting the signal by using a "!" in the pin name, but USE CAUTION since it might cause the switch to not be recognized during a homing move if I'm misunderstanding something.

          You can see which switch is active in the output from the M119 command.

          SeemeCNC Rostock Max V3 converted to V3.2 with a Duet2 Ethernet Firmware 3.2 and SE300

          solarsamuelundefined 1 Reply Last reply Reply Quote 1
          • solarsamuelundefined
            solarsamuel @alankilian
            last edited by

            Thank you @alankilian

            This was just my human error. I was using the normally closed contacts on the switch, (not normally open) and when I went to home Z with nothing plugged in, it instantly homed, as it should.

            I simply forgot that I was using normally closed contacts. I was thinking, why isn't the Z axis moving when homing??!! Doy! It's been a while since I designed the thing. Man I feel dumb.

            alankilianundefined deckingmanundefined 2 Replies Last reply Reply Quote 1
            • alankilianundefined
              alankilian @solarsamuel
              last edited by

              @solarsamuel

              Excellent diagnosing process.

              The things we are sure of are the hardest things to check and see if we're right.

              You got something working again and that's the point of this process.

              SeemeCNC Rostock Max V3 converted to V3.2 with a Duet2 Ethernet Firmware 3.2 and SE300

              1 Reply Last reply Reply Quote 1
              • deckingmanundefined
                deckingman @solarsamuel
                last edited by

                @solarsamuel As an aside, normally closed switches are usually better than normally open because if a switch fails, then the gantry will slam into the frame and the motors will continue to try and move it. But, the downside of using normally closed switches is that if a wire falls off, then it will appear to be open (as you have discovered), which will mean that the gantry is considered homed at a position which could be far away from it's true homing position. Strange or alarming things will then happen if you haven't noticed and try and run a print like that (this is the voice of experience talking) 🙂 .

                So here is a little tip that you might find useful. Essentially check the state of the end stop at the start of homing and abort if it's already triggered. You need to find which end stop is for which axis but generally X=0, Y=1 and Z=2 (at least that's how it is on my machine). So to check the state of the Y end stop for example, before homing Y I use ......

                if sensors.endstops[1].triggered 
                	abort "Y endstop already triggered at the beginning of the homing move - aborting" 
                

                Obviously the command for the X and Z axes would use ...endstops[0] or [3]) and the message would refer to the X or Z endstop.

                HTH

                Ian
                https://somei3deas.wordpress.com/
                https://www.youtube.com/@deckingman

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