Запускать пользовательский код между командами g-кода?

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

Например, я хотел бы написать какое-нибудь программное обеспечение, чтобы сделать снимок, проверить, не сошел ли отпечаток с бусинки между слоями.

Кто-нибудь знает, позволяет ли какое-либо из доступных программ/прошивок создавать пользовательские сценарии или перезванивать на компьютер перед продолжением печати?

Я с удовольствием построю/куплю новый принтер, если кто-нибудь знает плату управления с такой функцией.

, 👍9

Обсуждение

вы можете вызвать срабатывание, переместив головку в зарезервированное место, которое активирует датчик. вы можете прервать работу, перехватив датчик, такой как hot end temp, который прервет печать, используя реле, МОП-транзистор или что-то еще, @dandavis

Пожалуйста, примите ответ, чтобы получить этот вопрос из списка оставшихся без ответа вопросов, если приведенные ниже ответы не соответствуют вашим ожиданиям, пожалуйста, перефразируйте свой вопрос или добавьте комментарии, чтобы ответы можно было изменить или добавить новые., @0scar


3 ответа


2

Одним из решений может быть добавление скрипта изменения слоя (simplifi3d имеет его из коробки), а затем с помощью прошивки marlin вы можете установить значение digital pin, которое может вызвать внешние действия.

Layer Change G-Code: Лично мне не приходилось это использовать, но я уверен, что есть несколько отличных причин/идей для этого. Если вы хотите, чтобы скрипт G-кода был вставлен между каждым слоем, вы можете просто поместить его в эту вкладку. Одно из интересных применений этого- для мечтателя FlashForge, чтобы свет мигал между каждым слоем, однако иногда это может быть слишком много!

Синтаксис команды M42 таков: M42 S(значение, записываемое в выход) P (номер контакта) например, чтобы установить высокий цифровой вывод 30, вы должны использовать M42 S1 P30

Прошивка MARLIN не позволит вам изменить значения состояния / записи на любом из контактов, используемых для таких вещей, как нагреватели, термисторы, концевые упоры и т.д. Эта команда позволит вам отправлять значения, отличные от 0 и 1, на любые контакты, которые могут выводить аналоговые значения. (0-255)


,

4

Решение, которое я использую, включает в себя сервер 3D-печати. Я определил сценарии оболочки, которые обращаются к портам GPIO Raspberry Pi, на котором работает OctoPrint. OctoPrint-это сервер 3D-печати, доступ к которому можно получить через домашнюю сеть.

С домашней страницы OctoPrint:

OctoPrint-это быстрый веб-интерфейс для вашего 3D-принтера, который позволяет вы можете контролировать и контролировать все аспекты вашего принтера и заданий печати прямо из своего браузера.

Это приложение сервера печати позволяет специфицировать пользовательские команды Gcode (например, связанные с системными командами; обратите внимание, что это плагин под названием "Системные команды GCODE", см. Изображение ниже).

В качестве примера, например, запланирован запуск OCTO100 fan_on.sh сценарий оболочки. Этот сценарий, в свою очередь, приводит в действие реле для переключения раздражающего вентилятора охлаждения экструдера, который всегда включен, когда принтер включен. Эти коды затем могут быть использованы во всем вашем нарезанном файле, чтобы делать то, что вы хотите (например, с помощью плагина TweakAtZ от Cura). Например, мой вентилятор экструдера останется включенным за несколько минут до того, как он будет запланирован после успешной печати через OCTO110, который сам по себе запускает скрипт fan_off.sh.

Скрипты из рисунка могут быть настроены так, чтобы запланировать что-то делать, например: fan_on.sh управляет реле с помощью порта 22 GPIO Raspberry PI:

#!/bin/bash
gpio export 22 out
gpio -g write 22 0

Таким образом, чтобы отключить вентилятор, вам понадобится fan_off.sh быть:

#!/bin/bash
gpio export 22 out
gpio -g write 22 1
,

хороший пример взаимодействия осьминогов, @profesor79

@professor79 спасибо, это всего лишь образец, я также планирую светодиодные фонари, а также могу включать и выключать принтер. Вы также можете добавить пользовательские пункты меню, поэтому все скрипты также могут быть активированы через графический интерфейс (меню) OctoPrint, @0scar


1

Я видел это 3 года назад, это управление с замкнутым контуром, я думаю, что лучше сделать фотографию, а затем проанализировать ее с помощью своего рода программного обеспечения оптического распознавания, которое нуждается в некоторых возможных сбоях.

В видео также есть ссылка на дополнительные ресурсы, которые понадобятся 3d-принтеру по словам его автора.

,