Как двигать головкой 3д-принтера?
У меня есть Elegoo Neptune 4 Pro (он мне очень нравится), и я пытаюсь настроить Raspberry Pi с камерой, чтобы она делала снимок каждый раз, когда слой готов (для создания таймлапса).
р>Это означает, что мне придется отредактировать G-код, чтобы переместить печатающую головку в максимальное положение по оси X, чтобы нажать кнопку (спуск затвора).
Я использую веб-интерфейс и хотел бы знать, как получить положение оси X с помощью команд G-кода.
Я нашел документацию Klipper: G-Codes и попытался запустить несколько команд.
M114
дает следующую строку:
14:58:56 X:141.000 Y:98.000 Z:11.090 E:0.000
Однако когда я пытаюсь отправить печатающую головку в это место из другого места, я получаю ошибки.
$ G0 X:141.000 Y:98.000 Z:11.090 E:0.000
!! Unable to parse move 'G0 X:141.000 Y:98.000 Z:11.090 E:0.000'
$ G0 [X:141.000] [Y:98.000] [Z:11.090] [E:0.000]
// Unknown command:"G0 ["
$ G0 [141.000] [98.000] [11.090] [0.000]
// Unknown command:"G0 [141.000] [98.000] [11.090] [0.000]"
$ G0 141.000 98.000 11.090 E:0.000
// Unknown command:"G0 141.000 98.000 11.090"
$ G0 X:141.000 Y:98.000 Z:11.090 E:0.000
Все это было опробовано с G1
, а также с G0
Судя по сообщениям об ошибках, похоже, что первая строка выше — это правильный путь; Но я не знаю, куда двигаться дальше.
@Jim, 👍2
Обсуждение2 ответа
Похоже, что команды недействительны из-за неправильного синтаксиса. Сайт документации Klipper кажется немного запутанным. Основной список G-кодов можно найти на вики RepRap.
На сайте представлены правильное использование и примеры:
Использование
G0 Xnnn Ynnn Znnn Ennn Fnnn Snnn G1 Xnnn Ynnn Znnn Ennn Fnnn Snnn
...
Примеры
G0 X12 ; move to 12mm on the X axis G0 F1500 ; Set the feedrate to 1500mm/min G1 X90.6 Y13.8 E22.4 ; Move to 90.6mm on the X axis and 13.8mm on the Y axis while extruding 22.4mm of material
В предоставленной ссылке указан правильный синтаксис: ":" символ не указан в спецификации G-кода Klipper, и помните, что "[" и "]" символы означают, что параметр является необязательным и "<" и ">" подразумевать: «вставьте сюда значение».
Из документации:
Перемещение (
G0
илиG1
):G1 [X<pos>] [Y<pos>] [Z<pos>] [E<pos> ;] [F<скорость>]
Действительной командой будет:
G0 X141.000 Y98.000 Z11.090 E0.000
1)
1) Обратите внимание, что это пример, основанный на G-коде, указанном в вопросе, использование E0.000
не рекомендуется, это может полностью вытянуть нить из экструдера в зависимости от последней позиции E
. Если вы хотите переместиться в определенную позицию, сначала отступите (используя относительное позиционирование E
), затем переместите (используя абсолютное позиционирование X, Y, Z
), возьмите изображение, вернитесь назад и снова уберите то же значение (используя относительное позиционирование E
).
- Klipper: включение питания перед самонаведением
- Как сохранить настройки слайсера Cura в G-коде, чтобы Moonraker/Klipper мог их прочитать?
- Есть ли G-код для ожидания?
- Для чего используется G92 в G-коде
- Написание G-кода : проведите пальцем в начале печати
- Используя автоматическое выравнивание стола, нужно ли инициировать G29 перед каждой печатью?
- Cura: установить z-смещение
- Одновременный нагрев экструдера и стола при запуске печати
Вы пытались отправить
G0 X141.000 Y98.000 Z11.090 E0.000
?, @agarzaG1 X141 F5000
отправит головку в точку X=141, не касаясь Y и Z, и сделает это *быстро*. [также, хотя G0 и G1 могут использоваться практически одинаково, «традиционно» использовать G0 для печати/резки/работы в целом, а G1 для свободного перемещения между рабочими точками.], @SF.