How Do I Speed up The BLTouch Auto Bed Leveling In TH3D's Unified Firmware?
I have just upgraded my board to TH3D's EZBoard Lite with their Unified Firmware (U2.R1.15) and whilst dialling in all the setting I have found that using the BlTouch each time to be frustrating because of the time it takes to complete the Auto Bed Leveling, however, I cannot find the settings to increase the speed as shown in Teaching Tech's video:
#define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 }
is changed to
#define DEFAULT_MAX_FEEDRATE { 500, 500, 20, 25 }
and
#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
is changed to
#define BLTOUCH_DELAY 100 // (ms) Enable and increase if needed
and
// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 8000is changed to
// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 10000I am not quite sure which parts to change as the two builds are organised and worded differently.
In the online firmware configurator, it does list an option to speed up the probing of their own EZABL but says not to do so for the BLTouch in the manual configuration editor
// Super fast probing - VERY EXPERIMENTAL AND ONLY TESTED WITH EZABL PRO SENSORS
// Do NOT use with EZABL_FASTPROBE (comment out above) or BL Touch Sensors
//#define EZABL_SUPERFASTPROBEWould enabling this be the same as making the changes listed in Teaching Tech's video?
Any help you can offer will be greatly appreciated.
It is not advised to lower `BLTOUCH_DELAY`, there is time required for the deployment. Note that the sanity check should have warned you: `"BLTOUCH_DELAY less than 200 is unsafe and is not supported."`
I'm exactly at the same situation, trying to speed up bltouch through th3d firmware. Did you end up solving it? Did it work by enabling `#define EZABL_SUPERFASTPROBE`?
No, I never found out how to do it because I'm not sure if EZABL_SUPERFASTPROBE will work with the bl touch, I ended it up leaving it because speeding it up wasn't worth it enough to go through the hassle of fixing it if mucked everything up.
There are multiple ways to achieve this:
In G-code
You don't necessarily need to do that in firmware, TH3D is based on Marlin firmware and is just a monolithic implementation for most popular printers and boards that helps novice users to easily configure their printer, but in the meantime it hides other options from plain sight.
Being a derivative fro Marlin firmware, the bed leveling speed in between probes can also be easily set in G-code. G-code
G29
has a speed parameter:S
: Set the XY travel speed between probe points (in units/min)From below (TH3D firmware) can be seen that a value of 12000 mm/min will speed up and is generally safe to use.
In Marlin firmware
In Marlin firmware, the speed setting in between probes is found in Configuration.h:
// X and Y axis travel speed (mm/min) between probes
#define XY_PROBE_SPEED 8000In TH3D firmware
In TH3D firmware this speed is buried in the Configuration_backend.h:
#if ENABLED(PROBING_MOTORS_OFF)
#define XY_PROBE_SPEED 8000
#else
#if ENABLED(SLOWER_PROBE_MOVES) || ENABLED(TH3D_EZ300) || ENABLED(TIM_AM8)
#define XY_PROBE_SPEED 8000
#else
#if ENABLED(EZABL_SUPERFASTPROBE)
#define XY_PROBE_SPEED 16000
#else
#define XY_PROBE_SPEED 12000
#endif
#endif
#endifThe speed is depending on setting of the
PROBING_MOTORS_OFF
in Configuration.h:// This will disable the XYE motors during probing. Can be useful if you have stepper motors causing interference issues with the EZABL sensor.
#define PROBING_MOTORS_OFFor depending on the speed settings for specific setting/sensors
(ENABLED(SLOWER_PROBE_MOVES) || ENABLED(TH3D_EZ300) || ENABLED(TIM_AM8)
:// If you have issues with your machine running the faster probe setting disable the #define EZABL_FASTPROBE below.
// DO NOTE: Most machines will work with the fast probe enabled. Use M48 to verify accuracy.
#define EZABL_FASTPROBE
// Superfast probing - Only works with the EZABL Pro Sensors
// DO NOTE: Not all machines will work with the fast probe enabled. Use M48 to verify accuracy and make sure the Z isn't binding with the high speeds.
//#define EZABL_SUPERFASTPROBEBasically, if you have not defined one of the following:
PROBING_MOTORS_OFF
,SLOWER_PROBE_MOVES
,TH3D_EZ300
orTIM_AM8
, theXY_PROBE_SPEED
will default to a value of 4000 (depending of the definition ofHOMING_FEEDRATE_XY
) since the constant is not defined, see Conditionals_post.h):#ifndef XY_PROBE_SPEED
#ifdef HOMING_FEEDRATE_XY
#define XY_PROBE_SPEED HOMING_FEEDRATE_XY
#else
#define XY_PROBE_SPEED 4000
#endif
#endifIn Marlin you would simply change the value of the travel between probing speed whilst in TH3D you need to sort out if one of all those conditions are met. For advanced users with a slightly different printer setup, the TH3D software might be less optimal. Do note that forks of the Marlin firmware that are heavily modified always (like TH3D) lack behind the original sources; you are dependent on the implementation schedule of the fork maintainer. But, for people that have not modified their printer, have a limited knowledge of software (C/C++ development) and firmware flashing, or their modification falls in the supported options of TH3D, the monolithic TH3D might be very helpful!
Most probably, your setting is overruled later.
I dont know if you managed to solve this but if not I was facing the same issue and managed to do it just by searching all sketches for those parameters in Arduino IDE. They are not all in configuration.h like shown in the Teaching Tech video. Most of them are in configuration_backend.h and some in conditionals_LCD.h I used the values suggested in TT's video and it has speeded up levelling vastly.
p.s. I am using the most recent version of the TH3D unified firmware on a Creality CR-10 mini
Hi, welcome to 3DPrinting.SE! Showing which constants you would need to change would help the OP, the current state of the answer still leaves the OP in the dark...
I was successfull in getting my ender 5 pro bltouch to work faster. I still have some tweaking to do, and I'm a noob. I did the following in configuration_backend.h:
I changed #define HOMING_FEEDRATE_Z 4 times 60 to 20 times 60:
#if ENABLED(EZABL_SUPERFASTPROBE) && DISABLED(BLTOUCH)
#define HOMING_FEEDRATE_Z (15*60)
#elif ENABLED(EZABL_FASTPROBE) && DISABLED(BLTOUCH)
#define HOMING_FEEDRATE_Z (8*60)
#else
#define HOMING_FEEDRATE_Z (20*60)
#endifXY probe speed looks good, didn't have to change:
#if ENABLED(PROBING_MOTORS_OFF)
#define XY_PROBE_SPEED 8000
#else
#if ENABLED(SLOWER_PROBE_MOVES) || ENABLED(TH3D_EZ300) || ENABLED(TIM_AM8)
#define XY_PROBE_SPEED 8000
#else
#if ENABLED(EZABL_SUPERFASTPROBE)
#define XY_PROBE_SPEED 16000
#else
#define XY_PROBE_SPEED 12000
#endif
#endif
#endifI commented (deactivated) this, so it probes only one time:
//#define MULTIPLE_PROBING 2
I changed the folowing from 15, 10, 10:
#if ENABLED(BLTOUCH)
#define Z_CLEARANCE_DEPLOY_PROBE 10
#define Z_CLEARANCE_BETWEEN_PROBES 5
#define Z_CLEARANCE_MULTI_PROBE 5Hope this helps. Work in progress.
Andy
License under CC-BY-SA with attribution
Content dated before 7/24/2021 11:53 AM
towe 2 years ago
X -> Y Problem: The EZBoard seems to be supported by stock Marlin too, so that would probably be the easiest solution.