Endstops не сработает при использовании прошивки Marlin

9

У меня есть старый Solidoodle 2, который я купил сломанным в гаражной распродаже, который я конвертирую, чтобы использовать RAMPS 1.4 с прошивкой Marlin. Все моторы работают правильно, у меня просто проблемы с настройкой рабочих станций.

Я использую обычный концевой выключатель с NC, идущим на сигнальный контакт, а другой - на землю. Я включил этот переключатель в первый столбец заголовка для X-min. Моя конечная конфигурация в настоящее время:

//=========================================================================== 
//============================== Endstop Settings ===========================
//===========================================================================

// @section homing

// Specify here all the endstop connectors that are connected to any endstop or probe.
// Almost all printers will be using one per axis. Probes will use one or more of the
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
#define USE_XMIN_PLUG true
#define USE_YMIN_PLUG true
#define USE_ZMIN_PLUG true
//#define USE_XMAX_PLUG false
//#define USE_YMAX_PLUG false
//#define USE_ZMAX_PLUG false

// coarse Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#if DISABLED(ENDSTOPPULLUPS)
  // fine endstop 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
  //#define ENDSTOPPULLUP_ZMIN_PROBE
#endif

// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.

У меня X-min включен и инвертирован. Когда я отправляю M119 (код состояния конечной остановки), я получаю:

Send: M119
Recv: Reporting endstop status
Recv: x_min: open
Recv: y_min: TRIGGERED
Recv: z_min: TRIGGERED

И затем, когда я нажимаю на X концевой стоп рукой, я получаю:

Send: M119
Recv: Reporting endstop status
Recv: x_min: open
Recv: y_min: TRIGGERED
Recv: z_min: TRIGGERED

-Без изменений. У переключателей нет механических повреждений, я проверил их с помощью тестера непрерывности. Я даже замкнул контакты сигнала и заземления на плате Ramps проволочной перемычкой, и я до сих пор не видел никаких изменений.

Где вина?

Аарон Кофилд
источник

Ответы:

4

попробуйте раскомментировать следующие строки, чтобы включить обнаружение остановки на всех выводах для устранения неполадок.

//#define USE_XMAX_PLUG false
//#define USE_YMAX_PLUG false
//#define USE_ZMAX_PLUG false

Таким образом, M119 покажет любые изменения.

Единственное, о чем я могу подумать, это то, что либо переключатель подключен к неправильному выводу на плате линейных переходов (максимум вместо минимального), либо коммутатор не требует подтягивания (вы можете попробовать прокомментировать это как второй тест). )

SteveP
источник
Оказалось, что это была закомментированная строка, а конечные упоры были соединены с неправильными двумя выводами. По умолчанию на плате твердого тела + и - для конечных разъемов поменяны местами.
Аарон Кофилд