Известно, что «электроника — наука о контактах». Уже давно заметил, что мало какое из бытовых и околобытовых электронных устройств умеет ткнуть самоделкина носом в эту прописную истину так, как это делает 3D-принтер.
Иногда кажется, что вся электроника этой адовой машины состоит исключительно из одних только проводов и контактов. Базовые то электронные модули для этого вида устройств уже давно устаканились и доступны в своём завершённом виде. Поэтому, даже если вы сооружаете принтер с абсолютного нуля, то ничего кроме соединения контактов между модулями, вам, в сущности и не остаётся. Но уж зато развлечения этого у вас будет в натурально апокалиптических масштабах! В контексте обычного традиционного домашнего рукоблудия, конечно… Так то, вон, если заглянуть в «ящик» к какому-нибудь из наших промышленных роботов, то 3D-принтер жалобно всхлипнет и пойдёт утирать слезы зависти своим жалким пучком проводов… Все в мире относительно…
«Театр начинается с вешалки» — ещё одна прописная истина. Для электронного устройства, «вешалкой» можно считать точку его подключения к источнику питания. В данном конкретном случае — блок с гнездом розетки и блок к кнопкой включения питания:



Кода у нас на работе появились первые серьёзные лазерные гравёры, то я просто влюбился в их органы управления:

Вообще, обожаю всякие тумблеры и кнопки, какими они были во времена до массового вымирания технических дизайнеров в конце прошлого века. Сейчас только в промышленной технике их и можно встретить…
Понятно, что когда год-полтора назад, во время визита в один из местных магазинчиков с б/у-радиохламом, я увидел одну такую кнопку, сиротливо лежащую в куче современных соплей, то не удержался и спас зверушку, сам ещё на тот момент не зная зачем. Она была слегка поюзанная, конечно, но industrial-grade компоненты живут очень долго — она ещё всех нас перекликает. До сего момента, она спокойно лежала себе у меня в загашниках, ожидая своего звёздного часа. Достал, почистил, отмыл спиртом — стала, как новенькая:


Как видите, я слегка покривил душой, когда в самом начале написал, что все компоненты для этого проекта закуплены специально под него и никакой из них не был взят из загашников. Но случай с этой кнопкой — исключение. Уж очень она хороша. Очень долго я ждал, когда ей найдётся воистину достойное применение…
Кнопка рассчитана на управление высоковольтным напряжением. При этом рвёт не одну какую-то линию, а обе сразу. Т.е. прерывание происходит, как фазы, так и нейтрали одновременно. И ещё в ней прекрасно то, что «внутри у ней неонка». Буквально. А не вот эти вот ваши «светодиод подсветка радость кнопка равномерный скидка 20%«… Т.е. для её подсветки не нужно тянуть никаких дополнительных проводов с каким-то другим питанием. Подсветка запитана прямиком с тех 110 розеточных вольт, которыми сама же кнопка и управляет.
В принтере она живёт сама по себе в своём собственном кузове на одном из передних углов общей рамы:


На момент её установки, принтер ещё не то, что печатать — он «мяу» не мог сказать самостоятельно. Соответственно, части кузова для кнопки печатались на фотополимерном Фотоне. Как основание, так и крышка:



Аналогичным же способом делался и блок с розеткой:





Тут все без затей. Просто гнездо самой обычной «компьютерной» розетки IEC320 C14 с просто 15A стеклянным 6x30mm предохранителем.
Когда к принтеру было поведено питание, можно было уже нашпиговывать его остальной начинкой. Блоки питания, контроллер, мосфеты, рож вот это все…
Для размещения всего электронного балласта было отведено пространство под рабочим столом принтера. Места там навалом:

Хотя, как можно видеть, хоть в целом места там и навалом, но разместить все одной кучей не получается. Пришлось разбить всю электронику на несколько групп:

1 — блок питания всех нагревательных приборов
2 — силовые ключи управления всеми нагревательными приборами
3 — управляющая электроника
4 — блок питания управляющей электроники
5 — дисплей
Да, такая компоновка означает немного более длинные провода между некоторыми из компонентов. С другой стороны, что так, что эдак — все те же самые провода были бы в том же самом количестве. Лишние несколько дюймов длины некоторых из них, погоды уже не делают. Там и без того счёт идёт на футы для большинства веток. Зато всё устройство выходит целостным. Единая завершённая конструкция «выдернул из розетки и унёс», без всяких внешних блоков питания, выносных агрегатов и прочего.
Основой для монтажа всей внутренней электроники являются две большие алюминиевые панели, интегрированные в раму принтера:

Все они были размечены и засверлены ещё до установки:

Т.е., никакой там «сверловки по месту» с внезапной стружкой поперёк какой-нибудь печатной платы. Хвала стандартизации, все это можно было подготовить заранее, хотя некоторые компоненты на тот момент ещё катались где-то в почтовых грузовиках.

И, разумеется, принтер не стоит всем своим немалым весом прямо на этих панелях. Принтер стоит на хороших ножках (изначально, предназначенных для «гаражных» стеллажей и рассчитанных на вес куда большей, чем принтер со своим «немалым весом»):

Т.е. эти панели как бы висят под брюхом у рамы принтера. Хотя у них тоже есть свои маленькие дополнительные ножки. На фото их можно видеть в районе поперечной общей балки (чёрненькие такие). Но они сделаны скорее ради усиления П-образной сборки оси Z, которая аккурат в этом месте рамы и установлена.
Блоки питания принтера брались с большим запасом. Чёрной Вдове, например, с ушами хватало одного на 600W. Хотя, она тоже, как и Турель — 24-вольтовая.
Но у Турели две печатающих головки. Это +40W сходу. Стол у Турели тоже мощнее и прожорливее: 220W против 160W у Вдовы. Плюс, у Турели на один мотор больше. Там не ахти чего, конечно, но дополнительные полтора ампера, это дополнительные полтора ампера…
Впрочем, по расчётам у меня все равно выходило, что вроде бы, одного блока питания на 600W должно было хватать Болотной Турели с запасом в 15-20% мощности — не все же компоненты принтера работают и потребляют одновременно. Но, понятно, всё оно одним китаем делано. Что, по расчётам даёт запас в 15-20%, на деле будет, хорошо, если 5-10%. А то и вовсе ничего. И тогда из блока питания может выйти весь Волшебный Дым и он перестанет работать.
Блока питания на 800W и выше хватило бы с большей уверенностью. К сожалению, варианты таких БП того же размера что и 600-ваттные, либо не вызывали никакого доверия, либо вылетали по цене куда-то в область Созвездия Жабы. Т.о., я и пришёл к варианту с двумя блоками питания, разделением их ролей и хорошим, уверенным запасом по мощности для каждого.
Например, сейчас для нагревателей: 220W (кровать) + 40W (первый сосок) + 40W (второй) = 300W из 600. У блока питания остаётся 50% запаса по мощности при всех кипятильниках включенных одновременно. Для второго блока питания ситуация аналогична. Словами не передать, насколько эта простая математика улучшает качество сна самоделкина при долгих многодневных сессиях печати.
Как и было задумано, оба блока питания отлично разместились на положенных местах под столом:

До кучи, мне у этих блоков питания понравились кузова. Во первых, никаких дырок по стенам куда падает мусор, отвёртки, собачьи слюни и случайные пальцы. В задней части, над контактной колодкой (с изолирующей крышечкой), воздух забирается через аккуратную решётку, прокачивается через весь корпус и выплёвывается вентилятором в передней части. В плане корпуса и облицовки вообще ничего делать не нужно. Они самодостаточны в том виде, в котором есть. Да, крышки сделаны из обычной галимой фольги, зато несущие стенки — из вполне себе нормального алюминия.
Для управления нагревателями были использованы готовые модули на базе мосфетов.

Вдова у меня работала годами, управляя своим столом через вот такой модуль:

Пёс его там знает, что за мосфет у него внутри — никогда не интересовался — но все они, более-менее, стандартные и де-факто считаются рабочими лошадками для управления столами в принтерах. Чаще всего такой модуль без затей обзывают «MKS Mosfet». Видимо, первоначало, он был разработан для контроллеров линейки Makerbase. Но сейчас их пихают практически везде, даже если основная доска и близко не MKS. Хороший, лично проверенный, испытанный годами вариант. Он и пошёл на управление кроватью Болотной Турели.
Вот, для управления нагревателями печатающих узлов, я счёл применение такого модуля избыточным. Ну, куда им такого бегемота? И, что важнее, три таких здоровенных модуля у меня никаким боком не лезли в отведённую им область рамы. Если только бутербродом один над другим. Но это совсем уж тухлая идея…
Соответственно, для нагревателей печатающих узлов были взяты модули поменьше и попроще:

Вроде, как бы, типа, тоже пишут, что они для кровати. Но, что-то сильно я сомневаюсь, что они потянут кровать хоть сколько-нибудь осмысленного размера и мощности. Ну, потянут, конечно… Но греться будут не хуже этой самой кровати. Зато для нагревателей печатающих узлов с их жалкими 40 ваттами — в самый раз.
Итого, все три модуля управления кипятильниками — на месте:

Эти статьи идут сильно задним числом. Понятно, что за прошедшее время, вся эта система ключей управления термо-оборудованием принтера уже была много раз испытана, проверена, потрогана мультиметром, пощупана термометром, понюхано Псом, потаращена Котом, признана безопасной, надёжной и годной к эксплуатации.
Почему я не запитал кипятильники сопел печатающего узла с самого контроллера, как это обычно делают? Типа, на ней же есть свои неплохие (относительно) мосфеты. Кровать — ладно. Её все через внешний мосфет кормят. Но я не видел, чтобы через внешние мосфеты кормили ещё и печатающий узел… Однако, помните, там я выше постоянно писал о том, что с самого начала хотел в принципе развязать питание нагревателей и питание управляющей электроники. Вообще развязать. Совсем. Как мухи и котлеты. Инь и Янь. Авада и Кедавра. Два блока питания. Каждый кормит своими ваттами только и исключительно свою группу устройств. Чтобы ваще никакого отношения один к другому не имел. Вот — поэтому…
Как бы это не прозвучало странно, но группа управляющих модулей — самая скучная во всем составе принтера:

1 — центральный контроллер MKS-base v1.6 Ramps 1.4
2 — TL-smoother-ы моторов. По одному на каждую ось (Y, Z, X)
3 — Dual Stepper Motor Module. Я понятия не имею, как это адекватно перевести на русский в понятных терминах. Такая маленькая платка с простой разводкой, которая раздаёт сигналы драйвера одного шагового мотора на два шаговых мотора. Ниже будет подробнее.
И все. Не нужно ничего изобретать и придумывать. Все уже изобрели и придумали. Нужно только поставить на место и соединить проводами.

Года три назад, я спалил у Вдовы её родной контроллер. По своей сути, он был тем же самым стандартным MKS-base Mark-сколько-то-там, каких-то ранних модификаций, совсем немного перепиленный производителем под конкретный принтер. Проще и быстрее, было заменить его на «стандартный». Тем более, что, к тому моменту, «стандартными» стали куда более продвинутые и умные контроллеры. За прошедшие годы, новый контроллер зарекомендовал себя невпупенно надёжным, безглючным и вообще никакого внимания к себе не требовал.
Для Вдовы переход на новый контроллер тогда прошёл за пол часа по принципу plug-and-play. Убитый вынул, новый вставил, воткнул разъёмы, залил прошивку — готово. Даже прошивка была залита родная от Вдовы. По сути уже настроенный на неё Марлин. Ни строчки кода в конфиге менять не пришлось. Единственное — крепёжные отверстия нового контроллера не совпали с посадочными местами для старого. Мне было лень их переделывать, поэтому новый контроллер так и болтался все эти годы у Вдовы на одном винте и паре горячих соплей…
Пробежавшись по интернетам на предмет «а чего ещё с тех пор придумали?» с разочарованием понял, что, в принципе, ничего эдакого с тех пор и не придумали. Ну, там, с форм-фактором играют, драйвера моторов перебирают, непонятно зачем нужные для данной области применения 32/64-бит процессоры, и все такое. Принципиально ничего нового на этом фронте пока нет. Можно смело говорить, что технология для простых декартовых принтеров устаканилась в своём завершённом виде более-менее окончательно и последние пару лет оно идёт по пути «теперь ещё с блютус и банановым вкусом!»
Поэтому, в этом вопросе, я решил пойти не по любимому пути самоделкиных «что-то новое, неизведанное, интересное», а скучным путём разработчика промышленного оборудования: «что уже проверено годами и хорошо работает». Нашёл в точности такую же модель контроллера, от того же самого производителя, что был установлен на Вдову заместо родного:



Вот, прошивку под него пришлось конфигурить с нуля. Тем более, что у Марлина уже вышла хорошая вторая версия. Да и по составу устройств, новый принтер сильно другой. Поэтому файл конфигурации пришлось разбирать очень подробно и настраивать в нем чуть ли не вообще все.
Далее, TL-smoother-ы. Что это и зачем их нужно…
Биполярные шаговые моторы, которые двигают весь принтер — штуки весьма шумные. В принципе, именно сам их шум, лично мне — до одного места. Но это их громкое взвизгивание, лишь следствие более глобальных проблем. Потому, что шумят эти моторы не только вам в уши. Они шумят в электронном смысле. Дают такие наводки в линию, что хоть ложись и помирай. Токи там мечутся туда-сюда, наводятся, индуцируются, переотражаются — караул! Это влияет на качество печати. Из-за возникающих паразитных микровибраций (именно их вы и слышите), по поверхностям печатаемой детали идут «волны», «призраки», «отражения» и прочие широко известные дефекты.
TL-smoother, установленный между мотором и его драйвером на контроллере, призван гасить значительную часть этих шумов и наводок. Это приводит не только к более тихому ходу мотора, но и устраняет немалую часть упомянутых дефектов печати. По своей сути, это очень простая сборка-фильтр из кучи диодов:

Такой модуль можно собрать самому на коленке из чего под руку подвернулось. Работать он будет ничуть не хуже. Но в виде готового модуля это и проще, и компактнее:

Стоимость такого готового модуля, меньше чем у грязи. Что-то там порядка шести-девяти долларов за пол дюжины модулей. Единственно, крайне желательно добавить поверх SMD-диодов радиатор. Ибо греются они во время работы весьма существенно.
Нужны TL-smoother-ы в составе принтера или нет — вопрос сугубо личный. На этом поле боя немало клавиатур в спорах между самоделкинами поломано. С одной стороны, всей этой бубуйней обязан заниматься драйвер мотора на контроллере. Если он с этим не справляется, то, значит, это хреновый драйвер. С этим я согласен. Но! Сугубо из личного опыта: даже при хорошем «тихом» драйвере, наличие в цепи ещё и этого модуля, однозначно даёт видимый эффект на печати. Я имел возможность убедиться в этом, как на родном контроллере Вдовы с драйверами настолько паршивыми, что непонятно, зачем они вообще там были нужны, так и на новом контроллере с вполне вменяемыми драйверами. С этим модулем в цепи, разница была слышна и видна, в обоих случаях. Поэтому лично для себя я решил, что TL-smoother-ам в моем принтере быть однозначно при не важно каком контроллере или драйверах моторов.
Ну и последний кусочек в этой группе — Dual Stepper Motor Module.

Ерунда, в сущности. Ничего такого, чего нельзя сделать паяльником и куском провода. Собственно, даже «модулем» его называть я бы не решился. Хрень создана исключительно для удобства монтажа.
Ось Z в моем принтере управляется двумя моторами, работающими синхронно. Но у контроллера есть только один драйвер и один выход для мотора оси Z. Подцепить два мотора на один драйвер можно двумя способами: подключить их обмотки к драйверу параллельно или последовательно.
Оба варианта имеют право на жизнь. Но каждый со своими оговорками. При параллельном подключении вы сохраняете более низкий (половину от номинала), зато постоянный крутящий момент при любой скорости. При последовательном подключении, оба мотора будут иметь максимальный крутящий момент при старте/финише, но он будет быстро падать при увеличении скорости.
В принципе, для 3D-принтера, если руководствоваться общим соображением «лучше не сильно, но равномерно» больше подходит параллельный вариант. Если у одного мотора хватает здоровья таскать целую ось, то у двух это тоже получится, даже на половине мощности для каждого. С другой стороны, речь идёт про ось Z, которая в процессе работы перемещается на порядок реже прочих осей и длинна пробега у неё исчисляется миллиметрами и их долями, т.е. для неё, более актуальны мощные рывки на старте и финише. Т.е. последовательный вариант подключения тут более уместен. С третьей стороны… речь идёт про ось Z, которая таскается червячной передачей, свойства которой делают вопросы о «рывках на старте и финише», скорее философскими, нежели практическими. И, если драйвера моторов на контроллере позволяют задрать выдаваемую мощность до необходимой двум моторам, то чего ставить себе ограничения на скорость и длину пробега по оси Z?
В общем, я решил так: использую параллельное подключение. Как наиболее простое. Благо, что есть вот такой удобный модуль для разводки контактов. Если же мощности при параллельном подключении будет все же недостаточно и не будет возможности вдуть драйверу побольше силы на выходе, тогда переколбашу все на последовательное подключение.
К сожалению, для такого варианта я не нашёл подобных модулей в продаже. Придётся сделать самому. Не ахти уж какой по сложности агрегат — плата с тремя разъёмами и несколькими дорожками…
По итогам, все у меня прекрасно заработало в тупом параллельном варианте. Даже выходную мощность у драйвера не пришлось задирать (формальности ради поднял её на 30% от необходимого для одного мотора). При этом драйвер греется не больше чем при работе с одним мотором (как говорилось выше, ось Z работает редко и недолго). В любом случае я на все драйверы прилепил по радиатору и организовал их обдув.
Принтер уже испытан в относительно «долгом забеге» (непрерывная печать в течение 3.5 суток). Ни перегревов, ни пропуска шагов, никаких иных аномалий… Ось Z уверенно шмаляет вверх-вниз на скорости, какой я никогда не видел у той же Вдовы, например. Так, что пока остаётся все как есть, по параллельной схеме.
Дисплей.
Располагается отдельно от прочих элементов управляющей электроники на передней части рамы принтера:

Годы практики показали, что при использовании в составе принтера малины с октопринтом на борту, роль дисплея самого принтера сводится почти к нулю. Всегда проще, удобнее и быстрее, оперировать контролем печати и её настройкой на большом экране компьютера мышкой в интуитивно понятном интерфейсе, чем ползать крутилкой по миллиону текстовых меню на маленьком дисплее принтера. По той же причине я не вижу смысла и в графическом сенсорном бортовом экране. Потому, что он все равно маленький и его интерфейс все равно не такой удобный, как в приложении на нормальном компьютере (зато стоит он вдвое дороже и придури в нем столько, что пока под него сконфигурируешь прошивку контроллера — с ума сойдёшь).
Но бортовой экран с основными органами управления принтеру все равно нужны. Хотя бы в качестве резервной системы. Сетка упала или ещё чего, что нарушит связь принтера с внешним миром. Бортовая малина с октопринтом становятся бесполезными в таком случае. Да и, свой экран у принтера — это просто красиво!
Вот этим «красиво» я и руководствовался. Сенсорные цветные графические экраны таковыми мне не кажутся в силу крайней извращённости моего чувства прекрасного. Они сразу проходят мимо без разговоров. Остаются стандартные «пиксельные» LCD. Но в массе своей они тоже тошнотные. Особенно те уродские лопухи, что с синей подсветкой, которые считаются «стандартными».
К счастью, проявив упорство, таки удалось наткнуться на очень милый экранчик серии Mini12864:

Он меньше по формату, чем обычно для принтеров такого типа, но оно в самый раз для резервного элемента управления. Крутилка сбоку, а не под экраном, как у «стандартных» дисплеев (как же меня это выбешивало!). Ну и, плюс, RGB подсветка, как экрана, так и крутилки. Соответственно, можно выставить цвет на любой извращённый вкус… Ну, я так думал…
На самом деле — нет… Т.е. — да… Но не совсем… Ещё точнее — именно так, но можно и по другому… «Да», в том смысле, что подсветка там RGB и её можно настраивать. А «нет», потому, что не факт, что это нужно делать. На уровне самой прошивки Марлин, если подключить именно эту модель дисплея (ну, модель из списка, совместимую с этой), то по умолчанию все устроено так, что экран меняет свою подсветку сообразно той операции, которую выполняет принтер. Греет кровать или печатающие узлы — дисплей красный (для печатающих узлов — оранжевый и, до кучи, цвет меняет свой оттенок по мере приближения к заданной температуре), готовится к печати — серый (пока ноль ищет или стол ощупывает), во время печати — янтарный, закончил печать — зелёный.
И, на самом деле, мне это понравилось куда больше, чем постоянный одинаковый цвет, пускай и настроенный вручную «под вкус»! Решил ничего не менять в конфигах. Оставил все настройки подсветки в прошивке, как есть. Такая индикация намного нагляднее любых букв. Достаточно просто взглядом скользнуть по экрану и сразу понятно, над чем именно сейчас принтер думает и какого хрена ещё не начал печатать…




Шикарный ненавязчивый дисплей, который был официально признан очень удачным выбором для моей Болотной Турели…
Дисплей так же прошёл сертификацию у Кота. В отличие от Пса, у него с восприятием цветов все в порядке. Сидел и фтыкал в него несколько минут кряду, наблюдая за сменой оттенков. Один раз потрогал лапой крутилку. Ушел с довольной мордой.
Есть ещё один набор компонентов, о котором я забыл упомянуть в предыдущих статьях цикла. Эти компоненты, хоть и относятся к электронике, но являются, все же, неотъемлемой частью соответствующих осей принтера, а не общей начинки. Так, что писать про них нужно было тогда. Но…
Endstops или limit switches. Буду обзывать их «концевиками» для простоты:

Принтеру они нужны для определения нулевой координаты, относительно которой он будет печатать. Для принтеров такого типа, в качестве точки начала всех начал, принято считать вот этот угол стола:

Самому принтеру глубоко безразлично откуда считать. Но люди решили, что будет вот так.
Можно встретить принтеры, где отсчёт идёт от центра стола. Или от дальнего левого угла. Но редко. Обычно это связано с какой-нибудь технической особенностью агрегата, когда иначе не получается.
Принтеру все равно откуда начинать считать, но он должен знать откуда именно конкретно. Узнать он это может двумя способами: ему об этом скажет человек или он сам попытается нащупать некое крайнее положение, которое примет за начало координат.
Люди — ленивые мясные мешки — не любят каждый раз устанавливать принтер в нулевое положение. Они любят, чтобы и эту работу бедный робот делал вместо них. Вот для этого концевики и нужны. Робот начинает движение одной из осей, пока не наткнётся на концевик. По факту его срабатывания, робот будет считать эту точку нулевой для данной оси. Потом он начинает шевелить другую ось, пока не наткнётся на её концевик… Ну и так далее со всеми осями.
Сами концевики бывают разными. Могут быть механическими контактными, могут быть «сенсорными» бесконтактными. Последние были у меня на Вдове. Глючили безбожно! Чуть, там, буквально на волосок сдвинул случайно — все. Или, упаси боже, там рядом какая намагниченная отвертка валяется. Перестаёт чуять приближение к объекту и не срабатывает. Сколько уж зубов на ремнях было сорвано из-за того — не счесть… В этот раз решил, что никаких «сенсоров» не будет, ну их нафиг. Старый-добрый безотказный «микрик с усиком», как диды завещале. Причём, тоже из этих… Industrial-grade. Чтобы на века! Хоть дрова им руби, хоть на космические челноки ставь…
V-166-1C25:

Подсмотрел в одном из наших рабочих фрезеров, когда ему делали обслуживание. Вот именно такие в них и стоят. Не знаю везде ли, но на барабане подачи инструмента — точно…
Для оси Y, установка концевика была самой простой. Регулируемая алюминиевая пластина к раме и концевик на ней. Сидит и ждёт, когда его тюкнет блок подшипника стола:


При нормальном положении вещей, регулировка для концевика делается один раз и навсегда. По этой причине я не стал мудрить со всякими сложными механизмами настройки.
С концевиком оси Х вышел небольшой косяк. Первоначально разработанное для него крепление, в итоге оказалось никуда не годным. У меня сейчас даже его модели не сохранилось. Только пара фотографий:


Где мои мозги гуляли, когда руки это делали — не знаю. Понятно, что зафиксировать такое «ухо» на хорошо промасленной отполированной стальной палке довольно непросто. Ладно бы оно просто проворачивалось. Но оно так же имело склонность отползать назад, когда в него каретка тюкалась. Неизбежно настал момент, когда я слишком сильно затянул винт и крепление попросту лопнуло… Что не удивительно для фотополимерной смолы из которой оный был отпечатан.
К счастью, на тот момент, Болотная Турель и сама уже начала делать свои самые первые попытки что-то напечатать. Прикрутил на время скотчем остатки первой версии крепления и замоделил новое. Более надёжное и прочное.
Мнэ… Уже не совсем уверен, но вроде бы, вот это, вообще, самая первая осмысленная деталька напечатанная Турелькой:




Всякие кораблики и прочая чепушня были напечатаны уже после этого крепления. Качество печати, конечно, на тот момент было просто ужасным. Но тем не менее!
Это крепление решило все проблемы. Пластик — не фотополимерная смола. Он более упругий и не лопается, так просто — винты можно затягивать от души. Теперь концевик сидит, как влитой и никуда не ползает.
С концевиком оси Z все вышло еще интереснее. Он так же должен сидеть на палке и для него так же было напечатано крепление из фотополимера:


Но тут и палка сильно больше диаметром, и крепление более массивно. В общем, этот вариант сидит на месте вполне себе надёжно.
А интересно тут то, что этот концевик и не нужен вовсе! Потому, что BLtouch:
Механический концевик оси Z внесён в конструкцию исключительно ради соблюдения общего единообразия системы и играет сугубо резервную роль. Сейчас он вообще сдвинут ниже области контакта и каретка оси Z до него не доезжает никогда.
Вообще, это, конечно, чистейшей воды паранойя. Голоса в голове мне все время такие «уууу…. bltouch электронная фигня… бу-бу-бу… неизвестно сколько проживёт… ля-ля-ля… а вдруг война, а он сломался…. ке-ке-ке…«
Ну, в общем, есть он и есть. Висит себе, каши не просит. Резервничает…
Провода. Много проводов. ОЧЕНЬ много проводов. На этот раз я решил уделить проводам особое внимание. Даже, куда большее, чем всяким электронным модулям. Потому, что вся вот эта вермишель во все стороны, осточертела мне ещё на Вдове. На этот раз все должно быть аккуратно. Ничего не должно никуда торчать и свешиваться. Ничего не должно ни за что цепляться. Все должно быть системным, доступным и пригодным к ремонту.
В данном проекте самым активным образом использовались разъёмы JST SM. Согласно моему личному опыту, для этих целей они самые надежные и удобные:

Все провода, сколько их ни есть в принтере, были тщательно сгруппированы в автономные ветки. Я помню момент, когда у Вдовы понадобилось заменить один-единственный провод на печатающем узле. Пришлось разобрать половину принтера! Это был один длинный сплошной провод, который вот просто так не выдернешь из общей кучи. Ну уж фигушки! Больше ничего подобного никогда! Даже, если это означает, что обжималку для разъёмов придётся стереть по самые рукоятки.
Часть проводов была упрятана непосредственно в раму принтера. Те провода, которые, менять и чинить не придётся скорее всего никогда. В основном это касается проводов, которые не идут на подвижные части принтера. Концевики осей Y и Z — они монтируются на раму, сидят на своих местах годами, никуда не двигаясь. Сигнальные провода между мосфетами и контроллером — из той же серии. Или, ещё, например, высоковольтные провода от розетки, через кнопку до блоков питания. Это здоровенные многожильные проводищи на 14G. С таким проводом не может ничего случиться вообще, учитывая имеющиеся в принтере нагрузки и напряжения. Все эти провода можно сразу убрать с глаз долой внутрь рамы и забыть о них навсегда.
Другое дело, куча проводов, идущих от контроллера к подвижным частям принтера. Их намного больше, чем «стационарных».
Так уж выходит, что единственная неподвижная часть принтера — его рама. И подключать к ней решительно нечего, кроме пары моторов экструдеров, да огоньков фоновой подсветки (которую, я, в итоге, вообще отказался делать). Все остальные части принтера постоянно елозят туда сюда и для проброса проводов к этим частям необходимо использовать вот такие гибкие каналы, похожие на тракторные гусеницы:

Но даже такие каналы, не спасают провода на все 100%. Выше я там несколько раз помянул возникающую периодически необходимость замены и ремонта проводов. Даже в этих каналах, где провода вроде, как зафиксированы и изгибаются плавно, они все равно иногда ломаются. Особенно это характерно для оси X. На фото выше — канал оси Z. Сама ось двигается медленно и редко. Там у меня провода ещё ни разу не ломались. Но ось Х мечется из стороны в сторону, как белка преследуемая ротвейлером. И вот провода для этой оси выходят из строя систематически от постоянного быстрого сгибания-разгибания.
В последнее время я активно ввёл в свой рукодельный обиход гибкие провода в мягкой силиконовой изоляции. Они намного устойчивее в этом плане, нежели обычные. В предыдущем принтере, по мере постепенной замены переломившихся штатных проводов на эти «силиконовые», количество такого рода проблем сократилось. Ни один из «силиконовых» ни разу с тех пор не сломался. Но для Вдовы процесс перехода на новые провода так и не был завершён полностью, поэтому в ней так все и ломалось там и сям до самого конца.
В этом принтере, с самого начала использовались только и исключительно «силиконовые» провода. 18, 20 и 24 G в зависимости от того, что на них висит. Тем не менее, в их проводку все равно заложена концепция, позволяющая менять тот или иной участок ветки без необходимости протягивать его каждый раз от контроллера до агрегата по всей длине.
Все ветки, прежде чем попасть в канал, имеют на себе разъем. На выходе из канала — опять разъем. Сколько раз та или иная ветка переходит из канала в канал, столько разъёмов она в своём составе и имеет.



Да, я знаю, некую общую философскую парадигму электротехники, согласно которой «меньше разъёмов — меньше проблем». Любой разъем усложняет и понижает надёжность цепи. Но в данном конкретном случае, это себя оправдывает. Провода не дешёвые, между прочим. И поменять кусок длиною в фут, гораздо предпочтительнее, чем менять три-четыре фута всей ветки целиком. Не говоря уже о том, что это проще технически. Гораздо удобнее вызванивать сломавшийся провод небольшими отрезками по разъёмам, чем пытаться угадать, где там он под изоляцией грохнулся на отрезке километровой длины.
Опять же, всегда есть возможность просто отсоединить тот или иной канал целиком, утащить его на удобный стол и спокойно препарировать в комфортной обстановке. А не где-то там в утробе принтера стоя на одной ноге с паяльником в зубах.

Да, на организацию всей вермишели у меня ушло две коробки JST-разъёмов, а обжималка для их контактов мне снилась несколько ночей подряд. Но оно того стоило!
Помимо, долгого и скучного процесса протягивания проводов, так же приходилось решать и проблему креплений каналов. Для рамы такие крепления просто печатались из фотополимера:

Это неподвижные концы каналов и нагрузок на них не приходится никаких.
Другое дело, крепления этих каналов на стороне подвижного узла. Там уже пришлось отложить эпоксидные сопли в сторону и вернуться к работе с металлом. Особенно это касалось креплений каналов для оси Х:


… и «горячего стола», он же — ось Y.
С последним пришлось поизвращаться. Стол был взят уже готовый и сверлить в нем дырки не хотелось (был риск повредить нагревательный элемент внутри). Поэтому пришлось выпиливать крепление хитровыдолбанной формы, чтобы закрепить его на штатные винтики, которыми к столу крепятся скобки для фиксации стекла:



Вот таким вот образом, постепенно вся вермишель принтера приводилась в порядок до своего почти полного исчезновения из поля зрения, оставаясь, тем не менее, доступной для обслуживания (и недоступной для погрызывания):


Хотя погрызыванием проводов грешит, в основном, Кот — я уже говорил тут где-то, что он давеча поел провода в голове механической собачки. С принтером у него шансов меньше так поступить. Хотя, все коты изрядно с придурью. Уверен, он все равно придумает как это сделать. Впрочем, тех наработанных часов лётной практики, что он получил от меня в назидание, хватит минимум на пол года, чтобы от одного вида проводов его в дрожь бросало… Посмотрим…
Ну и последнее в этой части принтера — защитные корпуса для электроники.
Каких-то особенных изысков в этом плане не требовалось. Основные компоненты находятся в пределах рамы и по большей части ею же защищены. Такие элементы, как блоки питания, так и вовсе ни в чем дополнительном не нуждаются. Они и сами по себе чуть ли не монолитные кирпичи из алюминия.
Некоей защиты сверху требовали только компоненты размещённые в задней части принтера. Ко всему прочему, они нуждаются в обдуве воздухом для отвода тепла с радиаторов, а крышка над ними — удобный способ эти вентиляторы установить:

Тут уже Турель все делала для себя сама:




В ход пошли остатки старых запасов пластика. Его все равно уже надо «списывать», а то он совсем пересохнет от долгого хранения. А поскольку крышки идут под покраску, то цвет самого пластика не имеет никакого значения. Хороший повод обновить запасы.
Защитные решётки на радиаторы тоже можно было бы напечатать сейчас Турелью, но их я печатал в комплекте с креплениями для концевиков из фотополимера, когда ещё Турель не могла делать ничего подобного. Тогда их просто отложил в сторону до поры. Когда эта самая пора настала, их оставалось только покрасить и установить на место:



Установка этих решёток на крышки блоков с электроникой стала, фактически, финальным аккордом проекта.
В принципе, для работы принтера, достаточно только его механической части и одного контроллера с блоком питания. Все эти мосфеты, BLtouch, разноцветные экраны и прочее — по сути своей усовершенствования, дающие принтеру дополнительные возможности или делающие его работу более надёжной. Хорошо, когда они есть, но ключевыми они, все же, не являются.
То же можно сказать и про подключение к принтеру Raspberry Pi c Octoprint и камерой на борту. Безусловно можно обойтись и без этого. Думаю, процентов восемьдесят владельцев 3D-принтеров без этого и обходятся прекрасно. Однако, лично для меня, те дополнительные возможности, которые даёт добавление микрокомпьютера к системе, оказались настолько удобны и незаменимы, что эта опция стала элементом категории «must have».
На стадии проектирования принтера, оборудование его микрокомпьютером Raspberry Pi c установленной на него системой OctoPrint, рассматривалось с двух принципиально разных позиций.
В одном случае, эта добавка могла быть «центровой» и весь остальной электронный обвес принтера стал бы её периферией (включая и основной контроллер). Принтер в принципе не мог бы функционировать без этой системы (т.к., в этом случае, OctoPrint взял бы на себя все функции интерфейса, а «родной» экран-с-крутилкой был бы упразднён). В другом случае, добавка из микрокомпьютера не реализуется, как «центровая» и, в свою очередь, сама становится периферией, обеспечивающей дополнительные возможности.
По первому сценарию (когда Raspberry Pi + OctoPrint становятся основными элементами принтера) работала Чёрная Вдова. Хотя у неё ещё и оставался родной экран, как рудимент исходной фабричной комплектации, но пользоваться им было уже почти невозможно т.к. даже его слот для карты памяти через которую принтер получал бы файлы для печати, был недоступен с внешней стороны корпуса. Информация же, которую он отображал, вообще мало соответствовала действительности. Из-за того, что в оригинальной прошивке от TEVO была отключена обратная связь контроллера и он мог только тупо выполнять «приказы» поступающие в порт, не пытаясь их «осмысливать» и рисовать результаты на своём экране. Все управление и контроль осуществлялись исключительно через малину и её интерфейс.
Сама же Raspberry Pi cо своим большим сенсорным экраном, встроенным SSD и прочими ништяками, имела внушительный вид взаправдашнего компьютера:


Она могла не только принтером управлять и видео с его камеры в интернет стримить, но ещё и была нашпигована всяким совсем уж запредельно адовыми заморочками, типа встроенного онлайн-радио со стереосистемой (вдруг решу музыку послушать), торрент-качалкой (ну а, фигли — пока печатает сутками, может параллельно и качнуть чтонть) и т.п… Можно было даже киношку посмотреть… HTTP-сервер, опять же… Мнда…
Вы будете смеяться, но был момент, когда я туда ещё и микрофон впердолил, научив малину выполнять голосовые команды, типа «Preheat for PLA/ABS» или «Start/Stop/Pause» и т.п. Но потом это было отключено т.к. малине было тяжело так жить на уровне процессора и она, либо игнорировала команды, либо лагала видео, либо вообще останавливала печать на несколько секунд о чем-то думая внутри себя…
Интерфейс, написанный под это дело, внушал трепет и наносил существенный урон любому неподготовленному сознанию, оказавшемуся случайно у меня в гостях:


Чего уж стесняться… При таком бортовом компьютере, не то, что функции управления печатью стали не совсем основной функцией прибора — сам весь принтер целиком превратился в не более чем декоративную подставку для этой малины.
Не могу внятно объяснить, как оно до этого всего дошло… Сперва мне просто хотелось, чтобы принтер показывал картинку со встроенной камеры не только куда-то во вне, но и прямо у себя на борту. А потом… Как говорится, «но Донцову было уже не остановить» …
В случае с Болотной Турелью, обдумав все на трезвую голову, было решено не следовать по тому же пути. Пускай малина теперь будет сугубо утилитарной сервисной вещью исключительно для принтера. Сетевым интерфейсом с расширенными возможностями, как то и было задумано разработчиками октопринта. Никаких дисплеев и тачскринов с wow!-интерфейсом, никаких SSD, никаких программ и скриптов, кроме необходимых принтеру для работы. Одна голая малина, октопринт и камера.
Тем не менее, из прошлого опыта была заимствована одна полезная идея: крепление камеры на оси Z, которое позволяло ей подниматься по мере «роста» детали на столе. Т.о. в поле зрения всегда оказывается печатаемый слой крупным планом и не возникает ситуаций, когда оно уползает куда-то за кадр и перестаёт быть полезным с точки зрения контроля процесса. Это решение тогда оказалось на удивление удачным и его имело смысл воплотить в составе Турели.
Итого, малина и камера в минимальной комплектации:

Размещение малины на той же оси Z, обусловлено тем, что на этот раз было решено использовать не переделанную писюковую вебкамеру, а нормальную «родную» камеру для малины с широкоугольным объективом:

При всех своих достоинствах, есть у неё и недостаток: широкий хрупкий шлейф, который мне совершенно не хотелось тянуть через два гибких канала до секции рамы, где малина могла бы быть закреплена стационарно:

Долго такой шлейф не проживёт в режиме постоянного сгибания-разгибания. К сожалению, не удалось найти вариант такого шлейфа в виде простого многожильного кабеля достаточной длины. Не уверен, что оно вообще в природе есть. Делать же такой кабель самому, показалось слишком утомительным. Тем более, что разместить малину в непосредственной близости от камеры не мешало совершенно ничего, а проблем это решало… сразу все.
Понятно, что питание для малины и USB-кабель, через который она управляет контроллером принтера, пришлось таки пробрасывать через гибкие каналы для электропроводки по всем осям до самого блока питания в раме. Но эти провода — не хрупкая ленточка толщиной с волос. Это обычные кабели, достаточно устойчивые к многократным сгибаниям-разгибаниям в процессе работы принтера, так что для них это нормальная ситуация.
Чтобы ещё больше упростить задачу, для малины было решено даже корпус не делать. Вместо него был использован радиатор, выполняющий ту же функцию:



Этот корпус-радиатор (полностью алюминиевый), закрывает все внутренности малины, да ещё и вентиляторы на борту имеет. Т.е. реально не нужно ничего больше делать вообще! Просто вкрутить четыре винтика и подать питание. Просто, надёжно, прохладно.
Кстати, саму малину было решено установить третьей версии. Точно такая же была у Вдовы, управляя её безумным зоопарком. И прекрасно его тянула, если я уж совсем не перегибал палку в приступах «креатива». Для реализации одних только функций октопринта — трёшки хватает заглаза! Поэтому было решено отказаться от закупки новой «четвёрки», а сэкономленные на этом несколько десятков енотов из бюджета проекта были перенаправлены на покупку хорошей «руки» для камеры.
В качестве «руки» для камеры был выбран гибкий модульный канал от Loc-Line:

Исходно, такие каналы служат для подачи жидкости или воздуха в область работы инструмента (чаще всего в различного рода станках, гравёрах и т.п.). Но самоделкины давно уже освоили эти модульные каналы в своем творчестве и лепят из них все подряд. От настольных светильников и «третьей руки» для пайки, до подставок под фотографии и манипуляторов к роботам.
С самого начала проект шёл настолько гладко, что Судьба решила хоть где-то устроить мне приключение. В Планах я видел «руку» для камеры, собранную из черных сегментов. Они же и были заложены в модель:

В реальности же, модули чёрного цвета в свободной продаже нашлись только размером в 1/2 дюйма и тоньше. С ними «рука» была бы слишком тонкой и, скорее всего, не смогла бы достаточно надёжно удерживать камеру. В проект была заложена «рука» из модулей на 3/4 дюйма. Перерыл ваще все! На амазоне, что-то попадалось чёрного цвета, но все это были китайские клоны оригинального Loc-Line с не слишком хорошими отзывами и совершенно невменяемой ценой.
Время уже начинало поджимать и, в итоге, скрипя сердце, пришлось купить набор сегментов вон такого «стандартного» тошнотного сине-сизого цвета, как на фото выше. Оно и близко не вписывалось в цветовую гамму принтера, зато это был родной надёжный Loc-Line. Решил отнестись к этому философски и смирился, в надежде, что проблему с цветом как-нибудь решу по ходу. Была, там, пара идей…
Корпус для камеры разрабатывался таким образом, чтобы его крепление было точно таким же штатным шарниром в составе «руки», как и прочие её сегменты. Т.о. оно стало просто очередным модулем в цепочке, сохранив все положенные степени свободы на изгиб и вращение:

Смешные «ушки» по бокам передней крышки, предназначены для светодиодных лент подсветки поля зрения камеры.
Общая монтировка всей «малиновой опции» для Турели, была самой же Турелью и напечатана. К тому моменту она уже вполне уверено могла обеспечивать сама себя всем необходимым:




Эта монтировка является одной общей точкой крепления для малины, и камеры. Снял-поставил…
О! Нашёл фотографию из серии «за сценой»…
Малина на борту принтера уже работает, установленный на ней октопринт управляет печатью и гонит видео в сеть. А пока Турель печатает нормальное крепление для камеры, заместо него используется «временный заменитель крепления камеры со вкусом идентичным натуральному«:

Как говорит Адам Сэвидж, в хозяйстве самоделкина «каждый инструмент — молоток». Что оказалось под рукой, то в ход и пошло…
Передняя часть корпуса камеры печаталась уже фотополимером. Поскольку для неё, форма превалирует над прочностью:


В качестве источников света использовались четыре фрагмента той же «dot-less» светодиодной ленты, что были использованы в составе печатающего узла.
Кстати — и все! Вопреки моей почти неконтролируемой тяге к огонёчкам и неутолимому желанию превращать любое устройство в новогоднюю ёлку, это все световое оборудование, что есть у данного принтера. Одна вот такая полоска ленты под соплом печатающего узла и четыре полоски по бокам камеры. И этого оказалось более чем достаточно!

Заставить себя не пустить ленты светодиодов по периметру всей рамы — было самой тяжёлой и трудной частью проекта. Но я справился!
К сожалению, с «ушками» по бокам объектива камеры я немного лопухнулся. Размещённые на них ленты дают невпупенную боковую засветку в широкоугольный (170° FOV — практически fish-eye) объектив камеры. Этот момент я совершенно не учел при разработке. И даже не подумал о нем, пока не увидел первую картинку после окончательной сборки.
Но эту проблему полностью решила бленда на объектив, добавленная в конструкцию. На фото выше, там, видите ленточку малярной ленты вокруг объектива? Это я подбирал высоту бленды, чтобы она сама в кадр не попадала, но при этом отсекала засветку с боков. В итоге, вот такая бленда оказалась достаточной:

На тот момент оставалась еще упомянутая ранее проблема засветки кадра при печати белым пластиком.
При общем освещении в комнате, оно, более-бенее, нормально все. Но когда я в комнате отсутствую (т.е., когда и нужна работа камеры), то общий свет в ней погашен. И даже днём в этой комнате почти темно. Её окна выходят на «солнечную сторону» и если не задёргивать светонепроницаемые шторы наглухо, то температура в помещении быстро начинает стремится к несовместимой с белковой жизнью.
Ну и в темной комнате, камера принтера делает так:

Печатаемая деталь оказывается засвеченной и на ней не разглядеть никаких деталей. Что в принципе делает бесполезным любой дистанционный визуальный контроль за печатью.
И тут проблема была уже не в конструкции камеры или её корпуса, а в программных настройках системы в целом. По какой-то причине, камера не включает режим автоматической экспозиции по умолчанию. Изображение строится по тому уровню освещённости, который камера засекла при включении принтера. А это, в общем случае — пустой матовый чёрный стол. Впоследствии камера не подстраивается под новые условия, когда на столе начинает «расти» деталь. Кадр становится засвеченным т.к. в общем случае, деталь всегда светлее чем матовый чёрный стол принтера под который камера настроилась в самом начале.
Я так и не разобрался пока, как это можно настроить на уровне инициализации системы при включении принтера, но нашёл необходимые настройки в соответствующем плагине для октопринта. Безусловно, кадр стал существенно темнее в целом, но зато появилась необходимая детализация на объекте печати.
При том же выключенном общем свете в темной комнате:

При включённом свете в комнате:

Само по себе, изображение, в данном случае, необходимо только ради контроля процесса печати. Не сдвинут ли слой, не начались ли пропуски, сколько напечатано, печатает ли оно вообще и т.п. С этими кадрами не нужно выходить на аукцион произведений фотоискусства или устраивать выставки в галерее даунтауна. Вопрос сугубо технической необходимости. И, на текущий момент все выглядит почти так, как я хочу.
Хотя с настройками повозиться ещё нужно. Не нравятся мне все эти лишние плагины. Уверен, все то же самое можно сделать напрямую руками в конфиге при старте. Надо доки почитать…
Осталась только проблема тошнотного цвета «руки» на которой смонтирована камера. Тут уже вопрос был не технической необходимости, а исключительно эстетической. Выбешивал меня этот сизо-синий цвет сегментов невероятно!
Попробовав несколько различных способов решения проблемы, пришёл к тому, что наименее безобразным будет натягивание на «руку» чёрного нейлонового «чулка» для проводов:


Эти «чулки» повсеместно используются в принтере для всей электропроводки, поэтому оно хоть и выглядит теперь странно, но из общего стиля хотя бы не выбивается…
Болотная Турель вообще вся в целом выглядит странно, так, что — норм… Я до сих пор не могу решить нравится мне это решение или нет. С одной стороны — это колхоз и сантех. Нужно было проявить больше настойчивости в поисках. С другой стороны, есть в этом что-то… Как у старого космического скафандра «кишка» от внешнего блока системы жизнеобеспечения… Не знаю… Пока оно все есть, как есть.
В качестве дополнения к теме октопринта, могу огласить список всех плагинов, что у меня используется в его составе. Некоторые из них могут быть полезны… Причём, это не просто какие-то плагины, которые были установлены вот прямо сейчас, каждый из них был признан полезным и годным по факту многолетней работы. За парочкой исключений.
Исключение первое: Bed Visualizer
Покажет насколько кривой у вашего принтера стол и поможет его хоть как-то настроить. Раньше у меня в составе принтера не было автоматического проба, который мог бы пощупать всю поверхность стола и его выравнивание делалось дедовским методом «по листочку». Соответственно, и плагин этот не использовался.
С добавлением в систему BLtouch и этого плагина, процесс стал более точным и быстрым. До кучи я узнал, что стол у Болотной Турели имеет горб в центре по оси Y:

Поделать с этим ничего нельзя — таков уж дефект самого стекла. Никакой регулировкой «по четырём точкам» это не исправить. Впрочем, картинка слегка утрирована для наглядности. Счёт кривизны там идёт на сотые доли мм. и, в любом случае, такая кривизна стола учитывается/компенсируется во время печати… Могло быть и хуже… Намного хуже…
Исключение второе: Camera Settings
Это тоже новый для меня плагин. С его помощью было исправлено включение режима автоэкспозиции у камеры, упомянутое выше. В принципе, он забавный, конечно. Там всяких других настроек для камеры навалом. Но, как только я найду в каком чёртовом конфиге у малины прописать насильственное включение автоэкспозиции при старте, этот плагин станет для меня бесполезным и будет снесён…
Просто через /boot/octopi.txt и строчки конфига camera_raspi_options испправить ситуацию не удаётся Что-то где-то должно быть ещё…
Дальше будет набор старых-добрых, проверенных годами ништячков, которые лично для меня делают работу октопринта намного более комфортной и приятной.
Очень простенький плагин, который посредством команды M117 отправляет на внутренний дисплей принтера сервисное сообщение о том, сколько слоёв из скольких отпечатано. Как я уже рассказал, прошивка на старой Вдове была изрядно подрезана производителем и стандартным прогресс-баром на экране принтера управлять извне было нельзя. Он всегда показывал 0% выполненной работы. Это раздражало. Данный плагин хоть в какой-то мере исправлял данную ситуацию, показывая сколько слоев из скольких уже отпечатано.
Вот этот плагин, уже меняет состояние прогресс-бара на дисплее принтера. Но для его работы, необходимо внести изменения в прошивку (по умолчанию, обычно, «ручное» управление прогрес-баром через команду M73 в Марлине выключено). Ну и, поскольку сама малина у Вдовы была занята показом более красивых вещей на своём экране, то заниматься таким пустяком, как показ прогресса печати ей было недосуг. В конце-концов я психанул, поменял строку в прошивке и с помощью этого плагина получил работающий прогресс-бар на дисплее принтера. Впрочем, этот плагин не отменяет предыдущий т.к. буквальное значение о количестве отпечатанных слоёв бывает не менее полезным, чем просто общий процент выполненной работы, который показывает прогресс-бар.
Альтернатива «родному» температурному графику октопринта. Более подробный, более управляемый и более наглядный, выделение и увеличение выбранных фрагментов графиков на экране (этим я особенно часто пользуюсь).
Чисто «декоративный» плагин, который позволяет перекроить вкладки интерфейса в более компактный вид и выстроить их в том порядке, который лично я считаю для себя более удобным. Названия вкладок вообще можно убрать, заменив их иконками из встроенного набора:

Позволит сменить тему интерфейса. По умолчанию он слишком белый и яркий. Особенно в полумраке комнаты, когда надо быстро глянуть что там и как в принтере на сон грядущий. Прям глаза вышибает. При помощи этого плагина я установил более тёмную тему интерфейса. Там их целый набор уже готовых.
Кроме этого, плагин позволяет создать или изменить существующие настройки правил в CSS интерфейса. Например, разработчики постарались сделать интерфейс влезающим в экраны мобильных устройств. Спасибо, но на широком мониторе компьютера это выглядит узкой колонкой по центру экрана. Изменив парочку правил можно, наконец, растопырить интерфейс на все окно (включая температурные графики и видео). Для этого я обычно меняю вот эти:
Selector = ‘.span8’; CSS-Rule = ‘width’; value = ‘70%’
Selector = ‘.container’; CSS-Rule = ‘width’; value = ‘100%’
Selector = ‘.span4’; CSS-Rule = ‘width’; value = ‘25%’
Selector = ‘.row’; CSS-Rule = ‘margin-left’; value = ‘0’
Можно поменять любые другие по своему вкусу…
На самом деле, можно просто на уровне HTTP-сервера залезть в файл CSS и поменять там все, как бог черепаху. Но мне обычно это лень делать. К тому же, не факт, что эти правки не будут сброшены при очередном апдейте… В общем, проще влепить этот плагин и нажать в нем пару кнопок, выбрав темную тему, да поправив четыре стиля, чем там годзилион строк в файле каждый раз перелопачивать…
Ну и, конечно, куда ж без Octolapse
Это один из самых популярных и жирных плагинов для октопринта. И самый бесполезный с практической точки зрения. Но очень красивый. Ни одна обезьянка не может перед ним устоять. Там много всяких настроек, но самая популярная: «делать кадр каждый слой, отведя голову принтера в сторону, чтобы не заслоняла, а потом скачать готовое видео«:
Конечно, надо было бы отводить голову Турели в другую сторону. Когда это понял, было уже поздно. Но в качестве демонстрации… Обычно я держу этот плагин отключённым. Кроме оказываемого гипнотического эффекта на зрителя, практической пользы он не несёт, но ресурсов жрёт, как не в себя… Точнее, в себя… В общем, понятно, думаю…
Это все плагины, которые я использую в составе октопринта. Конечно, энтузиасты их там понаписали дофига и больше. Но помните, что «не все йогурты одинаково полезны»…
Как-то вот так оно все…
Для Чёрной Вдовы, конечно, я допустил в своё время большую ошибку, наглухо завязав её работу только и исключительно на малину с чумородным перегруженным интерфейсом и избыточным функционалом. Поддержание этого зоопарка в рабочем состоянии занимало слишком много времени… Сейчас я понимаю, что совершил классическую ошибку всех 3D-принтерщиков, превратив устройство из полезного в хозяйстве инструмента в «принтер ради принтера»…
В Болотной Турели эта ошибка была исправлена. Малина с октопринтом и камерой являются полезной добавкой к функционалу устройства, и, вместе с тем, не усложняют его общую концепцию. В принципе, можно открутить всего четыре винта с монтировки, отсоединить два разъема и убрать эту добавку с принтера вовсе. Болотная Турель при этом потеряет дистанционные управление и контроль, но на локальном уровне, в полном объёме сохранит свой непосредственный функционал, как 3D-принтер. Она завершена. К ней не нужно ничего больше придумывать. Не нужно ничего «усовершенствовать». Не нужно постоянно поддерживать в рабочем состоянии (кроме регулярной замены носиков и протирки стола). Здоровая, крепкая рабочая кобыла, как то и было нужно!
В рамках этого цикла статей запланировано ещё две небольшие статьи. Одна будет посвящена второстепенным мелким аксессуарам, разработанным скорее для души, чем для работы. Другая, последняя статья, будет посвящена финальному разбору полётов по проекту. Попробую непредвзято оценить насколько ожидания совпали с реальностью, покажу финальные постановочные фотографии, примеры печати (в т.ч. двумя соплами одновременно) и т.п.
Такие дела… Продолжение тут.