Hi,
I've scoured the forums and read everything I could about endstops.
My problem: When I execute an M119 to check the status of the endstops, the endstops take many seconds(often more than 10) to register a state change. Please see the attached png. I held down the Z endstop microswitch at timepoint 19:45:42.270...then reissued M119 commands until it detected the change at 19:45:55.647. I've swapped endstop microswitches, and made sure my endstop cables are far away from the stepper cables. My endstops switches are wired C - NC.
I have the latest Repetier 0.83/Mendel with the latest Repetier-Host 0.90c on Linux Mint 15.
Megatronics v2 board with mechanical endstops connected to the -X, -Y, -Z on the physical board(MIN) pins.
Manual movement for X,Y,Z works great, no problem there.
The axis will home if I hold down the endstop until it registers, then hit X/Y/Z home and it seems to do the home action with the little in out and reset by 5mm or 2mm.
Any hints would really help me out.
Thank you
pins.h
#define X_STEP_PIN 26
#define X_DIR_PIN 27
#define X_ENABLE_PIN 25
#define X_MIN_PIN 37
#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. real pin 40
#define Y_STEP_PIN 4 // A6
#define Y_DIR_PIN 54 // A0
#define Y_ENABLE_PIN 5
#define Y_MIN_PIN 41
#define Y_MAX_PIN -1 //15? real pin38
#define Z_STEP_PIN 56 // A2
#define Z_DIR_PIN 60 // A6
#define Z_ENABLE_PIN 55 // A1
#define Z_MIN_PIN 18 //set to 18 by default. -1 to disable the check also set MIN_HARDWARE_ENDSTOP_Z false
#define Z_MAX_PIN -1 //real pin 19
I've scoured the forums and read everything I could about endstops.
My problem: When I execute an M119 to check the status of the endstops, the endstops take many seconds(often more than 10) to register a state change. Please see the attached png. I held down the Z endstop microswitch at timepoint 19:45:42.270...then reissued M119 commands until it detected the change at 19:45:55.647. I've swapped endstop microswitches, and made sure my endstop cables are far away from the stepper cables. My endstops switches are wired C - NC.
I have the latest Repetier 0.83/Mendel with the latest Repetier-Host 0.90c on Linux Mint 15.
Megatronics v2 board with mechanical endstops connected to the -X, -Y, -Z on the physical board(MIN) pins.
Manual movement for X,Y,Z works great, no problem there.
The axis will home if I hold down the endstop until it registers, then hit X/Y/Z home and it seems to do the home action with the little in out and reset by 5mm or 2mm.
Any hints would really help me out.
Thank you
Quote
#define ENDSTOP_PULLUP_X_MIN false
#define ENDSTOP_PULLUP_Y_MIN false
#define ENDSTOP_PULLUP_Z_MIN false
#define ENDSTOP_PULLUP_X_MAX false
#define ENDSTOP_PULLUP_Y_MAX false
#define ENDSTOP_PULLUP_Z_MAX false
//set to true to invert the logic of the endstops
#define ENDSTOP_X_MIN_INVERTING true
#define ENDSTOP_Y_MIN_INVERTING true
#define ENDSTOP_Z_MIN_INVERTING true
#define ENDSTOP_X_MAX_INVERTING true
#define ENDSTOP_Y_MAX_INVERTING true
#define ENDSTOP_Z_MAX_INVERTING true
// Set the values true where you have a hardware endstop. The Pin number is taken from pins.h.
#define MIN_HARDWARE_ENDSTOP_X true
#define MIN_HARDWARE_ENDSTOP_Y true
#define MIN_HARDWARE_ENDSTOP_Z true
#define MAX_HARDWARE_ENDSTOP_X false
#define MAX_HARDWARE_ENDSTOP_Y false
#define MAX_HARDWARE_ENDSTOP_Z false
//If your axes are only moving in one direction, make sure the endstops are connected properly.
//If your axes move in one direction ONLY when the endstops are triggered, set ENDSTOPS_INVERTING to true here
//// ADVANCED SETTINGS - to tweak parameters
// 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
// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false
// Inverting axis direction
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
//// 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
// Delta robot radius endstop
#define max_software_endstop_r true
//If true, axis won't move to coordinates less than zero.
#define min_software_endstop_x false
#define min_software_endstop_y false
#define min_software_endstop_z false
//If true, axis won't move to coordinates greater than the defined lengths below.
#define max_software_endstop_x true
#define max_software_endstop_y true
#define max_software_endstop_z true
// If during homing the endstop is reached, ho many mm should the printer move back for the second try
#define ENDSTOP_X_BACK_MOVE 5
#define ENDSTOP_Y_BACK_MOVE 5
#define ENDSTOP_Z_BACK_MOVE 2
// For higher precision you can reduce the speed for the second test on the endstop
// during homing operation. The homing speed is divided by the value. 1 = same speed, 2 = half speed
#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 2
#define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 2
#define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 2
// When you have several endstops in one circuit you need to disable it after homing by moving a
// small amount back. This is also the case with H-belt systems.
#define ENDSTOP_X_BACK_ON_HOME 1
#define ENDSTOP_Y_BACK_ON_HOME 14
#define ENDSTOP_Z_BACK_ON_HOME 0
// You can disable endstop checking for print moves. This is needed, if you get sometimes
// false signals from your endstops. If your endstops don't give false signals, you
// can set it on for safety.
#define ALWAYS_CHECK_ENDSTOPS false
// maximum positions in mm - only fixed numbers!
// For delta robot Z_MAX_LENGTH is maximum travel of the towers and should be set to the distance between the hotend
// and the platform when the printer is at its home position.
// If EEPROM is enabled these values will be overidden with the values in the EEPROM
#define X_MAX_LENGTH 200
#define Y_MAX_LENGTH 200
#define Z_MAX_LENGTH 180
// Coordinates for the minimum axis. Can also be negative if you want to have the bed start at 0 and the printer can go to the left side
// of the bed. Maximum coordinate is given by adding the above X_MAX_LENGTH values.
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
pins.h
#define X_STEP_PIN 26
#define X_DIR_PIN 27
#define X_ENABLE_PIN 25
#define X_MIN_PIN 37
#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. real pin 40
#define Y_STEP_PIN 4 // A6
#define Y_DIR_PIN 54 // A0
#define Y_ENABLE_PIN 5
#define Y_MIN_PIN 41
#define Y_MAX_PIN -1 //15? real pin38
#define Z_STEP_PIN 56 // A2
#define Z_DIR_PIN 60 // A6
#define Z_ENABLE_PIN 55 // A1
#define Z_MIN_PIN 18 //set to 18 by default. -1 to disable the check also set MIN_HARDWARE_ENDSTOP_Z false
#define Z_MAX_PIN -1 //real pin 19