I really wanted to solve this myself and spent almost two days trying to get everything to work, but now I'm finally devastated, trying to find the problem.
I'm using a Mega 2560 with RAMPS 1.4. Bottom-up build, one endstop. Here's a picture for reference (the endstop is marked with yellow tape):
http://teptec.net/wp-content/uploads/20 ... 051548.jpg
The motor is sitting at the bottom, I've set the steps per mm to 320 (as suggested in my other thread). When I hit the move 1/10/50 mm up/down buttons in CW or Pronterface it moves accordingly, so far so good.
Now for the actual problem. I can't seem to setup the movements, endstop and home position correctly.
The optical endstop is currently connected to Z-MIN and with the current mechanical setup (see blow) it seems to be ignored... occasionally. I'm not even sure how to describe it other than "weird stuff going on" which obviously won't help with the diagnosis.
With all the trial and error I had a kind of working setup a few hours ago where the endstop was connected to Z-MAX, hitting the home button made it stop there and everything was cool... except for the little problem that everything except for the axis was upside down. So it tried printing upwards from the home position and of course that made it crash into the endstop.
I'm probably just overseeing something dumb here, but after all this thinking and cursing I feel like asking someone to point me in the right direction. Here's the "Mechanical Setting" part from my config (assuming other parts of the config don't matter right now as the communication, etc seems to work fine).
Code: Select all
//============================= Mechanical Settings =========================
// Uncomment this option to enable CoreXY kinematics
// #define COREXY
// Enable this option for Toshiba steppers
// #define CONFIG_STEPPERS_TOSHIBA
// The pullups are needed if you directly connect a mechanical endstop between the signal and ground pins.
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = false; // 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 = false; // 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_MIN_ENDSTOPS
// 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 true
#define DISABLE_Y true
#define DISABLE_Z false
#define DISABLE_E true // For all extruders
#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
// If you motor turns to wrong direction, you can invert it here:
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR true
#define INVERT_E0_DIR false
#define INVERT_E1_DIR false
#define INVERT_E2_DIR false
#define INVERT_E3_DIR 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 true // If true, axis won't move to coordinates greater than the defined lengths below.
// Travel limits after homing (units are in mm)
#define X_MAX_POS 200
#define X_MIN_POS 0
#define Y_MAX_POS 200
#define Y_MIN_POS 0
#define Z_MAX_POS 111
#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)
Summarized: I want the platform to have it's home position at the upper endstop, move down X millimeters where it's supposed to be in the VAT and move back towards home during printing. Is that even the right way around? Should MIN be at the top or at the bottom? What would be the most obvious way for someone less confused to set this up based on the build?
Thanks in advance!