Z-Probe - Activating z-probe would lead to forbidden xy position - WHY??

edited May 2019 in Extruder & Bed
I have installed an inductive probe LJ12A3-4-Z/BX on a P3Steel Toolson MK2.
Had this before in Marlin. Easy setup.
Now I'm on Repetier Firmware 1.0.3 and facing some problems/questions. I used my current running Repetier config and just enabled z-probing and ABL.

I have read the z probing article many times but cleary I haven't understood half of it.

For clarification and to understand why I use a maybe weird offset, I'll roughly describe my current config:
Z_PROBE_X_OFFSET 30
Z_PROBE_Y_OFFSET 30
The probe is to the right side behind the nozzle.

Home X Y Z is outside of the printable area to the front left side, below the heated bed.
X home offset = -14
Y home offset = -24
Z home offset = 0
Z home offset was -0.43 when I had a mechanical endstop, before installing this inductive probe. Turns out to be a nightmare.
ENDSTOP_(X|Y|Z)_BACK_ON_HOME = 0;0;0
If I change these _BACK_ON_HOME coordinates to the printable area, the nozzle crashes full force into the side of the heated bed as it doesn't raise the Z axis before.)
ZHOME_PRE_RAISE = always
ZHOME_PRE_RAISE_DISTANCE = 10
HOMING_ORDER ="X,Y then Z".

QUESTIONS (2)

1. Adjust nozzle <-> bed distance when probe is triggered (HIGH)
I have mounted the probe roughly at the correct height. It has a 4mm trigger range. When I issue G30 the Z axis lowers until the probe is triggered. The nozzle is around 1mm above the bed. I KNOW THE METHOD OF USING A REFERENCE METAL PIECE and do some funky basic arithmetic. But honestly, I don't like it. To me it would be much easier to move the nozzle down on the Z axis manually with G1 -0.x until I can do the paper calibration. Yes, paper. Prehistoric. But I cannot move the Z axis below 0 even when there is a gap below.
QUESTION: How do I adjust in software the nozzle<-> bed distance when the Z-probe is triggered. Let's assume I cannot physically change the probe height. Z_PROBE_HEIGHT is already at 0.0.
Is this Z_PROBE_SWITCHING_DISTANCE?? No, cannot be....


2. When doing a "HOME ALL" I get following error:
Error:Activating z-probe would lead to forbidden xy position: -44.00000, -59.00
RequestStop:
fatal:Could not activate z-probe offset due to coordinate constraints - result is inaccurate! - Printer stopped and heaters disabled due to this error. Fix error and restart with M999.
M114 says= X:-14.00 Y:-24.00 Z:0.000 E:0.0000
In realitiy Z is more like Z:1.xxxxx (see question 1)

What I don't understand is where those two values come from: -44  -59.
-44 could be because of the x home offset =-14.
-14 -30 = -44
But -59 doesn't make any sense. I mean, -44 doesn't make any sense to me, too.
-24 -30 = -54. Not -59.

In other words: My Home position is outside of the printable area as all my endstops are outside. Z homes to Z min which is totally fine and no luck needed because I have set to home X,Y then Z. So no need to move up all the 200mm to an Z max endstop.
Some pictures.

On the mechanical side the homing with the probe works just like with the z endstop but it throws this error every time. The printer however doesn't care about this Fatal Software error and continous to home just fine. Although still 1mm+ above actual 0mm nozzle <-> bed distance.



This is my z-probe settings from firmware:
// #################### Z-Probing #####################

#define Z_PROBE_Z_OFFSET 0
#define Z_PROBE_Z_OFFSET_MODE 0
#define UI_BED_COATING 0
#define FEATURE_Z_PROBE 1
#define EXTRUDER_IS_Z_PROBE 0
#define Z_PROBE_DISABLE_HEATERS 0
#define Z_PROBE_BED_DISTANCE 10
#define Z_PROBE_PIN ORIG_Z_MIN_PIN
#define Z_PROBE_PULLUP 0
#define Z_PROBE_ON_HIGH 0
#define Z_PROBE_X_OFFSET 30
#define Z_PROBE_Y_OFFSET 30
#define Z_PROBE_WAIT_BEFORE_TEST 0
#define Z_PROBE_SPEED 2
#define Z_PROBE_XY_SPEED 150
#define Z_PROBE_SWITCHING_DISTANCE 1
#define Z_PROBE_REPETITIONS 3
#define Z_PROBE_USE_MEDIAN 0
#define Z_PROBE_HEIGHT 0
#define Z_PROBE_DELAY 0
#define Z_PROBE_START_SCRIPT ""
#define Z_PROBE_FINISHED_SCRIPT ""
#define Z_PROBE_RUN_AFTER_EVERY_PROBE ""
#define Z_PROBE_REQUIRES_HEATING 0
#define Z_PROBE_MIN_TEMPERATURE 150
#define FEATURE_AUTOLEVEL 1
#define FEATURE_SOFTWARE_LEVELING 0
#define Z_PROBE_X1 20
#define Z_PROBE_Y1 20
#define Z_PROBE_X2 160
#define Z_PROBE_Y2 20
#define Z_PROBE_X3 100
#define Z_PROBE_Y3 160
#define BED_LEVELING_METHOD 1
#define BED_CORRECTION_METHOD 0
#define BED_LEVELING_GRID_SIZE 3
#define BED_LEVELING_REPETITIONS 5
#define BED_MOTOR_1_X 0
#define BED_MOTOR_1_Y 0
#define BED_MOTOR_2_X 200
#define BED_MOTOR_2_Y 0
#define BED_MOTOR_3_X 100
#define BED_MOTOR_3_Y 200
#define BENDING_CORRECTION_A 0
#define BENDING_CORRECTION_B 0
#define BENDING_CORRECTION_C 0
#define FEATURE_AXISCOMP 0
#define AXISCOMP_TANXY 0
#define AXISCOMP_TANYZ 0
#define AXISCOMP_TANXZ 0

Comments

  • First use homing sequence with preheat and set min extruder temperature 0. Then you can define where to probe.

    1. G1 S1 allows negative z coordinates being send.
    Z probe height is distance bed nozzle when it triggers and can be set in eeprom.

    2. Right homing order should help here as well. M114 returns official position while error message uses the added offsets to make it clear. Why -59 I can not say. Maybe eeprom has different values or it added something else.

    I know z probing is a bit difficult in V1 firmware. We are trying to make it much better in V2 e.g. automatically detecting best reachable positions automatically instead of error messages.
  • Thanks. I'll try it again and report back.
Sign In or Register to comment.