Эндстопы не будут срабатывать при использовании прошивки Marlin
У меня есть старый Solidoodle 2, который я купил сломанным на гаражной распродаже и который я конвертирую в использование RAMPS 1.4 с прошивкой Marlin. Все двигатели работают правильно, у меня просто возникли проблемы с тем, чтобы заставить работать конечные точки.
Я использую обычный концевой выключатель с ЧПУ, идущим к сигнальному контакту, а другой-к земле. У меня этот переключатель подключен к первому столбцу заголовка для X-min. Моя конфигурация endstop в настоящее время такова:
//===========================================================================
//============================== 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 (код состояния endstop) Я получаю:
Send: M119
Recv: Reporting endstop status
Recv: x_min: open
Recv: y_min: TRIGGERED
Recv: z_min: TRIGGERED
И затем, когда я нажимаю X endstop рукой, я получаю:
Send: M119
Recv: Reporting endstop status
Recv: x_min: open
Recv: y_min: TRIGGERED
Recv: z_min: TRIGGERED
-Никаких изменений. Никаких механических неисправностей с переключателями нет, я проверил это с помощью тестера непрерывности. Я даже закоротил сигнал и заземлил контакты на плате RAMPS с помощью перемычки, и я до сих пор не видел никаких изменений.
В чем тут вина?
@Airfield20, 👍10
3 ответа
Лучший ответ:
попробуйте раскомментировать следующие строки, чтобы включить обнаружение конечных остановок на всех выводах для устранения неполадок.
//#define USE_XMAX_PLUG false
//#define USE_YMAX_PLUG false
//#define USE_ZMAX_PLUG false
Таким образом, M119 покажет любые изменения.
Единственное, что я могу придумать, это то, что либо переключатель подключен к неправильному контакту на плате RAMPS (Макс вместо Мин), либо переключатель не требует съема (вы могли бы попробовать прокомментировать это и во втором тесте)
Вчера у меня была такая же ошибка с платой MKS Robin Nano с Marlin 2.0.6.
Попробуйте найти и раскомментировать это определение:
#define ENDSTOP_INTERRUPTS_FEATURE
Сбой был в отключенных прерываниях endstop и сломанной части кода, которая идет домой и снимает флажок endstop status между шагами. Но если вы активировали endstop перед отправкой команды самонаведения - она будет работать по мере необходимости.
После борьбы с этим некоторое время я выяснил, что на концевых стопорных контактах, если они получены из другой установки, подобной моей, нужно переключить заземляющий контакт в центр разъема, а 5-вольтовый контакт на штырь, который он считывает, например, 1.29 pin на skr 1.4.
Как только вы это сделаете, он считает статус контакта.
Не могли бы вы либо расширить, либо перефразировать свой ответ, так как он кажется немного запутанным..? Или добавить диаграмму?, @Greenonline
Я переместил контакты заземления в центр разъемов, и все работает отлично, обновился до SKR 1.4 Turbo и не мог понять, почему ничего в прошивке не работает., @David M.
Большое спасибо человеку, который сказал переместить заземляющий штифт на конечной остановке. Целый день искал и наконец наткнулся на ваш комментарий. Очень полезно и исправил все проблемы, которые у меня были с моей мини-доской skr., @Savanna Benzel
- Проблемы с концевым выключателем на RAMPS 1.4 и заказной 3D-принтер под управлением Marlin 1.1.0-rc6
- Подключение механических концевых упоров Sain Smart к RAMPS 1.4?
- Как правильно установить смещения дома и ручные определения дома в Marlin?
- Настройка BLTouch с прошивкой Marlin
- Шаговый двигатель нагревается через некоторое время
- Драйверы TMC2208 - Микропереходы настроены неправильно
- Как настроить Marlin для включения автоматических вентиляторов с двойным экструдером
- Управление большим количеством вентиляторов с помощью платы RAMPS
Оказалось, что это комбинация тех строк, которые были закомментированы, и концевые упоры были подключены к неправильным двум контактам. На твердотельной плате + и - по умолчанию поменяны местами для разъемов концевого упора., @Airfield20