Кремень FMZ Реклама
Kremen FMHM Реклама

Апельсиновый осьминог: начало.

eta4ever
Идет загрузка
Загрузка
22.03.2017
31194
62
Техничка

Подпишитесь на автора

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

90
Апельсиновый осьминог: начало.
В общей сложности, я написал уже двенадцать статей по разным аспектам использования OctoPrint. Но почему-то вниманием оказалось обделено самое начало - что это, зачем и почему. Я-то начал сразу с установки и настройки на Orange Pi. Поэтому и апельсиновый осьминог. Но, лучше поздно, чем никогда. Уподоблюсь Лукасу (да я круче, у меня первый эпизод пойдет после двенадцатого).

Вводная

Итак. В далекой-далекой галактике. 3D-принтер нужно кормить не только физической пищей (филаментом), но и духовной. В качестве последней используются команды G-Code, основная масса которых - подвинуть туда, выдавить столько-то. В простейшем случае принтер подключен к компьютеру и по цепочке 'управляющая программа - USB - мост USB UART - UART микроконтроллера' получает команды. В качестве управляющей программы обычно используется Repetier-Host или Pronterface, также средства управления можно встретить в неожиданных местах, вроде слайсера Cura. Да, я говорю сейчас о RepRap-совместимой технике, а не о наглухо закрытых проприетарных продуктах.

Второй вариант - это печать с карточки. Подготовленный G-код записывается на SD, карточка вставляется в принтер, и дальше он оттуда забирает команды средствами прошивки. Удобно тем, что не нужно держать включенным компьютер, неудобно отсутствием возможности управления иначе как очно. Ну и плюс, карточку туда-сюда дергать постоянно.

А вот OctoPrint (а также Repetier-Server) - это третий вариант, хотя, строго говоря, не принципиально отличающийся от первого. По сути, OctoPrint - это тоже управляющая программа, как Repetier-Host или Pronterface. Ее задача - кормить принтер G-кодом через последовательный порт. Но есть два ключевых момента.

Первый - это ориентация на удаленное управление по локальной сети или через интернет. То есть, вместо локального пользовательского интерфейса, у нас веб-сервер, который рисует органы управления в браузере. Второй - это 'заточенность' под работу на мини-ПК типа Raspberry Pi. На самом деле, OctoPrint можно развернуть и на роутере с достаточно мощным 'железом', и на полноценном ПК.

Про роутеры и прочие утюги здесь не будет. Сосредоточусь на маленьких, но удаленьких, компьютерах. C Raspberry Pi все максимально просто - есть проект OctoPi, который представляет собой Linux-дистрибутив с уже встроенным OctoPrint. На кривых китайских поделках вроде Orange Pi сложнее - кое-что приходится делать руками. По сути, плюс у 'китайства' один - это очень низкая цена. И оно в рамках нашей задачи работает. В общем случае, чтобы устроить себе и принтеру осьминога, потребуется установить на мини-ПК Linux (обычно установка заключается в скачивании подходящего образа и разворачивании его на карточку), а затем - установить и настроить OctoPrint. Можно воспользоваться готовыми образами, я недавно делал такой для Orange Pi One (здесь, ближе к концу).

Функционал

Не рассматривая вопрос установки (см. в одной из предыдущих серий), перейду сразу к тому, что с помощью OctoPrint можно делать. Как минимум, загрузить по сети на карточку мини-ПК G-код и отправить его на печать. Уже неплохо и, да, это основная задача OctoPrint. А вот дальше - уже дополнительные функции, без которых это было бы совсем спартанским решением.

Интерфейс

Основной интерфейс OctoPrint состоит из двух колонок. В левой - блоки, ответственные за подключение, непосредственнно процесс печати (прогресс, пауза, остановка), простой файловый менеджер (создание и удаление папок, загрузка и удаление файлов). В правой - несколько вкладок.
Апельсиновый осьминог: начало.
Temperature - показывает график температур нагревателей, ниже - поля для ручной установки температуры, например, чтобы запустить прогрев, пока готовится код для печати.
Апельсиновый осьминог: начало.
Control - здесь 'шевелить ушами' - двигать и парковать головку и/или стол, смотря что у вас за кинематика; вручную запускать экструзию или ретракт. Здесь же ползунки, ответственные за относительную (в процентах) коррекцию скорости перемещения (Feed Rate) и количества подаваемого филамента (Flow Rate). В этой же вкладке отображается картинка с веб-камеры, если она у вас подключена и настроена.
Апельсиновый осьминог: начало.
GCode Viewer визуализирует подаваемые принтеру команды - где сейчас находится голова, что она печатает. Отмечу, что если G-код достаточно тяжелый, OctoPrint при попытке открытия этой вкладки будет предупреждать, мол, это приведет к серьезной нагрузке на мини-ПК и может сказаться на стабильности печати.
Апельсиновый осьминог: начало.
Terminal показывает буквами, что OctoPrint 'говорит' принтеру (G-код) в настоящий момент, и что принтер на это отвечает. Можно применять фильтры (например, не показывать команды контроля температуры), можно вмешаться в процесс и отправить свой G-код.
Апельсиновый осьминог: начало.
Timelapse - при наличии веб-камеры, можно снимать видеоролики с процессом печати. По сути, OctoPrint делает снимки с заданной периодичностью, а потом собирает их в видео.

Также установленные плагины могут добавлять вкладки в интерфейс OctoPrint. Например, плагин Print History позволяет собиратьс статистику - что печаталось, в течение какого времени, завершилась ли печать или была остановлена и т.д.
Апельсиновый осьминог: начало.
Наконец, в верхней части основного окна расположена полоска меню - переход в настройки, системные команды, вход-выход пользователем, сюда же некоторые плагины добавляют свои значки, например, TouchUI (интерфейсный плагин для маленьких экранов).

Настройки

В целом, на более-менее обычных принтерах, OctoPrint может работать вообще без настроек. Но, по-хорошему, надо бы создать профиль принтера (указать размер печатной области, форму стола и подобные параметры). Но серьезного влияния на процесс печати уже загруженного G-кода они не оказывают, ведь G-код уже сформирован с учетом профиля принтера в слайсере. Тем не менее, указанные в профиле OctoPrint параметры будут влиять на ручное управление, визуализацию и некоторые другие вещи.

Кроме того, здесь куча разделов с настройками соединения (есть смысл лезть, если что-то работает не так), вебкамеры, плагинов. Здесь останавливаться на этом вопросе не буду, ибо практически все нужное рассмотрено в более узких материалах, ссылки - в конце.

Слайсинг

Да, в OctoPrint можно загружать не только готовый G-код, но и stl-модели. То есть, если вы засунете мини-ПК в принтер (как это сделал я), то после этого можете с гордостью утверждать - ваш принтер печатает STL. Но есть, опять же, нюансы. Во-первых, к OctoPrint можно прикрутить только Slic3r или Cura. Во-вторых, что очень важно, вы не получите всех удобств полноценного слайсера - OctoPrint при 'нарезке' оперирует готовыми профилями слайсинга (выгруженными со 'старшего брата';), поэтому что-то внезапно подкрутить в настройках не получится. Далее, полноценно изучить, что же слайсер наворотил, средствами OctoPrint сложно. Для простых моделей не критично, а вот что-то навороченное желательно тщательно контролировать. Наконец, вычислительной мощности у мини-ПК немного, поэтому нарезается модель долго. Резюмирую - слайсинг средствами OctoPrint возможен, но не очень удобен.

Сборная солянка

То, что этот материал подготовлен позже, чем более узкие, очень неплохо. Дело в том, что я могу спокойно накидать здесь ссылки на ту информацию, что уже представлена на портале.

Пошаговый гайд по установке на Orange Pi PC. Не советую использовать как прямое руководство к действию, т.к. основан на сборке linux, которую я больше не рекомендую и не использую.

Работа со штатной камерой Orange Pi. TLDR - работает, но камера - кусок коричневого пластилина.

Работа с вебкамерой.

Настройка Wi-Fi.

Установка Armbian на Orange Pi One. Вот это достаточно актуально, т.к. Armbian - хороший.

Работа с клавиатурой-мышью-монитором (как с полноценным ПК), плюс немного про слайсинг.

Timelapse.

Обновление OctoPrint.

Плагины.

Чуток об управлении несколькими принтерами.

Изменение интерфейса управления а-ля Pronterface.

Управление через Telegram-бота.

Защита удаленного подключения.

Использование старого смартфона в качестве камеры.

Выключение Orange Pi кнопкой Power.

Запись Timelapse с управлением подсветкой.

Управление питанием принтера.

Прямая выгрузка G-кода из Slic3r в OctoPrint.

Подключение через аппаратный UART. Также про ручное расширение раздела на карточке.

Еще один вариант управления питанием принтера.
Апельсиновый осьминог: начало.
Да пребудет с вами осьминог, как бы говорит вам Gina Häußge, ведущий разработчик OctoPrint.

Подпишитесь на автора

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

90
Комментарии к статье