Welcome! Log In Create A New Profile

Advanced

X endstop

Posted by erniehatt 
X endstop
August 24, 2018 09:56PM
Hi,
having problems with the X axis stop end,
I have searched but could not find anything of help.
The other two axis are working fine.
I can get it to move in the right directions, but the end stop does not work, I send an M119 and it tells me that Xmin is triggered whether I hold the lever down or not, I have it plugged into the Max socket.
I have tried so many different combinations my head is in a spin.
The endstop is on the right hand side.
Here is a copy of that part of the config file.

e ENDSTOPPULLUP_ZMIN
#endif

// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS

// Disable max endstops for compatibility with endstop checking routine
#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
#define DISABLE_MAX_ENDSTOPS
#endif

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders

// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false // For all extruders
#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled

#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR 1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1
#define min_software_endstops false // If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops false // If true, axis won't move to coordinates greater than the defined lengths below.
Any help would be very appreciated. thanks
Re: X endstop
August 25, 2018 12:52AM
what type of endstops?
what type of controller?

what does the "// @section homing" serction of your configuration.h look like?

have you tried swapping the endstop from another axis on to X endstop on the controller and trying that with M119?
have you tried the X endstop plugged into say y on the controller and tested it works with M119?

Presuming its not a dead IO pin on the controller....
The fact that it doesn't change indicates a broken wire or dead sensor or switch.
It could also be that the firmware is looking at the wrong pin.

Edited 3 time(s). Last edit at 08/25/2018 12:58AM by Dust.
Re: X endstop
August 25, 2018 01:30AM
In your configuration.h:

#define X_HOME_DIR 1;
This means it's a MAX endstop and is on the right side of the frame

const bool X_MAX_ENDSTOP_INVERTING = false;
This means the X MAX endstop switch is normally closed

const bool X_MIN_ENDSTOP_INVERTING = false
This means if you have a MIN X endstop it's switch is normally closed

Your Y and Z MIN stops are set to true (normally open) so
I would change the const bool X_MIN_ENDSTOP_INVERTING to true
I would change the const bool X_MAX_ENDSTOP_INVERTING to true;

Make sure you are using the X MAX pins on the RAMPS

I would also check that the X endstop switch is wired to normally open with a multi-meter (same as your Y and Z stops)

See step 14 onward in my Prusa I3 Instructable
[www.instructables.com]
Note - In the Instructable I use MIN on all the endstops


My updated Instructable on our Prusa i3 Build
[www.instructables.com]
Re: X endstop
August 25, 2018 01:49AM
direction of homing and inverting of homing signal are both irrelevant until the signal actually changes state in the first place
Re: X endstop
August 25, 2018 02:48AM
Thanks for the reply.
Its a Gen Base 1.4 board.
The endstop is a mechanical switch, and I tested that it does switch and there is continuity between switch ant connecting plug. And swapt it with Y and it works.
Connected it in the Xmin and it triggers OK, but have no movement in any direction when home is pressed.
So it seems as though it is something within Marlin

Not sure what you mean by this.
what does the "// @section homing" serction of your configuration.h look like?
I can see nothing in Marlin that looks like it.
Re: X endstop
August 25, 2018 03:04AM
looks like

// @section homing

// Specify here all the endstop connectors that are connected to any endstop or probe.
// Almost all printers will be using one per axis. Probes will use one or more of the
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG

you have to enable the plugs your using

from your config it looks like you want

// @section homing

// Specify here all the endstop connectors that are connected to any endstop or probe.
// Almost all printers will be using one per axis. Probes will use one or more of the
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
//#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG

and you have to plug the endstops in to the appropriate min(-) and max(+) plugs on the controller

Edited 1 time(s). Last edit at 08/25/2018 03:08AM by Dust.
Re: X endstop
August 25, 2018 03:22AM
Thanks SteveRoy,
Yes that helped a great deal.
I now have the homing going in the correct direction, but the X min and max switches are going in the wrong direction, how can I reverse that?
But I can live with it If I have to.
Re: X endstop
August 26, 2018 11:02AM
Quote
erniehatt
Thanks SteveRoy,
Yes that helped a great deal.
I now have the homing going in the correct direction, but the X min and max switches are going in the wrong direction, how can I reverse that?
But I can live with it If I have to.

I'm not sure what you mean by "the X min and max switches are going in the wrong direction"

In pronterface or Repieter an X+ direction is the carriage moving from left to right, a Y+ direction is the bed moving toward the front.
If this is wrong you can power the printer off and reverse the plug on the board for that motor.

Steve
Re: X endstop
August 27, 2018 03:43AM
Thanks Steve Roy, that fixed it.
Sorry, only registered users may post in this forum.

Click here to login