Как я подружился с малиновым осьминогом
Итак, об OctoPrint я уже немало читал, но как-то эта информация всегда проходила мимо и не откладывалась в голове, больше занимали простые вопросы налаживания стабильной печати и избавление от косяков. Но со временем я понимал, что уже надо как-то автоматизировать и упростить процесс печати.
Вначале я пристроил имеющуюся IP-камеру Axis для наблюдения за принтером во время отсутствия дома. Уже хорошо, но в случае чего не было возможности никак повлиять на процесс. Потом я установил на планшет под управлением Android приложение GCodePrintr для возможности более удобного управления 3D принтером, но это были все полумеры, а хотелось комплексное решение.
Какие вопросы хотелось решить:
- Не бегать к принтеру по каждому поводу, а иметь возможность дистанционно включать принтер, запускать подогрев стола и экструдера, мониторить температуру и т.д.
- Автоотключение принтера после завершения печати.
- Избавиться от карты памяти как носителя моделей между компьютером и принтером.
- Возможность наблюдать за печатью через web-камеру и автоматическая запись таймлапсов для последующего анализа хода печати.
- Более удобное управление движением по осям для быстрой подстройки уровня стола. И вообще более простое управление т.к. бегать по меню Marlin с помощью энкодера еще то удовольствие.
Вторая задача - это покупка web-камеры. Тут информации оказалось довольно мало. Есть информация о совместимых камерах, но не понятно какие лучше и почему. Где-то в подсознании засела информация, что нужно выбирать Logitech. Откуда я это взял уже не помню, но проанализировав таблицу совместимости и наличия камер в магазине остановился на модели C270. Потом уже узнал, что ее же продают в комплекте с официального сайта. Все удалось найти в одном месте недалеко от дома, что порадовало быстрым решением поставленной задачи.Очень порадовала коробка оригинальной Raspberry Pi - мелочь, а приятно :)
Карточку с OctoPint для Raspberry я уже подготовил заранее - нашел в наличии microSD на 2 Гигабайта и следуя простой инструкции все установил за 10 минут. На странице загрузки также есть подробное видео.
Для установки понадобится скачать образ OctoPrint и Etcher. Разархивируем zip файл, запускаем Etcher и переносим образ на карту памяти.Второй шаг - это настройка доступа к сети Wi-Fi (не требуется если будет использоваться Ethernet подключение по кабелю). Для настройки надо в файле octopi-network.txt разкомментировать строки с настройками (помечено красным) и вбить свои данные доступа к сети Wi-Fi (помечено зеленым).Теперь можно вставить карточку с обратной стороны малинки, найти в хозяйстве зарядку с microUSB, подключить кабель от web-камеры и принтера. Я заодно в магазине прикупил корпус для малинки, хотя потом подумал что за эти деньги можно было взять пол кило пластика FDplast и распечатать много корпусов :)Дальше рекомендуется с помощью Putty подключиться и сменить пароль по умолчанию, но это можно сделать позже. Теперь достаточно посмотреть на роутере какой IP адрес получила малинка, вбить его в браузер и получить приветственное окно ввода нового пользователя.После создания пользователя система предлагает обновится до последней версии - соглашаемся, перегружаемся и получаем готовую систему удаленной работы с 3D принтером. Остается сделать еще небольшое количество настроек и можно запускать на печать первую модель.
Web-камера подхватилась автоматически. Но качество картинки сначала не сильно порадовало - ближние объекты были не в фокусе, угол объектива захватывал только часть стола, да и крепление рассчитано скорее для размещение на мониторе. Предстояло решить две задачи - разобраться с фокусом и распечатать более удобное крепление камеры к принтеру.
С фокусом вопрос решился довольно быстро - хвала инженерам Logitech, что их камера разбирается без применения матерных слов и также просто собирается обратно. Сняв верхнюю крышку и открутив три винта становится доступна плата с установленной матрицей и объективом. Объектив уже настроен и зафиксирован каплей клея. Покрутив кольцо и сорвав фиксацию дальше можно уже подстроить фокус под нужное расстояние.Далее надо было закрыть вопрос с креплением. На thingiverse.com нашлось довольно много моделей под эту камеру, но ни одна не подходила на все 100%.
'Еще одна возможность попрактиковаться в SOLIDWORKS' - подумал я и приступил к моделированию крепления для своего принтера. Я не знал точного расстояния на сколько надо вынести камеру за пределы периметра и на сколько опустить, чтобы увидеть сопло под системой обдува, поэтому надо было сделать настраиваемое крепление. После моделирования вышло такая модель:Опять же спасибо инженерам Logitech за то, что стандартное крепление аккуратно можно снять и использовать проушину по своему усмотрению. Еще какое-то время ушло на печать и вот камера заняла свое место:Подстроил по изображению нужное положение и закрутил все винты.Модель крепления можно скачать тут. Когда начал выкладывать STL файлы то понял, что в процессе моделирования увлекся и не оптимально расположил модель в пространстве - при печати используется вид 'спереди', а модели располагались в других плоскостях и ложились на стол не оптимально. Конечно, перед печатью можно все повернуть, но негоже людей заставлять делать лишние движения.
Стал изучать как это можно поправить, потратил еще час, но так и не нашел решение. Все видео по солиду говорили, что можно переопределить плоскости. Да, это работает для работы внутри положения, но STL файлы все-равно сохранялись с координатами XY в плоскости 'спереди'. Изучая параметры сохранения файлов я наткнулся на понятие 'активная система координат'.Раскрутив эту тему мне удалось сохранить STL файл в нужной ориентации. Для этого идем в 'Справочная геометрия' - 'Система координат'. Указываем ребра, которые лежат в нужном направлении и потом сохраняем файл с новой системой координат.
Отвлекся. Возвращаемся к нашему осьминожке. Камера зафиксирована, все настроено. Я решился запустить тестовую модель в печать вообще не подходя к принтеру. Стол откалиброван и намазан клей-карандашом, белый ABS заправлен. Включаю прогрев стола и потом запускаю модель в печать соблюдая правило - к принтеру не подходим :)
На удивление все прошло гладко. В начале печати были 'сопли', которые я обычно убираю пинцетом, но тут они сами размазались соплом.
curl 'http://192.168.2.10:3480/data_request?id=lu_action&DeviceNum=57&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=1'
удалось включить питание принтера, а такой же командой с нулем на конце отключить питание.
Теперь принтер сам включается при посылки команд на прогрев стола или движения моторами и сам отключается после окончания печати. Ну и всегда можно вручную включить/отключить по кнопке в интерфейсе OctoPrint. Потребление Raspberry с питанием вебкамеры и Меги по USB всего около 4Вт, а значит можно спокойно оставлять всегда включенным и иметь возможность в любой момент запустить принтер в работу удаленно.
Система стала умнее, но это еще не все ;)
Следующим плагином стал Touch UI. Он предлагает более удобный интерфейс для смартфонов и планшетов. С помощью него можно быстро двигать моторами находясь возле принтера с планшетом, а также осуществлять все остальные действия, включая наблюдение за процессом печати.Также были установлены еще следующие плагины:
- Fullscreen Webcam - позволяет по двойному клику увеличить изображение с камеры или даже перейти в полноэкранный режим.
- Pushover - рассылка Push уведомлений на смартфон о всех событиях (окончания печати, неудачной печати, остановки для смены пластика и т.д.)
- DisplayZ - добавляет вывод координаты Z в прогресс печати.
- Printer Statistics - подробная статистика печати
- DisplayProgress - вывод прогресса печати на экран принтера (по умолчанию ничего не выводится)
- Custom Control Editor - возможность добавлять свои кнопки в интерфейс. Например, я добавил кнопку смены пластика командой M600
- OctoPrint-Tempsgraph - улучшенный график температур
На 2-х Гигабайтной карте для файлов моделей и таймлапсов остается чуть меньше 400 мегабайт. Этого вполне достаточно, но подумал что это будет ограничивать, поэтому купил карту на 16 Гигабайт (хотел на 8, но они были дороже!) 10 класса и заново все развернул. Бонусом получил более быструю сборку таймлапсов за счет большей скорости чтения/записи карты.
В итоге типичное использование OctoPrint можно описать следующим образом:
- Сидим за компьютером и смотрим что-нибудь интересное на thingiverse.com или создаем свое в редакторе.
- Вдруг понимаем что уже надо готовить принтер к печати - открываем интерфейс Окто и включаем подогрев столика - блок питания автоматически включается и начинается разогрев.
- Смотрим на графике за температурой стола и после его прогрева включаем также прогрев хотэнда.
- Слайсим модель, сохраняем G-код и загружаем его в осьминожку.
- Когда все прогрето или сразу запускаем на печать удаленно, или все-таки подходим к принтеру, все проверяем, протягиваем немного пластика, проверяем калибровку стола и только потом запускаем печать.
- Контролируем первый слой и спокойно уходим делать свои дела периодически поглядывая на картинку с web-камеры. При необходимости уходим гулять с собакой/на работу/по магазинам.
- По окончанию печати на телефон приходит push уведомление, а после остывания питание автоматически отключается.
- Если наблюдаем в процессе печати, что края отошли или еще какая беда случилась, то останавливаем печать, выключаем питание и размышляем о случившимся...
- При желании скачиваем таймлапс печати и смотрим как все происходило.
Обновкой доволен, но всегда остаются нерешенные задачи и пожелания.
Для себя пока выписал следующие:
- Желательно иметь вторую камеру с общим видом, где было бы видно весь принтер, катушку с пластиком и положение головы в любой части стола. Вопрос решу просто дополнительной IP камерой, или надо C270 выносить чуть дальше, а может найти для нее линзу с более широким углом обзора.
- Хочется подключить физическую клавиатуру, чтобы управлять принтером не только через планшет, но и быстро с помощью физических клавиш когда находишься рядом. Есть вариант использования Ардуины и матричной клавиатуры, но возможно проще будет подключить обычную маленькую USB клавиатуру. Еще вариант - прикрутить тачскрин на малинку и использовать Touch UI для локального управления.
- Хотя в последнее время проблем с электричеством не наблюдается, но хочется обезопасить себя функцией остановки печати при пропадании электропитания. При потреблении 4Вт малинка с мегой могут от бесперебойного источника довольно долго прожить, остается решить вопрос анализа наличия сетевого напряжения и приостановки печати при его пропадании.
Еще больше интересных статей
Подключение мощного диодного лазера к 3D-принтеру
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Появилось у меня как-т...
Проверка улучшения от Bondtech, k1/k1c upgrade kit
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Наконец у меня дошли руки поставить набор улучшений от Bondtech на при...
Ремикс на PRUSIA MMU2 (Часть 1: вводная)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Но в каретке возможно есть при...
Если заменить пару шариков, на...
Отличный гайд как удвоить стои...
Решил откалибровать Linear Adv...
Ребят, подскажите!Принтер Kobr...
Подскажите пожалуйста модель ф...
Помогите с прошивкой для flyin...