В первую очередь необходимо определиться с самой конструкцией принтера. Тут возможно несколько вариантов:
1. Сборка принтера на базе уже готовых и известных проектов, которые есть в общем доступе, например: RepRap Mendel Prusa i2, Prusa i3 и всевозможные их конфигурации.
2. «Изобретение велосипеда» — полностью конструируем свою модель 3D-принтера. Тут уже все зависит от ваших знаний, навыков, бесконечной фантазии и творческих способностей.
Выбор модели для сборки
Для примера выберем Prusa i3, а точнее одну из ее модификаций — Prusa i3 Steel. На наш взгляд это самая успешная модель: жесткая стальная конструкция, никаких шпилек, эстетически выдержанный стиль и дизайн, собирается быстро и четко. Если вы захотели собрать другую модель 3D-принтера, ничего страшного, суть не меняется, различие будет лишь в сборке самого каркаса.
Ниже приведен список тех комплектующих, которые необходимо будет приобрести для сборки 3D-принтера. Электроника на базе платы arduino mega 2560 и платы расширения ramps 1.4.
Электроника:
— Набор плат: Arduino mega 2560 + ramps 1.4 + 4 драйвера шагового двигателя + LCD панель + USB кабель ;
— Блок питания мощностью от 350 Вт;
— Шаговый двигатель Nema 17 (5 шт.);
— Нагревательный стол;
— 2 термистора;
— 3 концевых выключателя ( механические или оптические );
— Хотэнд;
— Набор проводов.
Механика:
— Набор корпусных деталей из стали 3 мм;
— Полированные валы диаметром 8 мм (Ось Z: 2 x 320 мм, Ось Y: 2 x 341 мм, Ось X: 2 x 375 мм.)
— Линейные подшипники LM8UU (11 шт.)
— Набор пластиковых деталей
— Винты, гайки,шайбы
— Шпилька с гайкой для оси Z в качестве винтовой передачи ( 2 шт.) диаметр 5 мм. Длина около 295 мм.
Также могут потребоваться дополнительные инструменты и расходные материалы:
— Мультиметр;
— Изолента;
— Термоизоляционный скотч (каптон);
— Паяльник и расходные материалы для него (припой, флюс);
— Термоусадочные трубки;
— Провода для соединений всех частей электроники;
— ABS или PLA пластик для настройки и последующей печати.
Набор плат
Как написано выше, принтер будем собирать на базе Arduino mega 2560 и платы расширения Ramps 1.4.
Вариантов плат, с помощью которых можно собрать принтер, очень много. На сайте reprap вы можете ознакомиться с основными их видами и характеристиками. Мы же остановимся на наборе плат, который включает в себя:
Arduino mega 2560
Можно приобрести как оригинальную плату, так и клон, все упирается в цену. С уверенностью можем сказать, что при использовании качественных китайских клонов, мы ни разу не сталкивались с проблемами. Так что можете смело покупать неоригинальные платы (при этом сэкономите значительную часть денег!). Вам может потребоваться USB кабель, если он не включен в комплект. Часто из-за плохого кабеля, могут возникать проблемы при печати, поэтому сразу приобретайте качественный USB кабель!В
Ramps 1.4
Драйвера шаговых двигателей
Драйвера необходимы для управления шаговыми двигателями.
Обычно для 3D-принтеров используются драйвера A4988 и A4983. Для выбранной модели 3D-принтера будем использовать драйвер A4988, который поддерживает ток до 2 Ампер. Для драйверов необходимо приобрести небольшие радиаторы (часто радиаторы идут в комплекте), так как при работе драйвера сильно нагреваются, и необходимо обеспечить стабильный отвод тепла.
Таких драйверов потребуется 4 штуки:
— один драйвер на шаговый двигатель оси Х;
— второй на шаговый двигатель оси У;
— третий на движок экструдера;
— четвертый драйвер на два параллельно подключенных движка оси Z.
Блок питания
Для питания электронных компонентов 3D-принтера необходим блок, способный выдавать напряжение 12В и мощность от 350Вт. Тут есть два варианта:
1. Обычный компьютерный блок питания. Он недорогой, его легко достать, но потребуются дополнительные манипуляции, чтобы его использовать.
2. Блок питания для светодиодных систем. Этот вариант немного дороже, но при его использовании не потребуется совершать никаких лишних действий, он более компактный и удобный. В выбранной модели будем использовать данный блок питания.
Шаговые двигатели
В 3D-принтерах используются биполярные шаговые двигатели, которые как раз и обеспечивают движение по координатным осям. Вращение шаговых двигателей дискретно, для принтеров обычно используют двигатели шагом 1.8 градуса, то есть за один оборот двигатель совершает 200 шагов.
При выборе шагового двигателя необходимо обратить внимание на следующие параметры: момент удержание и ток. Что бы не ошибиться можно взять «универсальные» nema 17: 17HS8401 или 17HS4401 током 1.7 А и моментом удержания 4 кг x см.
Нагревательный стол
Если Вы хотите, чтобы Ваш 3D-принтер печатал ABS пластиком, то в конструкцию должен быть включен нагревательный стол.
Вариантов есть несколько: можно приобрести широко используемый Heatbed MK2B — недорогой, качественный стол. К нему необходимо приобрести стекло или зеркало, так как при нагреве данный стол может прогибаться, а стекло обеспечит ровную поверхность для печати.
Если позволяют финансы, то связку стол + стекло можно заменить одним алюминиевым нагревательным столом Mk2b.
Терморезисторы (термисторы)
Для измерения температуры нагревательного стола и хотэнда потребуется два термистора. Возьмем широко используемые и не дорогие NTC термисторы 100 кОм 3950.
Концевые выключатели
Для определения «точки отсчета» в 3D-принтерах используются концевые выключатели, механические или оптические. В принтерах в основном используются механические концевые выключатели в количестве трех штук, которые определяют начальные точки трех осей.
Хотэнд (HotEnd)
Вот и добрались до одной из самых главных частей 3D-принтера.
Хотэндов очень много, у всех свои плюсы и минусы. Исходя из нашего опыта и опыта других пользователей можем посоветовать цельнометаллический хотэнд типа E3D. Оригинальные e3D вы можете заказать на официальном сайте, мы же используем не оригинальные E3D, цена естественно на них ниже. По качеству ничуть не уступают оригиналу, никаких проблем с печатью не возникает.
Мы не затрагивали компоненты касающихся механики, но скорее всего, что такое шпильки, гайки, валы и подшипники Вы итак знаете.
363Быстрый просмотрБлок питания LRP 12В, 30А, 360ВтМного1 908 руб.Быстрый просмотрБлок питания LRP 12В, 41А, 500ВтПредзаказ2 628 руб.Быстрый просмотрБлок питания LRP 12В, 33А, 400ВтМного2 028 руб.Быстрый просмотрРазъем питания с кнопкой и предохранителемМного220 руб.Быстрый просмотрБлок питания LRP 24В, 15А, 360ВтМало1 908 руб.Быстрый просмотрБлок питания LRC 12В, 21А, 250ВтПредзаказ1 788 руб.Быстрый просмотрБлок питания LRC 12В, 12А, 150ВтМного1 548 руб.Быстрый просмотрКабель питания 220ВМного190 руб.Быстрый просмотрБлок питания LRC 24В, 10А, 250ВтПредзаказ1 788 руб.
Импульсные блоки питания для 3d-принтеров, станков с ЧПУ и других систем промышленной автоматизации
Функции и особенности блока питания 3D принтеров
Обеспечить стабильное питание всех электронных компонентов 3d-принтера можно с помощью импульсного блока питания. Это оборудование используется при производстве станков с ЧПУ и других промышленных автоматизированных систем. Выпускаются блоки питания различной мощности, отличающиеся друг от друга показателями выходного и входного напряжения.
Особенностью этого оборудования является передача тока на выход порциями, благодаря чему обеспечивается постоянное среднее значение выходного напряжения. Это обеспечивается специальными элементами, способными накапливать электроэнергию и отдавать ее тогда, когда это необходимо. Импульсные блоки питания 3d-принтера имеют высокий КПД, компактные габариты и небольшую массу, имеют надежную защиту от короткого замыкания и перегрева.
Как выбрать блок питания для 3d-принтера
При выборе БП для 3d-принтера необходимо обратить внимание на следующие параметры:
- габариты и вес – преимущество стоит отдать модели с небольшой массой и компактными размерами;
- мощность – БП должен обеспечивать энергией все электронные компоненты принтера;
- выходное напряжение – в ассортименте модели на 12 и 24В;
- сила тока;
- наличие возможности корректировки напряжения на выходе и ее рабочий диапазон;
- наличие системы защиты от перегрузки и короткого замыкания.
Это позволит купить блок питания для 3d-принтера в соответствие с особенностями оборудования. Импульсные БП имеют продолжительный срок эксплуатации, что делает эту технику наиболее рентабельной для комплектации автоматизированных систем разного назначения.
Механика В этой статье речь пойдет об электронной части 3D принтера RepRap, а именно: о шаговых двигателях и драйверах для них, концевиках (endstops), управляющей плате, блоке питания и о том как всё это соединить между собой.
Шаговые двигатели
В движение RepRap приводится с помощью шаговых двигателей. Их вращение дискретно, то есть вал двигателя делая полный оборот последовательно проходит некоторое количество фиксированных положений (шагов). Т.к. размер шага известен, то такой двигатель очень легко заставить повернуться на нужный угол — нужно просто подать ему команду повернуться на количество шагов соответствующее требуемому углу. Возможность точного позиционирования избавляет от необходимости в обратной связи и сложных алгоритмах управления, а это делает шаговые двигатели очень удобными для использования в машиностроении. Для RepRap обычно используются двигатели которые совершают 200 шагов на полный оборот (т.е. один шаг равен 360 / 200 = 1.8 градусам). В RepRap Prusa Mendel используется четыре шаговых двигателя для позиционирования каретки (по одному на оси X и Y, и два на ось Z), и один для подачи прутка в экструдер. В типичном варианте все используемые двигатели имеют форм-фактор NEMA17. Это именно форм-фактор (по сути — размеры двигателя), а не какая-то конкретная модель двигателя. Шаговые двигатели используются биполярные (они, в основном, имеют 4 вывода). Можно использовать и униполярные, просто не задействовав лишние выводы. Подробнее об этом, и вообще о выборе двигателей для RepRap можно почитать здесь. При выборе двигателя нужно обратить внимание на его момент удержания (holding torque). Для двигателей приводящих в движение каретку достаточно 1.4 кг*см (если верить RepRap Wiki), а для двигателя экструдера нужно минимум 4 кг*см. Также нужно обратить внимание на то, какой ток потребляет двигатель, поскольку самый часто используемый драйвер шаговых двигателей — A4988 (да и A4983) имеет ограничение в 2А. Поэтому если двигателю нужен ток выше 2А, то в лучшем случае он просто не будет выдавать нужный момент. Напряжение особого значения не имеет, т.к. его регулирует драйвер шагового двигателя, что бы поддерживать необходимый ток. Для перемещения каретки я использовал двигатели SY42STH47-1684B. Это биполярный NEMA17 двигатель с моментом удержания в 4.4 кг*см, рассчитанный на ток в 1.68А. Кроме того, это весьма популярная модель, и такие двигатели можно найти в местном магазине. Для экструдера я взял двигатель еще мощнее, а именно — Kysan 1124090 с моментом удержания в 5.5кг*см и током 1.5А.
Драйверы шаговых двигателей
Для управления шаговыми двигателями обычно используется специальный чип — драйвер шагового двигателя. Можно, конечно, попробовать обойтись и без него, и управлять двигателем напрямую с микроконтроллера, но такой способ потребует большого количества дополнительных деталей, и, в целом, не эффективен. Кроме того, в специализированных чипах-драйверах есть уже готовая поддержка микрошагового режима. В микрошаговом режиме ротор двигателя может не только дискретно переключаться между шагами, но и «зависать» в промежуточных положениях между двумя шагами. Такой режим работы существенно увеличивает точность позиционирования, и, кроме того, уменьшает шум и вибрацию, присущие шаговым двигателям. Обычно для 3D принтеров используют популярные драйвера шаговых двигателей — Allegro A4988 и A4983. Они поддерживают ток до двух ампер, и микрошаговый режим 1/16 (т.е. между двумя шагами имеется 16 дополнительных микрошагов, а для двигателя с 200 шагами это целых 3200 микрошагов на оборот). Чип A4988 поддерживает некоторые дополнительные возможности, такие как, например, встроенная система отключения при перегреве и «low current microstepping» (см. ниже) так что лучше брать его. Но сами эти чипы слишком мелкие что бы их припаять руками, и требуют некоторую обвязку из резисторов и конденсаторов. К счастью, есть готовые модули для управления шаговым двигателем, например Pololu или StepStick. Я в своем принтере использовал чипы Pololu. Со StepStick нужно быть осторожным, поскольку, в отличие от Pololu, это не конкретный производитель, а скорее просто открытая инструкция по сборке. Реализация же, как и её качество, может очень сильно варьироваться. Если у вас модуль на основе A4988 я бы рекомендовал обратить внимание на эту статью. Если вкратце — для некоторых двигателей (в статье идет речь о двигателе с сопротивлением 1,65 Ом, и на моих двигателях описанная проблема также присутствовала) могут пропускаться микрошаги. Проблема и решение описаны в даташите к чипу в разделе «Low Current Microstepping». Собственно решение — пин ROSC должен быть закорочен на землю. В модуле Pololu этот пин подключен к земле через резистор R4, его нужно аккуратно закоротить перемычкой. При работе чип драйвера ощутимо нагревается, поэтому я бы советовал установить на каждый чип по радиатору, или организовать активное охлаждение. Я на каждый чип приклеил по небольшому радиатору на теплопроводный клей «Радиал». Вообще нужно по одному драйверу на каждый шаговый двигатель. Но, несмотря на то, что двигателей в RepRap Prusa Mendel используется пять — драйверов нужно четыре, т.к. два двигателя оси Z включены параллельно, и используют один драйвер.
Концевики
В английском языке это устройство называется endstop, а вот точного перевода на русский я так и не нашел, поэтому будем называть его концевиком, хотя правильнее было бы что-то вроде «датчик крайнего положения». В простейшей реализации концевик представляет собой обычную кнопку, которая нажимается при достижении кареткой крайнего положения. Необходимость в таком устройстве возникла потому что шаговые двигатели лишены обратной связи — двигатель может повернуться ровно на N шагов (или микрошагов) по или против часовой стрелке, но сообщить свое текущее положение он не в силах. Поэтому перед каждой печатью принтер устанавливает каретку в начальное положение (условную точку с координатами (0, 0, 0)), а уже относительно неё рассчитываются остальные координаты. Для установки каретки в начальное положение принтер просто крутит двигатели в сторону уменьшения координат, пока не получит сигнал срабатывания от каждого концевика. Обычно используются три концевика — по одному на каждую ось, для индикации начального (т.е. с минимальными координатами) положения. Можно поставить шесть (по два на ось, для индикации минимального и максимального положений), но особых преимуществ от этого я не вижу. Существует два наиболее распространенных варианта концевиков — механические (по сути — просто кнопка), и оптические (срабатывает когда специальный флажок попадает в зазор между светодиодом и фоторезистором). Оптические концевики не содержат движущихся частей и более точны, поэтому предпочтительнее использовать их. Есть еще магнитные концевики, с датчиками Холла, но они не сильно распространены. Более подробно о концевиках можно почитать здесь. Я для своего принтера сделал оптические концевики по вот этой схеме. Но если не хочется возиться с паяльником, как и все остальное их можно купить.
Блок питания
Обычно для питания принтера используют напряжение 12В. Для питания самого микроконтроллера нужно 5В, но он может питаться и от USB. Самый простой и практичный вариант — обычный компьютерный блок питания. Его просто найти, он дешево стоит, и выдает нужные нам напряжения (12В и 5В, на самом деле есть еще 3.3В, но они нам не нужны). Что касается мощности — я бы советовал брать блок питания способный отдавать около ток 20А. Один только стол с подогревом требует 10-12 ампер, а еще двигатели, хотэнд, да и вентилятор для обдува модели рано или поздно установить придется. Я себе для RepRap купил блок питания мощность 400W. Заявленный максимальный ток для 12В у него 18А, и пока мне его вполне достаточно. При использовании компьютерного БП есть небольшой нюанс — у него нет кнопки включения, т.к. предполагается что включать его будет компьютер. Эту проблему легко решить — обычно компьютерные БП включаются путем замыкания двух контактов 20-пинового ATX коннектора, а именно PS_ON и GND.
Распиновка коннекторов ATX |
Я для этих целей сделал перемычку из куска провода:
Перемычка для включения компьютерного блока питания |
Но будьте внимательны, т.к. цвета проводов на разных БП могут отличаться. А некоторые блоки питания вообще не включатся без нагрузки (хотя, на самом деле, все БП не рекомендуется включать без нагрузки). Более подробно о использовании компьютерного блока питания для RepRap можно прочитать здесь.
Контроллер
Вот мы и добрались до самого интересного, «мозга» принтера. Здесь под контроллером я подразумеваю плату (или несколько плат), которая непосредственно управляет работой принтера, а именно — крутит шаговые двигатели, управляет температурой хотэнда и стола, скоростью вращения вентиляторов. На высоком уровне работа контроллера выглядит следующим образом — в его память загружается (обычно посредством USB-подключения к компьютеру, но можно использовать и SD-карты памяти) программа на языке G-code, описывающая всё что принтеру нужно сделать для печати модели, а контроллер эту программу выполняет, команда за командой. Условно контроллер можно разделить на две части: «логическую» и «силовую». В качестве логической части обычно выступает микроконтроллер с простейшей обвязкой (чаще всего используют микроконтроллеры AVR, но есть варианты контроллеров и с ARM процессорами). Силовая часть содержит все что необходимо для управления мощной нагрузкой — драйвера шаговых двигателей, и, обычно, полевые транзисторы для стола с подогревом и хотэнда. Вариантов контроллеров для RepRap очень много, вот здесь можно посмотреть на таблицу сравнения некоторых из них. Кроме наличия/отсутствия некоторых возможностей контроллеры также отличаются простотой сборки, например, тот же Generation 7 Electronics рассчитан на полностью самостоятельное изготовление, а, скажем, Smoothieboard сделать самому вряд ли удастся. Я для себя выбрал RAMPS — RepRap Arduino Mega Pololu Shield. Фактически RAMPS это только силовая часть, а в качестве логической выступает Arduino MEGA (я использовал Arduino Mega 2560 REV3), сверху которой «бутербродом» устанавливается сам RAMPS.
Arduino, RAMPS и StepStick. |
RAMPS можно собрать самостоятельно, что я сначала и хотел сделать, но прикинув стоимость деталей в розницу на ближайшем радио-рынке, стало понятно что дешевле обойдется купить уже готовую плату. На тот момент самой новой была версия RAMPS 1.4, её я и купил. Основной причиной выбора именно связки Arduino+RAMPS в качестве контроллера послужила её большая популярность, на момент написания статьи это был, наверное, самый популярный и проверенный вариант.
Подключение
Теперь о том как всё вышеперечисленное соединить воедино. Для начала советую заглянуть на описание подключения в статье о RAMPS 1.4. Вот замечательная картинка оттуда:
Схема подключения RAMPS 1.4 |
А теперь по порядку.
Шаговые двигатели
Пины для подключения шаговых двигателей на RAMPS обозначены так — 1A, 1B, 2A, 2B. Пины 1A, 1B — одна обмотка двигателя, а 2A, 2B — другая.Что бы определить какой вывод двигателя куда подключать, сначала стоит заглянуть сюда, там есть описание выводов для популярных двигателей, возможно найдется и для вашего. Если нет — можно посмотреть в даташит по двигателю, или же измерить сопротивление между выводами — если два вывода принадлежат к одном обмотке, сопротивление между ними будет намного меньше, чем если бы они принадлежали к разным. Правильность подключения можно будет проверить на этапе калибровки — если при подаче сигнала двигатель не будет вращаться, или будет вибрировать — достаточно поменять два любых провода местами и попробовать снова (и так до достижения желаемого результата). О подключение шаговых двигателей также можно прочитать здесь. Двигатели оси Z подключаются параллельно, к одному драйверу.
Концевики
На RAMPS предусмотрено шесть разъемов для подключения концевиков, их порядок следующий- X min, X max, Y min, Y max, Z min, Z max. Подключать концевики нужно соблюдая полярность. Если смотреть на разъемы концевиков со стороны разъемов питания RAMPS, то порядок пинов будет следующий — Signal, GND, +5V.
Термисторы
RAMPS поддерживает три датчика температуры, разъемы для них подписаны — T0, T1, T2. В T0 обычно подключают термистор хотэнда. А T2 я подключил термистор стола с подогревом. Полярность отсутствует.
Нагреватели
Разъемы для подключения нагревательных элементов подписаны D8, D9, D10. Резистор хотэнда я подключил в D10, а резисторы подогревающие стол в D8. Обратите внимание, что провода по которым идет ток для подогрева стола должны быть рассчитаны на ток минимум в 10А, в противном случае может оплавиться изоляция и произойти КЗ.
Питание
Для подачи питания в RAMPS предусмотрено два разъема — 12V5A и 12V11A. Вход 12V5A используется для питания шаговых двигателей, и нагревателей D9, D10. Вход 12V11A используется для питания нагревателя D8, к которому подключен стол с подогревом. Подключать, разумеется, нужно оба. Входы 12V5A и 12V11A лучше питать от разных выходов компьютерного блока питания.
Заключение
В подключенном виде контроллер выглядит примерно вот так:
Собранный и подключенный контроллер RepRap. |
На этом этапе можно попробовать включить БП розетку, правда ничего интересного не произойдет, т.к. на контроллере пока отсутствует прошивка. В следующей (последней) части я расскажу о прошивке контроллера, калибровке и настройке принтера, программном обеспечении для 3D печати, а также постараюсь дать полезные советы по созданию моделей и улучшению качества печати.Используемые источники:
- https://pikabu.ru/story/kak_sobrat_3dprinter_svoimi_rukami_poisk_komplektuyushchikh_4328186
- https://3d-diy.ru/catalog/power-supplies-3d-printer/
- http://null-b.blogspot.com/2013/05/3d-reprap-3.html