Марлин игнорирует концевики - где копать?
Господа, приветствую. Прошу помощи в настройке прошивки Марлин 1.Х.Х для лазерного гравера. взято с гитхаба https://github.com/timschmidt/buildlog-lasercutter-marlin
Проблема - игнорирует механические концевики. Уже второй день бьюсь. Причем прошивка просто для принтера работает нормально - концевики нормально отрабатывают парковку. Вчера репитер ставил - тоже норм, на нем может быть и остался бы, но с экраном там беда. Вчера правда я как то и где то в прошивке все же сменил так чтоб концевики работали (уже забыл где), но работали они странно - если по Х срабатывал раньше, то все движение прекращалось, до У даже не доходило, если раньше касалось У то просто катилось к Х без повторной медленной парковки в У. Скидываю раздел кода. Механика CoreXY (именно она а не HBOT), агрегат на фото. еще есть вопросы по подключению и настройки управления TTL, но по порядку...
//===========================================================================
//=============================Mechanical Settings===========================
//===========================================================================
// 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 Enstop 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 true
#define DISABLE_E true // For all extruders
// For Z-Axis with leadscrews, uncomment to save homeing status when disabling steppers (axis is unlikely to move on its own)
#define Z_AXIS_IS_LEADSCREW
#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 false // 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 true // 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
// AMRI Laser Cutter
//#define X_MAX_POS 600
//#define X_MIN_POS 0
//#define Y_MAX_POS 475
//#define Y_MIN_POS 0
//#define Z_MAX_POS 90
//#define Z_MIN_POS 0
// Lansing Makers Netowrk Laser Cutter
#define X_MAX_POS 300
#define X_MIN_POS 0
#define Y_MAX_POS 300
#define Y_MIN_POS 0
#define Z_MAX_POS 95
#define Z_MIN_POS 0
// China Town K40 CO2 Laser Engraver/Cutter
//#define X_MAX_POS 337
//#define X_MIN_POS 0
//#define Y_MAX_POS 230
//#define Y_MIN_POS 0
//#define Z_MAX_POS 75
//#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)
// The position of the homing switches
//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)
//Manual homing switch locations:
// For deltabots this means top and center of the cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0
//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {1500, 1500, 240, 0} // set the homing speeds (mm/min)
// default settings
// AMRI Laser Cutter
//#define DEFAULT_AXIS_STEPS_PER_UNIT {167.20882, 167.20882, 4000/25.4, 1380/4}
//#define DEFAULT_MAX_FEEDRATE {165, 165, 50, 200000} // (mm/sec)
//#define DEFAULT_MAX_ACCELERATION {5000,5000,5000,500} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
//#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
//#define DEFAULT_RETRACT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for r retracts
// Lansing Makers Netowork Laser Cutter
#define DEFAULT_AXIS_STEPS_PER_UNIT {(200*16)/(2.0*20),(200*16)/(2.0*20),6047.2440} // default steps per unit for Ultimaker
#define DEFAULT_MAX_FEEDRATE {2000, 2000, 10, 25} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {2000,2000,2.5,2.5} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
#define DEFAULT_ACCELERATION 1500 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION 2000 // X, Y, Z and E max acceleration in mm/s^2 for retracts
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis
// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
#define DEFAULT_XYJERK 20.0 // (mm/sec)
#define DEFAULT_ZJERK 0.4 // (mm/sec)
#define DEFAULT_EJERK 5.0 // (mm/sec)
Проблема - игнорирует механические концевики. Уже второй день бьюсь. Причем прошивка просто для принтера работает нормально - концевики нормально отрабатывают парковку. Вчера репитер ставил - тоже норм, на нем может быть и остался бы, но с экраном там беда. Вчера правда я как то и где то в прошивке все же сменил так чтоб концевики работали (уже забыл где), но работали они странно - если по Х срабатывал раньше, то все движение прекращалось, до У даже не доходило, если раньше касалось У то просто катилось к Х без повторной медленной парковки в У. Скидываю раздел кода. Механика CoreXY (именно она а не HBOT), агрегат на фото. еще есть вопросы по подключению и настройки управления TTL, но по порядку...
//===========================================================================
//=============================Mechanical Settings===========================
//===========================================================================
// 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 Enstop 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 true
#define DISABLE_E true // For all extruders
// For Z-Axis with leadscrews, uncomment to save homeing status when disabling steppers (axis is unlikely to move on its own)
#define Z_AXIS_IS_LEADSCREW
#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 false // 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 true // 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
// AMRI Laser Cutter
//#define X_MAX_POS 600
//#define X_MIN_POS 0
//#define Y_MAX_POS 475
//#define Y_MIN_POS 0
//#define Z_MAX_POS 90
//#define Z_MIN_POS 0
// Lansing Makers Netowrk Laser Cutter
#define X_MAX_POS 300
#define X_MIN_POS 0
#define Y_MAX_POS 300
#define Y_MIN_POS 0
#define Z_MAX_POS 95
#define Z_MIN_POS 0
// China Town K40 CO2 Laser Engraver/Cutter
//#define X_MAX_POS 337
//#define X_MIN_POS 0
//#define Y_MAX_POS 230
//#define Y_MIN_POS 0
//#define Z_MAX_POS 75
//#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)
// The position of the homing switches
//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)
//Manual homing switch locations:
// For deltabots this means top and center of the cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0
//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {1500, 1500, 240, 0} // set the homing speeds (mm/min)
// default settings
// AMRI Laser Cutter
//#define DEFAULT_AXIS_STEPS_PER_UNIT {167.20882, 167.20882, 4000/25.4, 1380/4}
//#define DEFAULT_MAX_FEEDRATE {165, 165, 50, 200000} // (mm/sec)
//#define DEFAULT_MAX_ACCELERATION {5000,5000,5000,500} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
//#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
//#define DEFAULT_RETRACT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for r retracts
// Lansing Makers Netowork Laser Cutter
#define DEFAULT_AXIS_STEPS_PER_UNIT {(200*16)/(2.0*20),(200*16)/(2.0*20),6047.2440} // default steps per unit for Ultimaker
#define DEFAULT_MAX_FEEDRATE {2000, 2000, 10, 25} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {2000,2000,2.5,2.5} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
#define DEFAULT_ACCELERATION 1500 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION 2000 // X, Y, Z and E max acceleration in mm/s^2 for retracts
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis
// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
#define DEFAULT_XYJERK 20.0 // (mm/sec)
#define DEFAULT_ZJERK 0.4 // (mm/sec)
#define DEFAULT_EJERK 5.0 // (mm/sec)
Популярные вопросы
Выбор первого 3d принтера
Добрый день. Понимаю, что вопрос стар как мир. Выбираю 3d принтер для домашней печати. Подскажите есть ли модель принтера которая нормально печа...
Локально подгорел (как я думаю) финишный слой при печати
Всем доброго времени суток. В общем, при снятии напечатанной детали обнаружил данный дефект. Судя по всему в один момент подгорел последний слой (как...
Чем 3D принтер отличается от 3D плоттера?
Коллеги, помогите!
На занятиях по моделированию один школьник спросил - Чем 3D принтер отличается от 3D плоттера и что лучше для нови...
На занятиях по моделированию один школьник спросил - Чем 3D принтер отличается от 3D плоттера и что лучше для нови...
Комментарии и вопросы
Долго смотрел в сторону электр...
На айли, 3 день выставлены по....
Пины и ласточкин хвост тема. У...
Или же будут ли они вообще, т....
Нужна помощь. Не получается по...
Может есть у кого модель адапт...
Всем привет, может кто знает п...