Marlin
Ну описалочка для настройки прошивки Marlin для 32 плат, и не дельта принтеров. В данном случае SKR 1.3.
platformio.ini
Указываем тип процессора LPC1768
[platformio] default_envs = LPC1768
Configuration.h
Выберите последовательный порт на плате, который будет использоваться для связи с хостом.
Последовательный порт -1 - это последовательный порт, эмулируемый USB, если он доступен.
#define SERIAL_PORT -1
#define SERIAL_PORT_2 0
Этот параметр определяет скорость передачи данных принтера.
#define BAUDRATE 250000
Выберите имя из boards.h, которое соответствует вашей настройке
#ifndef MOTHERBOARD #define MOTHERBOARD BOARD_BTT_SKR_V1_3 #endif
Имя отображается на ЖК-дисплее в сообщении «Готово» и в информационном меню.
#define CUSTOM_MACHINE_NAME "Wolfram_2.1"
Это определяет количество экструдеров.
#define EXTRUDERS 1
Обычно ожидаемый диаметр нити (1,75, 2,85, 3,0, ...). Используется для измерения объема, датчика ширины нити и т. Д.
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
Температурные настройки
Тип сенсора, если это обычный 100 киломник то ставим 1
#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_BED 1
Максимальная температура хотэнда и стола
#define HEATER_0_MAXTEMP 300
#define BED_MAXTEMP 150
Настройки PID регуляции
Рекомендуется провести тестирование и получить данные для экструдера
Команда:
M303 E0 S250 C8
Получаем данные и вписываем
#define DEFAULT_Kp 19.05 #define DEFAULT_Ki 1.79 #define DEFAULT_Kd 50.61
PID регуляция для стола
Включаем для стола если скорость нагрева до 110 меньше 8 минут.
#define PIDTEMPBED
Выполняем калибровку
M303 E-1 S110 C8
Вписываем результат
#define DEFAULT_bedKp 26.65 #define DEFAULT_bedKi 5.33 #define DEFAULT_bedKd 88.93
Предотвратите выдавливание, если температура ниже EXTRUDE_MINTEMP.
#define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170
Раскомментируйте одну из этих опций, чтобы включить кинематику CoreXY, CoreXZ или CoreYZ в обычном порядке или в обратном порядке.
#define COREXY
Настройка концевиков.
Нужно указать где расположены концевые выключатели. В моём случае у меня X и Y находятся в максимумах.
//#define USE_XMIN_PLUG //#define USE_YMIN_PLUG #define USE_ZMIN_PLUG #define USE_XMAX_PLUG #define USE_YMAX_PLUG //#define USE_ZMAX_PLUG
Настройка типа концевика, нормально замкнутый (true) или нормально разомкнутый (false)
#define Z_MIN_ENDSTOP_INVERTING true #define X_MAX_ENDSTOP_INVERTING true #define Y_MAX_ENDSTOP_INVERTING true
Выбор драйверов шаговых двигателей
Раскоментровав сроки с нужными осями и вписав драйвер который устанавливаем, мы определением прошивкой работу с типом подключения. SPI, UARD, так же у разных драйверов может отличится распиловка. Настройка драйвера осуществляется как прошивкой, так и аппаратно, перемычками и регулятором тока.
#define X_DRIVER_TYPE TMC5160 #define Y_DRIVER_TYPE TMC5160 #define Z_DRIVER_TYPE TMC2208_STANDALONE
#define E0_DRIVER_TYPE TMC2130
TMC2208
Драйвер UARD типа, может работать и в режиме STANDALONE, без программной надстройки.
В его особенностях:
- Сверх тихая работа на любых скоростях.
- В программном режиме позволяет работать с 256 субшагами
- В режиме STANDALONE перемычками можно установить до 16 субшагов.


Так же видно что, у данного драйвера есть постоянно включена интерполяция, на точности это не скажется.
- В программном режиме позволяет управлять током драйвера
- В STANDALONE позволяет регулировать ток резистором.

Подстройка тока (Спасибо этой статье)
Например нам нужен ток 1A на драйвере
Вращаем резистр (3) измеряя напряжение между (1) и (2 - землёй) Расчет идет по следующей формуле:
Изм. напряжение = (1A * 2.5) / 1.77 = 1.41V
То есть между (1) и (2 - землёй) должно быть 1.41V
Или мы хотим узнать какой ток подаётся в данный момент:
Измеряем напряжение между (1) и (2 - землёй), например это 1.65V
Ток двигателя = (1.65 * 1.77) / 2.5 = 1,1682A
Подаваемый ток 1,1682A
TMC меняют ток в зависимости от нагрузки, хотим задать своего рода максимум.
К примеру максимальный ток для двигателя 1.4A
1.4A / 1.41 = 0,99A
Теперь получим напряжение которое нужно выставить
(0,99A * 2,5) 1.77 = 1,4V
Итого получили нужное нам напряжение
Не забываем что постоянный ток выдаваемый драйвером не должен превышать 1.2A.
TMC2130
Драйвер SPI, особенностью драйвера является свойство определения перегрузки и пропуска шагов. Что позволяет использовать его как концевой выключатель, для поиска домашнего положения.
Но так же имеет широкий функционал, мощность, является также сверх тихим.
В его особенностях:
- Сверх тихая работа на любых скоростях.
- В программном режиме позволяет работать с 256 субшагами
- В режиме STANDALONE перемычками можно установить до 16 субшагов.

Как видно можно установить 2 режима Spreadcyle и Stealthchop1. Первый за тихость, второй за скорость.
- В программном режиме позволяет управлять током драйвера
- В STANDALONE позволяет регулировать ток резистором, так же как и для 2208
Максимальный ток 1.2A
Не маловажный факт, данные 2208, 2130 драйверы не способны в тихом режиме работать на скоростях печати более 110 мм/с. Отключение тихого режима решает данную проблему, но возникают проблемы на низких скоростях связанные с появлением резонансов в конструкции принтера. Казалось бы для решения проблемы был придуман гибридный режим. Но это решает проблему очень кустарно. Так как ускорения не линейны, максимальные при разгоне, происходит множественное переключение режимов, при разгоне и торможении, что вызывает стук при печати в лучшем случае. В большинстве случаев срывы шагов.
TMC5160
Драйвер SPI, призван решит все проблемы предыдущих 2208 и 2130, ток до 3A все режимы, полный контроль пропусков щагов.
На практике - это лучшие драйверы. Пропуск шагов настолько за пределами рабочих нагрузок, что даже иногда не вперится, что двигатель способен удерживать такие нагрузки.
Остается болезнь связанная с тихим режимом, при скоростях выше 120 мм/с возникают сильные резонансы, срывов нет, но звук очень неправильный. Данную проблему решает гибридный режим. Остаются сильные удары во время разгона и торможения, но срывов нет.
Я выбрал для себя полное отключение любых снижений шума, так как драйверы и без этого остаются очень тихими.
Самый большой минус - Цена. Еще один минус, совместим с ними только marlin.
- Субшаги выставляются только программно до 256
- Ток управляется только программно.
Настоятельно рекомендуются для установки на принтеры с прочной и жесткой конструкцией на оси XY