Умный принтер. Часть 2 или у кого биты больше.

Подписаться на 3Dtoday
aleksei.k
Идет загрузка
Загрузка
15.07.19
3250
31
печатает на Z-Bolt Classic
3D-печать
64
Статья относится к принтерам:
Z-Bolt Classic Z-Bolt Plus
PREVIEW
Прошло уже больше месяца с моей предыдущей публикации, посвященной интеграции OctoPrint’а и принтера Z-Bolt. Все это время мы не стояли на месте. Поскольку решение, которое у нас получается, нравится нам все больше и больше, мы постарались сделать так, чтобы каждый обладатель 3D принтера смог им воспользоваться.

Итак, что было сделано:
  • Подобраны оптимальные экраны для проекта
  • Сделан “hard-fork” от Octoprint-TFT
  • Пересмотрен взгляд на программно-аппаратную архитектуру принтера
  • Создана своя тема для интерфейса Octoprint
Но обо всем по порядку...
fdf2516c23cc17a349e3698e420e5f24.png
Выборы экранов
8078b52904b2e2d753e228559068c385.jpg


Мы начала с экрана TFT 3.5, который, мягко говоря, не выдержал никакой критики. Углы обзора никакие, картинка блеклая. Поэтому было решено подобрать более качественное решение.

Главными критериями были:
  • IPS матрица
  • размер 4 - 5 дюйма
  • емкостной экран (желательно)
  • приемлемая цена
В итоге остановились на двух вариантах:

1. Вариант попроще. 4’’ IPS резистивный Touchscreen
2d9183181b052fe3130faaf50abc67c7.png
2. Вариант побогаче. 4.3’’ IPS емкостной Touchscreen
4f6410c0287ea4105e496a90f81747ff.png
Оба экрана имеют разрешение 800х400. У обоих великолепная картинка, цветопередача и угол обзора. Главное их отличие - это емкостной touchscreen. К нему (как и ко всему хорошему) очень быстро привыкаешь и пользоваться им намного приятнее, чем резистивным. Тем не менее, экран с резистивным touchscreen’ом также вполне жизнеспособен.
fdf2516c23cc17a349e3698e420e5f24.png
Это Hard-Fork, детка!
373c8722c141d07d43a17a57c95e2e93.jpg
Приложение было серьезно доработано. И почти перестало напоминать своего родителя. Поэтому (а также потому, что создатель Octoprint-TFT официально заморозил развитие своего детища) было принято решение сделать hard-fork и назвать новый проект OctoScreen.
1. В первую очередь была полностью устранена проблема зависания экрана, которой страдал Octoprint-TFT.
2. Заметно изменился дизайн и компоновка:
51cfd29da2bc7f3165f217b30b80acb0.png
3. Экран научился понимать состояния принтера (ожидание/печать):
6f4547a101bc06f890b36d184dc1b4a1.png
4. Добавлена функция быстрого преднагрева/выключения нагрева по нажатию на значок экструдера или стола, при этом экран подсвечивает статус:
a04df27cb4db98e237991754360750f5.png
5. Добавлен экран ручной калибровки стола:
199ef0208aa1250e6fc90e945c8d4d22.png
6. Пункт “Menu” вынесен на отдельный экран:
db44d2a770c5cf72e8715673fb1e3cd3.png
7. Добавлена функция управления WiFi:
9f592ec1358d7d2ba91e231cf95b6517.png
Само приложение теперь поддерживает до 4-х экструдеров. Напомним что проект изначально начинался с поиска экрана и прошивки для многоэкструдерного принтера Z-Bolt:
0aed25ffbb683bbd72be0698acb6b6af.png
Краткое видео о том как работает экран
Скачать приложение и найти краткую инструкцию по установке можно с нашего GitHub:
https://github.com/Z-Bolt/OctoScreen

Также есть подробная инструкция под экран 3.5, за что отдельное спасибо нашему соратнику Денису (@negativ72rus):
https://community.z-bolt.ru/t/octoscreen-na-3-5inch-rpi-lcd-a/18
fdf2516c23cc17a349e3698e420e5f24.png
Пересмотр взглядов на программно-аппаратную архитектуру принтера или переобувание на ходу
6e7f5b4350c98fc380e68970350b4719.png
В прошлой статье мы упоминали о планах использования Marlin в нашем многоэкструдерном принтере, однако в итоге выбор пал на Klipper. Причин несколько:
  1. Одна из главных для нас, как разработчиков, причина - это его гибкость. Marlin и его “макаронный” код делают настоящим вызовом процесс внесения в него доработок, а тем более их дальнейшую поддержку.
  2. Klipper в этом плане полная противоположность Marlin. Во-первых все конфигурирование Klipper вынесено из программного кода. Сам код хорошо структурирован. Но что самое важное, Klipper предусматривает модульность!!! Можно добавлять свою логику в прошивку, не внося изменение в ее ядро, и тем самым колоссально упрощать дальнейшую поддержку своего кода.
  3. Всю настройку прошивки можно осуществляется прямо через web интерфейс OctoPrint. И при этом возможности настройки на много мощнее чем у Marlin или Smootheiware.
  4. Как же тут не сказать о битах, за которыми в последнее время все гонятся )). Сама архитектура Klipper предполагает, что вычислительная нагрузка ложится на Raspberry PI. Функция платы управления MKS Gen L (в случае с принтерами Z-Bolt) остается в передаче сигналов к/от периферии (двигателям, сенсорам, нагревателям, элементам управления).
А ведь Raspberry Pi 3 Model B+ оснащен 64-х битным, 4-х ядерным чипом Broadcom BCM2837B0 A53 1.4GHz.

По сути Octoprint + Klipper, запущенные на Raspberry Pi + тот же MKS Gen L -
на порядок более функциональное и прогрессивное решение, чем Marlin, запущенный на каком-нибудь 32-х битном чипе.

Конфигурационные файлы для Klipper’а для принтеров Z-Bolt также можно найти тут:
https://community.z-bolt.ru/t/konfiguraczionnye-fajly-dlya-klipper-dlya-printerov-z-bolt/52
fdf2516c23cc17a349e3698e420e5f24.png
Небольшой бонус напоследок!
Также мы сделали свою тему для интерфейса OctoPrint:
c7f0cdb825eea7fcd7d2791ea727cfe8.png
Шапку можно настроить нативным пунктом выбора цвета в разделе Appearance:
8ba76efda814f6e64aec084b225b68d2.png
Инструкция как установить тему вы можете найти у нас на GitHub: https://github.com/Z-Bolt/OctoPrint-Z-Bolt-Theme
fdf2516c23cc17a349e3698e420e5f24.png
Пишите в комментариях, какие функции экрана вы считаете наиболее полезными и необходимыми к добавлению.

Всем добра, позитива и хорошего обдува нависающих элементов!
Подписаться на 3Dtoday
64
Комментарии к статье

Комментарии

15.07.19 в 21:29
1
/легкий оффтоп
Эти П образные hdmi коннекторы - жуткая дрянь в массе своей. Пришлось как-то столкнуться в одном проекте.. Из примерно 200 штук разных партий (разные цвета платы, разные производители) около 40штук брак. Часть с фиговой пайкой (2-3 контакта сплавлены вместе), часть не прозванивается и тд. Еще часть уже после ОПЭ навернулась, благо уже были понятны симптомы и просто заменялся коннектор прямо на месте.
15.07.19 в 22:22
2
Спасибо, порадовали, просто супер классное решение.
"Ваще, я в ауте".
Вы обкатывали только на малинке, на апельсин пробовали ставить?
15.07.19 в 23:18
2
Изначально пробовали на апельсин, но там все сложнее с драйверами экрана.
Экраны под малиной работают практически из коробки поэтому учитывая незначительную разнице в цене рекомендуем не тратить время на "танцы с бубном" :)
16.07.19 в 11:56
1
Выглядит очень круто,а почему не сделали на русском языке меню экрана?я если честно далёк от октопринта и всяких разбери ,заранее извиняюсь.но все таки ?
16.07.19 в 17:17
1
Сделать русскую локализацию в планах есть, но руки пока дошли.
15.07.19 в 22:30
1
Планируется ли использование вновь вышедшего Raspberry Pi 4?
15.07.19 в 23:19
1
Да, уверен в будущем придем к этому.
16.07.19 в 08:57
1
Лично я не куплю четвёрку, пока не вернут нормальный HDMI. Микро - это чистое издевательство.
16.07.19 в 09:09
2
Монументальненько, схоронил в закладочках.
Из предложений: показ прошедшего/оставшегося времени, времени окончания печати - варианты на выбор, и отображение текущего слоя.
Из багов: Controle - это какой язык? Либо Controls, либо Settings, смотря что там за значком.
А вот с клиппером у меня не задалось, не захотел работать с автоуровнем на серве и оптике.
16.07.19 в 09:18
1
Спасибо, все по существу, учтем!
17.07.19 в 09:49
0
О, и ещё обязательно надо вытащить кнопки PSU control, Enclosure plugin и всё системное меню с юзерскими скриптами.
17.07.19 в 09:45
0
тоже зашел написать про Controle прсто вырви глаз)))
а так очень хорошее дело делаете, однозначно плюс
16.07.19 в 10:59
1
Очень хорошее дело делаете. Большой плюс на весы Октопринта для меня. Как кастомизация организованна? Могу ли я себе настроить аналог бэбистепа Марлиновского(Z Offset у Клиппера) с оперативным доступом(под Клиппер) и ресет Клиппера с принтера (я часто головы меняю, и Клиппер в защиту уходит при отключении термистора)? В TouchUI и Printoid я все это настраивал, но тормозит Z Offset безбожно.
16.07.19 в 11:00
1
Похоже что проект набирает популярность. Фото с офиц. сайта spacex:
3a109dbf104df60c250287cb67790d2a.jpg
16.07.19 в 12:49
1
хм...
Правильно ли я понимаю, что экран подключается к Малинке?
16.07.19 в 17:15
1
Да, все верно.
16.07.19 в 17:23
1
хм...
Это что-то именно как плагин Окты? Или же как отдельная софтина управления? Будет ли например в Raspbian работать?
17.07.19 в 09:01
0
Это приложение которое запускается именно на Raspbian на Raspberry Pi. Оно подключается по API к Octoprint и позволяет с экрана управлять принтером.
17.07.19 в 18:23
2
Очень круто. А будет ли это работать на нетбуке с ubuntu server?
18.07.19 в 13:54
1
Окту с клиппером мы сотоварищи поднимали на нетбуке
18.07.19 в 14:51
2
Окта уже крутится на нетбуке... Вопрос был больше про платформу. Заработает ли это решение на х86, а не на Арм
20.07.19 в 08:42
1
Да, но для этого приложение нужно перекомпилировать под архитектуру x86, инструкция как это сделать есть ReadMe репозитория. Обуликованная в релизах сборка скомпилирована под Arm.
20.07.19 в 23:40
1
У меня получилось под минтом запустить.
если кому поможет:octoscreen_2.1-1_amd64.deb

пс если у кого есть интерфейс то в текущем сеансе можно запустить так:
#!/usr/bin/env bash
source /etc/octoscreen/config
export OCTOPRINT_HOST=$OCTOPRINT_HOST
export OCTOPRINT_APIKEY=$OCTOPRINT_APIKEY
export OCTOPRINT_CONFIG_FILE=$OCTOPRINT_CONFIG_FILE
export OCTOSCREEN_RESOLUTION=$OCTOSCREEN_RESOLUTION
export OCTOSCREEN_STYLE_PATH=$OCTOSCREEN_STYLE_PATH
/usr/bin/OctoScreen &

sleep 1
wmctrl -r "OctoScreen" -b add,fullscreen
18.07.19 в 13:56
0
Спасибо за работу!

Скажите пожалуйста, какая железка должна по системным требованиям?
У меня трудится окта + клиппер на оранж пи зеро (самом простом и дешевом варианте), спасибо.
18.07.19 в 16:59
0
Рекомендую использовать Raspberry Pi 3 Model B или Raspberry Pi 3 Model B+, у них достаточная производительность и проще всего будет настроить экран.
22.07.19 в 22:43
1
Оптимальное разрешение для OctoScreen составляет не менее 800x480 то
Для чего это? На штатном для 3,5 все отлично запускается, но после нажатия любой кнопки все съезжает. Если выставлять в настройках 800*533, то видно только грелку и все)

Почему проект называется OctoScreen, а при запуске пишется Z-bolt? Логичнее было бы включить в тему эту иконку и штатно выводить OctoScreen, а для желающих Z-bolt

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Астронавты NASA примерили новые скафандры с 3D-печатными шлемами

Ижевская компания запустит производство оснастки и контактирующих устройств с применением 3D-принтеров

Пушкин в Донецке: краткий экскурс в историю одного памятника

АКЦИИ В ЗЕНИТЕ: ДАРИМ пластик Polymaker и смолу Monocure3D!

Кубок России по программированию беспилотника разыграют на фестивале RUKAMI Кружкового движения НТИ

Что дешевле – печатать или лить в силикон? Попытка дать ответ….