Z-probe won't home, etc.

I've just brought up 1.0.0dev (previously using .91 without autoleveling compiled in), and am attempting to get an inductive NO Z-probe working. It's wired in parallel with the original Z-min switch (also NO), but that switch is now disabled in the firmware. The probe senses fine, and the responses from the firmware are L with probe not triggered and H with probe triggered.

Z-axis movements are in the correct directions -- up control moves up, down moves down.
 
I believe all of the other relevant Configuration.h settings are also correct -- including home direction, etc. I have Z probe height set to 10 to try avoid crashing into anything from the left front of the bed.

Given the printer layout, my XY mins are set to X = -45, Y = -10, I've configured for HOME_ORDER_XYTZ and set the XY position to 110,110 (homing to max is not an option for me right now).

If I do a G28, X and Y home as usual, then the probe quickly rides out to the bed center as expected. Then it goes up 10. Then it rapidly goes back to XY min, and the repetier response shows XYZ at 0, even though the Z position on the display is still alternating with "???".

Yet the firmware does seem to think Z is homed, because I can't command Z downward from that point. If I do this again, everything happens the same way and just goes up another 10.

I'm sure I've made some silly mistake, but up to now I've been stuck with a hobbled .91 from the printer vendor.

Thanks very much!



Comments

  • Please check M119 and see if z min and z probe are showing L when not triggered and H when triggered. The 10mm up is z height to untrigger it in case you start low, so that is ok, but then it woukd go down until z min is H which is configured independently from z probe pin so coukd have different signals.
  • To use the probe for Z homing you need to enable the Z min endstop option (if probe is connected to Z min) and remove the Z endstop 'switch' Then G28 will home Z using the probe.

  • edited March 2017
    Thanks! Progress, though obviously something is still amiss. I had disabled the Z-axis min switch, due to misinterpreting part of the Z-probe write-up page. Re-enabled it, and homing behavior is more reasonable, but still not really correct.

    M119 shows z-min L and z-probe L when not triggered. If either the switch or z-probe triggers, z-probe shows H and z-min still shows L. Remember that both my switch and z-probe are NO and wired in parallel, so the switch still being in circuit should not be relevant so long as it isn't triggered, and I've adjusted the gantry to make sure it would only trigger if it was far below the bed (as an emergency stop) -- and the switch is not being triggered during the G28 tests.

    When I now G28, instead of the z-axis initially going up by 10 to clear the bed completely, it actually hits the side slightly, and then after reaching closer to the bed center (twice!) it then raises up by 10. I had thought that the whole purpose of that setting was to raise before going over the bed to avoid hitting it if the starting point happened to be below the bed surface.

    After all ops, the probe ends up back in the minimum XYZ position with the extruder tip lowered again and lined up to hit the edge of the bed again the same way the next time.

    Here's a video of the sequence. Action doesn't start until almost 10 seconds in. Sorry about that:

    Thanks again, everyone!
  • Is your probe NPN  or PNP NO ?
    If the probe is powered with 12 volts, how do you have it connected to the endstop pin ?

    #define Z_PROBE_SWITCHING_DISTANCE 1  <<<<<<set this to 3,to raise probe a bit more to untriger between probes

    In your config you have set to raise Z only if trigered.
    I found it better to use homing option  Z up XY preheat Z.

  • edited March 2017

  • MartinH said:
    Is your probe NPN  or PNP NO ?
    If the probe is powered with 12 volts, how do you have it connected to the endstop pin ?

          It's NPN. Running on 12 volts with a resistor divider. Seems to trigger OK in the obvious tests.

    #define Z_PROBE_SWITCHING_DISTANCE 1  <<<<<<set this to 3,to raise probe a bit more to untriger between probes

         Will do.

    In your config you have set to raise Z only if trigered.

         OK, that's clearly a mistake. I'll switch it to "always".

    I found it better to use homing option Z up XY preheat Z.

         Ah! I didn't realize that this was an option that would still preserve the ability to specify the XY        position for Z homing. I'll set that up.

         I'll give these all a try and see how that affects the double movements and other problems              shown in the video. Thanks very much!

  • edited March 2017
    Definitely progress, though something is still amiss. I made the three changes above. The result is that when a G28 is given, Z immediately raises 10mm as expected, then X and Y home. At that point, I expect the extruder to move in toward the center of the bed before going down for the Z-probe to home -- that's the kind of XY movement that took place with my previous build, though due to the previous errors Z didn't operate properly after that. That previous build had 

    #define ZHOME_X_POS 110
    #define ZHOME_Y_POS 110

    and reached quite far into the bed.

    However, with the new build, XY moves in a much smaller distance after Z raises, not enough for the probe to even see the bed, so I have to manually stop to avoid the nozzle hitting the bed (the attached probe is just off the edge of the bed) when the Z-probe then tries to home downward. I then changed to:

    #define ZHOME_X_POS 250
    #define ZHOME_Y_POS 250

    and there was no perceptible change in the behavior. XY still moved in over the bed the same far too small amount as before, so still not enough for the probe to see the bed. I don't see anything in the EEPROM that should be changing these values, so I don't see why XY moved to an appropriate position when configured with XY preheat then Z, but is moving a much smaller distance for Z up XY preheat Z. Somehow I have to get XY further onto the bed so that the bed can be seen by the Z-probe when the Z-probe tries to home downward. Thanks again for all your help with this!
  • After more tests, it's apparent that ZXYTZ just won't work for me -- the specified ZHOME_X_POS and ZHOME_Y_POS values are not being applied. However, I've gone back to XYTZ and found that I still get an initial Z raise, which is what I wanted. In this mode, the ZHOME_X_POS and ZHOME_Y_POS values seem to be applied with a significant offset, but I can adjust their values for that. I'm also seeing a number of seemingly repeated (2 or 3 times, depending on the axis) moves of XYZ during the G28 homing process (e.g., extra X and Y homes) but in the end things seem to be in a reasonable place. I still need to adjust values to avoid hitting the bed edge (in my Start code I usually have always had a raise to avoid that anyway). So there's definite progress. Why ZXYTZ behaves so differently from XYTZ in this context I'll admit I don't understand. Thanks again.
Sign In or Register to comment.