RAMPS 1.4: подбор электроники и схема подключения к 3D-принтеру

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

Двигатели и драйверы
Каретки перемещают биполярные шаговые двигатели с двумя обмотками и четырьмя выводами. В принтерах типа Prusa i2, i3 и i3 Steel их пять: по одному на оси X и Y, два на ось Z и один на подачу пластика. Стандартный типоразмер — Nema 17. При выборе смотрят на момент удержания и ток: для осей достаточно 1,4 кг·см, для экструдера нужно не менее 4 кг·см. Подходят, например, 17HS8401 или 17HS4401 с током 1,7 А и моментом 4 кг·см.

Каждым двигателем управляет драйвер. A4988 рассчитан на ток до 2 А и дробление шага до 1/16, DRV8825 — до 2,2 А и 1/32. С мотором на 200 шагов на оборот (1,8 градуса) это даёт 3200 или 6400 микрошагов на оборот соответственно (0,1125 и 0,05625 градуса). Ток двигателя должен быть меньше предела драйвера, иначе полной мощности не получить. Два мотора оси Z работают от одного драйвера. Драйверы сильно греются, поэтому на них ставят радиаторы и по возможности организуют обдув.

Стол, датчики, экструдер и остальное
Для ABS и других пластиков, требующих подогрева, нужен нагревательный стол. Распространённый вариант — MK2B с рабочей зоной 200x200 мм и температурой до 120 градусов, который можно питать от 12 или 24 В.

- Температуру проще всего измерять термистором, например NTC 100 кОм 3950 с широким рабочим диапазоном; удобнее брать с уже припаянным проводом. Для термопары потребуется дополнительная плата на микросхеме AD597, такая как ExtThermoCouple 1.0.
- Концевых выключателей нужно три — по одному на минимум каждой оси; максимум задаётся в прошивке. Механические дешевле и распространённее, оптические точнее и надёжнее.
- В качестве хотэнда часто выбирают E3D: при правильной эксплуатации он редко забивается, работает почти со всеми пластиками и допускает сопла от 0,2 до 1,2 мм (Volcano).
- Для автономной работы ставят дисплей с разъёмом под SD-карту: четырёхстрочный RepRapDiscount Smart Controller с энкодером или Full Graphic Smart Controller с более высоким разрешением.
- Питание — 12 В. Подойдёт компьютерный блок ATX или более удобный блок для светодиодных систем на 350 Вт с винтовыми колодками.
Сборка платы и установка драйверов
Сначала RAMPS насаживают штырьками на разъёмы Arduino Mega 2560. Проводники на нижней стороне RAMPS могут коснуться корпуса USB-разъёма Arduino, поэтому их изолируют, например двусторонним скотчем, либо скусывают лишний припой.
До установки драйверов задают микрошаг перемычками, которые находятся под каждым драйвером — до трёх штук на гнездо. Чаще всего используют максимальное дробление, то есть ставят все три.
| нет / нет / нет | полный шаг | полный шаг |
| да / нет / нет | полушаг | полушаг |
| нет / да / нет | 1/4 | 1/4 |
| да / да / нет | 1/8 | 1/8 |
| нет / нет / да | — | 1/16 |
| да / да / да | 1/16 | 1/32 |
Для DRV8825 шаг 1/32 дают также комбинации «да / нет / да» и «нет / да / да». Драйверов пять: три на оси и один на экструдер, пятое гнездо предназначено для второго экструдера. A4988 ставят так, чтобы подстроечный резистор смотрел в сторону разъёма дисплея; у DRV8825 резистор расположен с другой стороны платы, так что ориентироваться нужно по подписям выводов. Неправильно вставленный драйвер может сгореть.
Двигатели, концевики и термисторы
Разъёмы двигателей подписаны по осям, а их контакты обозначены 2B, 2A, 1A, 1B: первая пара — одна обмотка, вторая — другая. Цвета проводов у разных моторов не совпадают, поэтому обмотки надёжнее определить мультиметром: пара, которая прозванивается, принадлежит одной обмотке. Два мотора оси Z можно включить параллельно, в два штатных гнезда, но при разном сопротивлении обмоток возможна рассинхронизация; предпочтительнее последовательное соединение.
Разъёмов для концевиков шесть, в порядке X min, X max, Y min, Y max, Z min, Z max; заняты будут только три min. Если смотреть со стороны разъёмов питания, контакты идут так: Signal, GND, +5 В. Обычная маркировка проводов: зелёный — Signal, чёрный — минус, красный — плюс. Путать их нельзя: при срабатывании неверно подключённого концевика Arduino может выйти из строя. У двухпроводных механических выключателей плюс не используется: контакт S платы соединяют с NC микропереключателя, GND — с C.
Термисторы полярности не имеют. В T0 включают датчик хотэнда, в T1 — датчик стола, T2 предназначен для второго хотэнда.
Нагреватели, дисплей и питание
Силовые выходы обозначены D8, D9 и D10. К D8 подключают стол, к D10 — нагреватель хотэнда, а D9 отдают под вентилятор обдува модели либо под второй хотэнд, в зависимости от настроек прошивки. Провода стола должны выдерживать не менее 10 А; используют сечение от 1,5 мм². На MK2B три контакта: для 12 В контакт 1 соединяют с плюсом, а 2 и 3 — с минусом; для 24 В контакт 1 не используют, 2 идёт на плюс, 3 — на минус.
Дисплей подключают через комплектный переходник, который вставляется в специальный разъём RAMPS, и два шлейфа, соединяющие одноимённые разъёмы EXP1 и EXP2. Если на экране появляются посторонние символы, помогают неметаллические (нейлоновые) стойки крепления, заземление плат, другая розетка или перевёрнутая вилка и экранирование шлейфов алюминиевой фольгой.
Входов питания два. Вход «12 В 5 А» обслуживает двигатели и нагрев экструдера, вход «12 В 11 А» — нагревательный стол (D8). Если оба запитаны от одного источника, ему нужно отдавать не менее 16 А. При отсутствии маркировки плюс находится слева, минус — справа. Arduino получает питание только от входа на 11 А.