Welcome! Log In Create A New Profile

Advanced

X axis does not raise between auto leveling points

Posted by dark_man100 
X axis does not raise between auto leveling points
August 31, 2016 01:28PM
Hello,

I updated my Marlin firmware to Marlin-1.1.0-RC7. For auto bet leveling I'm using a fixed probe, which is connected to pin 32 (former Z axis max). The z endstop is also used and is connected to pin 30.

The most important parts of my config file are shown below:
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
#define USE_ZMAX_PLUG

#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#if DISABLED(ENDSTOPPULLUPS)
//  fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
//  #define ENDSTOPPULLUP_XMAX
//  #define ENDSTOPPULLUP_YMAX
//  #define ENDSTOPPULLUP_ZMAX
//  #define ENDSTOPPULLUP_XMIN
//  #define ENDSTOPPULLUP_YMIN
//  #define ENDSTOPPULLUP_ZMIN
//  #define ENDSTOPPULLUP_ZMIN_PROBE
#endif

#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.

#define FIX_MOUNTED_PROBE
#define X_PROBE_OFFSET_FROM_EXTRUDER   42  // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER  -42  // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER   -7.04   // Z offset: -below +above  [the nozzle]

#define XY_PROBE_SPEED 4000
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
#define PROBE_DOUBLE_TOUCH
#define Z_MIN_PROBE_ENDSTOP //Uses Z_MAX PIN 32 for probe and PIN 30 for homing endstop from [reprap.org]
#define Z_MIN_PROBE_PIN 32
#define Z_MIN_PROBE_REPEATABILITY_TEST
//#define DISABLE_Z_MIN_PROBE_ENDSTOP

#define Z_PROBE_DEPLOY_HEIGHT 15 //(-(Z_PROBE_OFFSET_FROM_EXTRUDER) + 6) // Z position for the probe to deploy/stow
#define Z_PROBE_TRAVEL_HEIGHT 15 //(-(Z_PROBE_OFFSET_FROM_EXTRUDER) + 3) // Z position for travel between points
#define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20

#define AUTO_BED_LEVELING_FEATURE // Delete the comment to enable (remove // at the start of the line)

#define DEBUG_LEVELING_FEATURE

#if ENABLED(AUTO_BED_LEVELING_FEATURE)
  #define AUTO_BED_LEVELING_GRID

  #if ENABLED(AUTO_BED_LEVELING_GRID)

    #define LEFT_PROBE_BED_POSITION   42
    #define RIGHT_PROBE_BED_POSITION 180
    #define FRONT_PROBE_BED_POSITION  70
    #define BACK_PROBE_BED_POSITION  193

    #define MIN_PROBE_EDGE 10 // The Z probe minimum square sides can be no smaller than this.
    #define AUTO_BED_LEVELING_GRID_POINTS 3

  #else  // !AUTO_BED_LEVELING_GRID
    #define ABL_PROBE_PT_1_X 15
    #define ABL_PROBE_PT_1_Y 180
    #define ABL_PROBE_PT_2_X 15
    #define ABL_PROBE_PT_2_Y 20
    #define ABL_PROBE_PT_3_X 170
    #define ABL_PROBE_PT_3_Y 20

  #endif // !AUTO_BED_LEVELING_GRID
  #define Z_PROBE_END_SCRIPT "G1 X0 Y0 F5000"
#endif // AUTO_BED_LEVELING_FEATURE
//#define Z_SAFE_HOMING

When I enter G28 all axis are homed and everything is fine. But G29 looks strange. First the Z axis is raised to the defined config position. Then X and Y are moved and the Z axis is tested by decreasing the size between probe and bed. Then the probe is not raised and moved to another position by changing X or Y. After arrival the printer recognize the probe endstop is hit and it moves directly to another position. Until all probe points are done. Lastly the Z_PROBE_END_SCRIPT is started.

Before I updated to RC7 it looks completely different. After the first test the Z axis where raised again and deceased slowly. Then the Z axis raised again. X and Y where changed and the same procedure starts from the beginning.

I was already going through the recommendations from [github.com] but nothing changed.

Here you can see my log output. The first do_probe_raise(30) works fine, but the remaining do_probe_raise(25) have no effect. The Z axis does not move.

19:20:17.675 : G29 Auto Bed Leveling
19:20:17.679 : corrected_position=(0.00, 0.00, 0.00) : BEFORE matrix.set_to_identity
19:20:17.682 : current_position=(0.00, 0.00, 0.00) : BEFORE matrix.set_to_identity
19:20:17.684 : uncorrected_position=(0.00, 0.00, 0.00) : AFTER matrix.set_to_identity
19:20:17.688 : current_position=(0.00, 0.00, 0.00) : sync_plan_position
19:20:17.690 : current_position=(0.00, 0.00, 0.00) : setup_for_endstop_or_probe_move
19:20:17.692 : current_position=(0.00, 0.00, 0.00) : set_probe_deployed
19:20:17.693 : deploy: 1
19:20:17.693 : do_probe_raise(30.00)
19:20:17.695 : >>> do_blocking_move_to(0.00, 0.00, 30.00)
19:20:18.791 : N825 M105*40
19:20:21.891 : N826 M105*43
19:20:24.991 : N827 M105*42
19:20:27.991 : N828 M105*37
19:20:31.092 : N829 M105*36
19:20:32.752 : >>> do_blocking_move_to(0.00, 0.00, 30.00)
19:20:32.755 : >>> probe_pt(42.00, 70.00, 1)
19:20:32.757 : current_position=(0.00, 0.00, 30.00) :
19:20:32.757 : do_probe_raise(25.00)
19:20:32.759 : > do_blocking_move_to_xy(0.00, 112.00)
19:20:32.761 : >>> do_blocking_move_to(0.00, 112.00, 30.00)
19:20:34.192 : N830 M105*44
19:20:34.464 : > current_position=(0.00, 112.00, 30.00) : set_probe_deployed
19:20:34.464 : deploy: 1
19:20:34.466 : >>> do_blocking_move_to(0.00, 112.00, -195.00)
19:20:37.292 : N831 M105*45
19:20:40.392 : N832 M105*46
19:20:43.756 : current_position=(0.00, 112.00, 11.50) : sync_plan_position
19:20:43.760 : >>> do_blocking_move_to(0.00, 112.00, 13.50)
19:20:43.765 : >>> do_blocking_move_to(0.00, 112.00, 9.50)
19:20:43.769 : current_position=(0.00, 112.00, 11.50) : sync_plan_position
19:20:43.772 : current_position=(0.00, 112.00, 11.50) : run_z_probe
19:20:43.772 : > do_probe_raise
19:20:43.774 : do_probe_raise(25.00)
19:20:43.776 : >>> do_blocking_move_to(0.00, 112.00, 25.00)
19:20:43.778 : <<< probe_pt
19:20:43.780 : >>> probe_pt(111.00, 70.00, 1)
19:20:43.783 : current_position=(0.00, 112.00, 25.00) :
19:20:43.785 : do_probe_raise(25.00)
19:20:43.785 : > do_blocking_move_to_xy(69.00, 112.00)
19:20:43.787 : >>> do_blocking_move_to(69.00, 112.00, 25.00)
19:20:44.841 : > current_position=(69.00, 112.00, 25.00) : set_probe_deployed
19:20:44.844 : deploy: 1
19:20:44.846 : >>> do_blocking_move_to(69.00, 112.00, -195.00)
19:20:44.850 : current_position=(69.00, 112.00, 11.50) : sync_plan_position
19:20:44.852 : >>> do_blocking_move_to(69.00, 112.00, 13.50)
19:20:44.856 : >>> do_blocking_move_to(69.00, 112.00, 9.50)
19:20:44.863 : current_position=(69.00, 112.00, 11.50) : sync_plan_position
19:20:44.867 : current_position=(69.00, 112.00, 11.50) : run_z_probe
19:20:44.867 : > do_probe_raise
19:20:44.869 : do_probe_raise(25.00)
19:20:44.871 : >>> do_blocking_move_to(69.00, 112.00, 25.00)
19:20:44.873 : <<< probe_pt
19:20:44.873 : >>> probe_pt(180.00, 70.00, 1)
19:20:44.875 : current_position=(69.00, 112.00, 25.00) :
19:20:44.878 : do_probe_raise(25.00)
19:20:44.880 : > do_blocking_move_to_xy(138.00, 112.00)
19:20:44.882 : >>> do_blocking_move_to(138.00, 112.00, 25.00)
19:20:45.937 : > current_position=(138.00, 112.00, 25.00) : set_probe_deployed
19:20:45.939 : deploy: 1
19:20:45.939 : >>> do_blocking_move_to(138.00, 112.00, -195.00)
19:20:45.945 : current_position=(138.00, 112.00, 11.50) : sync_plan_position
19:20:45.947 : >>> do_blocking_move_to(138.00, 112.00, 13.50)
19:20:45.952 : >>> do_blocking_move_to(138.00, 112.00, 9.50)
19:20:45.958 : current_position=(138.00, 112.00, 11.50) : sync_plan_position
19:20:45.960 : current_position=(138.00, 112.00, 11.50) : run_z_probe
19:20:45.962 : > do_probe_raise
19:20:45.962 : do_probe_raise(25.00)
19:20:45.965 : >>> do_blocking_move_to(138.00, 112.00, 25.00)
19:20:45.967 : <<< probe_pt
19:20:45.969 : >>> probe_pt(180.00, 131.00, 1)
19:20:45.971 : current_position=(138.00, 112.00, 25.00) :
19:20:45.973 : do_probe_raise(25.00)
19:20:45.976 : > do_blocking_move_to_xy(138.00, 173.00)
19:20:45.976 : >>> do_blocking_move_to(138.00, 173.00, 25.00)
19:20:46.912 : > current_position=(138.00, 173.00, 25.00) : set_probe_deployed
19:20:46.912 : deploy: 1
19:20:46.917 : >>> do_blocking_move_to(138.00, 173.00, -195.00)
19:20:46.921 : current_position=(138.00, 173.00, 11.50) : sync_plan_position
19:20:46.923 : >>> do_blocking_move_to(138.00, 173.00, 13.50)
19:20:46.927 : >>> do_blocking_move_to(138.00, 173.00, 9.50)
19:20:46.934 : current_position=(138.00, 173.00, 11.50) : sync_plan_position
19:20:46.936 : current_position=(138.00, 173.00, 11.50) : run_z_probe
19:20:46.938 : > do_probe_raise
19:20:46.938 : do_probe_raise(25.00)
19:20:46.940 : >>> do_blocking_move_to(138.00, 173.00, 25.00)
19:20:46.945 : <<< probe_pt
19:20:46.945 : >>> probe_pt(111.00, 131.00, 1)
19:20:46.947 : current_position=(138.00, 173.00, 25.00) :
19:20:46.949 : do_probe_raise(25.00)
19:20:46.949 : > do_blocking_move_to_xy(69.00, 173.00)
19:20:46.951 : >>> do_blocking_move_to(69.00, 173.00, 25.00)
19:20:48.030 : > current_position=(69.00, 173.00, 25.00) : set_probe_deployed
19:20:48.030 : deploy: 1
19:20:48.034 : >>> do_blocking_move_to(69.00, 173.00, -195.00)
19:20:48.039 : current_position=(69.00, 173.00, 11.50) : sync_plan_position
19:20:48.041 : >>> do_blocking_move_to(69.00, 173.00, 13.50)
19:20:48.045 : >>> do_blocking_move_to(69.00, 173.00, 9.50)
19:20:48.052 : current_position=(69.00, 173.00, 11.50) : sync_plan_position
19:20:48.054 : current_position=(69.00, 173.00, 11.50) : run_z_probe
19:20:48.054 : > do_probe_raise
19:20:48.056 : do_probe_raise(25.00)
19:20:48.058 : >>> do_blocking_move_to(69.00, 173.00, 25.00)
19:20:48.060 : <<< probe_pt
19:20:48.062 : >>> probe_pt(42.00, 131.00, 1)
19:20:48.065 : current_position=(69.00, 173.00, 25.00) :
19:20:48.065 : do_probe_raise(25.00)
19:20:48.067 : > do_blocking_move_to_xy(0.00, 173.00)
19:20:48.069 : >>> do_blocking_move_to(0.00, 173.00, 25.00)
19:20:49.122 : > current_position=(0.00, 173.00, 25.00) : set_probe_deployed
19:20:49.122 : deploy: 1
19:20:49.124 : >>> do_blocking_move_to(0.00, 173.00, -195.00)
19:20:49.128 : current_position=(0.00, 173.00, 11.50) : sync_plan_position
19:20:49.130 : >>> do_blocking_move_to(0.00, 173.00, 13.50)
19:20:49.134 : >>> do_blocking_move_to(0.00, 173.00, 9.50)
19:20:49.140 : current_position=(0.00, 173.00, 11.50) : sync_plan_position
19:20:49.143 : current_position=(0.00, 173.00, 11.50) : run_z_probe
19:20:49.145 : > do_probe_raise
19:20:49.145 : do_probe_raise(25.00)
19:20:49.147 : >>> do_blocking_move_to(0.00, 173.00, 25.00)
19:20:49.149 : <<< probe_pt
19:20:49.151 : >>> probe_pt(42.00, 192.00, 1)
19:20:49.153 : current_position=(0.00, 173.00, 25.00) :
19:20:49.153 : do_probe_raise(25.00)
19:20:49.155 : > do_blocking_move_to_xy(0.00, 234.00)
19:20:49.157 : >>> do_blocking_move_to(0.00, 234.00, 25.00)
19:20:50.093 : > current_position=(0.00, 234.00, 25.00) : set_probe_deployed
19:20:50.093 : deploy: 1
19:20:50.095 : >>> do_blocking_move_to(0.00, 234.00, -195.00)
19:20:50.100 : current_position=(0.00, 234.00, 11.50) : sync_plan_position
19:20:50.102 : >>> do_blocking_move_to(0.00, 234.00, 13.50)
19:20:50.106 : >>> do_blocking_move_to(0.00, 234.00, 9.50)
19:20:50.113 : current_position=(0.00, 234.00, 11.50) : sync_plan_position
19:20:50.115 : current_position=(0.00, 234.00, 11.50) : run_z_probe
19:20:50.115 : > do_probe_raise
19:20:50.117 : do_probe_raise(25.00)
19:20:50.119 : >>> do_blocking_move_to(0.00, 234.00, 25.00)
19:20:50.121 : <<< probe_pt
19:20:50.121 : >>> probe_pt(111.00, 192.00, 1)
19:20:50.124 : current_position=(0.00, 234.00, 25.00) :
19:20:50.126 : do_probe_raise(25.00)
19:20:50.128 : > do_blocking_move_to_xy(69.00, 234.00)
19:20:50.130 : >>> do_blocking_move_to(69.00, 234.00, 25.00)
19:20:51.184 : > current_position=(69.00, 234.00, 25.00) : set_probe_deployed
19:20:51.184 : deploy: 1
19:20:51.188 : >>> do_blocking_move_to(69.00, 234.00, -195.00)
19:20:51.193 : current_position=(69.00, 234.00, 11.50) : sync_plan_position
19:20:51.195 : >>> do_blocking_move_to(69.00, 234.00, 13.50)
19:20:51.199 : >>> do_blocking_move_to(69.00, 234.00, 9.50)
19:20:51.205 : current_position=(69.00, 234.00, 11.50) : sync_plan_position
19:20:51.207 : current_position=(69.00, 234.00, 11.50) : run_z_probe
19:20:51.210 : > do_probe_raise
19:20:51.210 : do_probe_raise(25.00)
19:20:51.212 : >>> do_blocking_move_to(69.00, 234.00, 25.00)
19:20:51.216 : <<< probe_pt
19:20:51.216 : >>> probe_pt(180.00, 192.00, 1)
19:20:51.218 : current_position=(69.00, 234.00, 25.00) :
19:20:51.220 : do_probe_raise(25.00)
19:20:51.222 : > do_blocking_move_to_xy(138.00, 234.00)
19:20:51.224 : >>> do_blocking_move_to(138.00, 234.00, 25.00)
19:20:52.278 : > current_position=(138.00, 234.00, 25.00) : set_probe_deployed
19:20:52.278 : deploy: 1
19:20:52.283 : >>> do_blocking_move_to(138.00, 234.00, -195.00)
19:20:52.287 : current_position=(138.00, 234.00, 11.50) : sync_plan_position
19:20:52.289 : >>> do_blocking_move_to(138.00, 234.00, 13.50)
19:20:52.295 : >>> do_blocking_move_to(138.00, 234.00, 9.50)
19:20:52.299 : current_position=(138.00, 234.00, 11.50) : sync_plan_position
19:20:52.302 : current_position=(138.00, 234.00, 11.50) : run_z_probe
19:20:52.304 : > do_probe_raise

Any idea?

Edited 1 time(s). Last edit at 08/31/2016 01:49PM by dark_man100.
Re: X axis does not raise between auto leveling points
September 13, 2016 12:50PM
I assume you mean that the Z-axis doesn't raise (the X-axis is left-right, not up-down)

Looks like the setting is here:
// Probe Raise options provide clearance for the probe to deploy, stow, and travel.
//
#define Z_PROBE_DEPLOY_HEIGHT 15 // Raise to make room for the probe to deploy / stow
#define Z_PROBE_TRAVEL_HEIGHT 5  // Raise between probing points.

Per Line 544 in Configuration.h

Hope this helps!


-David

Find me online at:
Thingiverse
Instructables.com
LinkedIn
Facebook

Check out my FolgerTech Prusa i3 (plexi) at MindRealm.net
Re: X axis does not raise between auto leveling points
January 11, 2017 06:00PM
Hi dark_man

did get the problem solved because I have exactly the same and I m getting mad!!!!

Would be amazing if you could share your experience.
Sorry, only registered users may post in this forum.

Click here to login