G30 Z Crashing issue



  • It's not Analog, it is connected like a switch

    LJC18A3-8-Z/BX, NPN

    It switches when it detects something, I can see it in the user interface



  • I have the same kind of setup and I noticed some issues in your config.g:

    M574 X1 Y1 S1 ; Define active high microswitches
    mark Z so that it has no endstop since you are using a probe, change it to
    M574 X1 Y1 Z0 S1

    M558 P0 X0 Y0 Z0 H0 F120 T6000
    P0 is wrong, you must use P4 for NPN probe (as outlined in the documentation), also I1 for inverted logic, so change it to
    M558 P4 X0 Y0 Z1 H5 I1 F300 T6000 ; NPN inverted logic probe used for homing Z axis, dive height 5mm, probe speed 300mm/min, travel speed 6000mm/min

    I assume you are using a small-signal Schottky diode as outlined in the docs (https://duet3d.com/wiki/Connecting_a_Z_probe)?
    The probe must read value 0 in the main screen when it is not detecting the bed and will show 1000 when it detects the bed (do not look at the endstop screen)

    also your G31 trigger heigth seems too high (is the nozzle 10 cm from the bed when the probe triggers??)

    G31 P600 X0 Y0 Z100

    to get the correct value, do the calibration as outlined here: https://duet3d.com/wiki/Using_mesh_bed_compensation
    Since you have a cartesian type of printer, you don't need G32/bed.g, this is for delta style printers, M557 is all you need to setup the grid.



  • Ouh, I didn't use any shottky or other diode :x

    But I guess I'm pretty lucky, i found BAT43 which I buyed years ago and never needed.

    I will solder it in the circuit and switch the connector to E0, and then do your suggested changes, I will give you feedback! Thanks! 🙂



  • Ok, She BAT43 diode is connected, The codes are applied

    this is the actual config.h:

    https://pastebin.com/MAWMXcEA

    only thing now is, the Z Triggers reversed, so it shows 1000 on detecting and 0 when its in distance

    Changing to L0 is not the solution :x


  • administrators

    You need to add parameter I1 (that's letter I followed by figure 1) in your M558 command as mentioned at https://duet3d.com/wiki/Connecting_a_Z_probe#NPN_output_normally-open_inductive_or_capacitive_sensor.



  • M574 X1 Y1 Z0 S1 ; Define active high microswitches
    M558 P5 X0 Y0 Z1 H5 I1 F300 T6000 ;

    (it's an i for invert i guess, seems legit, sorry ^^)

    but it's still not working. The LED on the Duet glows when it triggers, but the Z-Probe value is constant 1000 and does not change, the Endstop-status is always triggered in the Machine Properties.

    i feel kind of bad using that much of your Times, please be patient guys :x

    Thanks for the Support



  • you state you have an NPN probe, so why are you using P5 in M558 command instead of the documented P4?
    That said, the config you posted seems correct except for the L that needs to be I in M558



  • Whenever I get a new suggestion, I try to mix all the past settings, so I tried again everything with P0 to P5, with every combination of inverting the logic or enabling/disabling Z endstops options

    It maybe seem like I only change one thing and ask here again, but that's not true, I'm non-stop experimenting with various settings ^^

    P4 does not work, it maybe because of some other setting wich is set wrong, but I don't know which line conflicts with another



  • it looks like you are running around like a headless chicken trying to solve this problem, though the documentation explains it quite nicely, so you must be doing something wrong.

    Here are some questions for you,

    • Are you 100% sure the probe you have is a NPN probe, what type do you have exactly, maybe specify the part number?
    • I checked the config you pasted here https://pastebin.com/MAWMXcEA and it is correct except for L that needs to be I in M558
      and the mesh grid (M557 X15:235 Y15:400 S20 ; Define mesh grid) has a too large value on Y, should be (M557 X15:235 Y15:235 S20 ; Define mesh grid according to your axis maxima settings
      did you try that setup?
    • can you post a pic that shows how the probe is currently wired?

    Cheers!


  • administrators

    You can either connect the probe output through the diode to the E0 endstop and use P4 in the M558 command, or connect it to the Z probe input through the diode and use P5.

    The purpose of the diode is to protect the Duet if the ground connection to the Z probe breaks.



  • Okey, here is what i tried today.

    I made a list of every possible combination and connection and tried every single one.

    Best result i get is:

    Connected on E0, using
    M558 P4 X0 Y0 Z1 H5 I0 F300 T6000
    M558 P4 X0 Y0 Z1 H5 I1 F300 T6000

    in both Cases the Reading is Reversed, so i get 1000 when its not triggered, and 0 when its triggered

    Connected on Probe Connection using
    M558 P5 X0 Y0 Z1 H5 I0 F300 T6000
    M558 P5 X0 Y0 Z1 H5 I1 F300 T6000

    again its in both cases Reading Reversed, getting 1000 when it should be 0 and reverse.

    in every other scenario i get constant 1000.

    Here is a picture of the Wiring. i cut open the Shrink-tubes to be sure.

    The Anode of the BAT43 is Connected in DuetBoard Direction

    • is constantly on 24+ directly on the PowerSupply

    The Sensor i'm using is described as LJC18A3-8-Z/BX, NPN

    Here's a List of every Combination i tried and documented in Notepad.

    1000 means, the reading was constantly HIGH
    Reverse means, the readings switched when i trigger the Sensor, but Inverted

    i also tried to Switch GND and SIG to get rid of the Reverse issue.

    Z Endstop Try


    Probe Connection BEGIN

    1000 M558 P4 X0 Y0 Z1 H5 I0 F300 T6000
    1000 Probe Connection
    1000 Board GND + Sensor Sig
    1000 Board SIG + Sensor GND

    1000 M558 P5 X0 Y0 Z1 H5 I0 F300 T6000
    1000 Probe Connection
    1000 Board GND + Sensor Sig
    1000 Board SIG + Sensor GND

    1000 M558 P5 X0 Y0 Z1 H5 I1 F300 T6000
    1000 Probe Connection
    1000 Board GND + Sensor Sig
    1000 Board SIG + Sensor GND

    1000 M558 P4 X0 Y0 Z1 H5 I1 F300 T6000
    1000 Probe Connection
    1000 Board GND + Sensor Sig
    1000 Board SIG + Sensor GND

    (Swtich GND and SIG)
    1000 M558 P4 X0 Y0 Z1 H5 I0 F300 T6000
    1000 Probe Connection
    1000 Board GND + Sensor GND
    1000 Board SIG + Sensor Sig

    Reverse M558 P5 X0 Y0 Z1 H5 I0 F300 T6000
    Reverse Probe Connection
    Reverse Board GND + Sensor GND
    Reverse Board SIG + Sensor Sig

    Reverse M558 P5 X0 Y0 Z1 H5 I1 F300 T6000
    Reverse Probe Connection
    Reverse Board GND + Sensor GND
    Reverse Board SIG + Sensor Sig

    1000 M558 P4 X0 Y0 Z1 H5 I1 F300 T6000
    1000 Probe Connection
    1000 Board GND + Sensor GND
    1000 Board SIG + Sensor Sig

    Probe Connection END


    E0 Connection BEGIN

    1000 M558 P4 X0 Y0 Z1 H5 I0 F300 T6000
    1000 E0
    1000 Board GND + Sensor Sig
    1000 Board SIG + Sensor GND

    1000 M558 P5 X0 Y0 Z1 H5 I0 F300 T6000
    1000 E0
    1000 Board GND + Sensor Sig
    1000 Board SIG + Sensor GND

    1000 M558 P5 X0 Y0 Z1 H5 I1 F300 T6000
    1000 E0
    1000 Board GND + Sensor Sig
    1000 Board SIG + Sensor GND

    1000 M558 P4 X0 Y0 Z1 H5 I1 F300 T6000
    1000 E0
    1000 Board GND + Sensor Sig
    1000 Board SIG + Sensor GND

    (Swtich GND and SIG)
    Reverse M558 P4 X0 Y0 Z1 H5 I0 F300 T6000
    Reverse E0
    Reverse Board GND + Sensor GND
    Reverse Board SIG + Sensor Sig

    1000 M558 P5 X0 Y0 Z1 H5 I0 F300 T6000
    1000 E0
    1000 Board GND + Sensor GND
    1000 Board SIG + Sensor Sig

    1000 M558 P5 X0 Y0 Z1 H5 I1 F300 T6000
    1000 E0
    1000 Board GND + Sensor GND
    1000 Board SIG + Sensor Sig

    Reverse M558 P4 X0 Y0 Z1 H5 I1 F300 T6000
    Reverse E0
    Reverse Board GND + Sensor GND
    Reverse Board SIG + Sensor Sig

    E0 Connection END


    Zendstop Connection BEGIN

    1000 M558 P4 X0 Y0 Z1 H5 I0 F300 T6000
    1000 Zendstop
    1000 Board GND + Sensor Sig
    1000 Board SIG + Sensor GND

    1000 M558 P5 X0 Y0 Z1 H5 I0 F300 T6000
    1000 Zendstop
    1000 Board GND + Sensor Sig
    1000 Board SIG + Sensor GND

    1000 M558 P5 X0 Y0 Z1 H5 I1 F300 T6000
    1000 Zendstop
    1000 Board GND + Sensor Sig
    1000 Board SIG + Sensor GND

    1000 M558 P4 X0 Y0 Z1 H5 I1 F300 T6000
    1000 Zendstop
    1000 Board GND + Sensor Sig
    1000 Board SIG + Sensor GND

    (Swtich GND and SIG)
    1000 M558 P4 X0 Y0 Z1 H5 I0 F300 T6000
    1000 Zendstop
    1000 Board GND + Sensor GND
    1000 Board SIG + Sensor Sig

    1000 M558 P5 X0 Y0 Z1 H5 I0 F300 T6000
    1000 Zendstop
    1000 Board GND + Sensor GND
    1000 Board SIG + Sensor Sig

    1000 M558 P5 X0 Y0 Z1 H5 I1 F300 T6000
    1000 Zendstop
    1000 Board GND + Sensor GND
    1000 Board SIG + Sensor Sig

    1000 M558 P4 X0 Y0 Z1 H5 I1 F300 T6000
    1000 Zendstop
    1000 Board GND + Sensor GND
    1000 Board SIG + Sensor Sig

    Zendstop Connection END


    Result:
    1. Z Endstop Connection Reads ALWAYS 1000, no Matter whats in the Config.h or how its connected.
    2. E0 Conection works only with P4, but Reversed
    3. Z-Probe Conneciton works with P5, but Reversed

    any ideas how to Invert the Reversed readings?


  • administrators

    Which version firmware are you using? It must be quite old if it doesn't support the I1 parameter.



  • Updating the firmware from 1.15b to 1.18.1 solved the problem!

    Here is a video! Thank you guys, love you all 😄

    Is there any way to Donate for Duet or the forums? ?
    https://youtu.be/nVCJJLAbHAA



  • Aaah missed that you were running an older firmware, I am glad you sorted it out!
    Seeing from the video, it seems that you probe is not aligned straight with the bed?



  • Yeah, for safety I installed the probe higher so it would trigger before the nozzle could crash in the bed and I can react

    Now it's calibrated better and I think tomorrow I'll start the first print 🙂

    Again, thanks guys!



  • Its great you got the problem solved. However that looks like a very solid machine, you might find if you manually level that bed (use the probe to help) you might not need any bed compensation, that's tooling plate too, so I'd be surprised if you have anything but a flat height map.

    Don't get me wrong I am quite into z-probe tech (www.precisionpiezo.co.uk), but for solid cartesian machines a probe might not actually offer much. I stopped using bed compensation on my corexy as the z-axis barely ever moved so the bed was flat and level. For deltas and less solid cartesians then probing saves a lot of time.



  • At that time I started the post, i did not have any adjusting possibilities for the bed

    Now I installed a 3Point system for Pre-Adjusting the printbed

    Actually I'm fighting with the first print, somehow it shuts down the heaters when I start a print, but that's another Story 🙂

    The problem in this thread is [Solved]


Log in to reply