The Mysterious Disappearaing Endstop

So I have been a long time forum user of all kinds.  However, this is the first time I haven't been able to find any older posts that match my problem.  I am totally out of Ideas.  I built a Kossel Delta printer last month and I have been very happy with it.  After some miner set backs I managed to calibrate my printer and make a few simple objects.  happy ever after right?  Well it would have been but I had to try and tinker with it.  The auto bed function never worked properly when ever I tried to run the program it would returned an error message "Error: Cpos X square". Which was annoying but ultimately not a big deal.  I tried changing my "#define DISTORTION_CORRECTION" from 0 to 1.  I uploaded the new settings to my Arduino without any issues.  When I homed my printer for the first time the X tower crashed into its endstop.  I undid the changes I made and upload the same configuration as I had before but the printer still crashed into the x endstop.  When the x endstop is triggered it turns on a red LED as it always has.  So i know the endstop is getting power from the Arduino.  I manually checked the signal out put using m119 and the X endstop returned L regardless of weather it was being triggered.  All the other endstops including the z probe functioned properly.  At this point I figured it must be a hardware issue so I replaced the endstop and the wiring with no effect.  I also tried re-downloaded Repetier host with no effect.  After almost a month I'm starting to lose hope.  My only other thought is may be it is a problem in my code.  Sometimes if I stare at something long enough I miss the obvious problem.  Without being able to home my printer I an dead in the water.  If anyone has any advise it would be appreciated.  My H configuration if too long to post.  Will add it in the comments.

Comments

  • edited August 2015
    #define BLUETOOTH_SERIAL  -1
    #define BLUETOOTH_BAUD  115200
    #define MIXING_EXTRUDER 0

    #define DRIVE_SYSTEM 3
    #define XAXIS_STEPS_PER_MM 80
    #define YAXIS_STEPS_PER_MM 80
    #define ZAXIS_STEPS_PER_MM 80
    #define EXTRUDER_FAN_COOL_TEMP 50
    #define PDM_FOR_EXTRUDER 0
    #define PDM_FOR_COOLER 0
    #define DECOUPLING_TEST_MAX_HOLD_VARIANCE 20
    #define DECOUPLING_TEST_MIN_TEMP_RISE 1
    #define KILL_IF_SENSOR_DEFECT 0
    #define RETRACT_ON_PAUSE 2
    #define PAUSE_START_COMMANDS ""
    #define PAUSE_END_COMMANDS ""
    #define EXT0_X_OFFSET 0
    #define EXT0_Y_OFFSET 0
    #define EXT0_Z_OFFSET 0
    #define EXT0_STEPS_PER_MM 370
    #define EXT0_TEMPSENSOR_TYPE 1
    #define EXT0_TEMPSENSOR_PIN TEMP_0_PIN
    #define EXT0_HEATER_PIN HEATER_0_PIN
    #define EXT0_STEP_PIN ORIG_E0_STEP_PIN
    #define EXT0_DIR_PIN ORIG_E0_DIR_PIN
    #define EXT0_INVERSE 0
    #define EXT0_ENABLE_PIN E0_ENABLE_PIN
    #define EXT0_ENABLE_ON 0
    #define EXT0_MAX_FEEDRATE 50
    #define EXT0_MAX_START_FEEDRATE 20
    #define EXT0_MAX_ACCELERATION 5000
    #define EXT0_HEAT_MANAGER 3
    #define EXT0_WATCHPERIOD 1
    #define EXT0_PID_INTEGRAL_DRIVE_MAX 230
    #define EXT0_PID_INTEGRAL_DRIVE_MIN 40
    #define EXT0_PID_PGAIN_OR_DEAD_TIME 7
    #define EXT0_PID_I 2
    #define EXT0_PID_D 40
    #define EXT0_PID_MAX 255
    #define EXT0_ADVANCE_K 0
    #define EXT0_ADVANCE_L 0
    #define EXT0_ADVANCE_BACKLASH_STEPS 0
    #define EXT0_WAIT_RETRACT_TEMP 150
    #define EXT0_WAIT_RETRACT_UNITS 0
    #define EXT0_SELECT_COMMANDS ""
    #define EXT0_DESELECT_COMMANDS ""
    #define EXT0_EXTRUDER_COOLER_PIN -1
    #define EXT0_EXTRUDER_COOLER_SPEED 255
    #define EXT0_DECOUPLE_TEST_PERIOD 12000
    #define EXT0_JAM_PIN -1
    #define EXT0_JAM_PULLUP 0

    #define FEATURE_RETRACTION 1
    #define AUTORETRACT_ENABLED 0
    #define RETRACTION_LENGTH 3
    #define RETRACTION_LONG_LENGTH 13
    #define RETRACTION_SPEED 40
    #define RETRACTION_Z_LIFT 0
    #define RETRACTION_UNDO_EXTRA_LENGTH 0
    #define RETRACTION_UNDO_EXTRA_LONG_LENGTH 0
    #define RETRACTION_UNDO_SPEED 20
    #define FILAMENTCHANGE_X_POS 0
    #define FILAMENTCHANGE_Y_POS 0
    #define FILAMENTCHANGE_Z_ADD  2
    #define FILAMENTCHANGE_REHOME 1
    #define FILAMENTCHANGE_SHORTRETRACT 5
    #define FILAMENTCHANGE_LONGRETRACT 50
    #define JAM_STEPS 220
    #define JAM_SLOWDOWN_STEPS 320
    #define JAM_SLOWDOWN_TO 70
    #define JAM_ERROR_STEPS 500
    #define JAM_MIN_STEPS 10
    #define JAM_ACTION 1

    #define RETRACT_DURING_HEATUP true
    #define PID_CONTROL_RANGE 20
    #define SKIP_M109_IF_WITHIN 2
    #define SCALE_PID_TO_MAX 0
    #define TEMP_HYSTERESIS 0
    #define EXTRUDE_MAXLENGTH 160
    #define NUM_TEMPS_USERTHERMISTOR0 0
    #define USER_THERMISTORTABLE0 {}
    #define NUM_TEMPS_USERTHERMISTOR1 0
    #define USER_THERMISTORTABLE1 {}
    #define NUM_TEMPS_USERTHERMISTOR2 0
    #define USER_THERMISTORTABLE2 {}
    #define GENERIC_THERM_VREF 5
    #define GENERIC_THERM_NUM_ENTRIES 33
    #define HEATER_PWM_SPEED 0

    // ################ Endstop configuration #####################

    #define ENDSTOP_PULLUP_X_MIN false
    #define ENDSTOP_X_MIN_INVERTING false
    #define MIN_HARDWARE_ENDSTOP_X false
    #define ENDSTOP_PULLUP_Y_MIN false
    #define ENDSTOP_Y_MIN_INVERTING false
    #define MIN_HARDWARE_ENDSTOP_Y false
    #define ENDSTOP_PULLUP_Z_MIN false
    #define ENDSTOP_Z_MIN_INVERTING false
    #define MIN_HARDWARE_ENDSTOP_Z false
    #define ENDSTOP_PULLUP_X_MAX true
    #define ENDSTOP_X_MAX_INVERTING true
    #define MAX_HARDWARE_ENDSTOP_X true
    #define ENDSTOP_PULLUP_Y_MAX true
    #define ENDSTOP_Y_MAX_INVERTING true
    #define MAX_HARDWARE_ENDSTOP_Y true
    #define ENDSTOP_PULLUP_Z_MAX true
    #define ENDSTOP_Z_MAX_INVERTING true
    #define MAX_HARDWARE_ENDSTOP_Z true
    #define max_software_endstop_r true

    #define min_software_endstop_x false
    #define min_software_endstop_y false
    #define min_software_endstop_z false
    #define max_software_endstop_x true
    #define max_software_endstop_y true
    #define max_software_endstop_z true
    #define ENDSTOP_X_BACK_MOVE 5
    #define ENDSTOP_Y_BACK_MOVE 5
    #define ENDSTOP_Z_BACK_MOVE 5 
    #define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_X_BACK_ON_HOME 1
    #define ENDSTOP_Y_BACK_ON_HOME 1
    #define ENDSTOP_Z_BACK_ON_HOME 0
    #define ALWAYS_CHECK_ENDSTOPS 1

    // ################# XYZ movements ###################

    #define X_ENABLE_ON 0
    #define Y_ENABLE_ON 0
    #define Z_ENABLE_ON 0
    #define DISABLE_X 0
    #define DISABLE_Y 0
    #define DISABLE_Z 0
    #define DISABLE_E 0
    #define INVERT_X_DIR 1
    #define INVERT_Y_DIR 1
    #define INVERT_Z_DIR 1
    #define X_HOME_DIR -1
    #define Y_HOME_DIR -1
    #define Z_HOME_DIR 1
    #define X_MAX_LENGTH 525 
    #define Y_MAX_LENGTH 525
    #define Z_MAX_LENGTH 272.8
    #define X_MIN_POS 0
    #define Y_MIN_POS 0
    #define Z_MIN_POS 0
    #define DISTORTION_CORRECTION 1
    #define DISTORTION_CORRECTION_POINTS 5
    #define DISTORTION_CORRECTION_R 100
    #define DISTORTION_PERMANENT 1
    #define DISTORTION_UPDATE_FREQUENCY 15
    #define DISTORTION_START_DEGRADE 0.5
    #define DISTORTION_END_HEIGHT 1
    #define DISTORTION_EXTRAPOLATE_CORNERS 1

    // ##########################################################################################
    // ##                           Movement settings                                          ##
    // ##########################################################################################

    #define FEATURE_BABYSTEPPING 1
    #define BABYSTEP_MULTIPLICATOR 1

    #define DELTA_SEGMENTS_PER_SECOND_PRINT 180 // Move accurate setting for print moves
    #define DELTA_SEGMENTS_PER_SECOND_MOVE 70 // Less accurate setting for other moves

    // Delta settings
    #define DELTA_DIAGONAL_ROD 223 // mm
    #define DELTA_ALPHA_A 210
    #define DELTA_ALPHA_B 330
    #define DELTA_ALPHA_C 90
    #define DELTA_RADIUS_CORRECTION_A 0
    #define DELTA_RADIUS_CORRECTION_B 0
    #define DELTA_RADIUS_CORRECTION_C 0
    #define DELTA_DIAGONAL_CORRECTION_A 0
    #define DELTA_DIAGONAL_CORRECTION_B 0
    #define DELTA_DIAGONAL_CORRECTION_C 0
    #define END_EFFECTOR_HORIZONTAL_OFFSET 0
    #define CARRIAGE_HORIZONTAL_OFFSET 0
    #define DELTA_MAX_RADIUS 200  
    #define ROD_RADIUS 210
    #define PRINTER_RADIUS 210
    #define DELTA_HOME_ON_POWER 0
    #define STEP_COUNTER
    #define DELTA_X_ENDSTOP_OFFSET_STEPS 0
    #define DELTA_Y_ENDSTOP_OFFSET_STEPS 0
    #define DELTA_Z_ENDSTOP_OFFSET_STEPS 0
    #define DELTA_FLOOR_SAFETY_MARGIN_MM 15
    //#define SOFTWARE_LEVELING

    #define DELTASEGMENTS_PER_PRINTLINE 24
    #define STEPPER_INACTIVE_TIME 360L
    #define MAX_INACTIVE_TIME 0L
    #define MAX_FEEDRATE_X 200
    #define MAX_FEEDRATE_Y 200
    #define MAX_FEEDRATE_Z 2
    #define HOMING_FEEDRATE_X 40
    #define HOMING_FEEDRATE_Y 40
    #define HOMING_FEEDRATE_Z 2
    #define HOMING_ORDER HOME_ORDER_ZXY
    #define ZHOME_MIN_TEMPERATURE 0
    #define ZHOME_HEAT_ALL 1
    #define ZHOME_HEAT_HEIGHT 20
    #define ZHOME_X_POS 999999
    #define ZHOME_Y_POS 999999
    #define ENABLE_BACKLASH_COMPENSATION 0
    #define X_BACKLASH 0
    #define Y_BACKLASH 0
    #define Z_BACKLASH 0
    #define RAMP_ACCELERATION 1
    #define STEPPER_HIGH_DELAY 0
    #define DIRECTION_DELAY 0
    #define STEP_DOUBLER_FREQUENCY 12000
    #define ALLOW_QUADSTEPPING 1
    #define DOUBLE_STEP_DELAY 0 // time in microseconds
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 1000
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1000
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
    #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 100
    #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 100
    #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
    #define MAX_JERK 20
    #define MAX_ZJERK 0.3
    #define PRINTLINE_CACHE_SIZE 16
    #define MOVE_CACHE_LOW 10
    #define LOW_TICKS_PER_MOVE 250000
    #define FEATURE_TWO_XSTEPPER 0
    #define X2_STEP_PIN   ORIG_E1_STEP_PIN
    #define X2_DIR_PIN    ORIG_E1_DIR_PIN
    #define X2_ENABLE_PIN E1_ENABLE_PIN
    #define FEATURE_TWO_YSTEPPER 0
    #define Y2_STEP_PIN   ORIG_E1_STEP_PIN
    #define Y2_DIR_PIN    ORIG_E1_DIR_PIN
    #define Y2_ENABLE_PIN E1_ENABLE_PIN
    #define FEATURE_TWO_ZSTEPPER 0
    #define Z2_STEP_PIN   ORIG_E1_STEP_PIN
    #define Z2_DIR_PIN    ORIG_E1_DIR_PIN
    #define Z2_ENABLE_PIN E1_ENABLE_PIN
    #define FEATURE_DITTO_PRINTING 0
    #define USE_ADVANCE 0
    #define ENABLE_QUADRATIC_ADVANCE 0
  • You seem to have an electronic endstop, so maybe you need to disable endstop pullups. If pullup is stronger then signal this can override any signal from endstop. Only confusing I find is that you say only x endstop has the problem. But maybe they are all near the edge just on the other side.

    Your "Error: Cpos X square" comes from a test point that is outside reachable area. Echeck in eeprom your probing position and make them near your towers.
  • After a long absence I have taken my delta printer out of the closet in hopes of getting it running again. To answer your question from many months ago yes I do have electronic endstops.  I disabled the x_max pullup.  Now when I try to home my printer the X stepper does not move at all.  The Z and Y steppers continue to work properly.  After running an m119 command my repetier software now tells me that my X endstop is triggered whether the switch is open or closed.  Any suggestions?  I will try to get back to you a little faster this time. 
Sign In or Register to comment.