
Marlin - это проект Arduino, который должен быть настроен так, чтобы он мог запускать практически любой 3D-принтер, за исключением того, что 3D-принтер должен иметь на борту Arduino. Вы можете скачать его здесь.
github.com/MarlinFirmware/Marlin
Чтобы настроить его на свой 3D-принтер, вы должны настроить переменные и закомментировать или раскомментировать код в файле Configuration.h. Этот учебник объяснит все об этом.
Шаг 1: Configuration.h и Arduino

Итак, ваш следующий шаг - открыть Marlin.ino, расположенный в zip-файле, который я показал вам на предыдущем шаге. Он должен быть под Marlin-1.1x / Marlin / Marlin.ino. Тогда должен открыться Marlin.ino и еще куча классов.
Выберите Configuration.h, чтобы просмотреть этот файл. Мы будем использовать этот файл на всех следующих этапах руководства.
Шаг 2: #define BAUDRATE #
В зависимости от вашего компьютера и материнской платы скорость передачи данных будет отличаться. Если вы не знаете, что это должно быть, оставьте это в покое. Вы всегда можете изменить это в будущем. Вы найдете это в файле configuration.h в строке 114. Скорость передачи может равняться только 2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000 или 1000000. Это может быть только одно число.
Шаг 3: #define MOTHERBOARD "(Ваша материнская плата с Boards.h)"
Замените определение по умолчанию #define MOTHERBOARD на вашу материнскую плату. Его значение по умолчанию - BOARD_RAMPS_14_EFB, но это может быть что угодно из Board.h в Arduino. Измените его на значение вашей материнской платы с Boards.h. Эта строка кода находится в строке 122. EFB означает настройку, которую вы можете иметь с материнской платой Ramps 1.4, которая имеет один экструдер, один вентилятор и одну подогреваемую платформу, как и большинство вариантов Prusa i3. Вот значения, на которые вы можете его изменить.
BOARD_RAMPS_OLD
BOARD_RAMPS_13_EFB // RAMPS 1.3 (выходы мощности: Hotend, Fan, Bed) #define BOARD_RAMPS_13_EEB // RAMPS 1.3 (выходы мощности: Hotend0, Hotend1, Bed) #define BOARD_RAMPS_13_EFF // RAMPS 1.3 (выходы питания: Hotend, Fan0, Fan1) # define BOARD_RAMPS_13_EEF // RAMPS 1.3 (выходы мощности: Hotend0, Hotend1, Fan) #define BOARD_RAMPS_13_SF // RAMPS 1.3 (выходы питания: шпиндель, вентилятор контроллера)
#define BOARD_RAMPS_14_EFB // RAMPS 1.4 (выходная мощность: Hotend, вентилятор, кровать) #define BOARD_RAMPS_14_EEB // RAMPS 1.4 (выходная мощность: Hotend0, Hotend1, кровать) #define BOARD_RAMPS_14_EFF // RAMPS 1.4 (выходы мощности: Hotend, Fan0,) #define BOARD_RAMPS_14_EEF // RAMPS 1.4 (Выходы мощности: Hotend0, Hotend1, Fan) #define BOARD_RAMPS_14_SF // RAMPS 1.4 (Выходы мощности: шпиндель, вентилятор контроллера)
BOARD_RAMPS_PLUS_EFB // RAMPS Plus 3DYMY (выходная мощность: Hotend, вентилятор, кровать) BOARD_RAMPS_PLUS_EEB // RAMPS Plus 3DYMY (выходная мощность: Hotend0, Hotend1, кровать)
BOARD_RAMPS_PLUS_EFF // RAMPS Plus 3DYMY (Выходы мощности: Hotend, Fan0, Fan1) BOARD_RAMPS_PLUS_EEF // RAMPS Plus 3DYMY (Выходы мощности: Hotend0, Hotend1, Fan) BOARD_RAMPS_PLUS_SF // RAMPS Plus 3DYMY (Выходы питания контроллера): Шпиндель
BOARD_3DRAG // Контроллер 3Drag
BOARD_K8200 // Контроллер Velleman K8200 (полученный из контроллера 3Drag)
BOARD_K8400 // Контроллер Velleman K8400 (производный от контроллера 3Drag)
BOARD_BAM_DICE // 2PrintBeta BAM & DICE с драйверами STK
BOARD_BAM_DICE_DUE // 2PrintBeta BAM & DICE Due с драйверами STK
BOARD_MKS_BASE // MKS BASE 1.0 BOARD_MKS_13 // MKS v1.3 или 1.4 (может быть выше) #define BOARD_MKS_GEN_L // MKS GEN L
BOARD_ZRIB_V20 // плата управления zrib V2.0 (китайская копия RAMPS)
BOARD_FELIX // Электронная плата Felix 2.0+ (например, RAMPS)
BOARD_RIGIDBOARD // Изобрести жесткую доску
BOARD_RIGIDBOARD_V2 // Изобрести жесткую доску V2
BOARD_SAINSMART_2IN1 // Плата Sainsmart 2-в-1 BOARD_ULTIMAKER // Ultimaker BOARD_ULTIMAKER_OLD // Ultimaker (Старая электроника. До 1.5.4. Это редко)
BOARD_AZTEEG_X3 // Azteeg X3
BOARD_AZTEEG_X3_PRO // Azteeg X3 Pro
BOARD_ULTIMAIN_2 // Ultimainboard 2.x (использует TEMP_SENSOR 20)
BOARD_RUMBA // румба
BOARD_BQ_ZUM_MEGA_3D // bq ZUM Mega 3D
BOARD_MAKEBOARD_MINI // MakeBoard Mini v2.1.2 - это плата управления, продаваемая MicroMake
BOARD_CNCONTROLS_11 // Cartesio CN контролирует V11
BOARD_CNCONTROLS_12 // Cartesio CN контролирует V12
BOARD_CHEAPTRONIC // Cheaptronic v1.0
BOARD_CHEAPTRONIC_V2 // Cheaptronic v2.0
BOARD_MIGHTYBOARD_REVE // Makerbot Mightyboard, версия E
BOARD_MEGATRONICS // Мегатроника
BOARD_MEGATRONICS_2 // Мегатроника v2.0
BOARD_MEGATRONICS_3 // Мегатроника v3.0
BOARD_MEGATRONICS_31 // Мегатроника v3.1
BOARD_RAMBO 301 // Рэмбо
BOARD_MINIRAMBO // Мини-Рэмбо
BOARD_MINIRAMBO_10A // Мини-Рэмбо 1.0a
BOARD_ELEFU_3 // Доска Elefu Ra (v3)
BOARD_LEAPFROG // Чехия #define BOARD_MEGACONTROLLER 310 // Мега-контроллер #define BOARD_SCOOVO_X9H // abee Scoovo X9H
BOARD_GT2560_REV_A // Geeetech GT2560 Ред. A
BOARD_GT2560_REV_A_PLUS 75 // Geeetech GT2560 Rev. A + (с автоматическим датчиком уровня)
BOARD_MINITRONICS // Minitronics v1.0 / 1.1
BOARD_SILVER_GATE // Silvergate v1.0
BOARD_SANGUINOLOLU_11 // Сангвинололу <1.2
BOARD_SANGUINOLOLU_12 // Sanguinololu 1.2 и выше
BOARD_MELZI // Мельци
BOARD_MELZI_MAKR3D // Melzi с ATmega1284 (версия MaKr3d)
BOARD_MELZI_CREALITY // Доска Melzi Creality3D (для CR-10 и т. Д.)
BOARD_STB_11 // STB V1.1
BOARD_AZTEEG_X1 // Azteeg X1
BOARD_GEN3_MONOLITHIC // Монолитная электроника 3-го поколения
BOARD_GEN3_PLUS // Gen3 +
BOARD_GEN6 // Gen6
BOARD_GEN6_DELUXE // Gen6 Deluxe
BOARD_GEN7_CUSTOM // кастом Gen7 (версия Alfons3)
BOARD_GEN7_12 // Gen7 v1.1, v1.2
BOARD_GEN7_13 // Gen7 v1.3
BOARD_GEN7_14 // Gen7 v1.4
BOARD_OMCA_A // Доска Alpha OMCA
BOARD_OMCA // Итоговая доска OMCA BOARD_SETHI // Sethi 3D_1
BOARD_ANET_10 // Anet 1.0 (клон Melzi)
// // Teensyduino - AT90USB1286, AT90USB1286P //
BOARD_TEENSYLU // Teensylu
BOARD_PRINTRBOARD // Печатная плата (AT90USB1286)
BOARD_PRINTRBOARD_REVF // Версия печатной платы F (AT90USB1286)
BOARD_BRAINWAVE // Brainwave (AT90USB646)
BOARD_BRAINWAVE_PRO // Brainwave Pro (AT90USB1286)
BOARD_SAV_MKI // SAV Mk-I (AT90USB1286)
BOARD_TEENSY2 // Teensy ++ 2.0 (AT90USB1286) - компиляция интерфейса командной строки: HARDWARE_MOTHERBOARD = 84 BOARD_5DPRINT // 5DPrint D8 Driver Board
Шаг 4: # определить ЭКСТРУДЕРЫ #
В строке 137 файла Configuration.h находится переменная EXTRUDERS, которая должна быть равна числу от 1 до 5. Измените его на количество экструдеров на вашем принтере. Если есть, оставьте значение по умолчанию.
Шаг 5: #DEFAULT_NOMINAL_FILAMENT_DIA #
В строке 140 в Arduino вы видите переменную, известную как DEFAULT_NOMINAL_FILAMENT_DIA. Измените число на диаметр нити вашего принтера. Если это 3 мм, оставьте это. Если вы не знаете, какой у вас диаметр нити накала, узнайте, что он подходит для вашего принтера. Большинство принтеров используют 1,75 мм или 3 мм.
Шаг 6: #define TEMP_SENSOR_ # #
В вашем 3D-принтере должны быть термисторы. Термисторы - это переменные резисторы, сопротивление которых изменяется в зависимости от температуры. Вот почему они используются для измерения температуры в 3D-печати. В строках 289 - 294 есть 5 переменных, которые используются для объявления термисторов в каждом хотэнде. Значение 0 - для первого узла, значение 1 - для второго узла, если он у вас есть, и так далее. Значение в строке 295 относится к подогреваемому слою. Установите их в соответствии с тем термистором, который вы используете. Значения термисторов перечислены ниже.
-3: термопара с MAX31855 (только для датчика 0)
-2: термопара с MAX6675 (только для датчика 0)
-1: термопара с AD595
0: не используется
Термистор 1: 100 кОм - лучший выбор для EPCOS 100 кОм (натяжение 4,7 кОм)
2: термистор 200 кОм - ATC Semitec 204GT-2 (подтяжка 4,7 кОм)
3: Термистор для деталей Менделя (подтяжка 4,7 кОм)
4:10 кОм термистор!! не используйте его для хотэнда. Это дает плохое разрешение при высокой температуре.!!
5: Термистор 100K - ATC Semitec 104GT-2 (используется в ParCan & J-Head) (натяжение 4,7 тыс.)
6: 100k EPCOS - не так точно, как таблица 1 (создана с использованием термопары Fluke) (подтяжка 4,7k)
7: Термистор Honeywell 135-104LAG-J01 100 кОм (подтяжка 4,7 кОм)
71 Термистор Honeywell на 100 кОм 135-104LAF-J01 (подтяжка 4,7 кОм)
8: 100k 0603 SMD Vishay NTCS0603E3104FXT (подтягивание 4,7k)
9: 100 тыс. GE Sensing AL03006-58.2K-97-G1 (подтягивание 4,7 км)
10: Термистор 198-961 RS 100 кОм (натяжение 4,7 кОм)
11: 100 кОм бета 3950 1% термистор (натяжение 4,7 кОм)
12: 100k 0603 SMD Vishay NTCS0603E3104FXT (подтягивание 4,7k) (откалибровано для горячей кровати Makibox)
13: 100 тыс. Hisens 3950 1% до 300 ° C для хотэндов "Simple ONE" и "Hotend" All In ONE"
20: схема PT100 в Ultimainboard V2.x
60: 100k Maker's Tool Works Термистор с каптоновым слоем бета = 3950 *
66: Высокотемпературный термистор 4,7 м от Dyze Design *
70: термистор 100K, найденный в bq Hephestos 2 *
75: 100k Обычная силиконовая нагревательная прокладка с термистором NTC 100K MGB18-104F39050L32 * * Таблицы подтягивания 1 кОм - это нетипично и требует замены подтяжки 4,7 кОм на 1 кОм. * (но дает большую точность и более стабильный PID) *
51: термистор 100 кОм - EPCOS (подтяжка 1 кОм) *
52: Термистор 200 кОм - ATC Semitec 204GT-2 (подтяжка 1 кОм) *
55: Термистор 100 кОм - ATC Semitec 104GT-2 (используется в ParCan и J-Head) (подтяжка 1 кОм) * *
1047: Pt1000 с подтягиванием 4k7 * 1010: Pt1000 с подтягиванием 1k (нестандартно) * 147: Pt100 с подтягиванием 4k7 * 110: Pt100 с подтягиванием 1k (нестандартно) * * Используйте их для целей тестирования или разработки. НИКОГДА для производственной машины. *
998: Пустой стол, который ВСЕГДА показывает 25 ° C или температуру, указанную ниже. *
999: Пустой стол, который ВСЕГДА показывает 100 ° C или температуру, указанную ниже. *
Шаг 7: Настройка ПИД-регулятора
В строках 258-260 в файле configuration.h указаны переменные настройки ПИД-регулятора. Измените их, если знаете, на что их менять. Если вы этого не сделаете, вам придется подождать, пока ваш 3D-принтер не будет настроен, за исключением этих строк кода. Установка неправильных значений может быть опасной и привести к поломке или возгоранию. Скорее всего, если что-то не так, ваш принтер остановится, но не всегда. Для получения дополнительной информации о том, как выяснить, на что их изменить, когда ваш принтер настроен, следуйте этому руководству.
www.reprap.org/wiki/PID_Tuning
Шаг 8: #define PIDTEMPBED
Раскомментируйте строку 386, если у вас кровать с подогревом. Если вы этого не сделаете, запускать принтер будет чрезвычайно опасно, так как вашей подогреваемой кроватью будет нелегко управлять. Строки 402-404 - это настройки PID вашей кровати. Измените их, если вы их знаете, если не так, как я сказал ранее, подождите, пока ваш принтер не будет полностью настроен. Тогда следуйте этому руководству.
www.reprap.org/wiki/PID_Tuning
Шаг 9: конечные остановки
По умолчанию включены минимальные конечные остановки. Строки 473-478 предназначены для включения или отключения ваших максимальных или минимальных конечных положений. Закомментируйте, чтобы отключить, или раскомментируйте, чтобы включить максимальные или минимальные конечные остановки.
Строки 495-501 предназначены для инвертирования логики конечной остановки. Сделайте это, если знаете, что делаете. В противном случае вы можете перевернуть их позже, если они не сработают так, как планировалось.
Шаг 10: изменение направления оси при необходимости
Если вы не знаете, что делаете на этом этапе, ничего не делайте, если только что-то не движется в перевернутом виде или вы не знаете, что нужно перевернуть.
Строки 751-753 предназначены для инвертирования каждой оси, а линии 761-765 предназначены для инвертирования каждого экструдера, если он у вас есть. Изменяйте их только в том случае, если вы знаете, что делаете, или если у вас что-то перевернуто.
Шаг 11: ЖК-дисплей
Если у вас нет ЖК-дисплея, пропустите этот шаг. Если вы действительно проверите онлайн, является ли ваш ЖК-дисплей Ultra LCD или Dog LCD, потому что в зависимости от того, является он или нет, вам придется соответственно раскомментировать строки 1322-1323. Раскомментируйте, чтобы включить эти строки на ЖК-дисплее. Не включайте оба сразу.
Шаг 12: SDSUPPORT
Если у вас нет ЖК-дисплея или входа для SD-карты, не беспокойтесь об этом шаге. Если вы раскомментируете строку 1332, чтобы включить поддержку SD-карты.
Шаг 13: раскомментируйте свой ЖК-экран, чтобы включить его
В зависимости от того, какой у вас ЖК-экран, он будет зависеть от того, в каком месте он будет находиться в марлине. Найдите свой ЖК-экран с помощью функции «Найти или заменить» и раскомментируйте его. Вы можете нажать CTRL + F, чтобы использовать его. Удачи!
Шаг 14: Заключение
Если здесь есть что-то, о чем вы хотели бы узнать о Марлине, оставьте комментарий ниже. Скорее всего, я смогу на него ответить. Если возникнут проблемы с этим руководством, дайте мне знать. Я, наверное, смогу вам помочь.
Надеюсь, вы узнали в этом уроке, как настроить marlin в этом уроке. Удачи и дайте мне знать, что вы думаете об этом уроке. Я мог бы использовать некоторую полезную критику.