Welcome! Log In Create A New Profile

Advanced

No homing G28 / ignores endstops

Posted by T@oo 
No homing G28 / ignores endstops
May 19, 2013 10:25AM
Hi there!

I new to 3D printing. I've build a Rostok. Mechanics and electronics seems fine (Gen 7 1.5). Repetier firmware 0.83 / Repetierhost 0.85c.

I successfully flashed the fimware to the board and I'm able to move the motors using Repetierhost. However, two problems:

1) It seems to ignore (opto-) endstops. I change the config so using M119 it shows x_min / y_min / z_min = L. But when moving, it just keeps moving despite hitting the endstop (and M119 showing H).

2) G28 or Homing button does nothing. Really. Zero.

Any hints where to to look? Thanks!

Here's the relevant part of my configuration.h :

#ifndef CONFIGURATION_H
#define CONFIGURATION_H
##########################################################################################
## IMPORTANT ##
##########################################################################################
#define NUM_EXTRUDER 1
#define MOTHERBOARD 71
#include "pins.h"
//#define COMPAT_PRE1
#define DRIVE_SYSTEM 3
// ##########################################################################################
// ## Calibration ##
// ##########################################################################################
#if DRIVE_SYSTEM==3
#define DELTA_DRIVE_TYPE 0
#if DELTA_DRIVE_TYPE == 0
#define BELT_PITCH 2.5
#define PULLEY_TEETH 16
#define PULLEY_CIRCUMFERENCE (BELT_PITCH * PULLEY_TEETH)
#elif DELTA_DRIVE_TYPE == 1
#define PULLEY_DIAMETER 10
#define PULLEY_CIRCUMFERENCE (PULLEY_DIAMETER * 3.1415927)
#endif
#define STEPS_PER_ROTATION 400
#define MICRO_STEPS 8
#define MAX_DELTA_SEGMENTS_PER_LINE 30
#define AXIS_STEPS_PER_MM ((float)(MICRO_STEPS * STEPS_PER_ROTATION) / PULLEY_CIRCUMFERENCE)
#define XAXIS_STEPS_PER_MM AXIS_STEPS_PER_MM
#define YAXIS_STEPS_PER_MM AXIS_STEPS_PER_MM
#define ZAXIS_STEPS_PER_MM AXIS_STEPS_PER_MM
#else
#define XAXIS_STEPS_PER_MM 98.425196
#define YAXIS_STEPS_PER_MM 98.425196
#define ZAXIS_STEPS_PER_MM 2560
#endif

// ##########################################################################################
// ## Endstop configuration ##
// ##########################################################################################
#define ENDSTOP_PULLUP_X_MIN false
#define ENDSTOP_PULLUP_Y_MIN false
#define ENDSTOP_PULLUP_Z_MIN false
#define ENDSTOP_PULLUP_X_MAX true
#define ENDSTOP_PULLUP_Y_MAX true
#define ENDSTOP_PULLUP_Z_MAX true
#define ENDSTOP_X_MIN_INVERTING false
#define ENDSTOP_Y_MIN_INVERTING false
#define ENDSTOP_Z_MIN_INVERTING false
#define ENDSTOP_X_MAX_INVERTING false
#define ENDSTOP_Y_MAX_INVERTING false
#define ENDSTOP_Z_MAX_INVERTING false
#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
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1
#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 2
#define ENDSTOP_Y_BACK_MOVE 2
#define ENDSTOP_Z_BACK_MOVE 2
#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 2
#define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 2
#define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 2
#define ENDSTOP_X_BACK_ON_HOME 1
#define ENDSTOP_Y_BACK_ON_HOME 14
#define ENDSTOP_Z_BACK_ON_HOME 0
#define ALWAYS_CHECK_ENDSTOPS true
#define X_MAX_LENGTH 175
#define Y_MAX_LENGTH 175
#define Z_MAX_LENGTH 300
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
// ##########################################################################################
// ## Movement settings ##
// ##########################################################################################
#define MICROSTEP_MODES {8,8,8,8,8} // [1,2,4,8,16]
//#define MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
//#define MOTOR_CURRENT {35713,35713,35713,35713,35713} // Values 0-65535 (3D Master 35713 = ~1A)
#if DRIVE_SYSTEM==3
#define DELTA_DIAGONAL_ROD 250.0 // mm
#define DELTA_SEGMENTS_PER_SECOND_PRINT 200 // Move accurate setting for print moves
#define DELTA_SEGMENTS_PER_SECOND_MOVE 70 // Less accurate setting for other moves
#define END_EFFECTOR_HORIZONTAL_OFFSET 33
#define CARRIAGE_HORIZONTAL_OFFSET 18
#define PRINTER_RADIUS 175
#define DELTA_RADIUS (PRINTER_RADIUS-END_EFFECTOR_HORIZONTAL_OFFSET-CARRIAGE_HORIZONTAL_OFFSET)
#define STEP_COUNTER
#define SOFTWARE_LEVELING
#endif
#define STEPPER_INACTIVE_TIME 120L
#define MAX_INACTIVE_TIME 0L
#define MAX_FEEDRATE_X 200
#define MAX_FEEDRATE_Y 200
#define MAX_FEEDRATE_Z 5
#define HOMING_FEEDRATE_X 50
#define HOMING_FEEDRATE_Y 50
#define HOMING_FEEDRATE_Z 50
#define ENABLE_BACKLASH_COMPENSATION false
#define Z_BACKLASH 0
#define X_BACKLASH 0
#define Y_BACKLASH 0
#define RAMP_ACCELERATION 1
#define STEPPER_HIGH_DELAY 0
#define STEP_DOUBLER_FREQUENCY 12000
#define ALLOW_QUADSTEPPING true
#define DOUBLE_STEP_DELAY 1 // time in us
#define MAX_HALFSTEP_INTERVAL 1999
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 1500
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1500
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 1500
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 3000
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 3000
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 3000
#define MAX_JERK 20.0
#define MAX_ZJERK 0.3
#define MOVE_CACHE_SIZE 16
#define MOVE_CACHE_LOW 10
#define LOW_TICKS_PER_MOVE 250000
// ##########################################################################################
// ## Extruder control ##
// ##########################################################################################
#define TIMER0_PRESCALE 64
#define MIN_EXTRUDER_TEMP 0
#define USE_OPS 1
#define OPS_MODE 0
#define OPS_MIN_DISTANCE 0.8
#define OPS_MOVE_AFTER 50.0
#define OPS_RETRACT_DISTANCE 1.5
#define OPS_RETRACT_BACKLASH 0.0
#define USE_ADVANCE
//#define ENABLE_QUADRATIC_ADVANCE
// ##########################################################################################
// ## Communication configuration ##
// ##########################################################################################
//#define BAUDRATE 76800
#define BAUDRATE 115200
//#define BAUDRATE 250000
#define ENABLE_POWER_ON_STARTUP
#define POWER_INVERTING false
#define KILL_METHOD 1
#define GCODE_BUFFER_SIZE 2
#define ACK_WITH_LINENUMBER
#define WAITING_IDENTIFIER "wait"
#define ECHO_ON_EXECUTE
#define EEPROM_MODE 0
#ifndef SDSUPPORT // Some boards have sd support on board. These define the values already in pins.h
#define SDSUPPORT false
#define SD_ALLOW_LONG_NAMES false
#define SDCARDDETECT -1
#define SDCARDDETECTINVERTED false
#endif
#define SD_EXTENDED_DIR
#define ARC_SUPPORT true
#define FEATURE_MEMORY_POSITION true
#define FEATURE_CHECKSUM_FORCED false
#define FEATURE_FAN_CONTROL true
#define FEATURE_CONTROLLER 0
#define UI_LANGUAGE 1
#define UI_VERSION_STRING2 "3d Delta v1"
#define UI_PAGES_DURATION 4000
#define UI_DISABLE_AUTO_PAGESWITCH true
#define UI_AUTORETURN_TO_MENU_AFTER 30000
#define FEATURE_UI_KEYS 0
#define UI_ENCODER_SPEED 1
#define UI_KEY_BOUNCETIME 10
#define UI_KEY_FIRST_REPEAT 500
#define UI_KEY_REDUCE_REPEAT 50
#define UI_KEY_MIN_REPEAT 50
#define FEATURE_BEEPER true
#define BEEPER_SHORT_SEQUENCE 2,2
#define BEEPER_LONG_SEQUENCE 8,8
// ###############################################################################
// ## Values for menu settings ##
// ###############################################################################
#define UI_SET_PRESET_HEATED_BED_TEMP_PLA 60
#define UI_SET_PRESET_EXTRUDER_TEMP_PLA 180
#define UI_SET_PRESET_HEATED_BED_TEMP_ABS 110
#define UI_SET_PRESET_EXTRUDER_TEMP_ABS 240
#define UI_SET_MIN_HEATED_BED_TEMP 55
#define UI_SET_MAX_HEATED_BED_TEMP 120
#define UI_SET_MIN_EXTRUDER_TEMP 160
#define UI_SET_MAX_EXTRUDER_TEMP 270
#define UI_SET_EXTRUDER_FEEDRATE 2 // mm/sec
#define UI_SET_EXTRUDER_RETRACT_DISTANCE 3 // mm
#endif
Re: No homing G28 / ignores endstops
May 19, 2013 11:30AM
If you build a Rostock you have the endstops at the top I guess? At least that is where you will need them to work as expected.

In that case these are max endstops not min endstops. Check the pins.h as you need to use the pin numbers from the min pins for the max pin numbers and of course change all the endstop related stuff to activate max instead of min endstops. After that perhaps even homing works.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: No homing G28 / ignores endstops
May 19, 2013 12:21PM
Thank you. That was the missing link. For reference, here's what I changed. This if for Opto-Endstops:

pins.h:

//x axis pins

#define X_MIN_PIN -1
#define X_MAX_PIN 0

//y axis pins

#define Y_MIN_PIN -1
#define Y_MAX_PIN 1

//z axis pins

#define Z_MIN_PIN -1
#define Z_MAX_PIN 2

configuration.h:

#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 false
#define ENDSTOP_Y_MIN_INVERTING false
#define ENDSTOP_Z_MIN_INVERTING false
#define ENDSTOP_X_MAX_INVERTING false
#define ENDSTOP_Y_MAX_INVERTING false
#define ENDSTOP_Z_MAX_INVERTING false

// Set the values true where you have a hardware endstop. The Pin numbe ris taken from pins.h.

#define MIN_HARDWARE_ENDSTOP_X false
#define MIN_HARDWARE_ENDSTOP_Y false
#define MIN_HARDWARE_ENDSTOP_Z false
#define MAX_HARDWARE_ENDSTOP_X true
#define MAX_HARDWARE_ENDSTOP_Y true
#define MAX_HARDWARE_ENDSTOP_Z 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

Thanks again. Finally able to calibrate now.
Sorry, only registered users may post in this forum.

Click here to login