Z-Max End stop? Printer ignoring it?



  • So I have a cube printer with a BL Touch, which works great. THis leaves the Z end stop unpopulated, so I installed a Hall endstop and magnet on the Z table to keep it from crashing into the bottom if I want to send the print bed after a print to the very bottom, or use the Z-Max as a home after a power outage. Since Z is somewhat variable in its absolute Max end stop based on what print surface I am using , I wanted to make this more simple since I had extra sensors laying around.

    I put this as my endstop config:
    "M574 X1 Y2 U2 Z2 S1 ;
    M574 Z1 S2 "

    When I do a G1 Z300 S1 from what I understand it should go until it hits an Endstop or the 300mm request. In this case, it doesn't care about the triggering of the Z Max endstop at all. Just goes and crashes into the bottom.

    I've read a number of other threads about this, but the answers don't seem to jive with what I am seeing.

    Am I just using the G1 command incorrectly?



  • The M574 syntax is confusing, here is an explanation:

    The number right next to the axis letter Z1 or Z2 indicates the physical position of the home switch.
    M574 Z1 ; physical location of Z switch is low end of axis stroke
    M574 Z2 ; physical location of Z switch is high end of axis stroke

    The number after S is the logic state of the endstop input when triggered.
    M574 Zn S0 ; endstop input pin is LOW when sensor is triggered
    M574 Zn S1 ; endstop input pin is HI when sensor is triggered

    So in the second line M574 Z1 S2 we are actually asking for the Z probe to trigger when the Z reaches min limit. Not what we really want to set up for the subsequent G1 move.

    I imagine something like M574 Z2 S1 might serve you better, double check the home sensor state using M119 (or thru DWC) to ensure you have the proper S value (active hi vs active low).

    Side note, but I think the newer G1 syntax is using H instead of S. G1 Z300 H1 is the new 'standard' home-seeking command format.



  • @nhof said in Z-Max End stop? Printer ignoring it?:

    he second line M574 Z1 S2 we are actually asking for the Z probe to trigger when the Z reaches min limit. Not what we really want to set up for the subsequent G1 move.
    I imagine something like M574 Z2 S1 might serve you better, double check the home sensor state using M119 (or thru DWC) to ensure you have the proper S value

    Awesome, I will take a look at these! The G1 syntax specifically could be the issue I was seeing.



  • I have a CoreXY setup, where the trigger is setup at the bottom of the machine, which is the Z maximum. All of my endstops are active high. I am using the command:

    M574 X1 Y1 Z2 S1

    When I home the Z axis, it triggers properly. But I am unable to jog the Z axis in the negative direction. It lets me jog it in the positive direction, which causes it to crash into the frame, ignoring the Z endstop. I have tried reversing the motor direction to no avail. Does this make any sense at all?



  • @tkstreet I suggest starting a new thread with your issue and include your config.g and homing files.



  • I figured it out. It was just an issue with the home macro files that were generated by the configurator.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.