Z_CLEARANCE_BETWEEN_PROBES not working for a custom manual sensor

Hi,

I’ve tried editing the code to enable bilinear levelling myself - I have a Aldi Balco printer, board version 5.1.
I don’t have BLTouch or a mark2. I use a manual deploy probe, attached to PA3 (ZMAX). It’s just a button thing that sits on the nozzle for probing so the nozzle activates the button, and I remove it once finished.

I’ve done this on ADVi3++ version 3 following some guide I found, and that went okay (although I’m not sure it ever actually benefitted, but that’s a seperate issue).
I’ve tried again on version 4.0.6, but things have changed since the version 3 guide, so I’ve tried my best.

The probe is triggered, the grid is measured, I can see the mesh generated, so generally is working fine, but Z_CLEARANCE_BETWEEN_PROBES doesn’t seem to be kicking in, unless I’m misunderstanding what it should do.

On version 3, sending G29 to start levelling, Z-axis would lower, do the first probe, raise, do slower second probe, then raise to give clearance, then move to the next position, lower, probe, raise, slower probe, raise, move, repeat.

On version 4, it moves to the first point, does the initial lower to probe, then raises, does the second slower probe in the same position, then moves to the next position without raising for clearance, and then raises, lowers to do first probe, raises, does the second slower probe, then moves to the next position without raising for clearance, and repeat…

I’ve tried reading through the code to fix it, but I can’t find where I need to fix it.

I think this is everything I’ve changed to get it probing:
In Configuration.h:

Defined these:

// @advi3++: No more used by BLTouch probe (advi3++ v4). Also not used by Mark II
#define USE_ZMAX_PLUG
#define Z_MIN_PROBE_ENDSTOP

Commented out the if/endif, to ensure it defines FIX_MOUNTED_PROBE

// @advi3++: Mark II probe is fix
//#ifdef ADVi3PP_MARK2
#define FIX_MOUNTED_PROBE
//#endif

Changed to 15 to avoid clashing with bed screws:

// Certain types of probes need to stay away from edges
#define MIN_PROBE_EDGE 15

Amended these to make sure I could see a difference, and during probing there was definitely a difference, other than my z_clearance_between_probes not working:

#define Z_CLEARANCE_DEPLOY_PROBE    10 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES  20 // Z Clearance between probe points
#define Z_CLEARANCE_MULTI_PROBE     20 // Z Clearance between multiple probes
#define Z_AFTER_PROBING           10 // Z position after probing is done

Commented out stuff to ensure bilinear is defined:

//#ifdef ADVi3PP_PROBE
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
// @advi3++: Use bilinear leveling (mesh)
#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING
//#endif

I don’t think it’s relevant but I’ve also changed GRID_MAX_POINTS_X but I have the issue when settings it to 3, 5 and 7.

In advi3pp_defines.h:
Ensure ADVi3PP_PROBE is defined:

//#if defined(ADVi3PP_BLTOUCH) || defined(ADVi3PP_BLTOUCH3) || defined(ADVi3PP_MARK2)
#define ADVi3PP_PROBE
//#endif

In pins_I3_PLUS.H:
I did both the below because just one or the other resulted in errors about one or the other not being defined:

#define Z_MAX_PIN     25   // PA3 / AD3
#define Z_MIN_PROBE_PIN     25   // PA3 / AD3

I think that’s everything… Have I missed something I need to change? Does Z_CLEARANCE_BETWEEN_PROBES rely on one of the other probe definitions (such as ADVi3PP_BLTOUCH or ADVi3PP_MARK2)?

This is not easy to answer as I never tried such configuration. And I am not sure to understand how it works (you remove the button after probing?). I can try to look at the source code, but frankly I am not sure to be able to help much.

Yes - Place it over the nozzle, then start automatic levelling, then once it’s finished just remove it from the nozzle and set it aside.

That’s fine - I honestly wasn’t expecting you to fix it, because I know it’s very likely a unique set-up because most will go with BLTouch. I bought this probe because the price of BLTouch in the UK at the time was stupidly high, and I wasn’t sure I was keeping the printer.

My reason for posting was just in case someone had an idea.

Just for info, this is what I have (looks the same, but didn’t buy it there, and I made the hole in the foam bigger to fit my nozzle):
https://www.amazon.co.uk/Printer-Precision-Z-Probe-Leveling-nozzles/dp/B07V6GR72Q

I do not understand how such system can be precise enough. Since your question is directly related to a mod you have made, I move your posts in the Mods category. A also changed slightly the title.

No problem, thanks for moving to the right place.

Why do you think the probe may not be precise?
Its probing exactly where the nozzle is on xy, so I’d have expected it to be great because there’s no offset.
As for z-offset, the repeatability test had a great result when I first fitted it, very little variance between test probes. Then its just a case of finding the z-offset. That’s usually where I go wrong with it.

For a while, it was the only way I could get a usable first layer.

Because you place it manually. But it is the first time I heard of such system so if you think it is good, it is probably.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.