Hey guys. I'm building a smartcore and I'm basically done,

Hey guys. I’m building a smartcore and I’m basically done, and the x and y end stops work, but the z inductive sensor doesn’t. I’m using a ramps board with marlin. I’ve set it in the firmware but when the sensor triggers the led goes on but the motor doesn’t stop. I wired the + input to the 12v source and the + output and - to the endstop area on ramps, wired with 2 resistors following the diagram attached. I’ve attached some photos and the code to help you guys help me :slight_smile:

Thanks!!!

// Uncomment the following line to enable CoreXY kinematics
#define COREXY

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

#ifndef 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
#endif

#ifdef ENDSTOPPULLUPS
#define ENDSTOPPULLUP_XMAX
#define ENDSTOPPULLUP_YMAX
#define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN
#define ENDSTOPPULLUP_YMIN
#define 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 = true; // 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 = true; // 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 = true; // 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 true // 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.

// Travel limits after homing
#define X_MAX_POS 213
#define X_MIN_POS 0
#define Y_MAX_POS 200
#define Y_MIN_POS 0
#define Z_MAX_POS 300
#define Z_MIN_POS 0

#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
//============================= Bed Auto Leveling ===========================

#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.

#ifdef ENABLE_AUTO_BED_LEVELING

.

I have mine wired the same way does the light on the top of the inductive sensor light up near the aluminum? If it does then move one of the other two ends tops to the z spot and run the m119 command in pronterface. If it doesn’t show triggered when rhe switch is active then you most likely have a ramps problem

or it may be the sensor …

do you have a multimeter and have you checked whether you get a correct signal in 5V logic at the end?

Try undefining ENDSTOPPULLUP_ZMIN under #ifdef ENDSTOPPULLUPS; you may also have to fool around with Z_MIN_ENDSTOP_INVERTING depending on the trigger behavior that you’re having

@Griffin_Paquette when I attached the mechanical endstop and triggered it, the z motor stops.

@Matthias_Lewen-Riege when I read it with a multimeter, it reads 5v normally, and 0.2 or so when triggered.

The led goes on when I trigger it.

Thanks guys.

Can’t tell from the picture, but I guess you have the gnd and signal cables connected correctly to the ramps, right?

The mechanical endstop might have a different logic to it (normally open, or normally closed), so inverting might do the trick

But in the last pic the Z endstop has 2 wires and Y 3 wires, do you have to check, no?

@Giuseppe_Caldara Endstops typically have 3 wires: 5V, Signal and GND.

Since he’s using an inductive sensor, which needs more voltage than 5V, he gets it externally (from the main 12V supply) and so only needs to connect the GND and Signal lines.

@Matthias_Lewen-Riege ​ i know the number of the wires but Z endstop (inductive sensor) must have 3 wires, in pic only 2

@Giuseppe_Caldara the brown wire in the third picture is the third wire.

@Matthias_Lewen-Riege ​ ok perfect, now i see it!

How do I change the code from normally open to normally closed?

Also the wires are connected in signal, ground, from left to right with the usb facing you.

@James_Malenko , change the Z_MIN_ENDSTOP_INVERTING from false to true, but do this only if your M119 seems backwards

Cool stuff