Z Axis homing issue - driving me crazyangry smiley
January 05, 2021 08:16AM
I have tried everything but z-axis will NOT home CORRECTLY with G28, move to the 1st layer position or step in the right direction when printing:

With the Configuration.h file having the following settings at the line numbers given:

1) 657 #define X_MIN_ENDSTOP_INVERTING true, 658 #define Y_MIN_ENDSTOP_INVERTING true and 659 #define Z_MIN_ENDSTOP_INVERTING true

2) 1089 #define INVERT_X_DIR false, 1090 #define INVERT_Y_DIR false and 1091 #define INVERT_Z_DIR false

3) 1118 #define X_HOME_DIR -1, 1119 #define Y_HOME_DIR -1 and 1120 #define Z_HOME_DIR -1
if i change #define Z_HOME_DIR -1 to #define Z_HOME_DIR 1 compilation fails with error #error "Enable USE_ZMAX_PLUG when homing Z to MAX.". If I change #define INVERT_Z_DIR false to true it compiles without error but problem in 4) REMAINS !!

// The size of the print bed
#define X_BED_SIZE 140
#define Y_BED_SIZE 140

// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 135

4) Using "Pronterface":

X+ moves the head right, X- moves the head left
Y+ moves the head back, Y- moves the head forward
Z+ moves the bed down, Z- moves the bed up
All moves are smooth, quiet and accurate (verified by M114) and G1 X??, G1 Y?? or G1 Z??

but G28 MOVES BED UP!!!

M119 confirms end stops are working correctly
Reporting endstop status
x_min: open y_min: TRIGGERED z_min: open

Custom Buttons
SENDING:G1 Z90.00 F120.000 MAX HEIGHT - Correct!! (BED MOVES DOWN)
SENDING:G1 Z45.00 F120.000 MIDDLE LAYER - Correct!! (BED MOVES DOWN)
X:0.00 Y:0.00 Z:3.00 E:0.00 Count X:0 Y:0 Z:12000 Correct!! (BED MOVES UP)
verified by m114 showing X:0.00 Y:0.00 Z:3.00 E:0.00 Count X:0 Y:0 Z:12000

Endstops are simple normally open mechanical switches (NO probes)

What am I doing wrong or missing? Please help
Re: Z Axis homing issue - driving me crazyangry smiley
January 05, 2021 08:46AM
This is my settings to home

// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR true

If I change the invert Z DIR it will home in the wrong direction


Computer Programmer / Electronics Technician
Re: Z Axis homing issue - driving me crazyangry smiley
January 06, 2021 01:44AM
Thanks - I have changed the Z-DIR to true and indeed it homes correctly BUT when printing the attached file the bed does not reach the first level and bed goes UP for each new layer.

The same file prints just fine on a duplicate printer.

line 19 reads G1 Z0.350 F6000.000 ; move to next layer (0)

Could you try it please?

Perhaps my software end-stops are wrong at:

/**
* Software End-stops
*
* - Prevent moves outside the set machine bounds.
* - Individual axes can be disabled, if desired.
* - X and Y only apply to Cartesian robots.
* - Use 'M211' to set software end-stops on/off or report current state
* - mine shows Soft endstops: ON Min: X0.00 Y0.00 Z0.00 Max: X140.00 Y140.00 Z130.00 (correct bed size)

// Min software end-stops constrain movement within minimum coordinate bounds
#define MIN_SOFTWARE_ENDSTOPS
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
#define MIN_SOFTWARE_ENDSTOP_X
#define MIN_SOFTWARE_ENDSTOP_Y
#define MIN_SOFTWARE_ENDSTOP_Z
#endif

// Max software end-stops constrain movement within maximum coordinate bounds
#define MAX_SOFTWARE_ENDSTOPS
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
#define MAX_SOFTWARE_ENDSTOP_X
#define MAX_SOFTWARE_ENDSTOP_Y
#define MAX_SOFTWARE_ENDSTOP_Z
#endif

Just can't figure it out.
Attachments:
open | download - testcube_05mm.gcode (33.5 KB)
Re: Z Axis homing issue - driving me crazyangry smiley
January 06, 2021 08:49AM
Can you restate your issue please.
Set up can be very confusing as there are a lot of variables/options including some that can contradict each other.

You highlighted "but G28 MOVES BED UP!!!" as if it is wrong but that is correct for a moving bed. It will move up until it trigers the end stop (or the soft limit).
You said "X:0.00 Y:0.00 Z:3.00 E:0.00 Count X:0 Y:0 Z:12000 Correct!! (BED MOVES UP)" which is NOT CORRECT if the bed has homed. It should move from the home (0 position) to be 3mm lower.

Software end stops will only work relative to the true end stops so turn them off for now to avoid confusion.

You M119 only showed the Y axis triggered so there is no evidence the others are working or you have reached the switches. Close the switches by hand then use M119 to confirm they work. If so carefully step the z height so the bed goes towards the switch ( up ) and physicaly switches it. Carefully because if you go to far you will push the bed into the hot end.
M114 only confirmed it reached its target number but has no direct relationship to the real world. If it wont home it wont set zero correctly and all travels will be from its arbitrary zero. It probably sets to zero at power up so its wherever you left the bed last time you turned it off.

Check you have the correct Z offset for the bed relative to the z endstop switch. I believ this will be a posetive number for a moving bed.
Hope this is of some help.
Sorry, only registered users may post in this forum.

Click here to login