Z probe does't measure using G32

Dear All,

Could you please kindly help me to solve a problem with Z-probe (auto leveling)?

I build a H-bot printer (X, Y on the top of machine; the bed moves from top to bottom so Z probe is located at min) with Z probe (Inductive Proximity Sensor Autonics PSN17-8DN). It means that the bed will go up until the probe turn on to set Z = 0. 

The problem is when I send G32 S0 (after G28 - the probe works for this command) the probe moves to three points, at each point the bed go down and up but not measure (the light on the probe not turn on), the result shows:

18:27:08.352 : Z correction disabled
18:27:08.352 : Info:Autoleveling disabled
18:27:10.383 : Z-probe:0.50 X:20.00 Y:20.00 zCorr:0.00
18:27:14.506 : Z-probe:0.50 X:160.00 Y:20.00 zCorr:0.00
18:27:18.710 : Z-probe:0.50 X:100.00 Y:160.00 zCorr:0.00
18:27:20.587 : Transformation matrix: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
18:27:20.587 : Info:Autoleveling enabled
18:27:20.587 : X:100.00 Y:160.00 Z:0.500 E:0.0000

In the EEPROM, I set the probe parameters as below:

18:57:30.759 : EPR:3 808 2.000 Z-probe height [mm]
18:57:30.759 : EPR:3 929 200.000 Max. z-probe - bed dist. [mm]
18:57:30.759 : EPR:3 812 10.000 Z-probe speed [mm/s]
18:57:30.759 : EPR:3 840 150.000 Z-probe x-y-speed [mm/s]
18:57:30.759 : EPR:3 800 0.000 Z-probe offset x [mm]
18:57:30.759 : EPR:3 804 30.000 Z-probe offset y [mm]
18:57:30.759 : EPR:3 816 20.000 Z-probe X1
18:57:30.759 : EPR:3 820 20.000 Z-probe Y1
18:57:30.759 : EPR:3 824 160.000 Z-probe X2
18:57:30.759 : EPR:3 828 20.000 Z-probe Y2
18:57:30.759 : EPR:3 832 100.000 Z-probe X3
18:57:30.759 : EPR:3 836 160.000 Z-probe Y3
18:57:30.759 : EPR:0 880 1 Autolevel active (1/0)

Thank you very much for your help.
Best Regards,
Minh Hien BUI


  • Have you tested with G31 says. Shoudl say L when not triggered and H when triggered, Only after this works as expected try probing. That it immediately stops means it triggeres directly i guess.
  • One more thing. Just read switching frequency is 200Hz. So z moves should be low like 2mm/s to get precise results.
  • Thank you for your reply. 
    I have tested G31, for all cases (triggered/not triggered) are always H. How can I fix this problem, please? and Could you please tell me how I can change frequency of switching to 200Hz?
    I appreciate for your help.
  • You can not change the frequency. It is the speed the sensor uses. Have you checked the voltage coming out of the sensor? Must be 0 or 5v. I saw it can be driven with 10-30V but output must be TTL signal level or it may burn your avr pin.
  • You're right, my sensor works with 10-30v so I used the voltage diviser to obtain 5v before connect to Z pin on Ramps 1.4. Therefore, it works correctly when I send G28. 

    In my machine, I connect the sensor to Z_min pin on Ramps (I haven't mechanical endstop for Z axis). Can my machine work with this structure? or I need to add another mechanical endstop on Z axis?

    Could you please explain me why I always get H for G31? How can I fix the firmware or the connection of my hardware?

    Thank you very much for your help.
  • Also if you use it for z min it still gets used with own settings for z probing. So firmware does not know it is a different thing, It initalizes z min and z proble pin. So the probe pin must have set the same inversion. But even with wrong inversion it should show a switch if you can see it with M119 as well. Latest 0.92 also shows z probe pin status with M119.

    Anyway if it works as endstop it should work as zprobe as well if you use the same pin number and settings.

    Problem without zmin endstop is that homing gives different results depending on where you probe. Never have tested if that way as I always home to z max when I have z probing.
  • It means that we should use a Zmax endstop for homing before probe. 
    I'll try to add a Zmax endstop and let you know the result.

    Thank you very much for your help.
  • I added Zmax endstop in my machine so the probe works for bed-autoleveling now. However, it takes time for every measured point, because the bed go down until touch the Z endstop then go up for measurement. 

    I don't know if you have another solution to save time for bed-autoleveling.

    Thank you.
  • I watched on youtube. The sensor seem to be used for endstop and probe.

  • The trick is to start G32 when you are near the bed. Your z does not change that much so

    G1 Z5
    G32 S2

    Under certain conditions you can use z probe as endstop as well I guess. I have no printer where this could have a chance so I have no experience with this. The problem is the z min stops when triggered and with uneven bed this depends on the position where you run G28 Z0 so you must make a procedure that makes sure you do z home always at the same place and know the correction for that position as well. Since we rotate around origin I guess you would need to home always exactly at origin.

Sign In or Register to comment.