Unable to get the Z probe to read correctly. Stuck at "0"



  • Hello,
    I have duet wifi 2 with expansion breakout board. on RRF 3.1.1
    I am using BL touch

    I am unable to get the Z probe to read "0" or "1000" correctly. It is stuck at "0"
    M280 P0 S10 and M280 P0 S10 is working and my Bl touch will move.
    I connect the servo to H7 on the breakout board, and black/white signal wires next to the paneldue port. I reversed the black/white signal wires once to see to troubleshoot another issue a few hours ago. Would this be the cause?

    Here is the lines in my config.g regarding probe settings:

    ; Z-Probe
    M950 S0 C"!exp.heater7"                        ; create servo pin 0 for BLTouch
    M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds C"zprobe.in+zprobe.mod"
    G31 P500 X0 Y-35.4 Z2.5                       ; set Z probe trigger value, offset and trigger height
    M557 X20:180 Y20:180 S20                      ; define mesh grid
    

    I do not understand what this means: C"zprobe.in+zprobe.mod"
    I did add a "!" and I was able to get a reading of 1000 but it would not change back to 0. Either stuck at 0 or 1000


  • Moderator

    You likely won't be able to see the trigger of the probe change to 1000 in the DWC because it resets immediately to 0.

    Do a test as described here to see if it triggers properly to stop the movement of the Z axis.

    https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe

    C"zprobe.in+zprobe.mod"

    Remove the +zprobe.mod part. and add ^ before zprobe.in like this C"^zprobe.in"

    M950 S0 C"!exp.heater7"

    I don't think you need the ! but if M401 and M402 are deploying and retracting the pin it's ok.



  • Thanks for the suggestions.

    I do not know why but my servo command is inversed. But anyways, M401 and M402 are working properly.

    Because it did not show the "1000" on DWS or PanelDue, I never actually ran the homez.g test. When I tried it, It was successful! However, when I try homez.g a second time, the printer will continue to dive even when the BLTouch is triggering Blue to Red multiple times. The only way to make it respond once is to cycle the power.

    I changed to this:

    ; Z-Probe
    M950 S0 C"!exp.heater7"                       ; create servo pin 0 for BLTouch
    M558 P9 C"zprobe.in" H5 F120 T6000            ;set Z probe type to bltouch and the dive height + speeds C"zprobe.in+zprobe.mod"
    G31 P500 X0 Y-35.4 Z2.5                       ; set Z probe trigger value, offset and trigger height
    

    I tried both:

    C"zprobe.in" , C"^zprobe.in" , C"^!zprobe.in"
    

    But I still get the same result. Either stuck at 0 or 1000 when at M401 or M402.

    When I was using RRF2 I get a solid 0 or 1000 when using the M401/402 commands. Is RRF3 now unable to show probe?



  • I did some manual testing.

    If I manually short the two BLTouch pins ON THE DUET, I will see 1000. When I let go, it will show 0.
    Great!

    When I use a multimeter on the BLTouch, I get a constant reading of 1.1Ohms regardless of pin position.

    I measure 3.3V between the two BLTouch pins ON THE DUET.

    ***One important thing I did incorrectly was I temporarily reversed the BLTouch plug (the black and white) and plugged it in the wrong polarity when I was not able to get the M401 and M402 commands to work a while ago. Because of this, the BLTouch signal pins would get a negative voltage? Do you think I broke the BLTouch?


  • Moderator

    What settings are you currently using?

    You're focussing too much on the 0/1000 value. It's not useful for the BLtouch.

    If M401 and M402 deploy and retract the pin then the servo config is good.

    If pushing the pin up gently during a G30 stops z axis movement, your config is good.

    Do not use ! with Zprobe.in. It's for inversion and not what you want. Using ^ enables the pullup resistor, which may be needed with the newest BLTouch but shouldn't hurt older versions.

    If it's flashing blue and red after triggering, was the pin being restricted?



  • I got quite spooked from the nozzle almost crashing a few times already. I just feel very unsafe if I cant visually see the "1000" like before on RRF2. Especially from the fact that it would work the first time and become unresponsive after that.

    _

    After doing your suggested code, It currently triggers like before with RRF2. Everytime I run homez.g it successfully triggers.

    This is the setting:

    M558 P9 C"^zprobe.in" H5 F120 T4000            ;set Z probe type to bltouch and the dive height + speeds 
    

    I still am unable to see the "1000"

    You are right I am focusing too much on the 0/1000, but what bothers me the most is why RRF2 could read it and now RRF3 cant. I'm afraid it might actually crash in the future if my set up is actually defective and the probe system is now barely working by sheer luck.

    Is it now normal to not see the 0/1000 with RRF3 with a BLTouch?


  • Moderator

    I've never been able to see the 0/1000 trigger change in DWC except on very very rare occasions even in RRF2, I'm surprised you were able to see it reliably at all.

    To set your mind more at easy for homing you should try using M913 to reduce the motor current percentage during the homing move and then returning it to normal at the end. That way if there were to be a crash for whatever reason, the motor will hopefully stall out without doing any damage.

    https://duet3d.dozuki.com/Wiki/Gcode#Section_M913_Set_motor_percentage_of_normal_current

    Example:

    ; homeall.g
    ; called to home all axes
    ;
    ; 
    
    M913 X35 Y35 Z35	; Reduce motor currents for homing
    G91			; relative positioning
    G1 S2 Z3 F600		; lift Z relative to current position
    G1 S1 X-250 Y-250 F4000 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 S2 X5 Y5 F4000	; go back a few mm
    G1 S1 X-240 Y-240 F360  ; move slowly to X and Y axis endstops once more (second pass)
    G90 			; absolute
    G1 X159 Y142 F6000	; move probe to bed center
    M558 F600 A1 		; Dive fast once 
    G30			; probe Z
    M558 F100 A10 		; Slow second dive with more accuracy
    G30			; probe z again
    G29 S1			; Load heightmap and enable mesh grid compensation
    G1 X10 Y10 Z10 F6000	; return head to park position
    M913 X100 Y100 Z100	; Return motor currents to normal
    


  • Thank you for the reassurance.

    My carriage is a little heavy but with alot of friction so I actually need to use a nema 23 motor on the Z axis.

    I have already turned down the motor current to the lowest possible. Any lower and it can not move vertically upward anymore.

    It is possible to reduce motor current during Z probe ONLY when it is going down and normal power when it is moving up?


  • Moderator

    @likevvii said in Unable to get the Z probe to read correctly. Stuck at "0":

    It is possible to reduce motor current during Z probe ONLY when it is going down and normal power when it is moving up?

    Not during a G30 currently as far as I know.


Log in to reply