3д принтер своими руками чертежи

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

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

Стоимость не более 30 тысяч рублей
- открытая архитектура (программная и аппаратная)
- простота в обслуживании и доступность деталей
- безопасность эксплуатации
- возможность изготовления на нем сложных изделий
- быстрая окупаемость

Ранее у меня был опыт работы в сфере 3D-печати более 1,5 лет. Поэтому выбор был сделан в пользу 3D-принтера.

Для занятий конструированием и электроникой был выбран набор для самостоятельной сборки DIY(Do It Yorself), 3D-принтер MC5 от МастерКит, созданный на базе одного из российских производителей 3D-принтеров:

Набор для сборки, создан для того чтобы его продать собрать и обучать. Он будет использоваться для создания деталей самого себя (RepRap концепция), вспомогательного оборудования и обучения электроники.

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

При сборке узла печатающей головки в присоединении экструдера J-Head к корпусу, встретился спорный момент. В инструкции необходимо подложить шайбу М8, перепробовал разные варианты, но головка J-Head таки болталась:

Печатающая головка J-Head:

Временное решение было найдено при помощи кольца от лазерной указки, которую подложил вместо указанной шайбы:

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

Но процесс не остановить. При помощи лазера дрели и сверл на 3 мм и 8 мм, легко проделаны отсутствующие 3 отверстия:

Обратите внимание на драйвер двигателя экструдера. У меня все 4 драйвера были А4988 (MP4988), поэтому они должны быть ориентированы подстроечным резистором в одном направлении, как показано на схеме. Резисторы крутить не надо.

Вид собранного 3D принтера:

Провода прятать и крепить сразу - не советую. Потерпите немного.

Плата управления использует открытую аппаратную и программную архитектуру: Mastertronics (именно она была в комплекте) это гибрид Arduino MEGA 2560 и шилда для 3D-принтеров Ramps 1.4:

Поэтому смело качаем open source бесплатный софт: Repetier-host (для связи ПК с платой управления 3D-принтером) иArduino IDE (Для допиливания кода прошивки микроконтроллера). О тонкостях настройки этого программного обеспечения будет рассказано во второй части:

После настройки софта можно будет печатать:

Специально для хабра Мастер Кит предоставил промо-код HABR, который дает скидку 7% на любой заказ на сайте

Предлагаю вашему вниманию статью от читателя блога — Андрея Ковшина. Он с нуля собрал принтер из частей от принтеров и сканеров!!! Респект и уважуха таким людям!! Мне кажется, первый 3D принтер был собран именно таким образом.. Далее рассказ Андрея:

Началось все с того что увидел в интернете это чудо, посмотрел вроде ничего сложного, все реализуемо, собрать можно. Работаю в сервис центре по ремонту принтеров, а с них много чего полезного для моего 3д принтера снять можно. Но обо всем по порядку. (много фото и видео!)

История создания принтера

Первое — это конечно выбор конструкции пал на наиболее простой принтер Мендель. Шпильки и детали из пластика, которые я заменил деревом.

Шаговые двигатели сначала использовал от сканера, маленькие (их у нас завались, одно время много меняли сканеров по гарантии), но при первом же запуске понял что у них силы маловато. Поставил другие, ремни также от сканеров стоят, но в будущем планируется заменить на Т5 более жесткие, эти иногда проскакивают, все таки рассчитаны на небольшие силы.

Электронику сразу решил заказывать, т.к спаять ардуино и драйверы двигателей на А4988 выйдет дороже, заказал все из Китая, по времени как раз к готовой механике должны подойти.

В итоге все пришло кроме драйверов двигателей… Почти весь принтер был готов а двигатели через месяц пообещали, руки чесались его запустить. Погуглив в интернете нашел простую схему драйвера которую обычно применяют для ЧПУ станка, на связке L293 и L298, развел спаял, где наша не пропадала))) Вобщем на фотографиях видно что получилось.

3d printer. Драйвера на L293+L298

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

На сегодняшний день принтер более менее печатает, но кривовато, ремни растягиваются и дают смещение. Надо придумать натяжитель ремня. И все дерненные детали напечатать из пластика. Рабочая область из за всех быстрых переделок в процессе проектировки составила всего лишь 70х70 мм и в высоту около100 мм. Вобщем есть над чем работать)))

Откуда все взято:

Еще решил показать фотографии исходных материалов, так сказать откуда, что снял)))

Алюминиевые радиаторы с плат от сгоревших безперебойников, идеально подходят для изготовления печатающей головки.

Валы и каретки с принтеров Epson, на фото Р50

С таких сканеров от МФУ Epson , которые в одно время повально меняли по гарантии снимал шаговые двигатели и ремни.

Вот эти шаговики, но их мощности не хватило. От них использовал шестеренку большую на которой шкив для ремня.

Ремни слабенькие, шаг около 1мм. Но пока держатся.

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

Более детально конструкция 3D принтера:

(без комментариев. в конце статьи — видео)

3d printer в сборе

Демонстрация работы принтера:

P.s. Наверняка этот пост подтолкнет многих к самостоятельной сборке 3d-принтеров Главное — желание! А терпение и труд все перетрут..

Задавайте вопросы Андрею в комментариях к статье — он поделится своим опытом в строительстве 3d принтера;)

Самостоятельное создание аддитивного принтера — трудоёмкий процесс. Такое устройство не получится сделать за один вечер, а его настройка также может занять дополнительное время. Стоимость сборки при самостоятельном поштучном заказе компонентов может превысить цену бюджетного 3D-принтера, изготовленного фабрично. Но приложив некоторое количество усилий и ознакомившись с рекомендациями по сборке, вы сможете создать 3D-принтер своими руками, и он будет идеально подходить под ваши потребности.

Выбор и покупка деталей

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

Какой бы ни была выбранная конструкция, вам понадобится стандартный комплект основных компонентов:

  • Набор проводов и винты, чтобы собрать 3D-принтер своими руками.
  • Корпус аппарата или металлическая рама для принтеров открытого типа.
  • Блок питания на 12В.
  • Комплект электроники (зачастую Arduino Mega 2560 R3 + шаговые драйверы).

Обратите внимание! Чтобы сэкономить при покупке на AliExpress, используйте сайты, предоставляющие cashback. Фиксированный процент от каждой покупки будет возвращён на личный счёт после подтверждения заказа. Деньги с этого счёта вы сможете вывести на карту или кошелёк электронной платёжной системы.

Сборка корпуса

Чтобы сделать корпус трёхмерного принтера, подойдёт любой материал достаточной жёсткости, поставляемый в листах. Первым делом следует смоделировать конструкцию или найти готовую схему в Интернете. После этого можно приступить к вырезанию отдельных деталей. При наличии электролобзика или другого инструмента для резки такую работу можно выполнить самостоятельно. Если нужных инструментов нет, рекомендуется заказать услуги лазерной резки.

Для работы с ABS-пластиком предпочтительна закрытая конструкция устройства, сохраняющая высокую температуру в камере. Быстрое или неравномерное застывание такого пластика может вызвать трещины или привести к осаждению печатаемой модели. Если же вы планируете использовать принтер для печати при помощи полилактида (PLA), используйте открытый корпус или предусмотрите возможность его открытия. Печать этим типом пластика требует отвода тепла и постоянного охлаждения.

Для корпуса 3D-принтера подойдут листы толщиной 6 мм. В зависимости от выбранного материала, они могут быть прозрачными или нет. При недостаточной жёсткости конструкции установите алюминиевые или стальные уголки по бокам. Также можно сделать корпус из небольшого телекоммуникационного шкафа или другого предмета. При наличии второго 3D-принтера детали корпуса нового устройства можно распечатать на нём. Самые популярные материалы, применяемые для создания каркаса своими руками:

  • Фанера;
  • Монолитный поликарбонат;
  • Акрил.

Важно! Корпус из фанеры хорошо гасит вибрацию, возникающую при печати.

Установка деталей и окончательная сборка

После изготовления корпуса нужно установить компоненты принтера и настроить работу электроники. При сборке важно соблюдать правильную последовательность установки деталей. Учитывайте, что в процессе работы устройства может проявляться вибрация. Все винты должны быть хорошо затянуты, а основные компоненты аппарата необходимо прочно зафиксировать. По окончании сборки проведите пробную печать на созданном 3D-принтере.

Важно знать! Как правило, окончательная стоимость 3D устройства, сделанного своими руками, составляет 20-30 тысяч рублей.

Обучающее видео: 3D принтер своими руками за $155

Читайте также:

Кофейный принтер: Виды и особенности аппаратов для печати на кофейной пенке
Как подключить принтер к компьютеру: Обзор способов соединения домашних устройств

Собственно, сама мысль собрать принтер своими силами возникла примерно год назад после прочтения статьи на вики про RepRap принтеры. До этого ничего не собирая сложнее корпусов для компьютера, было трудно оценить всю сложность предстоящей работы. Но, листая страницы дальше, обнаружил, что все схемы, чертежи и инструкции присутствуют и более того даже на русском языке.

Немного погодя, оказалось, что все компоненты стоят вместе как готовый принтер и настрой сильно упал (Ох уж эти московские перекупщики), но на помощь пришел Китай со своими сверхдешевыми электроникой и электромеханическими компонентами. В порыве радости был заказан комплект электроники RAMPS 1.4 (Как самый простой в использовании по отзывам), 5 шаговых двигателей типа nema 17 (момент удержания должен быть не меньше 1.5кг/см, но я взял аж 4кг/см), 2 метра приводного ремня размера t2.5 с двумя алюминиевыми шкивами по 20 зубьев, а так же нагревательную платформу (mk2a самая распространенная), так же нужно не забыть взять 12 линейных подшипников lm8uu. На всё я потратил чуть больше 13 тысяч рублей, что, согласитесь, несколько меньше, чем, даже, комплекты для самостоятельной сборки в магазинах.

Спустя 2 месяца ожидания

За эти месяцы я успел познакомиться на форуме с несколькими интересными людьми, один из которых любезно распечатал на своем Replicator2 детали для моего принтера (Я выбрал конструкцию Prusa Mendel i2 из-за её дешевизны и простоты сборки). Кстати говоря, точность изготовления деталей мало на что влияет и, в принципе, можно их делать хоть из ложек, я лично сделал часть деталей для рамы из толстой фанеры. Большой проблемой было найти направляющие валы, которые стоят от 600 рублей за метр (Каленые и прочные, т.е. избыточная прочность), но решение было найдено на рынке: обычные прутки из нержавейки диаметром 8мм отлично подошли (Нужно всего 3 метра, как и что резать, написано на Вики), так же 6 метров шпилек м8 и 6 подшипников 608 (Как в роликах и скейтбордах). В качестве блока питания можно использовать что угодно от 400Вт 12-19В. Забрав с почты последнюю посылку (Не буду говорить про нашу почту, все и так всё знают. Битые и мятые коробки, ожидание, потерянные извещения), я понял, что предстоит много работы.

Первый блин комом

Самую сложную (как выяснилось позже) деталь решено было сделать самому, а именно hotend или сопло. Мой совет: если у вас нет токарного станка и вы не знаете тонкости изготовления хотендов, не беритесь за это. Было потрачено много времени и денег, но сопло было готово (спасибо сайтам и форумам), кстати, как выяснилось, готовое решение стоит 1500 рублей и это в два раза меньше, чем я потратил на свой хотенд. (Если кто-то всё же решится, то советую делать сопло сменным, а в качестве нагревателя не использовать резисторы из магазина, закажите керамический 12В 40Вт из Китая).

Собирать раму и подключать электронику по инструкции не сложно, но долго из-за возни с более чем 50 гаек и винтов.

Самая простая часть позади, предстоял самый долгий этап: настройка. Электроника основана на Ардуино, так что, проблем ни у кого возникнуть не должно. Собственно, нужно в прошивке настроить количество шагов по всем осям и на экструдере, так же настроить концевые датчики, откалибровать высоту и горизонтальность платформы, выбрать правильные термисторы. Кстати говоря, я начинал печатать ABS пластиком без нагревательной платформы на легендарном Синем Скотче. Важно: ABS нельзя печатать без нагревательной платформы, потому что неминуемо будет деформироваться деталь при остывании и все края загнутся наверх.

Детский восторг и осознание того, как много всего надо решить.

Работа над ошибками

Первым делом, я прикрутил нагревательную платформу, которая дала такой потрясающий результат с первого раза:

Ничего не отклеивается и не загибается даже на деталях такого размера. Но были и минусы: синий скотч оставался на деталях и его приходилось переклеивать каждый раз. плюс ко всему, перегорали резисторы раз в неделю стабильно и был заказан нагреватель из Китая.
Печать шла, вроде бы все хорошо, но хотелось большего. Засел за редактор и через пару дней родил проект нового принтера, больше, выше, солиднее. Рама из толстой фанеры, части напечатанные, все шло хорошо, но, собрав всё воедино, оказалось, что направляющие не параллельны и прочее и прочее, в итоге проект был заброшен.

Провал не давал спокойно спать и многие дни я думал надо новой конструкцией. Идей было много, некоторые удалось реализовать, но как это и бывает, с косяками, потому не буду надолго останавливаться на этом.

Музой стал принтер Prusa Mendel третьего поколения с фанерной рамой (Правильно читать не «пруса», а «прюша», т.к. это Чешский парень Йозеф Прюша). Как раз под рукой оказался станок для лазерной резки и автокад. Долгие вечера перед монитором, 3 разные версии.

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

Печать всех частей заняла около 9 часов. В то время я порезал фанеру (Покупайте для резки фанеру в магазинах, потому что на рынках она вся в сучках, которые не прорезаются нормально) и собрал первую версию рамы.



Ставка была сделана на высоту, она составила немного больше полуметра, что давало рабочую область высотой в 420мм, вряд ли вы найдете похожий.

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

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

Советую всем сразу печатать прутком 1.75, потому что это реально удобнее. 3мм- это архаизм со времен использования сварочного прутка.

Идеальная машина

Само собой, работы еще предстоит много, но, могу сказать, что это вполне законченный продукт, который, при желании, можно повторить самому. Принтер не отличается ни сверхточностью, ни скоростью печати. Это обычный принтер на уровне того же Prusa i3, просто он выше и удобнее. Хочется сказать, что любой принтер можно настроить так, что он будет не хуже покупных монстров с ценником за 100.000, на который вы потратите не больше 15.000 рублей. Форумы и блоги пестрят различной информации, Китай доставляет что угодно за смешные деньги, так почему бы не сделать это самому?

*пару фотографий последней версии:





Мне периодически задают вопросы по "малинкам", "апельсинкам" и тому, куда это вообще и зачем. И тут я начинаю понимать, что перед тем, как писать "узкие" инструкции по настройке, неплохо было бы вкратце рассказать о том, как эта кухня вообще работает, снизу вверх и слева направо. Лучше поздно, чем никогда, поэтому вашему вниманию предлагается некое подобие ликбеза по ардуинам, рампсам и другим страшным словам.

Тому, что у нас сейчас есть возможность за разумные деньги купить или собрать собственный FDM 3D-принтер, мы обязаны движению RepRap. Не буду сейчас о его истории и идеологии - нам сейчас важно то, что именно в рамках RepRap сформировался определенный "джентльменский набор" железа и софта.

Чтобы не повторяться, скажу один раз: в рамках данного материала я рассматриваю только "обычные" FDM 3D принтеры, не уделяя внимания промышленным проприетарным монстрам, это совершенно отдельная вселенная со своими законами. Бытовые устройства с "собственными" железом и софтом тоже остануться за рамками этой статьи. Далее под "3D принтером" я понимаю полностью или частично открытое устройство, "уши" которого торчат из RepRap.

Часть первая - 8 бит хватит всем.

Поговорим про восьмибитные микроконтроллеры Atmel с архитектурой AVR, применительно к 3D-печати. Исторически сложилось так, что "мозг" большинства принтеров - это восьмибитный микроконтроллер от Atmel с архитектурой AVR, в частности, ATmega 2560. А в этом виноват другой монументальный проект^ его название - Arduino. Программная его составляющая в данном случае не интереса - Arduino-код более прост для понимания новичками (по сравнению с обычным C/С++), но работает медленно, а ресурсы жрет как бесплатные.

Поэтому, когда ардуинщики упираются в нехватку производительности, они или бросают затею, или потихоньку превращаются в эмбеддеров ("классических" разработчиков микроконтроллерных устройств). При этом, кстати, "железо" Arduino бросать совершенно не обязательно - оно (в виде китайских клонов) дешевое и удобное, просто начинает рассматриваться не как Arduino, а как микроконтроллер с минимальной необходимой обвязкой.

По факту, Arduino IDE используется как удобный в установке набор из компилятора и программатора, "языком" Arduino в прошивках и не пахнет.

Но я немного отвлекся. Задача микроконтроллера - выдавать управляющие воздействия (осуществлять так называемый "ногодрыг") в соответствии с получаемыми инструкциями и показаниями датчиков. Очень важный момент: данные маломощные микроконтроллеры обладают всеми типичными чертами компьютера - в маленьком чипе есть процессор, оперативная память, постоянная память (FLASH и EEPROM). Но если ПК работает под управлением операционной системы (и она уже "разруливает" взаимодействие железа и многочисленных программ), то на "меге" у нас крутится ровно одна программа, работающая с железом напрямую. Это принципиально.

Часто можно услышать вопрос, почему не делают контроллеры 3D-принтеров на основе микрокомпьютера вроде того же Raspberry Pi. Казалось бы, вычислительной мощности вагон, можно сразу сделать и веб-интерфейс, и кучу удобных плюшек… Но! Тут мы вторгаемся в страшную область систем реального времени.

Википедия дает следующее определение: "Система, которая должна реагировать на события во внешней по отношению к системе среде или воздействовать на среду в рамках требуемых временных ограничений". Если совсем на пальцах: когда программа работает "на железе" непосредственно, программист полностью контролирует процесс и может быть уверен, что заложенные действия произойдут в нужной последовательности, и что на десятом повторении между ними не вклинится какое-то другое. А когда мы имеем дело с операционной системой, то она решает, когда исполнять пользовательскую программу, а когда отвлечься на работу с сетевым адаптером или экраном. Повлиять на работу ОС, конечно, можно. Но предсказуемую работу с требуемой точностью можно получить не в Windows, и не в Debian Linux (на вариациях которой в основном работают микро-пк), а в так называемой ОСРВ (операционная система реального времени, RTOS), изначально разработанной (или доработанной) для данных задач. Применение RTOS в RepRap на сегодняшний день - жуткая экзотика. А вот если заглянуть к разработчикам станков с ЧПУ, там уже нормальное явление.

Для примера - плата не на AVR, а на 32-битном NXP LPC1768. Smoothieboard называется. Мощи - уйма, функций - тоже.

А дело все в том, что на данном этапе развития RepRap, "8 бит хватит всем". Да, 8 бит, 16 МГц, 256 килобайт флеш-памяти и 8 килобайт оперативной. Если не всем, то очень многим. А тем, кому недостаточно (это бывает, например, при работе с микрошагом 1/32 и с графическим дисплеем, а также с дельта-принтерами, у которых относительно сложная математика расчета перемещений), в качестве решения предлагаются более продвинутые микроконтроллеры. Другая архитектура, больше памяти, больше вычислительной мощности. И софт все равно в основном работает "на железе", хотя, некоторые заигрывания с RTOS маячат на горизонте.

Marlin и Mega: частота сигнала STEP

Прежде чем переходить ко второй части и начинать разговор об электронике RepRap. Я хочу попытаться разобраться с одним спорным моментом - потенциальных проблемах с микрошагом 1/32. Если теоретически прикинуть, то исходя из технических возможностей платформу её производительности не должно хватать для перемещения со скоростью выше 125 мм/с.

Для проверки этого продположения я построил "тестовый стенд", подключил логический анализатор, и стал экспериментировать. "Стенд" представляет собой классический бутерброд "Mega+RAMPS" с переделанным пятивольтовым питанием, установлен один драйвер DRV8825 (1/32). Двигатель и ток упоминать смысла нет - результаты полностью идентичны при "полном" подключении, при наличии драйвера и отсутствии двигателя, при отсутствии и драйвера и двигателя.

Анализатор - китайский клон Saleae Logic, подключен к пину STEP драйвера. Прошивка Marlin 1.0.2 настроена следующим образом: максимальная скорость 1000 мм/с на ось, CoreXY, 160 шагов на мм (это для двигателя с шагом 1.8", 20-зубого шкива, ремня GT2 и дробления 1/32).

Методика эксперимента

Задаем маленькое ускорение (100 мм/с) и запускаем перемещение по оси X на 1000 мм с различными целевыми скоростями. Например, G-код G1 X1000 F20000. 20000 - это скорость в мм/мин, 333.3(3) мм/с. И смотрим, что у нас с импульсами STEP.

Общие результаты


То есть, отталкиваясь от частоты прерываний в 10 КГц, мы получаем эффективную частоту до 40 КГц. Применив к этому немножко арифметики, получаем вот что:

до 62.5 мм/с - один шаг на прерывание;
до 125 мм/с - два шага на прерывание;
до 250 мм/с - четыре шага на прерывание.

Это теория. А что на практике? А если задать больше 250 мм/с? Ну, хорошо, даю G1 X1000 F20000 (333.3(3) мм/с) и анализирую полученное. Измеренная частота импульсов при этом составляет почти 40 КГц (250 мм/с). Логично.

На скорости выше 10000 мм/мин (166,6(6) мм/с) я стабильно получаю провалы в тактировании. На обоих движках синхронно (напомню, CoreXY). Длятся они 33 мс, находятся примерно за 0.1 с до начала снижения скорости. Иногда такой же провал есть в начале движения - через 0.1 после завершения набора скорости. Вообще, есть подозрение, что он устойчиво пропадает на скорости до 125 мм/с - то есть, когда не применяются 4 шага на прерывание, но это только подозрение.

Как интерпретировать этот результат - я не знаю. С какими-то внешними воздействиями она не коррелирует - с общением по последовательному порту не совпадает, прошивка собрана без поддержки всяких дисплеев и SD-карт.

Мысли

1. Если не пытаться что-то нашаманить с Marlin, потолок скорости (1.8", 1/32, 20 зубов, GT2) - 250 мм/с.
2. На скоростях выше 125 мм/с (гипотетически) есть глюк с провалом тактирования. Где и как он будет проявляться в реальной работе - я предсказать не могу.
3. В более сложных условиях (когда процессор что-то усиленно считает) точно будет не лучше, а скорее - хуже. Насколько - вопрос для куда более монументального исследования, ведь придется сопоставлять запланированные программой перемещения с реально выданными (и захваченными) импульсами - на это у меня пороху не хватит.

Часть 2. Шаговый квартет.

Во второй части речь пойдет о том, как описанный ранее микроконтроллер управляет шаговыми двигателями.


Move it!

В «прямоугольных» принтерах нужно обеспечить перемещение по трем осям. Допустим, двигать печатающую головку по X и Z, а стол с моделью - по Y. Это, например, привычный, любимый китайскими продавцами и нашими покупателями Prusa i3. Или Mendel. Можно двигать голову только по X, а стол - по Y и Z. Это, например, Felix. Я практически сразу как вляпался в 3D-печать (с МС5, у которого XY-стол и Z-голова), так стал поклонником перемещения головы по X и Y, а стола - по Z. Это кинематика Ultimaker, H-Bot, CoreXY.

Короче, вариантов много. Давайте для простоты считать, что у нас три мотора, каждый из которых отвечает за движение чего-нибудь по одной из осей в пространстве, согласно декартовой системе координат. У «прюши» за вертикальное перемещение отвечают два двигателя, суть явления это не меняет. Итак, три мотора. Почему в заголовке квартет? Потому что надо еще пластик подавать.

В ногу

Традиционно используются шаговые двигатели. Их фишка - хитрая конструкция обмоток статора, в роторе используется постоянный магнит (то есть, контактов, касающихся ротора нет - ничего не стирается и не искрит). Шаговый двигатель, согласно своему названию, двигается дискретно. Наиболее распространенный в рамках RepRap образчик имеет типоразмер NEMA17 (по сути, регламентируется посадочное место - четыре крепежных отверстия и выступ с валом, плюс два габарита, длина может варьироваться), оснащен двумя обмотками (4 провода), а полный оборот его состоит из 200 шагов (1.8 градуса на шаг).

В простейшем случае, вращение шагового двигателя осуществляется путем последовательной активации обмоток. Под активацией понимается приложение к обмотке напряжения питания прямой или обратной полярности. При этом схема управления (драйвер) должна не только уметь коммутировать «плюс» и «минус», но и ограничивать потребляемый обмотками ток. Режим с коммутацией полного тока называется полношаговым, и у него есть весомый недостаток - на низких скоростях двигатель жутко дергается, на чуть более высоких - начинает греметь. В общем, ничего хорошего. Для увеличения плавности движения (точность не увеличивается, дискретность полных шагов никуда не пропадает!) применяется микрошаговый режим управления. Он заключается в том, что ограничение тока, подаваемого на обмотки, изменяется по синусоиде. То есть, на один реальный шаг приходится некоторое количество промежуточных состояний - микрошагов.

Для реализации микрошагового управления двигателями применяются специализированные микросхемы. В рамках RepRap их две - A4988 и DRV8825 (модули на основе этих микросхем обычно называются так же). Плюс, осторожно сюда начинают проникать хитроумные TMC2100. Драйверы шаговых двигателей традиционно выполняются в виде модулей с ножками, но бывают и напаяны на плату. Второй вариант с первого взгляда менее удобен (нет возможности изменить тип драйвера, да и при выходе оного из строя возникает внезапный геморрой), но плюсы тоже имеются - на продвинутых платах обычно реализуется программное управление током двигателей, а на многослойных платах с нормальной разводкой запаянные драйверы охлаждаются через «пузо» чипа на теплоотводный слой платы.

Но, опять же, говоря о самом распространенном варианте - микросхема драйвера на собственной печатной плате с ножками. На входе у нее три сигнала - STEP, DIR, ENABLE. Еще три вывода отвечают за конфигурацию микрошага. На них мы подаем или не подаем логическую единицу, устанавливая или снимая джамперы (перемычки). Логика микрошага прячется внутри чипа, нам туда влезать не надо. Можно запомнить только одно - ENABLE разрешает работу драйвера, DIR определяет направление вращения, а импульс, поданный на STEP, говорит драйверу о том, что необходимо сделать один микрошаг (в соответствии с заданной джамперами конфигурацией).

Основное отличие DRV8825 от A4988 - поддержка дробления шага 1/32. Есть другие тонкости, но для начала достаточно этого. Да, модули с этими чипами вставляются в колодки управляющей платы по-разному. Ну, так получилось с точки зрения оптимальной разводки плат модулей. А неопытные пользователи жгут.

В общем случае, чем выше значение дробления, тем плавнее и тише работают двигатели. Но при этом увеличивается нагрузка на «ногодрыг» - ведь выдавать STEP приходится чаще. О проблемах при работе на 1/16 лично мне не известно, а вот когда возникает желание полностью перейти на 1/32, уже может возникнуть нехватка производительности «меги». Особняком тут стоят TMC2100. Это драйверы, которые принимают сигнал STEP с частотой как для 1/16, а сами «додумывают» до 1/256. В результате имеем плавную бесшумную работу, но не без недостатков. Во-первых, модули на TMC2100 стоят дорого. Во-вторых, лично у меня (на самодельном CoreXY под названием Kubocore) с этими драйверами наблюдаются проблемы в виде пропуска шагов (соответственно, сбой позиционирования) при ускорениях выше 2000 - с DRV8825 такого нет.

Резюмируя в трех словах: на каждый драйвер нужно две ноги микроконтроллера, чтобы задать направление и выдавать импульс микрошага. Вход разрешения работы драйвера обычно общий на все оси - кнопка отключения двигателей в Repetier-Host как раз одна. Микрошаг - это хорошо с точки зрения плавности движений и борьбы с резонансами и вибрацией. Ограничение максимального тока двигателей надо настраивать с помощью подстроечных резисторов на модулях драйверов. При превышении тока мы получим чрезмерный нагрев драйверов и двигателей, при недостаточном токе будет пропуск шагов.

Спотыкач

В RepRap не предусмотрено обратной связи по положению. То есть, программа управляющего контроллера не знает, где в данный момент находятся подвижные части принтера. Странно, конечно. Но при прямой механике и нормальных настройках это работает. Принтер перед началом печати перемещает все, что можно, в начальную позицию, и от нее уже отталкивается во всех передвижениях. Так вот, противное явление пропуска шагов. Контроллер выдает драйверу импульсы, драйвер пытается провернуть ротор. Но при чрезмерной нагрузке (или недостаточном токе) происходит "отскок" - ротор начинает поворачиваться, а потом возвращается в исходное положение. Если это происходит на оси X или Y, мы получаем сдвиг слоя. На оси Z - принтер начинает "вмазывать" следующий слой в предыдущий, тоже ничего хорошего. Нередко пропуск происходит на экструдере (из-за забива сопла, чрезмерной подачи, недостаточной температуры, слишком малого расстояния до стола при начале печати), тогда мы имеем частично или полностью непропечатанные слои.

С тем, как проявляется пропуск шагов, все относительно понятно. Почему это происходит? Вот основные причины:

1. Слишком большая нагрузка. Например, перетянутый ремень. Или перекошенные направляющие. Или "убитые" подшипники.

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

3. Неправильная настройка тока драйвера.

Последний пункт - вообще тема для отдельной статьи. Если вкратце - у каждого шагового двигателя есть такой параметр, как номинальный ток. Он для распространенных моторов находится в диапазоне 1.2 - 1.8 А. Так вот, при таком ограничении тока у вас должно все хорошо работать. Если нет - значит, двигатели перегружены. Если нет пропуска шагов с более низким ограничением - вообще прекрасно. При снижении тока относительно номинала уменьшается нагрев драйверов (а они могут перегреваться) и двигателей (больше 80 градусов не рекомендуется), плюс, снижается громкость "песни" шаговиков.

Часть 3. Горячка.

В первой части цикла я рассказывал о маленьких слабеньких 8-битных микроконтроллерах Atmel архитектуры AVR, конкретно - о Mega 2560, которая "рулит" большинством любительских 3D-принтеров. Вторая часть посвящена управлению шаговыми двигателями. Теперь - о нагревательных приборах.

Суть FDM (fused deposition modeling, торговая марка Stratasys, всем обычно до лампочки, но острожные люди придумали FFF - fused filament fabrication) в послойном наплавлении филамента. Наплавление происходит следующим образом: филамент должен расплавиться в определенной зоне хотэнда, и расплав, подталкиваемый твердой частью прутка, выдавливается через сопло. При движении печатающей головки происходит одновременное выдавливание филамента и приглаживание его к предыдущему слою концом сопла.

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

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

Нельзя писать про ПИД-регулирование без этой формулы. В рамках данной статьи она просто для красоты.

Очень рекомендую ознакомиться со статьей , там довольно доступно написано про ПИД-регулирование. Если же совсем упростить, то выглядит картина так: у нас есть некоторое целевое значение температуры. И с определенной частотой мы получаем текущее значение температуры, и нам необходимо выдать управляющее воздействие, чтобы уменьшить ошибку - разницу между текущим и целевым значением. Управляющее воздействие в данном случае - ШИМ-сигнал на затвор полевого транзистора (мосфета) нагревателя. От 0 до 255 «попугаев», где 255 - максимальная мощность. Для тех, кто не знает, что такое ШИМ - простейшее описание явления.


Итак. Каждый «такт» работы с нагревателем нам необходимо принять решение о выдаче от 0 до 255. Да, мы можем просто включать или выключать нагреватель, не заморачиваясь ШИМ. Допустим, температура выше 210 градусов - не включаем. Ниже 200 - включаем. Только в случае с нагревателем хотэнда такой разброс нас не устроит, придется поднимать частоту «тактов» работы, а это дополнительные прерывания, работа АЦП тоже не бесплатная, а у нас крайне ограниченные вычислительные ресурсы. В общем, надо управлять точнее. Поэтому ПИД-регулирование. П - пропорциональное, И - интегральное, Д - дифференциальное. Пропорциональная составляющая отвечает за «прямую» реакцию на отклонение, интегральная - за на накопленную ошибку, дифференциальная в ответе за обработку скорости изменения ошибки.

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


График температуры хотэнда (Repetier-Host, Marlin)

Чтобы проиллюстрировать крайне низкую инерцию хотэнда, я на него просто дунул.

Ладно, это про хотэнд. Он есть у всех, если речь идет о FDM/FFF. Но некоторые любят погорячее, так возникает великий и ужасный, жгущий мосфеты и рампсы, нагревательный стол. С электронной точки зрения с ним все сложнее, чем с хотэндом - мощность относительно большая. А вот с позиций автоматического регулирования проще - система более инертная, да и допустимая амплитуда отклонения выше. Поэтому стол с целью экономии вычислительных ресурсов обычно управляется по принципу bang-bang («пыщь-пыщь»), этот подход я выше описывал. Пока температура не достигла максимума, греем на 100%. Потом пусть остывает до допустимого минимума, и снова греем. Также отмечу, что при подключении горячего стола через электромеханическое реле (а так нередко делают, чтобы «разгрузить» мосфет) только bang-bang является допустимым вариантом, ШИМить реле не надо.

Датчики

Напоследок - про терморезисторы и термопары. Терморезистор изменяет свое сопротивление в зависимости от температуры, характеризуется номинальным сопротивлением при 25 градусах и температурным коэффициентом. По факту, устройство нелинейное, и в том же «марлине» есть таблицы для пересчета полученных с терморезистора данных в температуру. Термопара - редкий гость в RepRap, но попадается. Принцип действия иной, термопара является источником ЭДС. Ну, то есть, выдает определенное напряжение, величина которого зависит от температуры. Напрямую к RAMPS и подобным платам не подключается, но активные адаптеры существуют. Что интересно, также в «марлине» предусмотрены таблицы для металлических (платиновых) термометров сопротивления. Не такая уж редкая вещь в промышленной автоматике, но встречается ли «живьем» в RepRap - мне не известно.

Часть 4. Единение.

3D-принтер, работающий по принципу FDM/FFF состоит, по сути, из трех частей: механики (передвижение чего-то в пространстве), нагревательных приборов и электроники, всем этим управляющей.

В общих чертах я уже рассказал, как каждая из этих частей работает, а теперь попробую порассуждать на тему "как это собирается в одно устройство". Важно: многое буду описывать с позиций кустаря-самодельщика, не оснащенного дерево- или металлообрабатывающими станками и оперирующего молотком, дрелью и ножовкой. И еще, чтобы не распыляться, в основном про "типовой" RepRap - один экструдер, область печати в районе 200х200 мм.

Наименее вариативное

Оригинальный E3D V6 и его очень недобрая цена.

Начну с нагревателей, тут популярных вариантов не очень много. Сегодня в среде самодельщиков наиболее распространен хотэнд E3D .

Точнее, его китайские клоны весьма плавающего качества. Про мучения с полировкой цельнометаллического барьера или использование трубки боудена "до сопла" не буду - это отдельная дисциплина. Из личного небольшого опыта - хороший металлический барьер прекрасно работает с ABS и PLA, без единого разрыва. Плохой металлический барьер нормально работает с ABS и отвратно (вплоть до "никак" - с PLA), и в таком случае бывает проще поставить столь же плохой термобарьер, но с тефлоновой вставкой.

В целом же, E3D очень удобны - можно поэкспериментировать как с термобарьерами, так и с нагревателями - доступны как "маленькие", так и Volcano (для толстых сопел и быстрой брутальной печати). Тоже условное деление, кстати. Сейчас использую Volcano с соплом 0.4. А некоторые изобретают втулку-проставку, и работают себе спокойно с короткими соплами от обычного E3D.

Программа минимум - покупаем типовой китайский комплект "E3D v6 + нагреватель + набор сопел + кулер". Ну и, рекомендую сразу пачку разных термобарьеров, чтобы когда дело дойдет до этого, не ждать очередной посылки.

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

Первый - простой, дешевый, но кривой и "жидкий", требует нормального крепления к жесткой конструкции и ровного стекла сверху. Второй

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

Неочевидный недостаток алюминиевого стола - это когда китаец плохо приляпывает к нему тонкие провода. На текстолитовом столе заменить провода просто, имея базовые навыки пайки. А вот припаять 2.5 квадрата к дорожкам алюминиевой платы - задача продвинутого уровня, с учетом отличной теплопроводности данного металла. Я использовал мощный паяльник (который с деревянной ручкой и жалом в палец), а в помощь ему пришлось призвать термовоздушную паяльную станцию.

Самое интересное


3D-принтер с кинематикой "руки робота".

Самая вкусная часть - это выбор кинематики. Я в первом абзаце обтекаемо упомянул механику как средство "передвижения чего-то в пространстве". Вот, теперь как раз к тому, что и куда двигать. В общем и целом, нам надо получить три степени свободы. А двигать можно печатающую головку и стол с деталью, отсюда и все многообразие. Есть радикальные конструкции с неподвижным столом (дельта-принтеры), есть попытки воспользоваться схемами фрезерных станков (XY-стол и Z-головка), есть вообще извращения (полярные принтеры или позаимствованная из робототехники SCARA-механика). Про весь этот беспредел можно долго рассуждать. Так что, ограничусь двумя схемами.

"Прюша"

XZ-портал и Y-стол. Политкорректно назову эту схему "заслуженной". Все более-менее ясно, сто раз реализовано, допилено, модифицировано, на рельсы посажено, в габаритах смасштабировано.

Общая идея такова: есть буква "П", по ногам которой ездит перекладина, приводимая в движение двумя синхронизированными двигателями с помощью передачи "винт-гайка" (редкая модификация - с ремнями). На перекладине висит двигатель, который за ремень таскает влево-вправо каретку. Третья степень свободы - это движущийся вперед-назад стол. Плюсы конструкции есть, например, изученность вдоль и поперек или чрезвычайная простота в кустарной реализации из подручных материалов. Минусы тоже известны - проблема синхронизации двигателей Z, зависимость качества печати аж от двух шпилек, которые должны быть более-менее одинаковы, сложно разогнаться до высоких скоростей (поскольку двигается относительно тяжелый инертный стол).

Z-стол

При печати медленнее всего изменяется координата Z, да еще и только в одну сторону. Вот и будем двигать по вертикали стол. Теперь надо придумать, как перемещать в одной плоскости печатающую головку. Есть решение проблемы "в лоб" - по сути. берем портал "прюши", кладем его на бок, заменяем шпильки на ремень (и убираем лишний движок, заменяя его на передачу), поворачиваем на 90 градусов хотэнд, вуаля, получаем нечто вроде MakerBot Replicator (не последнего поколения).

Как еще улучшить эту схему? Надо добиться минимальной массы подвижных деталей. Если откажемся от директ-экструдера и будем подавать филамент по трубке, все равно остается двигатель X, который нужно зазря катать по направляющим. И вот тут включается настоящая инженерная смекалка. По-голландски она выглядит как куча валов и ремней в ящике под названием Ultimaker. Конструкция доведена до такого уровня, что многие считают Ultimaker лучшим настольным 3D-принтером.

Но есть более простые инженерные решения. Например, H-Bot. Два неподвижных мотора, один длинный ремень, горстка роликов. И это дело позволяет перемещать каретку в плоскости XY путем вращения двигателей в одну или в разные стороны. Красиво. На практике предъявляет повышенные требования к жесткости конструкции, что несколько усложняет изготовление из спичек и желудей, особенно при использовании деревянных подшипников.


Классическая CoreXY с перекрещенными ремнями.

Более сложная схема, с двумя ремнями и бОльшей кучкой роликов - CoreXY. Считаю лучшим вариантом для реализации, когда вы уже собрали свою или китайскую "прюшу", а творческий зуд не утих. Можно делать из фанеры, алюминиевого профиля, табуреток и других ненужных предметов мебели. По принципу действия результат похож на H-Bot, но меньше склонен к заклиниванию и скручиванию рамы в бараний рог.

Электроника

Если нужно сэкономить деньги - то Mega+RAMPS в китайском исполнении просто вне конкуренции. Если же нет особых познаний в электрике и электронике, а нервы не лишние, то лучше посмотреть в сторону более дорогих, но грамотно сделанных плат от Makerbase или Geeetech.

Основные болячки бутерброда в виде "не тех" выходных транзисторов и питания всего пятивольтового колхоза через стабилизатор на плате Arduino там вылечены. Если говорить о совсем альтернативных вариантах, то я жду, когда появится возможность приобрести плату на LPC1768, например, ту же MKS SBase, и поразвлекаться с 32-битным ARM и прошивкой Smoothieware. А параллельно - неторопливо изучаю прошивку Teacup применительно к Arduino Nano и Nanoheart.

Самодельщику

Ну, допустим, решили вы обязательно слепить свой велосипед. Не вижу в этом ничего плохого.

В общем-то, отталкиваться надо от финансовых возможностей и от того, что можно найти в гараже или подвале. А также от наличия или отсутствия доступа к станкам и радиуса кривизны рук. Грубо говоря, есть возможность потратить 5 тысяч рублей - хорошо, обходимся самым минимумом. За десятку уже можно немного разгуляться, а приближение бюджета к 20 тысячам изрядно развязывает руки . Конечно, сильно облегчает жизнь возможность купить китайский конструктор "прюши" - можно и разобраться в основах 3D-печати, и получить отличный инструмент для развития самопала.

Тем более, что большинство деталей (двигатели, электроника, часть механики) спокойно перекочует и в следующую конструкцию. Короче говоря, покупаем акриловое барахло, допиливаем до вменяемого состояния, печатаем детали для следующего принтера, пускаем предыдущий на запчасти, намылить, смыть, повторить.

Начало сборки Kubocore 2.

На этом пожалуй всё. Возможно, получилось немного галопом. Но по-другому объять необъятное в рамках общего обзорного материала сложно. Хотя, полезных ссылок для размышления я накидал, ищущий по-любому обрящет. Вопросы и дополнения традиционно приветствуются. Ну и, да, в обозримом будущем будет продолжение - уже о конкретных решениях и граблях в рамках проектирования и постройки Kubocore 2.