Как я подружился с малиновым осьминогом
Итак, об 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Вт малинка с мегой могут от бесперебойного источника довольно долго прожить, остается решить вопрос анализа наличия сетевого напряжения и приостановки печати при его пропадании.
Еще больше интересных статей
Обновленный хотэнд QIDI Tech Q1 Pro
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Датчик наличия пластика для Bambu Lab Х1 Carbon.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Цветная печать двумя хотэндами с сервоприводом
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Пару месяцев назад я решил, что мне жизненно необходимо научить свою...
Комментарии и вопросы
Мамкиных физиков на форуме тож...
На видео и фото прямые линии :...
НунуСказочников на форуме хват...
Добрый день!Господа, среди тех...
Как посмотреть избранное?
Добрый день. Есть ли в каком-н...
Всем привет, недавно случилось...