Что делает код G30 Марлина?
Я использую Marlin 1.1.0RC8 для управления MPCNC, используя RAMPS1.4. Мы добавили сенсорную панель для Z-зондирования, которая хорошо работает для одного зонда (мне просто нужна откалиброванная высота для разных длин битов, а не выравнивание стола, но думаю, что это одно и то же). Я настроил его в Marlin как FIX_MOUNTED_PROBE, что кажется наиболее близким.
Я могу заставить его сделать G38.2 Z-50
, G92 Z12.6
(который устанавливает Z на высоту сенсорной панели, 12,6 мм), что нормально, но, похоже, мне приходится жестко кодировать смещение Z, которое, я уверен, действительно должно быть установлено, например, Z_PROBE_OFFSET_FROM_EXTRUDER
или M851
.
У меня было ощущение, что я должен быть в состоянии вызвать G-код G30
, и он сделает приятное быстрое и медленное двойное нажатие, сделает эквивалент G92 Z+zzz
, чтобы установить эту высоту, а затем отступит на безопасную высоту. И после небольшой настройки он делает именно это...
... за исключением того, что он ничего не делает с высотой, которую он измерил! Кажется странным. Код G30
, по-видимому, представляет собой сложный способ поднять голову на величину зазора с помощью сенсорной панели (с дополнительным волнением от возможности разбить стол, если что-то пойдет не так)! В чем смысл?
Я неправильно понял, для чего предназначен G30
? Я прочитал документы здесьи проследил Marlin_main.cpp
и на самом деле никакого "результата"нет. Если только я что-то не упустил?
@SusanW, 👍5
Обсуждение2 ответа
Я считаю, что G30
является переносом с ЧПУ (G-код создан для принтеров с ЧПУ, а не для принтеров)
Я считаю, что он предназначен для перехода на вторичную справочную (домашнюю) позицию и включает необязательный адрес, который может быть включен в команду.
Глядя на Marlin 1.1.0-1 (последняя версия), кажется, что он делает то, что вы сказали:
- Переместитесь в требуемое положение (если выбрано в команде, иначе N/C)
- Развернуть зонд
- Пойти домой
- Зонд Стоу
- Сообщите запрошенную позицию и исследуемую позицию Z
- Сообщите о текущем положении (дома?)
Похоже, что для Марлина существует только один справочный адрес (домашний); поэтому, казалось бы, G30
будет таким же, как G28
(перейдите к основной ссылке); но это не так.
Похоже, что G28
-это дом другого цвета. Похоже, что он размещает ось по одному за раз и не поддерживает промежуточное местоположение. Обратите внимание, что вы можете выбрать, какая ось будет главной, добавив в команду буквы "X", " Y "и/или "Z".
Я не уверен, какое преимущество эта команда имеет для 3D-принтера, кроме того, что позволяет изменять путь принтера к дому.
Примечание: К сожалению, у меня сейчас нет кода Marlin, работающего на моем принтере, поэтому я не могу подтвердить, что я вижу в коде.
Марк, я не забыл, что ты это написал! Ваше противопоставление G30 с G28 меня так удивило - я не думал о G30 как о ДОМАШНЕМ варианте, - что это заставило меня пересмотреть все мои предположения, и я жду дождливых выходных, чтобы сесть и должным образом обновить все мои предубеждения! В частности, G30 "сообщает" о положении зонда (обратно в приложение мониторинга); Я ожидал, что оно сохранит его внутри в качестве эталона... будем расследовать дальше., @SusanW
Недавно у меня возникла необходимость использовать сенсорную панель Z-зонда на моей установке MPCNC + Ramps 1.4 + Marlin 1.1.5.
Подумал, что поделюсь тем, что в итоге сработало на меня.
В конфигурации Marlin.h
я внес изменения, чтобы включить Z-зонд:
#define USE_ZMIN_PLUG
#define Z_MIN_ENDSTOP_INVERTING true
#define Z_MIN_PROBE_ENDSTOP_INVERTING true
#define FIX_MOUNTED_PROBE
#define PROBE_DOUBLE_TOUCH
#define Z_MIN_POS -100
Однако следующее может быть ключом к вашей проблеме.
G30
также ничего не делал для меня, пока я не изменил
эти значения на 0. Теперь G30
опускает Z до тех
пор, пока не сработает зонд Z. Мне нужно было отправить G92
,чтобы установить новое значение Z.
Работает как чемпион!
#define X_PROBE_OFFSET_FROM_EXTRUDER 0
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0
На случай, если вам интересно, в ultralcd.cpp в разделе lcd_prepare_menu () я добавил пункт меню a для выполнения проверки. Таким образом, мне не нужен компьютер для настройки машины и запуска файла gcode с SD-карты.
#if HAS_BED_PROBE
MENU_ITEM(gcode, MSG_PROBE_Z, PSTR("G30\nG92 Z19.05"));
#endif
Надеюсь, это будет полезно для вас, даже после того, как вы опоздали на пару лет.
Неясно, какие параметры равны нулю. Если вы имеете в виду **значения смещения зонда**, то это **не очень хорошая идея**. Обратите внимание, что этот вопрос касается Marlin 1.1.0, в промежутке между 1.1.3 и 1.1.4 команда " G30 " претерпела изменения., @0scar
- Как установить границы Z-зонда в прошивке при использовании автоматического выравнивания стола?
- Как увеличить количество точек зондирования для датчика BLTouch в прошивке Marlin?
- Используя автоматическое выравнивание стола, нужно ли инициировать G29 перед каждой печатью?
- Указание смещения Z в прошивке Marlin
- В чем разница между M420 S и M420 S1?
- Настройка BLTouch с прошивкой Marlin
- Шаговый двигатель нагревается через некоторое время
- Эндстопы не будут срабатывать при использовании прошивки Marlin
Я отмечаю, что у меня нет конечных остановок на Z, поэтому я не могу вернуться домой/
G28
по этой оси. Я не вижу, что это имеет какое-либо значение, но я пройдусь по коду позже и посмотрю, что не так., @SusanW