OctoPrint для 3D-принтера: возможности, требования и минусы

OctoPrint переносит управление печатью на одноплатный компьютер и добавляет удалённый контроль. Что для этого нужно и кому это действительно полезно.
Что не так с привычной схемой печати
Обычный путь от идеи до детали состоит из трёх шагов: получить модель в формате STL, OBJ или 3MF, превратить её в слайсере в файл GCODE и передать принтеру на флешке либо по Wi-Fi, после чего принтер прогревает сопло и стол и исполняет команды. Схема короткая, но у неё есть слабые места.
Первое — вычислительная мощность контроллера материнской платы, особенно у принтеров начального и среднего уровня. Контроллер одновременно разбирает команды, управляет драйверами, следит за температурами и органами управления, выводит картинку на экран. Когда он не успевает, возникают пропуски, сдвиги и недоэкструзия, и именно это, а не механика, часто ограничивает скорость качественной печати. Программные функции вроде linear advance нагружают его ещё сильнее.
Второе — слабый контроль за процессом на расстоянии. Веб-камера позволяет увидеть, что деталь оторвалась от стола, но остановить принтер, не подойдя к нему, нельзя. Управлять печатью напрямую с компьютера можно, однако для этого нужен свободный ПК на расстоянии USB-кабеля, который к тому же может зависнуть, уйти в обновление или выключиться. Для тех, кто печатает на заказ и держит несколько принтеров, всё это превращается в ощутимую проблему.

Что потребуется из оборудования
OctoPrint — программно-аппаратное решение, сама программа бесплатна. Минимальный набор «железа»: одноплатный компьютер Raspberry Pi не слабее версии 3B, блок питания к нему, SD-карта под операционную систему и USB-кабель для связи с платой принтера. Камеру, датчики и прочее можно добавлять позже по мере надобности. Аналоги Raspberry Pi допустимы, если не уступают версии 3B по мощности: удачные примеры есть, хотя и не без доработок.

Установка в общих чертах
- Образ системы скачивают с официального сайта OctoPrint и записывают на SD-карту программой оттуда же; это занимает около пяти минут.
- В файле на карте прописывают имя и пароль своей сети Wi-Fi.
- Карту вставляют в Raspberry Pi, подают питание и ждут загрузки.
- Через веб-интерфейс с компьютера задают пароль и начальные установки, настраивают профиль принтера и материала. Камеру и дополнительные опции подключают сразу или потом.
- Плату закрепляют в принтере, соединяют USB-кабелем с материнской платой и запитывают так, чтобы всё включалось и выключалось одновременно.
После этого файл модели можно отправить с любого компьютера, смартфона или планшета через интерфейс OctoPrint и там же запустить печать, наблюдая за параметрами и их историей, а при наличии камеры — и за самой деталью.


Какие возможности появляются
- Удалённый запуск печати и уведомление о её завершении.
- Нарезка модели средствами самого OctoPrint, так что стартовать можно прямо с телефона или планшета.
- Контроль работы принтера по показателям и по изображению, правка параметров на ходу.
- Таймлапсы без мелькающей в кадре печатающей головки.
- Автоматическое распознавание сбоев — отрыв детали от стола, выход температур за пределы, окончание филамента — с аварийной остановкой и оповещением.
- Рост скорости и качества: Raspberry Pi в десятки и сотни раз производительнее контроллеров принтеров, поэтому пропусков меньше и доступна дополнительная математическая обработка движения моторов.
- Установка прошивки Klipper, которая дополнительно оптимизирует работу принтера.
- Автокалибровка стола при наличии датчика, в том числе с картой высот для неровной поверхности.
- Работа с несколькими принтерами одновременно, до четырёх.
Список расширяется плагинами, которых десятки. Среди них — обновление прошивок материнских плат, исключение из задания отвалившейся детали, если печаталось несколько, сглаживание криволинейных поверхностей, вывод сведений на экран принтера, анимация печати на компьютере, диагностика неисправностей, поддержка сенсорного дисплея для управления без компьютера.
Оборотная сторона
- Усложнение системы. Каждое новое звено и соединение добавляет свои ошибки и повышает вероятность сбоя, тогда как штатный контроллер пусть и медленнее, но прост и стабилен.
- Расходы. Raspberry Pi, камеры и датчики стоят заметных денег; для владельца принтера, сопоставимого по цене с Raspberry Pi 3B, целесообразность апгрейда неочевидна.
- Трудоёмкость. Установка и настройка требуют времени, и даже при подробных описаниях где-нибудь возникнут вопросы, ответы на которые придётся искать на форумах.
- Риск при монтаже. Ошибка в подключении может вывести из строя отдельные компоненты, а в худшем случае — и материнскую плату, и сам одноплатник, и создать пожарную опасность.
Кому это нужно
Если принтер хорошо настроен, а привычный порядок подготовки устраивает, менять что-либо необязательно. OctoPrint имеет смысл, когда нужны хотя бы несколько функций из перечисленных, есть готовность разбираться в технике и, возможно, свободный одноплатник. Наибольшую пользу получают те, кто печатает профессионально на нескольких принтерах: система упорядочивает работу, экономит время и повышает качество. Отказаться от неё просто — достаточно отключить Raspberry Pi и пользоваться принтером по-прежнему.