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

aleksei.k
Идет загрузка
Загрузка
15.07.2019
4155
32
печатает на Z-Bolt Classic
3D-печать

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

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

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

65
Статья относится к принтерам:
Z-Bolt Classic Z-Bolt Plus
Прошло уже больше месяца с моей предыдущей публикации, посвященной интеграции OctoPrint’а и принтера Z-Bolt. Все это время мы не стояли на месте. Поскольку решение, которое у нас получается, нравится нам все больше и больше, мы постарались сделать так, чтобы каждый обладатель 3D принтера смог им воспользоваться.

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

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

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

В итоге остановились на двух вариантах:

1. Вариант попроще. 4’’ IPS резистивный Touchscreen
2. Вариант побогаче. 4.3’’ IPS емкостной Touchscreen
Оба экрана имеют разрешение 800х400. У обоих великолепная картинка, цветопередача и угол обзора. Главное их отличие - это емкостной touchscreen. К нему (как и ко всему хорошему) очень быстро привыкаешь и пользоваться им намного приятнее, чем резистивным. Тем не менее, экран с резистивным touchscreen’ом также вполне жизнеспособен.
Это Hard-Fork, детка!
Приложение было серьезно доработано. И почти перестало напоминать своего родителя. Поэтому (а также потому, что создатель Octoprint-TFT официально заморозил развитие своего детища) было принято решение сделать hard-fork и назвать новый проект OctoScreen.

1. В первую очередь была полностью устранена проблема зависания экрана, которой страдал Octoprint-TFT.

2. Заметно изменился дизайн и компоновка:
3. Экран научился понимать состояния принтера (ожидание/печать):
4. Добавлена функция быстрого преднагрева/выключения нагрева по нажатию на значок экструдера или стола, при этом экран подсвечивает статус:
5. Добавлен экран ручной калибровки стола:
6. Пункт “Menu” вынесен на отдельный экран:
7. Добавлена функция управления WiFi:
Само приложение теперь поддерживает до 4-х экструдеров. Напомним что проект изначально начинался с поиска экрана и прошивки для многоэкструдерного принтера Z-Bolt:
Краткое видео о том как работает экран

Скачать приложение и найти краткую инструкцию по установке можно с нашего GitHub:

https://github.com/Z-Bolt/OctoScreenТакже есть подробная инструкция под экран 3.5, за что отдельное спасибо нашему соратнику Денису (@negativ72rus):

https://community.z-bolt.ru/t/octoscreen-na-3-5inch-rpi-lcd-a/18
Пересмотр взглядов на программно-аппаратную архитектуру принтера или переобувание на ходу
В прошлой статье мы упоминали о планах использования Marlin в нашем многоэкструдерном принтере, однако в итоге выбор пал на Klipper. Причин несколько:
  • Одна из главных для нас, как разработчиков, причина - это его гибкость. Marlin и его “макаронный” код делают настоящим вызовом процесс внесения в него доработок, а тем более их дальнейшую поддержку.
  • Klipper в этом плане полная противоположность Marlin. Во-первых все конфигурирование Klipper вынесено из программного кода. Сам код хорошо структурирован. Но что самое важное, Klipper предусматривает модульность!!! Можно добавлять свою логику в прошивку, не внося изменение в ее ядро, и тем самым колоссально упрощать дальнейшую поддержку своего кода.
  • Всю настройку прошивки можно осуществляется прямо через web интерфейс OctoPrint. И при этом возможности настройки на много мощнее чем у Marlin или Smootheiware.
  • Как же тут не сказать о битах, за которыми в последнее время все гонятся )). Сама архитектура 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
Небольшой бонус напоследок!

Также мы сделали свою тему для интерфейса OctoPrint:
Шапку можно настроить нативным пунктом выбора цвета в разделе Appearance:
Инструкция как установить тему вы можете найти у нас на GitHub: https://github.com/Z-Bolt/OctoPrint-Z-Bolt-Theme
Пишите в комментариях, какие функции экрана вы считаете наиболее полезными и необходимыми к добавлению.

Всем добра, позитива и хорошего обдува нависающих элементов!

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

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

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

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

Комментарии

15.07.2019 в 21:29
1

/легкий оффтоп
Эти П образные hdmi коннекторы - жуткая дрянь в массе своей. Пришлось как-то столкнуться в одном проекте.. Из примерно 200 штук разных партий (разные цвета платы, разные производители) около 40штук брак. Часть с фиговой пайкой (2-3 контакта сплавлены вместе), часть не прозванивается и тд. Еще часть уже после ОПЭ навернулась, благо уже были понятны симптомы и просто заменялся коннектор прямо на месте.

15.07.2019 в 22:22
2

Спасибо, порадовали, просто супер классное решение.
'Ваще, я в ауте'.
Вы обкатывали только на малинке, на апельсин пробовали ставить?

15.07.2019 в 23:18
2

Изначально пробовали на апельсин, но там все сложнее с драйверами экрана.
Экраны под малиной работают практически из коробки поэтому учитывая незначительную разнице в цене рекомендуем не тратить время на 'танцы с бубном' :)

16.07.2019 в 11:56
1

Выглядит очень круто,а почему не сделали на русском языке меню экрана?я если честно далёк от октопринта и всяких разбери ,заранее извиняюсь.но все таки ?

16.07.2019 в 17:17
1

Сделать русскую локализацию в планах есть, но руки пока дошли.

15.07.2019 в 22:30
1

Планируется ли использование вновь вышедшего Raspberry Pi 4?

15.07.2019 в 23:19
1

Да, уверен в будущем придем к этому.

16.07.2019 в 08:57
1

Лично я не куплю четвёрку, пока не вернут нормальный HDMI. Микро - это чистое издевательство.

16.07.2019 в 09:09
2

Монументальненько, схоронил в закладочках. 
Из предложений: показ прошедшего/оставшегося времени, времени окончания печати - варианты на выбор, и отображение текущего слоя.
Из багов: Controle - это какой язык? Либо Controls, либо Settings, смотря что там за значком.
А вот с клиппером у меня не задалось, не захотел работать с автоуровнем на серве и оптике.

16.07.2019 в 09:18
1

Спасибо, все по существу, учтем!

17.07.2019 в 09:49
0

О, и ещё обязательно надо вытащить кнопки PSU control, Enclosure plugin и всё системное меню с юзерскими скриптами.

17.07.2019 в 09:45
0

тоже зашел написать про Controle прсто вырви глаз)))
а так очень хорошее дело делаете, однозначно плюс

16.07.2019 в 10:59
1

Очень хорошее дело делаете. Большой плюс на весы Октопринта для меня. Как кастомизация организованна? Могу ли я себе настроить аналог бэбистепа Марлиновского(Z Offset у Клиппера) с оперативным доступом(под Клиппер) и ресет Клиппера с принтера (я часто головы меняю, и Клиппер в защиту уходит при отключении термистора)? В TouchUI  и Printoid я все это настраивал, но тормозит Z Offset безбожно.

16.07.2019 в 11:00
1

Похоже что проект набирает популярность. Фото с офиц. сайта spacex:

16.07.2019 в 12:49
1

хм...
Правильно ли я понимаю, что экран подключается к Малинке?

16.07.2019 в 17:15
1

Да, все верно.

16.07.2019 в 17:23
1

хм...
Это что-то именно как плагин Окты? Или же как отдельная софтина управления? Будет ли например в Raspbian работать?

17.07.2019 в 09:01
0

Это приложение которое запускается именно на Raspbian на Raspberry Pi. Оно подключается по API к Octoprint и позволяет с экрана управлять принтером.

17.07.2019 в 18:23
2

Очень круто. А будет ли это работать на нетбуке с ubuntu server?

18.07.2019 в 13:54
1

Окту с клиппером мы сотоварищи поднимали на нетбуке

18.07.2019 в 14:51
2

Окта уже крутится на нетбуке... Вопрос был больше про платформу. Заработает ли это решение на х86, а не на Арм

20.07.2019 в 08:42
1

Да, но для этого приложение нужно перекомпилировать под архитектуру x86, инструкция как это сделать есть ReadMe репозитория. Обуликованная в релизах сборка скомпилирована под Arm.

20.07.2019 в 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.2019 в 13:56
0

Спасибо за работу!

Скажите пожалуйста, какая железка должна по системным требованиям? 
У меня трудится окта + клиппер на оранж пи зеро (самом простом и дешевом варианте), спасибо.

18.07.2019 в 16:59
0

Рекомендую использовать Raspberry Pi 3 Model B или Raspberry Pi 3 Model B+, у них достаточная производительность и проще всего будет настроить экран. 

22.07.2019 в 22:43
1

Оптимальное разрешение для OctoScreen составляет не менее 800x480 то 
Для чего это? На штатном для 3,5 все отлично запускается, но после нажатия любой кнопки все съезжает. Если выставлять в настройках  800*533, то видно только грелку и все)

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

f61
21.01.2020 в 18:28
0

Я хотел прикрутить экран с разрешением 480х320 3.5 у меня не влазит интерфейс, как и где масштабировать я не понял...

03.12.2019 в 12:46
0

OCTOSCREEN действительно забойная штука :)

Я попробовал и столкнулся с непониманием как добавить кнопки в меню. Мне крайне необходимо PS_ON / PS_OFF. 

Пробовал разобраться с файлом control.do. Но после перекомпилирования файл стал как и был и никаких изменений. Рекомпиляция идет очень долго кстати. И мне кажется что при этом все исходники заново копируются поверх.

И что это такое расширение .do? что за язык? Мои познания ограничиваются разве что asm, C и подобное...

Кто-нибудь может просветить? Или подтолкнуть в правильном направлении

03.12.2019 в 12:51
0

https://github.com/Z-Bolt/OctoScreen/blob/master/ui/control.go

Уточнение, расширение файлов не *.do, а *.go. Язык программирования https://golang.org/.

Что касается добавления своих кнопок, это можно сделать без внесения изменений в исходный код. У октопринт есть функция Custom Commands, которые автоматически выводятся на экране Control. Для более удобного управления Custom Commands есть плагин https://plugins.octoprint.org/plugins/customControl/

03.12.2019 в 13:04
0

Простите, я сильно ошибся. действительно .go :(

Спасибо большое! Уже становится гараздо понятнее. А я мучился с исходниками и control.go. На форуме где-то вычитал что там надо менять и компилить.

Прям хоть домой беги сейчас пробовать :)


А язык GO наверно основан на Pascal-е :))

10.12.2019 в 09:52
0

Спасибо большое за такое решение! Поставил на RasPi3B. Полет отличный. Особо понравилось, что если добавлять кастомные команды, то они так же появляются в тач интерфейсе. Добавил плагином функции включения, выключения подсветки.

Хотелось бы чтобы кастомные команды были доступны так же во время печати.

Подскажите, не планируется в интерфейс добавить возможность регулировки множителя подачи пластика?

21.01.2020 в 18:27
0

Добрый день, а экран с разрешением 480 320 3.5 как я понял тупо не вместится?

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

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

Легкий Боуден экструдер

Челюсти из Harz labs Dental Yellow Clear на Hardlight Sirius

контейнер для диафильмов/фотопленки

Как установить новую прошивку в ЧПУ CNC 3018, 1610,2418.

2 варианта нижних крышек для ZAV mini. Формат STEP.

Инструкция по установке Marlin 2.0 на плату SKR 1.3 с драйверами TMC 2208 UART