• Открыт набор модераторов на нашем форуме. Заявку можно подать в разделе "Вопросы и предложения" > "Набор модераторов".

Модификация 3D-принтера Ender 3 Pro

Fockus

Fockus

Администратор
Команда форума
Сообщения
398
Симпатии
70
Баллы
60
Веб-сайт
3dnote.ru
#1

Creality Ender 3 Pro - бюджетный 3D-принтер от Китайского производителя Creality 3D. Устройство оснащено подогреваемой платформой, дисплеем, одним экструдером с соплом 0,4 мм. Область построения Creality Ender 3 Pro составляет 220x220x250 мм. Для печати используются PLA, ABS, Wood, TPU и другие типы пластиков.

ENDER 3 PRO
Назначение: Персональный
Страна: Китай
Производитель: Creality 3D

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
Технология печати: Моделирование методом наплавления (FDM/FFF)
Количество печатающих головок: 1
Диаметр сопла (мм): 0.4
Область построения, мм: 220 x 220 x 250
Платформа: с подогревом
Интерфейсы: Card Reader, USB
Дисплей: Да

РАСХОДНЫЕ МАТЕРИАЛЫ
Типы материалов: Пластик
Материалы: PLA-пластик, ABS-пластик, HIPS, Нейлон
Диаметр нити (мм): 1.75

ГАБАРИТЫ
Размеры (мм): 440 x 440 x 465
Вес (кг): 6.9


МОДИФИКАЦИИ:
Список печатных модификаций. Советую печатать всё. Прилично повышает качество печати.
  • Крышка, закрывающая плату экрана: Скачать
  • Защита платы и вентилятора от попадания мусора и остатков пластика: Скачать
  • Проставки для выравнивания мотора оси Z: Скачать
  • Стабилизаторы пружин стола: Скачать
  • Натяжитель ремней, ось X: Скачать
  • Направляющая для обрезания трубки: Скачать
  • Обдув Petsfang: Скачать
  • Запасной рычаг в штатном подающем механизме: Скачать
  • Запасная часть подающего механизма, которая крепится к мотору: Скачать
  • Запасная часть подающего механизма, которая крепится к мотору, с регулировкой прижима пружины: Скачать
  • Направляющая для филамента (Печатаем Ender-3_and_CR-10_Filament_Guide): Скачать
  • Направляющая для филамента на верхнюю часть принтера (Для катушки, которая закреплена сверху): Скачать
  • Кронштейн для крепления катушки сбоку на профиль: Скачать
  • Крышка платы по 80 мм кулер. Для обычной версии: Скачать
  • Крепление BLTouch/3DTouch для штатного обдува: Скачать
  • Кронштейн для установки Titan Extruder на наш принтер: Скачать
Ссылки на товары для эндера с Aliexpress:

Апгрейды:
Обязательные:
  • Фитинги:

    Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.

    (нам нужны PC4-01 и PC4-M6)
  • Замена штатному пластиковому экструдеру:

    Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.

    (Берем вариант Right). Штатный пластиковый имеет свойство ломаться. Купить в случае, если не планируете менять штатный экструдер
Всегда иметь в запасе:

Опционально:
Проблема: При включении принтера 3DTouch мигает и не реагирует на команды из меню.
Решение: Немного ослабить регулировочный винт на 3DTouch, перезагрузить принтер
Небольшой отчет по установке 3D Тача от Треугольников на Эндер-3.
  • Ссылка на 3D Тач:

    Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.

  • Обдув установлен Hero Me Gen2 со штатным вентилятором Эндер-3:

    Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.

  • Для крепления Тача печатается такое крепление, версия 2:

    Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.

  • Тач установлен на крепление при помощи комплектных пружин, винтов, гаек и шайб.
  • Обратите внимание на то, что разъемы на плате залиты термоклеем. Для подключения Тача вместо концевика оси Z используется часть провода с разъемом, который использовался для подключения концевика оси Z. По цветам провода 3D Тача треугольников совпадают с оригиналом. Советую все соединения пропаять, закрыть термоусадкой и разъемы залить термоклеем.
  • Дальнейшие действия делались по видео Сергея Ирбиса:
Далее описывается то, чего не было в видео:
  • Не забудьте демонтировать концевик оси Z.
  • В параметрах положения Тача не нужно указывать дробные цифры, только целые, для моего крепления получилось так:
Код:
#define X_PROBE_OFFSET_FROM_EXTRUDER -38 // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -7 // Y offset: -front +behind [the nozzle]
  • Для того, чтобы не было самопроизвольного выдвигания щупа Тача, нужно в файле pins_SANGUINOLOLU_11.h найти и закомментировать строку:
Код:
//#define BEEPER_PIN 27
  • Для того, чтобы можно было в дальнейшем G-Кодом M48 P10 X100 Y100 V2 E проверять точность датчика, нужно в файле Configuration.h раскомментировать строку:
Код:
#define Z_MIN_PROBE_REPEATABILITY_TEST
  • Для того, чтобы Тач делал замеры по 16 точкам, нужно заменить цифру 3 на 4 в строке:
Код:
#define GRID_MAX_POINTS_X 3
  • Для использования функции нивелирования кривизны стола к определенной высоте детали нужно проверить, чтобы была раскомментирована строка:
Код:
#define ENABLE_LEVELING_FADE_HEIGHT
  • С включенной функцией POWER_LOSS не хватало 762 байта памяти, поэтому я в файле Configuration_adv.h закомментировал строку:
Код:
//#define POWER_LOSS_RECOVERY
после этого компиляция прошла успешно.

  • Для активирования функции нивелирования кривизны стола к определенной высоте детали нужно в стартовом скрипте G-кода в Cure, после строки G29 прописать M420 Z1, где 1 - это высота плавного угасания неровности в мм. Использование этой функции снижает нагрузку на ось Z из-за того, что корректирует кривизну стола не всю печать, а плавно выводит разницу кривизны стола по оси Z в ноль к высоте, которую вы укажите командой M420 Z и после этого ось Z перестает гулять вверх-вниз, нагрузка с оси снимается. Внешне на готовое изделие включение этой настройки влияния не оказывает. Спасибо Andy! =)
Всем спасибо за внимание!
Список необходимых приобретений
Для установки, а точнее подключения драйверов TMC2208 к плате Creality потребуется:

  1. CNC Shield V3.0 -

    Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.

  2. Плоский кабель Dupont "радуга" длиной 30см -

    Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.

  3. Драйвера TMC2208 в форм-факторе "pololu", цвет платы - белый, чип - снизу -

    Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.

Доработка CNC Shield
Ниже следует два фото с доработками (не требуется, если устанавливаются только драйвера для осей X-Y):

  1. Точка номер 1 - штатно контакт подключен к "земле", надо перерезать дорожку так (указано зеленой линией), чтобы контакт пропал (отрезать контакт от земляного полигона);
  2. Точка номер 2 - перерезать дорожку в месте, указанном зеленой линией;
  3. Контакт у точки 1 соединить, при помощи провода, с дорожкой у точки 2, ниже линии отреза;
  4. Точки 3-4 так же соединить между собой при помощи провода.

  1. Точка 5 - перерезать дорожку в месте, указанном зеленой линией.
Смысл модификации - разделить один общий сигнал ENABLE (особенность CNC Shield) на два сигнала, как требует родная плата Creality - XYE_ENABLE и Z_ENABLE. Для подключения к плате принтера будет использоваться всего один разъем CNC Shield - возле кнопки "Reset", в "распиновке" разъема поменяется только назначение первой пары контактов, ранее там было "EN/GND", теперь будет "XYE_ENABLE/Z_ENABLE"

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

  1. Во всех отмеченных местах аккуратно зачищаем точки до металла (еще раз - ОСТОРОЖНО, чтобы не счистить их совсем);
  2. Залуживаем все ранее зачищенные места так, чтобы на них оставалась небольшая капля олова;
  3. Отмеряем кабель по вкусу (у меня был кабель длиной 20см, и для нормального расположения платы за поперечной балкой основания принтера, мне его хватило буквально "в обрез"), отрезаем, и начинаем пайку с точек E_STEP/E_DIR, затем идем далее к точкам STEP/DIR Z, Y, X. Такая последовательность позволяет отмерять и отрезать кабель сразу "в размер" по месту;
  4. Затем необходимо припаять сначала точку XYE_ENABLE, после Z_ENABLE;
  5. В завершение - припаиваем точки +5/GND.
Если драйвера устанавливаются только на оси X-Y: паять только точки +5/GND, X/Y STEP/DIR, XYE_ENABLE
Должно получиться так:

Завершающие шаги
  1. Убедиться, что все, только что припаянные кабели, припаяны хорошо и подключены к своим местам в CNC Shield;
  2. Подключить +24V/Землю от основной платы принтера к CNC Shield;
  3. Установить по две перемычки: M0 и M1 на CNC Shield для каждого драйвера (микрошаг 1/16, перемычки выставляются параллельно колодке драйвера);
  4. Включить это всё БЕЗ драйверов, и проверить, что из платы не идет волшебный дым.
Настройка Vref
После этих шагов можно подключать драйверы и настраивать на них ток:

  1. Подключаем черный провод мультиметра на контакт "GND" модуля, или же на "-" в CNC Shield (контакт должен быть хорошим!);
  2. Красный провод мультиметра подключаем на контакт Vref+ на фотографии (иногда рекомендуют подсоединяться прямо к жалу отвертки, но мне такой вариант не нравится, т.к. различные загрязнения на поверхности отвертки могут влиять на показания);
  3. При помощи отвертки, плавно вращаем подстроечный резистор, пока не будет достигнуто желаемое напряжение.
Данные по Vref для штатных моторов (~90% от номинала):
X,Y,Z = 0.725V
E = 0.9V


Только после этого можно будет подключить моторы к разъемам, теперь уже на CNC Shield.

Вариант расположения платы с драйверами
Сверху идеально устанавливается вентилятор 40мм:

Пример печати
Кубики печатались слоем 0.2, под углом 45 градусов к оси X), левая пара на A4988, правая на TMC2208:
Введение
Данная статья описывает опыт установки на принтер Creality3D Ender-3 материнской платы BIG TREE TECH (BIQU) SKR v1.3 с драйверами Trinamic TMC2208 в режиме управления по UART с последующей настройкой и прошивкой Marlin 2.x bugfix. Приведенные здесь инструкции также применимы для Ender-3 Pro.

Зачем вообще это надо?
Плата BIG TREE TECH (BIQU) SKR v1.3 оснащена 32-битным микропроцессором LPC1768 на ядре ARM Cortex-M3. Данный микропроцессор обладает на порядок более внушительными вычислительными возможностями, чем ATmega1284P, установленный на штатной плате Creality 1.1.x, которой оснащаются принтеры серии Ender. Это дает возможность одновременно задействовать нагружающие микропроцессор и занимающие много памяти функции, такие как использование Linear Advance, автоуровня типа BLTouch/3DTouch, плавных ускорений S Curve Acceleration и др. Кроме того, в целом повышается быстродействие системы и максимально достижимая скорость печати.

Помимо этого, плата BIG TREE TECH (BIQU) SKR v1.3 имеет еще несколько важных преимуществ:
  1. Колодки для драйверов в форм-факторе Polulu (SilentStepStick) - возможность установить любые поддерживаемые прошивкой драйвера без необходимости перепайки и колхозинка штатной платы
  2. Возможность установки до 5 драйверов и 2 нагревателей хотенда - можно установить дополнительный экструдер, toolchange-систему, MMU-ситему, использовать выход на второй нагреватель как дополнительный управляемый PWM-выход (подсветка/охлаждение)
  3. Наличие предохранителей на плате - меньше вероятность спалить мосфет стола или хотенда при случайном замыкании
  4. Возможность подключить цветной (сенсорный) дисплей, наличие дополнительных AUX портов
  5. Разводка под управление драйверами по UART и SPI «из коробки»
Для управления шаговыми двигателями (ШД) было решено использовать драйвера Trinamic TMC2208. Это относительно новые драйвера, пришедшие на смену хорошо зарекомендовавшему себя поколению TMC21XX. К их преимуществам можно отнести:
  1. Технология StealthChop2 – тишина работы моторов
  2. Технология SpreadCycle – оригинальный алгоритм direct current управления от Trinamic, позволяет точно управлять током в обмотках ШД для увеличения точности позиционирования и момента на высоких скоростях
  3. Возможность работы в режиме нативного дробления до 1/256 шага или с меньшим дроблением, но с интерполяцией до 1/256.
  4. Возможность управления по UART
На последнем пункте остановимся подробнее. В данной статье рассматривается именно способ установки драйверов c управлением по UART. Это позволяет из прошивки конфигурировать ток, дробление шага, интерполяцию, режим чоппера и другие параметры работы драйвера. Кроме того, в прошивке Marlin (и, возможно, в других) реализован так называемый гибридный режим, суть которого в автоматическом переключении драйвера из тихого режима StealthChop2 в более «мощный» SpreadCycle при достижении определенной скорости (hybrid mode threshold). Это позволяет «поддать жару», когда это нужно, наслаждаясь тишиной в остальное время. Помимо этого, используя управление по UART, можно настроить фазы чоппера SpeadCycle для достижения меньшего уровня шума в этом режиме (я пока этого не делал и это тема для отдельной статьи).

Что нам понадобится
  1. Принтер Creality3D Ender-3 (Ваш К.О.)
  2. Плата BIG TREE TECH (BIQU) SKR v1.3
  3. Драйвера Trinamic TMC2208 v2.1
  4. Паяльник
  5. Набор шестигранных ключей
  6. Надстройка PlatformIO для IDE VS Code
  7. Прошивка Marlin версии bugfix-2.0.x (самая свежая)
  8. Вольтметр
  9. Мелкая отвертка под плоский шлиц (лучше диэлектрическая)
Поехали!

Электроника

Расположение потенциометров Vref на стандартной плате



Схема подключения проводов и установки джамперов на плате SKR 1.3 (разъемы ШД находятся за драйверами и не отмечены) в дефолтной конфигурации Ender-3 с одним экструдером. Щелкните, чтобы посмотреть в полном размере.


Важно: считаем ток ШД!
Насколько я успел заметить, на принтеры Creality3D устанавливается широкий спектр ШД, отличающихся своими характеристиками, в первую очередь – максимальным током обмоток. Некоторые моторы практически невозможно «нагуглить» по маркировке и узнать требуемый им ток. Поэтому для того, чтобы действовать наверняка, я советую перед заменой платы выяснить, какой ток установлен для Ваших конкретных ШД.
На дефолтной плате Creality 1.1.x установлено 4 драйвера A4988, распаянных непосредственно на плате. Рядом с каждым драйвером установлен потенциометр (turnpot), который задает опорное напряжение Vref.

Отключите от платы провода ШД. Включите питание. Аккуратно измерьте напряжение между центром «крутилки» потенциометра и землей (за землю можно взять черный провод, приходящий в винтовую колодку на плате с блока питания) для каждого из драйверов, запишите.

Теперь посчитаем ток, который нужно установить для наших конкретных ШД на новых драйверах. Дело в том, что Vref для драйвера A4988 задает максимальный ток Imax, в то время как для TMC2208 мы задаем среднеквадратичное значение тока Irms ~ Imax/1.414

Приступим к расчетам:
Irms(TMC2208) = Imax(A4988)/1.414 = Vref(A4988)/1.1312

Это и есть нужное нам значение тока новых драйверов. При управлении по UART данного расчета достаточно. Тем, кто не хочет управлять по UART, то есть устанавливает драйвера в standalone-режиме, необходимо посчитать Vref для TMC2208 по следующей формуле:

Vref(TMC2208) = (Irms(TMC2208)*2.5) / 1.77

Указанная выше формула справедлива только для наиболее распространенных вариантов исполнения драйверов TMC2208 с референсным резистором Rsense = 0.11 Ом.

Внимание! Настройка (и измерение) Vref должна производиться с отключенными проводами ШД, но подключенным основным питанием платы.


Перымычка, которую нужно запаять на драйвере для управления по UART. Также указаны резисторы Rsense - проверьте их номинал.


Подготовка драйверов
Для того, чтобы использовать UART для управления драйверами, необходимо аккуратно запаять на них перемычку, как показано на рисунке (здесь и далее показаны драйвера от BIGTREETECH версии 2.1, но для драйверов от других производителей, например Fysetc, действия будут аналогичными)


Переделка дефолтных двухконтактных разъемов концевиков в трехконтактные под SKR


Замена платы
Отключаем питание принтера. Снимаем крышку с корпуса электроники, отключаем вентилятор охлаждения от платы. Аккуратно удаляем термоклей со всех разъемов, отключаем все провода от платы. Не забываем пометить удобным способом провода, на которых нет заводских меток.

Откручиваем плату от корпуса электроники, откручиваем корпус электроники от рамы принтера (один из винтов находится снизу, под принтером). Для подключения родных двухконтактных разъемов концевиков в трехконтактные разъемы на плате SKR нужно модифицировать провода одним из способов (чтобы провода подключались к двум нижним пинам разъема, см. рисунок):
  1. «Переобуваем» провод в трехпиновый корпус – самый лучший вариант, если есть такие корпуса
  2. Подрезаем один из двух ключевых выступов корпуса разъема на проводе так, чтобы он правильно вошел в разъем на плате
Убираем с платы все джамперы, кроме 5 (6, если у нас 2 хотенда) – по 1 возле 4 драйверов на красных площадках (включает управление по UART) и еще 1 на красной площадке в центре платы, отвечающий за режим питания контроллера – от USB или от внешнего БП. Устанавливаем драйвера (см. рисунок, если поставить вверх ногами – дровам кирдык). Хотя сама плата запускается от 5 В по USB, драйвера не будут работать без подключенного основного питания 24 В, и на дисплее будет отображаться TMC connection error. Теперь подключаем все провода в соответствующие разъемы платы (внимание на полярность!), для этого может потребоваться немного распотрошить жгут проводов. Вентилятор обдува детали подключаем в разъем FAN, вентилятор охлаждения электроники – в разъем 12/24 V (в самом углу платы, возле разъема ШД оси X), вентилятор охлаждения радиатора печатной головы – в разъем нагревателя второго хотенда HT1 (винтовая колодка) если у нас только 1 хотенд, иначе параллельно вентилятору охлаждения электроники. Экран подключаем в разъем EXP1, провода концевиков – в трехпиновые разъемы Xmin, Ymin, Zmin на плате, остальное подключается очевидным образом.

Прошивка

Установка PlatformIO в VS Code


Открыть проект Marlin в PlatformIO


Дисклеймер
Данный раздел предполагает, что Вы знаете, как конфигурировать прошивку Marlin. Здесь будут описаны только специфические настройки для платы SKR 1.3 и драйверов TMC2208 с управлением по UART, а также несколько других полезных твиков. Если Вы не знаете как конфигурируется прошивка, как устанавливаются размеры области печати, шаги по осям, ускорения и прочие основные параметры принтера – для начала обязательно изучите эту информацию, например по

Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.

, и только после этого продолжайте.

В качестве отправной точки крайне советую использовать конфигурационные файлы для Ender-3 из папки с примерами, это избавит от необходимости конфигурирования концевиков, направлений моторов, зоны печати и прочих важных вещей – там это уже сделано. Здесь эти настройки рассматриваться не будут.

Установка PlatformIO IDE
Качаем последнюю версию Marlin bugfix-2.0.x. Качаем

Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.

. Запускаем VS Code, заходим в Extensions, вводим в строку поиска platformio, жмем зеленую кнопку Install возле расширения PlatformIO IDE, ждем завершения установки расширения, перезапускаем VS Code. На появившейся странице PIO Home жмем кнопку Open Project, заходим в папку с прошивкой (в ней должен быть файл platformio.ini), жмем Open.

Конфигурация
Нам нужно будет внести изменения в 3 файла: platformio.ini, configuration.h и configuration_adv.h.

Начнем по порядку. Настоятельно советую пользоваться поиском Ctrl+F для быстрого перехода к нужным настройкам.

platformio.ini
Указываем в разделе [platformio] микроконтроллер, для которого будем компилировать прошивку.

Код:
env_default = LPC1768


configuration.h
Настраиваем последовательные порты:

Код:
#define SERIAL_PORT -1
#define SERIAL_PORT_2 0

Ускоряем немного обмен данными через последовательный порт

Код:
#define BAUDRATE 250000

Указываем, какая у нас материнская плата

Код:
#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_BIGTREE_SKR_V1_3
#endif

Убеждаемся, что включена защита от перегрева

Код:
#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
#define THERMAL_PROTECTION_BED     // Enable thermal protection for the heated bed
#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber

Указываем, какие у нас установлены драйвера ШД

Код:
#define X_DRIVER_TYPE  TMC2208
#define Y_DRIVER_TYPE  TMC2208
#define Z_DRIVER_TYPE  TMC2208
#define E0_DRIVER_TYPE TMC2208
Если устанавливаем драйвера без управления по UART, то вместо TMC2208 пишем TMC2208_STANDALONE


Можем включить более плавные ускорения, при желании

Код:
#define S_CURVE_ACCELERATION

Проверяем направление мотора экструдера. Если редукторный фидер, пишем false, если безредукторный, то true

Код:
#define INVERT_E0_DIR true

Можем настроить пункт меню для калибровки стола – Level corners, печатная коловка будет поочередно перемещаться в каждый из 4 углов (в положение над регулировочным винтом) и в центр стола (здесь параметры для калибровки по эталону 0.1 мм, толщину эталона можно задать параметром LEVEL_CORNERS_HEIGHT)

Код:
#define LEVEL_BED_CORNERS
#if ENABLED(LEVEL_BED_CORNERS)
  #define LEVEL_CORNERS_INSET 35    // (mm) An inset for corner leveling
  #define LEVEL_CORNERS_Z_HOP  5  // (mm) Move nozzle up before moving between corners
  #define LEVEL_CORNERS_HEIGHT 0.1  // (mm) Z height of nozzle at leveling points
  #define LEVEL_CENTER_TOO        // Move to the center after the last corner
#endif

Настраиваем более адекватные скорости хоуминга

Код:
#define HOMING_FEEDRATE_XY (30*60)
#define HOMING_FEEDRATE_Z  (4*60) // Если используется датчик автоуровня типа BLTouch/3DTouch, можно увеличить значение до (10*60) для ускорения автокалибровки

Выбираем язык меню

Код:
#define LCD_LANGUAGE en

Проверяем поддержку карты памяти

Код:
#define SDSUPPORT

Включаем «пищалку», чтобы она могла нас уведомлять о важных вещах типа перегрева, но выключаем звук в меню

Код:
#define SPEAKER
#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 0
#define LCD_FEEDBACK_FREQUENCY_HZ 0

Включаем дефолтный дисплей Ender-3

Код:
#define CR10_STOCKDISPLAY

Убираем «свист» вентиляторов от ШИМ

Код:
#define FAN_SOFT_PWM
#define SOFT_PWM_SCALE 0
configuration_adv.h
Включаем отображение значений АЦП вместе со значениями температуры по команде M105 (если потом хотим калибровать термистор, о чем позже будет статья)

Код:
#define SHOW_TEMP_ADC_VALUES

Если вентилятор обдува модели плохо стартует на низких оборотах, помогаем ему «пинком»

Код:
#define FAN_KICKSTART_TIME 200

Если подключили вентилятор обдува радиатора печатной головы вместо нагревателя второго хотенда, настраиваем тут пин и температуру включения

Код:
#define E0_AUTO_FAN_PIN FAN1_PIN // Cold-end fan to E1 heater
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
#define EXTRUDER_AUTO_FAN_SPEED 255   // 255 == full speed

Задаем более «нежные» делители скоростей для хоуминга, чтоб меньше разбивались концевики

Код:
#define HOMING_BUMP_DIVISOR { 4, 4, 4 }  // Re-Bump Speed Divisor (Divides the Homing Feedrate)

Задаем время после последнего движения (в секундах), через которое отключается удержание ШД

Код:
#define DEFAULT_STEPPER_DEACTIVE_TIME 300

Задаем более адекватные скорости для движения осей из меню принтера

Код:
#define MANUAL_FEEDRATE {100*60, 100*60, 10*60, 50*60}

Улучшаем печать по USB

Код:
#define DEFAULT_MINSEGMENTTIME        50000

#if ENABLED(SDSUPPORT)
  #define BLOCK_BUFFER_SIZE 32 // SD,LCD,Buttons take more memory, block buffer needs to be smaller
#else
  #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
#endif

#define MAX_CMD_SIZE 96
#define BUFSIZE 32

#define TX_BUFFER_SIZE 32

Опционально включаем звуковое оповещение при изменении Feedrate на главном экране энкодером (помогает избежать случайного изменения)

Код:
#define BEEP_ON_FEEDRATE_CHANGE
#if ENABLED(BEEP_ON_FEEDRATE_CHANGE)
  #define FEEDRATE_CHANGE_BEEP_DURATION   10
  #define FEEDRATE_CHANGE_BEEP_FREQUENCY 440
#endif

Включаем прокрутку длинных статусных сообщений на экране

Код:
#define STATUS_MESSAGE_SCROLLING

Увеличиваем задержку (в миллисекундах) перед автоматическим выходом из меню на главный экран

Код:
#define LCD_TIMEOUT_TO_STATUS 60000

«Чиним» прогресс-бар при печати через USB

Код:
#define LCD_SET_PROGRESS_MANUALLY

Опционально включаем подтверждение при выборе файла с флешки для печати

Код:
#define SD_MENU_CONFIRM_START

Включаем поддержку отправки длинных имен файлов с флешки на хост по USB

Код:
#define LONG_FILENAME_HOST_SUPPORT

Включаем прокрутку длинных имен файлов на флешке в меню

Код:
#define SCROLL_LONG_FILENAMES
Настраиваем SD карту

Код:
#ifdef TARGET_LPC1768
  //#define LPC_SD_LCD          // Use the SD drive in the external LCD controller.
  #define LPC_SD_ONBOARD      // Use the SD drive on the control board. (No SD_DETECT_PIN. M21 to init.)
  //#define LPC_SD_CUSTOM_CABLE // Use a custom cable to access the SD (as defined in a pins file).
  //#define USB_SD_DISABLED     // Disable SD Card access over USB (for security).
  #if ENABLED(LPC_SD_ONBOARD)
    //#define USB_SD_ONBOARD    // Данную опцию можно включить, чтоб видеть флешку с хоста, как через кард-ридер, но я не проверял
  #endif
#endif
Включаем babystepping - возможность вручную задавать точно оффсет оси Z во время печати из меню принтера, например, если мы видим, что с первым слоем что-то не так

Код:
#define BABYSTEPPING
#if ENABLED(BABYSTEPPING)
  //#define BABYSTEP_WITHOUT_HOMING
  //#define BABYSTEP_XY                     // Also enable X/Y Babystepping. Not supported on DELTA!
  #define BABYSTEP_INVERT_Z false           // Change if Z babysteps should go the other way
  #define BABYSTEP_MULTIPLICATOR  2         // Babysteps are very small. Increase for faster motion.

  #define DOUBLECLICK_FOR_Z_BABYSTEPPING    // Double-click on the Status Screen for Z Babystepping.
  #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING)
    #define DOUBLECLICK_MAX_INTERVAL 1250   // Maximum interval between clicks, in milliseconds.
                                            // Note: Extra time may be added to mitigate controller latency.
    //#define BABYSTEP_ALWAYS_AVAILABLE     // Allow babystepping at all times (not just during movement).
    #define MOVE_Z_WHEN_IDLE              // Jump to the move Z menu on doubleclick when printer is idle.
    #if ENABLED(MOVE_Z_WHEN_IDLE)
      #define MOVE_Z_IDLE_MULTIPLICATOR 1   // Multiply 1mm by this factor for the move step size.
    #endif
  #endif
При желании включаем LA

Код:
#define LIN_ADVANCE
#if ENABLED(LIN_ADVANCE)
  //#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants
  #define LIN_ADVANCE_K 0.0    // Unit: mm compression per 1mm/s extruder speed
  //#define LA_DEBUG            // If enabled, this will generate debug information output over USB.
#endif

Уменьшаем размер минимальной отрабатываемой группы шагов

Код:
#define MIN_STEPS_PER_SEGMENT 1

Если выше включили Linear Advance, необходимо также изменить значение MINIMUM_STEPPER_PULSE для работоспособности экструдера (актуально на 10.09.19)

Код:
#define MINIMUM_STEPPER_PULSE 2 // если не работает 2, ставим 4

Включаем Emergency Parser, чтобы иметь возможность остановить принтер мгновенно, а не ждать, пока выполнятся все команды из буфера

Код:
#define EMERGENCY_PARSER

Наконец, переходим к собственно настройке драйверов!

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

Код:
#if HAS_TRINAMIC

  #define HOLD_MULTIPLIER    0.6  // Множитель тока в режиме удержания ШД
  #define INTERPOLATE       true  // Включает или выключает интерполяцию по ВСЕМ осям

  #if AXIS_IS_TMC(X)
    #define X_CURRENT     450  // сюда пишем наш ток Irms, который мы посчитали ранее
    #define X_MICROSTEPS    16  // количество микрошагов, поддерживается нативно до 256, не забываем изменить число шагов на мм
    #define X_RSENSE     0.11 // Если на Ваших драйверах резистор Rsense отличается от стандартного R110, сюда вписываем номинал
  #endif

  #if AXIS_IS_TMC(Y)
    #define Y_CURRENT     500
    #define Y_MICROSTEPS    16
    #define Y_RSENSE     0.11
  #endif

  #if AXIS_IS_TMC(Z)
    #define Z_CURRENT     550
    #define Z_MICROSTEPS    16
    #define Z_RSENSE     0.11
  #endif

  #if AXIS_IS_TMC(E0)
    #define E0_CURRENT    700
    #define E0_MICROSTEPS   16
    #define E0_RSENSE    0.11
  #endif

Включаем тихий режим StealthChop (на оси экструдера, особенно с редукторным фидером, стабильнее работает SpreadCycle, по моим ощущениям)

Код:
  #define STEALTHCHOP_XY
  #define STEALTHCHOP_Z
//#define STEALTHCHOP_E


Задаем режим работы чоппера SpreadCycle

Код:
  #define CHOPPER_TIMING CHOPPER_DEFAULT_24V

Включаем защиту драйверов от перегрева

Код:
 #define MONITOR_DRIVER_STATUS

  #if ENABLED(MONITOR_DRIVER_STATUS)
    #define CURRENT_STEP_DOWN     50  // [mA]
    #define REPORT_CURRENT_CHANGE
    #define STOP_ON_ERROR
  #endif

Включаем гибридный режим - при превышении указанной здесь скорости алгоритм будет переключаться со StealthChop на SpreadCycle

Код:
  #define HYBRID_THRESHOLD

  #define X_HYBRID_THRESHOLD     120  // [mm/s]
  #define Y_HYBRID_THRESHOLD     120
  #define Z_HYBRID_THRESHOLD      10
  #define E0_HYBRID_THRESHOLD     15

Очень важно! Включаем отладочный режими

Код:
  #define TMC_DEBUG
В данной секции можно задать отдельно любые параметры для каждого из драйверов, например выборочно выключить интерполяцию на Z и E, если выше она включена для всех осей, но перед тем, как что-то здесь писать, советую разобраться с функциями библиотеки

Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.

. В противном случае оставляйте эту секцию пустой, чтобы ничего не сломать.

Код:
  #define TMC_ADV() { \
    stepperE0.intpol(0); \
    stepperZ.intpol(0); \
   }
Включаем автоотправку температуры по USB

Код:
#define AUTO_REPORT_TEMPERATURES

Включаем расширенный отчет о возможностях прошивки для USB хоста

Код:
#define EXTENDED_CAPABILITIES_REPORT

Выключаем экструзию по объему

Код:
#define NO_VOLUMETRICS

Хоба!

Компиляция и прошивка платы
После того, как прошивка сконфигурирована, сохраняем изменения. Жмем Ctrl+Alt+B - запустится процесс компиляции прошивки. Если ошибок нет, после его завершения в терминале VS Code напротив LPC1768 будет зеленая надпись SUCCESS. В папке Marlin-bugfix-2.0.x\.pioenvs\LPC1768 появится файл firmware.bin - это и есть скомпилированная прошивка. Копируем этот файл на SD-карту и вставляем в плату, после чего перезапускаем плату - загрузчик установит прошивку и вы увидите стартовый экран Marlin (не беспокойтесь, после перезагрузки файл прошивки на флешке будет переименован, его не нужно удалять вручную, плата не будет перепрошиваться при каждой перезагрузке, пока Вы не кинете новый файл прошивки на флешку). Не забываем после перепрошивки инициализировать EEPROM.

Что дальше?
Что же (а главное - как) мы можем настроить благодаря подключению по UART?

Меню TMC drivers
В меню Configuration -> Advanced configuration появилось новое подменю - TMC drivers, содержащее 3 пункта:
  1. Driver current - настройка тока Irms для каждого драйвера
  2. Hybrid threshold - настройка порога гибридного режима, то есть скорости движения оси, после которой драйвер будет переключаться из режима StealthChop в SpreadCycle. Если хотите выключить гибридный режим для какой-то из осей и использовать только StealthChop, поставьте здесь очень большое значение (на 22 мая 2019 существует баг - при загрузке настроек из EEPROM все значения отображаются равными 0. При этом на самом деле загружаются правильные значения, их даже можно поменять в этом меню и сохранить в EEPROM, и все работает, но в самом меню отображается 0)
  3. Microstepping mode - ручное переключение между StealthChop и SpreadCycle для кождой оси. Если стоит "on", то используется StealthChop и гибридный режим, если "off" - то всегда включен только SpreadCycle
Команды G-code
Ниже приводятся команды G-code для работы с драйверами TMC2208

M122 - вывод отладочной информации о состоянии драйверов - установленный ток, дробление шага и интерполяция, состояние регистров, состояние защиты от перегрева и прочие полезности

M569 - ручное переключение между StealthChop и SpreadCycle для кождой оси

M906 - задание тока Irms для каждого драйвера

M911 - информация о сотоянии защиты от перегрева

M912 - сброс состояния защиты от перегрева

M913 - настройка порога гибридного режима, то есть скорости движения оси, после которой драйвер будет переключаться из режима StealthChop в SpreadCycle
  1. Разводим в пропорции 1 часть БФ2 к 10 частям Изопропилового спирта
  2. Хорошенько перемешиваем или взбалтываем
  3. Наносим на стол 3-4 слоя готовой смеси
  4. Греем стол до 110 градусов и ждем 30 минут
  5. Остужаем стол до комнатной температуры
  6. Можно печатать!
Раздел Configuration.h:
Снижаем свист и писк вентиляторов обдува сопла:
  1. define FAN_SOFT_PWM - раскоментировать
  2. define SOFT_PWM_SCALE 0 - выставить значение 1 или 2
Увеличить скорость порта для обеспечения более быстрой печати с Октопринт (может потребоваться более короткий кабель и надежное соединение (например выпаять стоковый mini-usb и заменить на полноценный USB):
  1. define BAUDRATE 115200 - меняем на 250000 (более скоростные режимы не проверены)
Програмная защита Thermal Runaway Protection от спонтанного перегрева хотенда и стола:
  1. define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
  2. define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed
Снизить скорость парковки печатающей головки, чтобы не ушатаь концевики:
  1. define HOMING_FEEDRATE_XY (50*60) - с 50*60 снизить до 30*30
Задать пресеты для подогрева стола и хотенда для своих пластиков:
  1. define PREHEAT_1_TEMP_HOTEND 185
  2. define PREHEAT_1_TEMP_BED 45
  3. define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255
  4. define PREHEAT_2_TEMP_HOTEND 240
  5. define PREHEAT_2_TEMP_BED 0
  6. define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
Свободный пин на плате (ext-a2), на который можно повесить любую функцию, например реле для запуска БП:
  1. define SERVO0_PIN 29
 
Последнее редактирование:
Fockus

Fockus

Администратор
Команда форума
Сообщения
398
Симпатии
70
Баллы
60
Веб-сайт
3dnote.ru
#2
Обновлено
 
O

Ordeit

New member
Сообщения
2
Симпатии
0
Баллы
3
#3
Планирую к приобретению Ender3 Pro, тема для меня очень актуальна! Спасибо заранее!
 
Fockus

Fockus

Администратор
Команда форума
Сообщения
398
Симпатии
70
Баллы
60
Веб-сайт
3dnote.ru
#4
V

Vit_But

Member
Сообщения
12
Симпатии
3
Баллы
5
#5
А как решена или решается проблема возгорания в ендер 3? А то стремно оставлять без присмотра на печать, а случаи возгарания в инете проскакиваают.
 
Fockus

Fockus

Администратор
Команда форума
Сообщения
398
Симпатии
70
Баллы
60
Веб-сайт
3dnote.ru
#6
А как решена или решается проблема возгорания в ендер 3? А то стремно оставлять без присмотра на печать, а случаи возгарания в инете проскакиваают.
в эндеров в этом плане всё хорошо насколько я знаю
 
E

e_demin

Member
Сообщения
7
Симпатии
1
Баллы
8
#7
Каким пластиком печатать модификации для Эндера? PLA можно использовать? Начитался в инете, что PLA как бы не для конструктивов, он больше подходит для фигурок и т.п. Просто принтер едет с 2-мя кг. PLA и вот теперь уже сомневаюсь, можно ли его использовать в качестве материала для печати вышеперечисленного.
 
Fockus

Fockus

Администратор
Команда форума
Сообщения
398
Симпатии
70
Баллы
60
Веб-сайт
3dnote.ru
#8
Каким пластиком печатать модификации для Эндера? PLA можно использовать? Начитался в инете, что PLA как бы не для конструктивов, он больше подходит для фигурок и т.п. Просто принтер едет с 2-мя кг. PLA и вот теперь уже сомневаюсь, можно ли его использовать в качестве материала для печати вышеперечисленного.
Не советую ПЛА для модификаций. Лучше ПетГ. Он более крепкий и начинает плавиться с более высокой температурой. На первое время конечно из ПЛА можно
 
N

Nikita1606

New member
Сообщения
2
Симпатии
1
Баллы
3
#9
Доброго времени суток! Вопрос таков: нужно будет ставить вентиляторы sunon , которые указаны выше, но что у них по току (они 0.04А), не горят? Просто стоковый на 0.1А вот и боюсь. К тому же, будет не страшно, если запитать вход понижайки от клем, которые питают охлаждение радиатора хотэнда, а выходы с неё дать на два вентилятора (обдув платы и охлаждение хотэнда)? В электронике плохо шарю, только пытаюсь разобраться, так что не бейте)
 
Fockus

Fockus

Администратор
Команда форума
Сообщения
398
Симпатии
70
Баллы
60
Веб-сайт
3dnote.ru
#10
Доброго времени суток! Вопрос таков: нужно будет ставить вентиляторы sunon , которые указаны выше, но что у них по току (они 0.04А), не горят? Просто стоковый на 0.1А вот и боюсь. К тому же, будет не страшно, если запитать вход понижайки от клем, которые питают охлаждение радиатора хотэнда, а выходы с неё дать на два вентилятора (обдув платы и охлаждение хотэнда)? В электронике плохо шарю, только пытаюсь разобраться, так что не бейте)
Приветствую. По вентиляторам - ничего не сгорит, они просто будут медленнее крутиться, но охлаждение хуже не станет. Так что ничего страшного )
По поводу проводки. Подключи 2 вентилятора на 1 коннектор и всё, ничего с клеммами переделывать не нужно
 
N

Nikita1606

New member
Сообщения
2
Симпатии
1
Баллы
3
#11
Приветствую. По вентиляторам - ничего не сгорит, они просто будут медленнее крутиться, но охлаждение хуже не станет. Так что ничего страшного )
По поводу проводки. Подключи 2 вентилятора на 1 коннектор и всё, ничего с клеммами переделывать не нужно
Спасибо большое
 
В

Валентин

New member
Сообщения
1
Симпатии
0
Баллы
1
#12
Прошу простить за беспокойство.
Не знаю куда писать,но ищу человека
Который может объяснить что делаю не так.
Купил Ендер 3 про сразу же с автоуровенем
Начал прошивать довёл все до кирпича
Как то накатил урезанную
И сейчас я не сплю 3 сутки в поисках ответа как же накатить марлин и чтоб все это заработало.
Видосы и форумы читал смотрел
не понимаю я в чем проблема
Не получается сделать загрузчик
С уровнем был куплен и прогромматор.
Уважаемый модератор,направь на человека понимающего
Прошу !
Извините за то что не в ту ветку.
 
Fockus

Fockus

Администратор
Команда форума
Сообщения
398
Симпатии
70
Баллы
60
Веб-сайт
3dnote.ru
#13
Прошу простить за беспокойство.
Не знаю куда писать,но ищу человека
Который может объяснить что делаю не так.
Купил Ендер 3 про сразу же с автоуровенем
Начал прошивать довёл все до кирпича
Как то накатил урезанную
И сейчас я не сплю 3 сутки в поисках ответа как же накатить марлин и чтоб все это заработало.
Видосы и форумы читал смотрел
не понимаю я в чем проблема
Не получается сделать загрузчик
С уровнем был куплен и прогромматор.
Уважаемый модератор,направь на человека понимающего
Прошу !
Извините за то что не в ту ветку.
я бы на твоем месте купил сразу плату скр 1.3 и забыл обо всех проблемах. Загрузчик - зло. А так можно попробовать написать китайцам выслать сток прошивку и всё заного прошить на сток
 
S

Sergyk

Member
Сообщения
30
Симпатии
6
Баллы
23
#14
При печати, принтер печатает юбку детали, что мешает печати на полный размер стола. Это можно отключить?
Всё, разобрался :)
 
Последнее редактирование:
D

delete_b

New member
Сообщения
4
Симпатии
1
Баллы
3
#15
Доброго времени суток. Планирую приобрести такой 3d-принтер. Но совсем профан в этом. И это будет мой первый принтер. Надеюсь, что здесь найду ответы на все вопросы, которые у меня возникнут. И одна проблема - не открываются ссылки вверху в описании на нужные/обязательные комплектующие.
 
Fockus

Fockus

Администратор
Команда форума
Сообщения
398
Симпатии
70
Баллы
60
Веб-сайт
3dnote.ru
#16
Доброго времени суток. Планирую приобрести такой 3d-принтер. Но совсем профан в этом. И это будет мой первый принтер. Надеюсь, что здесь найду ответы на все вопросы, которые у меня возникнут. И одна проблема - не открываются ссылки вверху в описании на нужные/обязательные комплектующие.
Приветствую. Принтер хороший, особенно для новичков. По ссылкам не понятно, у меня всё работает. Можно скрин?
 
D

delete_b

New member
Сообщения
4
Симпатии
1
Баллы
3
#17
Приветствую. Принтер хороший, особенно для новичков. По ссылкам не понятно, у меня всё работает. Можно скрин?
Уже решено. Браузер блокировал как всплывающую рекламу. Отключил и переходит по ссылкам на али.
 
S

Sergyk

Member
Сообщения
30
Симпатии
6
Баллы
23
#18
Нигде не могу найти модификацию оси Z с установкой второго двигателя.
Установкой второй оси через ременную передачу не нравится, слишком много промежуточных звеньев.
Может есть где ссылка на такой эксперимент?
 
Fockus

Fockus

Администратор
Команда форума
Сообщения
398
Симпатии
70
Баллы
60
Веб-сайт
3dnote.ru
#19
Нигде не могу найти модификацию оси Z с установкой второго двигателя.
Установкой второй оси через ременную передачу не нравится, слишком много промежуточных звеньев.
Может есть где ссылка на такой эксперимент?
Не встречал даже такого. Есть ли смысл от этого? Мне кажется, что ничего полезного из этого не выйдет
 
S

Sergyk

Member
Сообщения
30
Симпатии
6
Баллы
23
#20
Не встречал даже такого. Есть ли смысл от этого? Мне кажется, что ничего полезного из этого не выйдет
Ну, смысл есть, устранение перекоса оси Z, возможность установки тяжелого/двойного экструдера, лазерной головки, легкого фрезера :)
 

Похожие темы

Fockus
Ответы
0
Просмотры
1,427
Fockus
Ответы
0
Просмотры
1,803
O
Ответы
5
Просмотры
218
S
Ответы
3
Просмотры
90
U
Ответы
2
Просмотры
100
U
uiivalet