Как двигать головкой 3д-принтера?

g-code klipper elegoo-neptune-4-pro

У меня есть 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

Судя по сообщениям об ошибках, похоже, что первая строка выше — это правильный путь; Но я не знаю, куда двигаться дальше.

, 👍2

Обсуждение

Вы пытались отправить G0 X141.000 Y98.000 Z11.090 E0.000?, @agarza

G1 X141 F5000 отправит головку в точку X=141, не касаясь Y и Z, и сделает это *быстро*. [также, хотя G0 и G1 могут использоваться практически одинаково, «традиционно» использовать G0 для печати/резки/работы в целом, а G1 для свободного перемещения между рабочими точками.], @SF.


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

,

1

В предоставленной ссылке указан правильный синтаксис: ":" символ не указан в спецификации G-кода Klipper, и помните, что "[" и "]" символы означают, что параметр является необязательным и "<" и ">" подразумевать: «вставьте сюда значение».

Из документации:

Перемещение (G0 или G1): G1 [X<pos>] [Y<pos>] [Z<pos>] [E<pos> ;] [F<скорость>]

Действительной командой будет:

G0 X141.000 Y98.000 Z11.090 E0.0001)


1) Обратите внимание, что это пример, основанный на G-коде, указанном в вопросе, использование E0.000 не рекомендуется, это может полностью вытянуть нить из экструдера в зависимости от последней позиции E. Если вы хотите переместиться в определенную позицию, сначала отступите (используя относительное позиционирование E), затем переместите (используя абсолютное позиционирование X, Y, Z), возьмите изображение, вернитесь назад и снова уберите то же значение (используя относительное позиционирование E).

,