3D-принтер “Marsh Turret”. Ось Z.
В отличие от оси Y, общая рама принтера в контексте оси Z играет более важную роль. Тут уже нельзя полагаться на то, что составляющие эту часть конструкции элементы будут выравнивать сами себя. Внимание пришлось уделить каждой детальке и каждому соединению. Очень важно, чтобы вертикальная ось Z была абсолютно перпендикулярна оси Y. В принципе, почти любую деформацию геометрии принтера можно будет потом компенсировать на уровне прошивки, но это уже автоматически будет означать, что что-то пошло не так.
Вот эти части рамы можно считать непосредственно относящимися к оси Z:
Сама буква “П” этой части рамы так же делалась из крепкого алюминиевого профиля 1х1 дюйма с толщиной стенок 1/16. Аккуратно запиливались в размер, сверлились где надо, зачищались, грунтовались, красились. Это была простая часть приключения…
Для установки вертикальных палок к основанию, было решено использовать широкие треугольные накладки. Они и угол обеспечат и жёсткости добавят.
Конечно, я бы не отказался организовать это соединение через точёные блоки, как это было сделано для части рамы оси Y по углам. К сожалению “кирпичей” такого размера, для покупки которых не пришлось бы продать почку, найти не удалось.
Пластины-накладки в количестве четырёх штук, устанавливаются по обоим сторонам каждой из вертикальных стоек рамы:
Накладки делались из того же алюминия 1/8 толщиной, что и основа для горячего стола:
При сборке, прежде чем затягивать все болты, каждая из стоек выставлялась под прямым углом к раме настолько точно, насколько это было возможно:
На самом деле, это вовсе не гарантировало нужный результат. Потому, что прямой угол важен не буквально, вот, между горизонтальной и вертикальной частями рамы, а между плоскостями в которых ходят стол оси Y и каретка оси X. Понятно, что движение в этих плоскостях происходит при участии хреновой тьмы отдельных элементов. Каких там погрешностей набежит по ходу сборки – никому не ведомо. Все, что можно было сделать пока оно все не сложится до конца – быть максимально точным и аккуратным в каждом из элементов и надеяться на лучшее.
Как и в случае с осью Y, ось Z так же можно разделить на две базовые составляющие. Поддерживающая часть в виде рамы и основная моторно-опорная часть по которой катается ось X.
К сожалению, опорную часть оси Z нельзя выполнить в виде монолитного блока из пары рельс-направляющих объединённых общей монтировкой, как это получилось сделать для оси Y. Потому что тут направляющие разнесены слишком далеко друг от друга и объединять их каким то одним сплошным куском алюминия было исключительно нецелесообразно.
Как следствие, каждая из направляющих представляет собой вот такую индивидуальную сборку, опирающуюся на общую раму принтера:
Самой важной частью тут выступает опорный блок:
Ключевыми параметрами для него являются углы между всеми плоскостями и диаметр отверстия под рельсу… Ну, т.е. все, что в этом блоке есть – все и является ключевым.
После установки блоков на раму уже можно, конечно, воткнуть в них рельсы, но исключительно только ради того, чтобы убедится, что они не болтаются в отверстиях и идут строго параллельно вертикальным стойкам рамы. Прежде чем заниматься их окончательной установкой, необходимо дополнить конструкцию “моторной” частью.
“Моторная” часть оси Z представляет собой очередную порцию опорных блоков, внутри которых смонтированы моторы, связанные с червяком, который будет тягать ось X вверх и вниз:
Под моторы была сделана пара вот таких квадратных “стаканчиков”:
Тут фишка в том, что простой пластины, даже пускай и толстой, может оказаться недостаточно. Станок выходит тяжеловатеньким, мягко говоря. В каждом из своих элементов. Эти моторы, через червячную передачу, должны будут удерживать на себе вес всей штанги оси Х. Со всеми подшипниками, своими направляющими, соплами экструдера, мотором, вентиляторами и т.п.
В идеальном мире розовых единорогов, конечно, блок мотора оси Z и блок направляющих рельс для неё, был бы сделан в виде одной монолитной детали. Но в в мире суровой реальности, мне не удалось найти алюминиевый “кирпич” нужного размера. А из двух “кирпичей” поменьше можно было организовать только вот такую комбинированную конструкцию. Увы…
Переходники от валов моторов к червякам устроены по принципу отдалённо похожему на карданную передачу:
Проблема в том, что человечество пока не изобрело, ни точных роботизированных станков, ни твёрдосплавной стали достаточной прочности, ни точного измерительного инструмента, ни контроля качества производства… Все это нам ещё предстоит изобрести в невообразимо далёком будущем. Вероятно, где-то после варп-драйва и антигравитации.
Пока же мы обречены получать оси червячной передачи согнутые на манер лука или перекрученные в виде спирали ДНК. Очевидно, что при таком раскладе, поводки, ползающие по гнутым винтам, будут пытаться сходится и расходится относительно друг друга во время движения. А, поскольку в остальных своих частях конструкция имеет весьма жёсткую посадку не допускающую такое вихляние, то неизбежна ситуация, когда все это просто заклинит наглухо.
Первую партию из двух винтов я так и отправил обратно в амазон с пожеланием воткнуть их в зад тому китайцу, который их такими вырезал… Вру, конечно: в причине возврата указал “не соответствует описанию”. И влепил одну “звизду” продавцу. Но возмущению моему на тот момент не было предела. Всякого ожидал, но… Из-за своей дугообразной природы (видимой невооружённым взглядом) они отказывались скатываться с листа фанеры, наклонённого градусов в 20-30 к горизонту! Это уже очень далеко за пределами Добра, Зла, Лимба и всего Мироздания в целом. Хоть для амазона, хоть для алибабая какого, хоть для кого вообще… Ну, нельзя же так… Меня потом две ночи кошмары мучали…
После нескольких попыток таки удалось получить комплект более-менее ровных червяков. Но все равно некоторое стремление к “дугообразности” есть и в них. Но не такое катастрофическое, как у предыдущих. Оное как раз может быть скомпенсировано вот такими “карданными” муфтами. Они позволяют без помех передавать вращение с вала мотора на ось червяка даже если не соблюдается полная соосность того и другого.
Ладно… На текущий момент все выходит вполне прочно, надёжно и в пределах ожидаемого. Но собирать рельсы, подшипники и червячную передачу вместе, все равно ещё рано.
Вся эта ось Z вообще может существовать и работать только в своём законченном виде. Нельзя прикрутить один блок, посмотреть, как он работает, наладить что нужно, прикрутить следующий блок, наладить и т.п. Фрагментами оно работать не будет… Ну, т.е., будет, конечно. Моторы будут крутиться, подшипники будут кататься. Но это ровным счётом ни о чем не скажет об оси Z в целом и в плане отладки будет совершенно бесполезным. Тут уж или все, или ничего.
Соответственно, следующим куском конструкции являются поводки, которые будут через червяки от моторов таскать будущую ось X вверх и вниз (зелёная деталь между скользящими подшипниками):
Эти поводки нельзя будет добавить потом, при сборке оси Х. Они должны быть смонтированы на этапе сборки оси Z. Поэтому, хотя поводки, как бы, логично было бы отнести к оси Х по своему прямому назначению, я их включил в состав оси Z, потому, что без них оная не может быть законченной и протестированной:
Как можно видеть, поводок представляет собой не просто дырку с резьбой. Данная конструкция называется Anti Backlash Nut. Они могут быть разных видов, различной степени извращённости. В данном случае, используется самая простая из возможных версий.
Принцип червячной передачи, при всех своих ништяках, имеет и пенальти (как и все в этом скорбном мире подлунном). Одно из пенальти – люфт в ходе гайки по червяку. При смене направления движения, червяк какое-то время вращается впустую, выбирая люфт между собой и резьбой гайки. По-русски, такое поведение передачи называется “мёртвый ход“. Обычно, в качественных сборках, этот ход совсем небольшой. Но каким бы небольшим он ни был, когда речь заходит о точности в десятые доли миллиметров, он начинает себя проявлять.
Например, вы опускаете ось X на 1 мм. ОК, опустили. Теперь вам надо поднять её обратно на 1 мм. Прежде чем червяк начнёт поднимать ось Х, он выберет люфт между винтом и гайкой. Контроллер понятия не имеет о том, что куда насколько поднялось. Все, что он знает – нужно сделать N шагов мотором, чтобы произошло перемещение чего либо на 1 мм. Ровно столько шагов мотора контроллер и сделает. А то, что пара-тройка этих шагов пропадут впустую на выборку люфта – ему глубоко по-барабану. И, т.о., ось X поднимется обратно не на 1 мм, а, с кажем на 0.99 мм. Невелика разница, казалось бы, Но по ходу печати эта погрешность не всегда компенсируется и начинает аккумулироваться в ту или иную сторону, что в итоге начинает давать разницу, уже вполне заметную глазу.
Подпружиненные гайки такого типа призваны устранить мёртвый ход передачи. Если и не полностью (это, во-первых, невозможно, а, во-вторых, откровенно вредно – вся передача встанет колом из-за трения), то минимизировать его до величины несущественной на значительном отрезке времени. По своей сути, это две раздельные гайки, каждая из которых “притёрта” пружиной к разным пределам диапазона люфта. При этом, обе гайки имеют общую сцепку, заставляющую вращаться их одновременно. Типа, в какую сторону какую из гаек не потяни, вторая пойдёт за ней, к какому бы пределу люфта она не оказалась прижата на тот момент.
Ну и, как-то, оно все вот так, в итоге:
Ирония в том, что, на самом деле, вся эта морока с мёртвым ходом, в данном конкретном случае – чистой воды позёрство и оверинжинеринг. Вес собранной оси X таков, что всю работу по устранению мёртвого хода в передаче проделывает гравитация нашей планеты. Ось Х всегда прижата собственным же весом по нижнему пределу люфта, каким бы он там ни был. И в ходе печати там в принципе не может возникнуть нигде усилия, достаточного, чтобы перебаранить вес всей оси и сдвинуть её по люфту к верхнему пределу…
Даже после установки поводков, сборка оси Z ещё не полна и пробовать её шевелить рано…
На данном этапе у меня есть надёжное основание для рельс и моторов, надёжная подвижная часть для крепления к ней оси X, но нет ничего, что мешало бы всему этому расползаться в своей верхней части.
Чтобы зафиксировать рельсы и червяки в верхней части рамы, для них были задуманы вот такие блоки:
Почти все то же самое, что и для нижних опорных блоков, но не такое массивное, одним куском и с подшипником вместо мотора:
Как можно видеть на последней фотографии, углы рамы в верхней части так же усилены накладными уголками. Причём эти накладки выполняют роль не только усиления верхней части рамы, но так же являются несущими пластинами для моторов экструдеров.
Принтер строится, как уже говорилось в самом начале, с двумя печатающими узлами. Соответственно, ему нужно два экструдера для подачи пластика.
Вот на этих накладках для усиления верхней части рамы они и разместились:
Отсюда по трубкам пластик будет подаваться непосредственно уже в печатающие узлы на оси Х.
В принципе, ось Z на этом этапе и заканчивается. Теперь она имеет в своём составе все необходимые элементы и всецело готова к работе.
Без вишенки на торте, конечно не обойтись.
Штука вот в чем… У почившей Черной Вдовы, ось Z управлялась всего одним мотором. Соответственно, оба червяка были синхронизированы между собой через общий ремень. Если нужно было поднять или опустить голову принтера без участия электроники, то я просто тягал ремень в ту или иную сторону руками. Не то, чтобы это было удобно, но иных вариантов конструкция Вдовы не предусматривала.
На Турели я столкнулся с этой же проблемой, но в куда более печальной форме. Каждый из червяков связан только со своим собственным мотором. На уровне электроники они синхронизированы – никаких проблем, отлично работают в паре. Но если мне надо потягать голову руками, то наступает полный караул. Никакая отточенная координация движений человеческих рук не позволит одновременно повернуть два не связанных между собою червяка синхронно на абсолютно одинаковую величину. Малейшая рассинхронизация приводит к тому, что ось X начинает перекашиваться и теряет свою настройку.
Вариантов два – либо забыть про ручное управление осью Z, либо таки добавить синхронизирующий ремень. Да, в последнем случае это будет деталью исключительно ради обезьяны-оператора. Для реализации непосредственно механики оси Z он совершенно не нужен.
Первый вариант, в принципе, никакой катастрофы собой не являет. Ситуации, когда во время эксплуатации принтера нужно ворочать его руками встречаются нечасто. Всегда проще нажать кнопку в интерфейсе и он сам двинет что нужно и куда нужно.
Но на текущий момент времени речь идёт о незавершённом механизме, у которого не то, что кнопок интерфейса нет, но и контроллер пока просто прикручен на своё место и даже ещё не подключён к блоку питания. А шевелить приходится постоянно и все подряд. И повторять настройку горизонта оси Х каждый раз, когда приходится руками её поднять-опустить – слишком муторно.
Так, что пришлось таки добавить синхронизирующий ремень:
Я, вроде как, искренне верил, что он будет временным элементом, используемым только на стадии постройки принтера:
Как водится все “временное” рано или поздно становится постоянным. Так и этот ремень до сих пор никуда не делся, хотя принтер давно уже умеет шевелить своими частями без участия грубой физической силы со стороны мясного мешка.
Более того! Вся эта шиза ещё и обзавелась невпупенно харизматичной ручкой:
Её когда-то презентовал мне один из коллег по работе. В его загашниках всегда было невероятно много всякой неведомой хрени. Временами он все это перетряхивал и раздавал наименее ценные экспонаты “в хорошие руки”. Вот так я и стал обладателем этой крутили. Года три она провалялась в моих загашниках. И, вот, настал ее звездный час:
Теперь я просто не могу избавиться от этого элемента, нужен он будет в жизни или нет. Вместе с ручкой он стал частью внешнего вида всего устройства. Должна же у Турели быть ручка для ее вращения… С одной стороны, турель без ручки, она точно такая же, как и турель с ручкой. Только без ручки. С другой стороны, турель без ручки и не турель вовсе… Так, что в составе принтера остался, и синхронизирующий ремень, и ручка:
Ну и, опять же, от этой ручки все же есть некоторая польза за пределами ручного управления. Исключительно редко, но бывает, что мотор может пропустить шаг-другой. Либо что-то во что-то упёрлось, либо драйвер перегрелся и сошёл с ума, либо в прошивке баг какой… Всякое бывает. В такой ситуации, даже если один из моторов и пропустит шаг, то синхронизирующий ремень заставит сделать то же самое и второй мотор. Печать будет нарушена в любом случае, но я хотя бы буду избавлен от необходимости настраивать горизонт оси Х после такого сбоя. Так, что…
Итого, ось Z готова! Настал черед оси Х.
Продолжение читайте в следующей части цикла…