Подключение ramps 1.4 prusa i3. Драйверы шаговых двигателей

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

Теперь по порядку.
Выбирал вот этот кит, плюс дисплей.
Краткое описание комплекта: RAMPS 1.4 + Mega2560 R3+ A4988 Kit

  • Arduino Mega2560
  • Ramps 1.4
  • 4xA4988 драйверы плюс небольшой радиатор без скотча.
  • Шнур 4pin, шнур USB А <-> USB-B
Посылка пришла в простом пакете, но каждая плата была упакована отдельно в антистатический пакет. На ножках выводных элементов присутствовал защитный кусок пеноматериала.
Фотоотчет о посылке


Arduino Mega2560


Размеры и масса. Возможно заинтересует тех, кто готов разработать под них свой корпус.


Основные микросхемы: ATMEGA2560 версия 16AU, понижайка LM358 (в комментариях robosku верно подметил, что это сдвоенный операционный усилитель), интерфейс CH340G.
Обратите внимание на китайскую версию USB-Serial чипа.


Ramps 1.4.
Это по сути большой и дешёвый Mega Pololu Shield. Можно подключать до 5 драйверов двигателей, силовую нагрузку, есть много OI выходов, а также ШИМ и последовательные интерфейсы, например, для дисплея или внешней карты памяти.


Все в отдельном пакете. Присутствует ответная часть силового разъема


Аналогично размеры.


4xA4988 драйверы


Еще фото.


Радиаторы без скотча. Нужно устанавливать на термоклей или термопасту.


Правильное ориентирование A4988 при установке - резистором в сторону ОТ силового разъема . Как на картинке.


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


Здесь на Mysku несколько раз про самодельный станок-фрезер из фанеры.


Достаточно простой конструкции, с использованием проверенной временем компоновки. Станок имеет рабочее поле 180х200х150 мм, и управляющую плату Arduino UNO + CNC Shield. Со своими обязанностями UNO с прошивкой GRBL справляется, но хотелось чего то большего)))). Это весьма бюджетный фанерный станок-фрезер для простых операций (гравировка, фрезеровка мягких материалов, изготовление печатных плат).


Я задумал некоторую модернизацию станка, в первую очередь – это установка экрана управления и с возможностью автономной работы (с флешки). До настоящего времени использовался старый ноутбук или планшет с Windows. Соответственно, смена платы управления повлечет замену прошивки на Marlin/Repieter. Эти прошивки умеют и CNC и лазерное выжигание с ТТЛ. На самом деле я должен отметить, что существует прошивка GRBL для MEGA2560. Но это, как говорится, на любителя.
Во вторую очередь – нужно было обеспечить модернизационный потенциал – дополнительные входы и выходы для подключения периферии (ТТЛ для лазера, обдув, подсветка, кнопки управления гравером, прицел на WI-FI и удаленный доступ с вебкой).

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


Сначала собираем корпус.


Для сборки используется клей (столярный, ПВА, или другой удобный)


Обратите внимание на правильность установки несущих конструкций. Диагональ можно перепроверить линейкой, угольником - перпендикулярность стенок.


Далее устанавливаются направляющие валы.


Отдельно соберем ось Z с креплением фрезера.


И каретку Y.


Далее фото из разряда «как нарисовать сову». Промежуточных подробных фото, с сожалению пока нет.


Станочек бюджетный, двигатели из серии «я тебя слепила из того, что было». Двигатели Nema17 устанавливаются через переходник типа такого.


На днях допечатаю адаптеры на 3Д принтере, затем установлю новые Nema17.

Несколько слов про прошивку.
Можно настроить с нуля Марлин/Repetier, можно найти готовую сборку.
Вот, например, Marlin . При настройке обратите внимание на вот этот код:

В прошивке надо будет указать тип «бутерброда» - матплату Мега2560+RAMPS1.4, так как экструдеров у нас нет, то выбираем вот такой вариант:
35 = RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Fan)
и далее
#define MOTHERBOARD 35
В зависимости от сборки Марлина, эта же настройка может выглядеть по другому:
#define BOARD_RAMPS_13_EFF 35 // RAMPS 1.3 (Power outputs: Hotend, Fan0, Fan1)
Если не требуется слежение за температурой, то отключаем датчики тоже - прописываем «0»
#define TEMP_SENSOR_ 0
Прописываем размеры рабочей зоны, расположение концевиков и точки HOME, ускорения, скорости перемещения и прочее.
Ну и так далее, методом проб и ошибок настраиваем свою конфигурацию.

Скажу только. что в Repitier больше заложено возможностей для CNC/Laser конфигурации. Заходим в онлайн-тулзу и начинаем настраивать. После настройки основных параметров (длина/ширина и т.д.), необходимо выбрать «специальные» функции - для лазера или фрезера.


Вот например есть такой код
// ########################################################################################## // ## Laser configuration ## // ########################################################################################## /* If the firmware is in laser mode, it can control a laser output to cut or engrave materials. Please use this feature only if you know about safety and required protection. Lasers are dangerous and can hurt or make you blind!!! The default laser driver only supports laser on and off. Here you control the eíntensity with your feedrate. For exchangeable diode lasers this is normally enough. If you need more control you can set the intensity in a range 0-255 with a custom extension to the driver. See driver.h and comments on how to extend the functions non invasive with our event system. If you have a laser - powder system you will like your E override. If moves contain a increasing extruder position it will laser that move. With this trick you can use existing fdm slicers to laser the output. Laser width is extrusion width. Other tools may use M3 and M5 to enable/disable laser. Here G1/G2/G3 moves have laser enabled and G0 moves have it disables. In any case, laser only enables while moving. At the end of a move it gets automatically disabled. */ #define SUPPORT_LASER 1 #define LASER_PIN 9 #define LASER_ON_HIGH 1
Пин ТТЛ управления лазером подключается к пину 9 на RAMPS (пин можно настроить и другой, удобный)

И далее есть вот такие настройки
// ## CNC configuration ## /* If the firmware is in CNC mode, it can control a mill with M3/M4/M5. It works similar to laser mode, but mill keeps enabled during G0 moves and it allows setting rpm (only with event extension that supports this) and milling direction. It also can add a delay to wait for spindle to run on full speed. */ #define SUPPORT_CNC 0 #define CNC_WAIT_ON_ENABLE 300 #define CNC_WAIT_ON_DISABLE 0 #define CNC_ENABLE_PIN -1 #define CNC_ENABLE_WITH 1 #define CNC_DIRECTION_PIN -1 #define CNC_DIRECTION_CW 1
По сути указывается основные настройки для CNC, а также можно завести специальные кнопки управления станком. Добиваемся компиляции кода без ошибок, заливаем в плату и проверяем.


А вот что можно «вытворять» на этом фрезере.


Выводы:

  1. Если планируется установка NEMA23, то можно взять комплект электроники с DRV8825. Экран можно взять Full graphic smart controller.
  2. Можно сделать Wi-Fi управление или специальный планшет на windows.
  3. В целом данный комплект позволяет значительно расширить возможности самодельного станочка, а в перспективе – и функционал в виде лазера или дополнительной оси.
  4. После модернизации я планирую докинуть еще и лазерную головку, будет выжигать в меру возможностей.
К сожалению, еще не все комплектующие у меня в наличии (подводят китайские товарищи), поэтому полномасштабного фото-видео готового станочка не будет. Фотографии частично предоставлены


В этой статье речь пойдет об электронной части 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.
Но будьте внимательны, т.к. цвета проводов на разных БП могут отличаться. А некоторые блоки питания вообще не включатся без нагрузки (хотя, на самом деле, все БП не рекомендуется включать без нагрузки).

Более подробно о использовании компьютерного блока питания для RepRap можно прочитать .

Контроллер

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

На высоком уровне работа контроллера выглядит следующим образом - в его память загружается (обычно посредством USB-подключения к компьютеру, но можно использовать и SD-карты памяти) программа на языке G-code , описывающая всё что принтеру нужно сделать для печати модели, а контроллер эту программу выполняет, команда за командой.

Условно контроллер можно разделить на две части: "логическую" и "силовую". В качестве логической части обычно выступает микроконтроллер с простейшей обвязкой (чаще всего используют микроконтроллеры AVR, но есть варианты контроллеров и с ARM процессорами). Силовая часть содержит все что необходимо для управления мощной нагрузкой - драйвера шаговых двигателей, и, обычно, полевые транзисторы для стола с подогревом и хотэнда.

Вариантов контроллеров для RepRap очень много, вот можно посмотреть на таблицу сравнения некоторых из них. Кроме наличия/отсутствия некоторых возможностей контроллеры также отличаются простотой сборки, например, тот же Generation 7 Electronics рассчитан на полностью самостоятельное изготовление, а, скажем, Smoothieboard сделать самому вряд ли удастся.

Двигатели оси 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 лучше питать от разных выходов компьютерного блока питания.

Заключение

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

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

Неожиданность с изменением микрошага RAMPS 1.4 и решение проблемы под свои задачи.

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

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

Так как данный драйвер ШД имеет возможность работать в режиме 1/32 микрошага, то на оси X и Y оставил как есть, а вот на оси Z и на экструдер, в связи с большей скоростью и длительностью вращения захотел понизить до 16 микрошагов, дабы не перегружать драйвера лишними токами в ШИМ и Arduino не нужными подсчётами. На плате расширения под драйверами все перемычки были установлены изначально и в следствии описаний подключений на многочисленных ресурсах. Я снял джампера по линиям М0 и М1. После прошивки контроллера и первых проб, обнаружил что попросту расстояние перемещения уменьшилось вдвое. Пробовал ставить на 1/8 и даже 1/4 и никакой реакции не было кроме того что двигатель выходил из адекватного режима работы. Потратил целый вечер на серфинг в сети с поиском подобной проблемы, но к результатам это не привело.

Не будь Я радиолюбителем, скачал схему платы расширения, достал тестер и начал изучать проблему на схематическом уровне.
Сразу первое что было обнаружено - это то, что все контакты для установки джамперов просто накоротко звонились между собой. В следствие такой результат будет означать что независимо от того, как будут стоять и будут ли вообще стоять джампера, драйвер будет работать в режиме только 1/32 шага.

Для первого эксперимента, взяв скальпель попросту обрезал на плате дорожки по линиям М0 и М1, подключение одного двигателя уже дало результат, было видно что драйвер перешел в режим 1/16 шага.

Так как мне нужно было сразу три драйвера запустить в 1/16 шага (два по оси Z подключены на разные драйвера + экструдер), а дорожки оказались со стороны разъемов и добраться к ним не легко, достал паяльную станцию и за 15 секунд вытащил разъем для джамперов. Конечно для меня не сильно удивительно, видел и не такое, но реально китайцы очередной раз жгут - гнёзда просто соединены между собой проводниками.

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

Вот такая небольшая история с заводским браком платы расширения RAMPS 1.4.

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

В свое время именно на этой управляющей плате мы сделали свой первый принтер и были довольны.

Почему именно она?

Во-первых, это самое недорогое и простое решение, которое позволит осуществить вашу задумку!

Во-вторых, в интернете Вы найдете очень много информации о том, как и куда подключать эту электронику, как прошивать и т.д и т.п.

В-третьих, Ramps 1.4 поддерживает два экструдера (можно печатать, как одним цветом, так и двумя), к ней можно подключить нагревательный стол (для возможности печати ABS пластиком), есть дополнительные свободные пины, к которым впоследствии Вы сможете подключить дополнительные прибамбасы для принтера.

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

Шаговые двигатели

В 3D-принтерах движение кареток происходит с помощью биполярных шаговых двигателей . Они, как правило, имеют четыре вывода (с двумя обмотками), последовательная активация обмоток двигателя вызывает дискретные угловые перемещения (шаги) ротора. Поэтому вращение шагового двигателя (ШД) дискретно, то есть вал поворачивается на заданный угол. В 3D принтерах обычно используют двигатели, которые за один полный оборот совершают 200 шагов, а именно, один шаг равен 1.8 градусам.

Количество шаговых двигателей зависит от конкретной модели принтера. В проектах RepRap Prusa i2, i3, i3 Steel и подобных используются пять шаговых двигателей. Четыре двигателя позиционируют каретку по осям X, Y и Z (один двигатель на ось X, один двигатель на ось Y и два двигателя на ось Z) и пятый двигатель необходим для экструдера (для подачи пластика).

Из большого разнообразия шаговых двигателей необходимо выбрать самые оптимальные. Двигатели бывают разных типоразмеров, так называемый форм-фактор. Для 3D принтеров RepRap, да и для большинства других принтеров, используют Nema 17.

При выборе шаговых двигателей также стоит обратить внимание на следующие два параметра: момент удержания и ток, который потребляет двигатель. Для двигателей, которые перемещают каретку, достаточно 1.4 кг*см (но лучше больше), а для экструдера минимум 4 кг*см. Для управления ШД используют драйвера A4988, которые имеют ограничение в токе до 2 А, поэтому двигатели нужно подобрать такие, чтобы потребляемый ток был меньше 2 А, в противном случае двигатель просто не будет работать на полную мощность.

Мы используем следующие шаговые двигатели: 17HS8401 или 17HS4401 током 1.7 А и моментом удержания 4 кг x см, их вполне хватает на подачу пластика и для позиционирования кареток.

Драйвера шаговых двигателей


Для управления ШД Вам понадобится специальный драйвер. Чаще всего для 3D принтеров используют драйвера A4988 или Drv8825 . Драйвер A4988 поддерживает ток до 2 А и 1/16 шага, а драйвер Drv8825 поддерживает ток до 2.2 А и 1/32 шага. Если шаговый двигатель имеет шаг 1.8 градусов и за полный оборот совершает 200 шагов, то при использовании драйвера A4988 шаг станет 0,1125 градусов (0,05625 градусов для Drv8825) и за полный оборот он совершит 3200 шагов (для Drv8825 6400 шагов), что в свою очередь увеличит точность позиционирования.

Для каждого ШД необходим один драйвер, либо один драйвер на два шаговых двигателя, подключенных последовательно или параллельно (как для оси Z Prusa i3 Steel). Во время работы двигателей драйвера сильно нагреваются, поэтому обязательно установите на них радиаторы и, по возможности, обеспечьте постоянный обдув вентилятором.

Нагревательный стол


Если Вы хотите, чтобы Ваш 3D принтер печатал ABS пластиком или другими видами пластика, для которых требуется подогрев рабочей поверхности, то Вам необходимо приобрести нагревательный стол . Один из самых распространенных столов - MK2b , размеры рабочей зоны составляют 200 мм на 200 мм, а максимальная температура 120 градусов. Такой стол имеет четыре крепежных отверстия, с помощью которых его можно зафиксировать на платформе. Нагревательный стол MK2B можно подключить как к 12 вольтовому источнику, так и к 24 вольтовому, достаточно лишь припаять провода питания к соответствующим контактам.

Чаще всего столы делаются из текстолита, поэтому необходимо использовать дополнительно стекло (зеркало), так как при нагреве текстолит деформируется и поверхность будет неровная. Стекло фиксируется сверху с помощью канцелярских прищепок или другими приспособлениями. Текстолитовый нагревательный стол MK2b+стекло можно заменить одним алюминиевым столом MK2b , он немного дороже, но в этом случае Вам не потребуется фиксировать дополнительно стекло. Алюминиевый стол греется дольше, но лучше держит температуру.

Термисторы

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



Самый простой способ измерения температуры в 3D принтерах - это использование термистора. Список термисторов, которые можно использовать приведен . Мы остановились на термисторе, который имеет большой диапазон рабочих температур, а именно NTC термистор 100 кОм 3950 . Такой термистор можно приобрести в двух вариантах: с припаянным проводом и без, рекомендуем приобрести сразу с припаянным.

Если Вы хотите использовать термопару, то вам понадобится дополнительная плата, например ExtThermoCouple 1.0, или какая-нибудь другая плата на основе микросхемы AD597.

Концевые выключатели (endstop)


Для того, чтобы каретка принтера могла "найти" свое крайнее положение, то есть точку отсчета (с координатами (0,0,0)) необходимо использовать endstop или, как их называют в России, концевые выключатели (концевики). Концевые выключатели бывают разных типов, но в основном используют следующие: механические, оптические и крайне редко магнитные.

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

Оптические концевики срабатывают, когда специальная "преграда" попадает в зазор между светодиодом и фоторезистором. Они более точные и надежнее, чем механические, но немного дороже, поэтому по возможности лучше поставить их.

Обычно на каждую ось ставится по одному концевому выключателю, который определяет минимальное положение. Максимальное положение задается программным путем (меняется в прошивке). Можно поставить на одну ось и два концевика, тогда они будут определять минимальное и максимальное положение, но особого смысла в этом нет. В итоге, всего Вам понадобится только 3 концевых выключателя (ось X, ось Y и ось Z).

Экструдер

Печатающая головка 3D-принтера называется экструдером (от англ. extrude – выдавливать). Название отражает принцип действия: печатающая головка выдавливает пластик через специальное сопло. В настоящие время появилось большое количество различных экструдеров , у всех свои плюсы и минусы. Исходя из нашего опыта, можем посоветовать хотэнд E3D. Оригинальные хотэнды e3D можно купить на сайте производителя. Мы используем не оригинальные, а клоны от китайских производителей, которые по качеству печати не уступают оригинальным, и стоят намного дешевле. Но следует помнить, что не все китайские хотэнды качественные, нужно будет поискать хорошего производителя. Также, e3D хотэнды при правильной эксплуатации очень редко забиваются и могут печатать практически всеми видами пластиков. При необходимости можно менять сопла разных диаметров, начиная от 0.2 мм и заканчивая 1.2 мм (Volcano).

LCD дисплей

Если Вы хотите автономно управлять Вашим 3D принтером, без компьютера, то вам понадобится дисплей. Самые распространенные и недорогие модели это:

Все они имеют встроенный разъем под SD карту, тем самым вы без проблем сможете запускать печать прямо с дисплея. RepRapDiscount Smart Controller самый простой и недорогой 4х строчный LCD дисплей с SD card reader и с встроенным поворотным энкодером. В отличии от дисплея Smart Controller, Full Graphic Smart Controller имеет лучшее разрешение и отображает больше данных о процессе печати, но стоит немного дороже.

Блок питания

Обычно для питания принтера используют 12 В. Для этого понадобится источник питания напряжением 12 В способный выдавать ток не менее 20 Ампер. С этим помогут справиться следующие блоки питания:

  1. Обычный компьютерный блок питания. Самый недорогой и простой способ, но потребуются дополнительные манипуляции. Блок питания стандарта ATX напрямую не подключить. Как включить компьютерный блок питания без материнской платы, можно почитать здесь или в других источниках.
  2. Самый предпочтительный для нас вариант - использовать блок питания для светодиодных систем. Он немного дороже, но с ним работать куда приятней. Все, что вам надо будет сделать - это прикрутить провода во встроенные колодки и все. Мы используем блок питания мощностью 350 Вт 12 В. При необходимости без проблем подойдет и блок питания на 24 В 350 Вт.

Подключение

После того, как все необходимые комплектующие выбраны и закуплены, можно приступать к подключению всех частей к Ramps 1.4. Для начала соедините плату расширения Ramps и Arduino Mega 2560. Тут ошибиться достаточно сложно. Необходимо все штырьки Ramps аккуратно вставить в соответствующие разъемы Arduino.

Обратите внимание! При установке платы RAMPS на Arduino возможно замыкание проводников нижней стороны платы Ramps на разъем USB arduino. Рекомендуется изолировать их друг от друга (например двусторонним скотчем), также можно "откусить" лишний припой с нижней стороны платы Ramps.



После того, как мы это сделали, получаем аккуратный "бутерброд", к которому можно начать подключать остальную электронику.


Прежде чем приступить к подключению электроники к управляющей плате, необходимо посмотреть на схему. Можно зайти на сайт Reprap и в статье о ramps 1.4 , посмотреть как все подключается. В интернете присутствует большое количество различных схем, вы можете выбрать подходящую вам.


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

Подключение шаговых двигателей

На плате Ramps есть 5 разъемов для подключения шаговых двигателей и соответственно 5 разъемов для драйверов. Каждая ось подписана, что позволяет безошибочно подключить в соответствующий разъем. Пины для подключения шаговых двигателей на RAMPS обозначены так - 2B, 2A, 1A, 1B. Пины 2B, 2A - одна обмотка двигателя, а 1A, 1B - другая.


Так как мы используем шаговые двигатели Nema 17 (биполярные), то они имеют, как правило, четыре вывода (две обмотки). Чтобы определить какие провода соответствуют одной обмотке, необходимо их прозвонить (мультиметром), та пара проводов, которая будет звониться, соответствует одной обмотке, и эту пару необходимо подключить в пины 2B,2A, а другую пару - в пины 1A,1B. Также можно посмотреть datasheet вашего двигателя, там указаны какие провода относятся к одной обмотке. Дополнительную информацию о двигателях можно посмотреть на сайте reprap .

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

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

  1. Параллельно - каждый штекер в своё гнездо, на плате ramps для оси Z предусмотрено два гнезда, поэтому проблем не возникнут. Это стандартное подключение к RAMPS, но могут быть проблемы с рассинхронизацией двигателей, если есть разница в сопротивлении обмоток двигателя.
  2. Последовательно, как показано на схеме. Последовательное подключение предпочтительнее, рекомендуем именно его.


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

Подключение драйверов шаговых двигателей

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


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

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

Если вы используете драйвер шагового двигателя A4988 с минимальным микрошагом 1/16, то расположение перемычки берем исходя из таблицы:

Перемычка (Да/Нет) размер шага 1 2 3 нет нет нет полный шаг да нет нет полушаг нет да нет 1/4 шага да да нет 1/8 шага да да да 1/16 шага

Большинство использует микрошаг 1/16 (все перемычки установлены), поэтому прежде чем устанавливать драйвера, устанавливаем все перемычки под все драйвера!

Если вы используете драйвер шагового двигателя Drv8825 с минимальным микрошагом 1/32, то расположение перемычек берем исходя из таблицы:

Перемычка (Да/Нет) размер шага 1 2 3 нет нет нет полный шаг да нет нет полушаг нет да нет 1/4 шага да да нет 1/8 шага нет нет да 1/16 шага да нет да 1/32 шага нет да да 1/32 шага да да да 1/32 шага

Обратите внимание! На драйвере шагового двигателя DRV8825 подстроечный резистор располагается на другой стороне платы, по сравнению с A4988, поэтому обратите внимание на правильную ориентацию драйвера при установке их в разъемы плат управления.

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



Обратите внимание! При неправильной установке драйвера, возможно его повреждение. Подстроечный резистор "смотрит" в сторону гнезда дисплея. Так же на самом драйвере и на разъемах ramps, все ножки подписаны, поэтому лишний раз перепроверьте.

Концевые выключатели

На плате ramps предусмотрено шесть разъемов для подключения концевых выключателей, их порядок следующий: X min, X max, Y min, Y max, Z min, Z max. Подключать концевики нужно соблюдая полярность. Если смотреть на разъемы концевиков со стороны разъемов питания RAMPS, то порядок пинов будет следующий: Signal, GND, +5 В.



Всего нужно подключить три концевика, min X, min Y и min Z. Остальные пины оставить свободными.

Обратите внимание! При подключении концевых выключаталей, самое главное не перепутать пины, то есть необходимо на концевом выключателе определить, какой из трех проводов отвечает за "Signal", "-" и за "+" и подключить в соответствующие пины на плате ramps. Если вы перепутаете, то велика вероятность, что при срабатывании концевика, Arduino выйдет из строя. Обычно на концевых выключателях идет следующая маркировка:

зеленый цвет - "Signal"

черный цвет - "-"

красный цвет - "+"


Также широко распространены 2-х проводные механические концевики, в данном случае "+" на плате ramps не используем и подключаем слудующим образом:

  1. Соедините контакт помеченный на плате"S" с контактом "NC" микропереключателя.
  2. Соедините контакт помеченный на плате "GND" или "-" с контактом "C" микропереключателя.


Подключение термисторов

RAMPS поддерживает три датчика температуры, разъемы для них подписаны - T0, T1, T2. В T0 подключают термистор хотэнда, а в T1 термистор нагревательного стола. Полярность у термисторов отсутствует, поэтому подключаем как хотим. T2 служит для термистора второго хотэнда, если у вас один хотэнд, тогда его не трогаем.


Подключение нагревательного стола и нагрева хотэнда

Разъемы для подключения нагревательных элементов обозначены D8, D9, D10. В D8 подключают нагревательный стол, а в D10 подключается нагрев хотэнда. В D9 подключают вентилятор для программной регулировки обдува печатающихся деталей, либо нагрев второго хотэнда (в зависимости от того, что укажете в прошивке).


Обратите внимание, что провода, по которым идет ток для подогрева стола должны быть рассчитаны на ток минимум в 10А. Мы используем провод сечением не менее 1,5 квадрата.



MK2B можно подключить как к 12 В так и к 24 В. На нагревательном столе есть 3 контакта помеченные цифрами 1, 2 и 3. В зависимости от того, какой источник питания вы хотите использовать (12 или 24 В) подключение осуществляется по-разному. Для 12 В: контакт 1 припаиваем к «+» и контакты 2 и 3 к «-». Для 24 В: контакт 1 не используем, контакт 2 припаиваем к «+»и контакт 3 к «-». В зависимости от того какой у вас источник напряжения, необходимо припаять провода к соответствующим контактам.

Подключение LCD дисплея

На плате Ramps есть специальный разъем для подключения дисплея, поэтому подключить любой LCD дисплей не составит труда.



Для этого необходимо взять переходник, идущий в комплекте с дисплеями, и вставить в разъем платы ramps, как показано на картинке.После чего взять два шлейфа и ими соединить между собой дисплей и ramps в соответствующие разъемы (на дисплее и на плате они подписаны как EXP1 и EXP2). Дисплей готов к работе.


Обратите внимание! Зачастую при дальнейшем использовании вашего дисплея, на экране будут появляться "иероглифы", непонятные символы и тому подобное, для предотвращения этого можно сделать следующее:

  • дисплей крепить к корпусу не на металлические стойки, а нейлоновые (или на другие виды, кроме металла);
  • заземлить все платы;
  • перевернуть сетевую вилку;
  • подключиться к другой розетке;
  • и самое главное, каждый провод, идущий от дисплея к плате ramps, обернуть алюминиевой фольгой (фольги не жалеть!).

Подключение питания

Для подачи питания в RAMPS предусмотрено два разъема: 12 В 5 А и 12 В 11 А.


Нижняя пара, отмеченная "12 В 5 A" для питания шаговых двигателей и нагревателя экструдера (D9, D10). Источник питания должен обеспечивать не менее 5A.

Пара коннекторов, отмеченных "12 В 11 A" обеспечивает питания нагревательного стола и второго выхода (D8), например для второго экструдера. Данный источник питания должен обеспечивать не менее 11A (Если оба входа питаются от одного источника, то он должен обеспечивать не менее 16A).

Если смотреть на разъемы питания (при отсутствии маркировки), то положительный контакт находится слева, а отрицательный справа.

Разъем питания в 5А не обеспечивает питание Arduino, питание будет обеспечено только при наличии напряжения в разъеме 11А.

Обратите внимание! При подключение питания, не перепутайте "+" с "-", лишний раз перепроверьте!

Заключение

Когда все подключили и еще раз перепроверили, то можно подать питание на плату Ramps. Если ничего не дымит и не искрит, то можно приступать к записи прошивки на Arduino. Именно этим мы и займемся в следующей статье.

Ramps 1.4 - один из самых распространнеых шилдов для Arduino Mega. Как он обрел такую популярность? Все дело в том, что он является неотъемлемой частью в домашнем 3d принтере. Именно эта плата расширения позволяет подсоединить к универсальной платформе Arduino Mega 2560 все необходимые комплектующие Вашего устройства прототипирования. Это бюджетный вариант для сборки 3d принтера и настоящий момент именно такая категория принтеров наиболее популярная, так как в основном им пользуются для домашних нужд и печати в сфере робототехники. Цена Ramps 1.4 очень мала, что делает его незаменимым. Но у таких вещей есть свои нюансы и об основных этих аспектах мы поговорим в этой статье.

Ramps 1.4 для Arduino Mega

Как же подключать шилд Ramps и какова его распиновка? Сперва стоит соединить его с Вашей ардуинкой. Это очень просто и там нельзя ошибиться, просто втыкаем пины в штекеры разом, чтобы та полностью вошла в пазы. А вот далее начнутся манипуляции посложнее. В первую очередь нужно обратить внимание на то, что написано на плате расширения в ее центре: X, Y и Z. Под каждой из букв можно видеть 2 параллельные дорожки штекеров "мама". Именно туда вставляются драйверы управления шаговыми моторами. О их видах и характеристиках мы расскажем в другой статье, а пока будем вещать на примере самых надежных и дешевых А4988. Вставлять нужно именно так, как показано на картинке. Могут возникать трудности с их установкой, так как место для них весьма мало. Отдельно ставится драйвер (или два, в случае двух экструдеров) для управления шаговиком экструдера, проталкивающего филамент. Также, перед тем, как втыкать А4988, под ними есть 6 пинов, которые надо попарно соединить джамперами, которые идут в комплекте. Не забудьте это сделать, это очень важно!!!

Посадочные гнезда для драйверов шаговиков

Установленные драйвера А4988

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

Подключение обмоток моторов

Далее идет подключение концевых выключателей, они же стоппреы. Концевиков у нас 3, на каждую ость. Как и куда их ставить на Зд принтере мы уже писали и . Они подсоединяются в слоты в верхнем правом углу шилда.

Подключение обмоток моторов

Следующим шагом идет подключение проводом термодатчиков стола и сопла. Они подключаются к контактам Т0, Т1 и Т2, в любые из них - все зависит от настроек прошивки. Если хотя бы с одного не будет идти информация по какой либо причине, и на экране будет не определена температура или стоять 0 - в этом случае принтер не даст зайти в меня и работать не будет. Поэтому проверьте на исправность термопар, правильность установки.

Подключение термисторов

Следующим и завершающим элементом статьи будет рассказ о силовой части ramp 1.4 и о ее нюансах. Начнем с того, что у нас есть 2 входа на плату с блока питания через 4 коннектора в виде зеленого четырех канального терминала. Сразу скажем, что это крайне ненадежный элемент и очень часто он плавится или даже воспламеняется. Это очень опасно, если Вы оставляете печатать принтер на ночь и не следите за ним. Поэтому от блока питания тянем 4 достаточно толстых провода. Выпаиваем зеленый терминал из платы расширения большим паяльником (одновременно все контакты нужно прогреть) или феном и подсоединяем напрямую питание в шилд. Каждый из двух каналов питания подает ток на свою часть синего терминала, имеющего по 3 слота. Одна его часть служит для обдува сопла, другая - для нагрева экструдера, третья - разогревает стол. Опять же, нужно смотреть настройку прошивки. Поэтому в один канал подсоединяем провода от экструдера, в другой - вентилятора обдува (см. рисунок ниже), а в третий - провода от нагревателя стола.

Подключение питания

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

Установка охлаждения

Статьи по теме: