Как выставить ток на драйвере 2209

Обновлено: 04.07.2024

BTT SKR 1.4(Turbo) + TMC2209(UART, Sensorless) + BLTouch(3D Touch) + PT100(с усилителем) + TFT35v2

BTT SKR 1.4(Turbo) + TMC2209(UART, Sensorless) + BLTouch(3D Touch) + PT100(с усилителем) + TFT35v2

В декабре прошлого года вышли 2 новых платы от компании Big Tree Tech - SKR 1.4 и SKR 1.4 Turbo. Обе платы являются обновлением платы SKR 1.3 и отличаются между собой только процессором. Что изменилось?

SKR 1.3 SKR 1.4 SKR 1.4.Turbo
Процессор NXP LPC1768
(100MHz)
NXP LPC1768
(100MHz)
NXP LPC1769
(120MHz)
Подключение кулеров 1 управляемый кулер,
1 неуправляемый кулер
1 управляемый кулер,
3 неуправляемых
1 управляемый кулер,
3 неуправляемых
Доп. интерфейсы - I2C, SPI, WiFi I2C, SPI, WiFi
Closed loop drive interface - + +
Разъёмы подключения моторов X, Y, Z, E0, E1 X, Y, Z0, Z1, E0, E1 X, Y, Z0, Z1, E0, E1
Разъём для подсветки - Neopixel Neopixel
Поддержка UART экранов + + +
Доп. питание 5V - Отдельный модуль Отдельный модуль

Комплект поставки

Big Tree Tech SKR 1.4 Turbo Комплект поставки

Подключение

Подклбчение

Установка драйверов

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

Standalone


Для работы драйверов с Standalone режиме вам необходимо установить перемычки в соответсвии с таблицей ниже. Для удобства чтения все перемычки имеют названия MS1, MS2 и MS3, но в документации на драйверы вы можете встретить нумерацию MS0, MS1 и MS2. Минус в ячейке означает перемычку соединающую центральный пин и правый, что является более правильным способом, но допустимо и просто отсутсвие перемычки, плюс - перемычку между левым пином и центральным, как изображено на картинке выше. Если все ячейки незаполнены, то данный режим таким драйвером не поддерживается. У драйверов TMC в standalone режиме используются только первые 2 перемычки.


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


Для подключения драйверов по SPI необходимо оставить все 4 перемычки на своих местах. Всё остальное уже разведено на плате.

TMC2209 и аналоги

Помимо всех предыдущих шагов у TMC2209 и некоторых аналогичных драйверах есть поддержка функции StallGuard, которая позволяет определить пропуски шагов. Этот функционал может использоваться в Marlin для парковки головы без концевиков(Sensorless Homing). На платах SKR 1.4 и SKR 1.4 Turbo вся проводка для этого режима уже разведена на плате и если вам этот функционал не нужен, то вам придётся удалять ноги у драйверов(рекомендация производителя) или отгибать их так, чтобы они не попадали в соответствующее гнездо.


TFT3.5v2


BLTouch (3DTouch)

На схеме ниже есть 2 варианта подключения пинов концевика. Вариант 1 - рекомендуется производителем, но не на всех версиях марлина он заводился, вариант 2 - подключение на место концевика Z, работает без проблем на всех версиях марлина.


Аналоговое оборудование, включая PT100 с усилителем или без

В процессорах NXP LPC176x всего 8 аналоговых пинов. На платах Big Tree Tech SKR по документации они разведены как:

Пин Аналоговый канал процессора
P0_02 7
P0_03 6
P0_23 0
P0_24 1
P0_25 2
P0_26 3
P1_30 4
P1_31 5

Расположение этих пинов на плате:


Расположение пинов P0_02 и P0_03 - неизвестно.

Для подключения датчика PT100 - подходит стандартный разъём термистора при правильном определении датчика в коде марлина.

Для подключения датчика через усилитель, нам начишает мешать подтягивающий резистор на 4.7кОм, его можно и отпаять, но можно и использовать другой пин, например P1_30_A4. Землю для подключения усилителя можно взять с верхнего правого пина того же разъёма или с центрального пина любого из концевиков, а вот с плюсом есть проблема. Если мы возьмём плюс 5V как и написано на плате усилителя, то датчик будет показывать очень завышенные показания, а вот если взять 3.3V (например с верхнего пина разъёма SWD), то показания датчика будут корректными.

Конфигурирование Marlin 2.0.x

SKR 1.4 и SKR 1.4 Turbo

Для начала определяем саму плату(для турбо версии использовать BOARD_BTT_SKR_V1_4_TURBO ):

Настраиваем диаметр филамента:

Определяем шаги на мм(сразу за этим блоком идут настройки скоростей, ускорений и рывков принтера, если вы знаете что вам надо это настраивать - настраивайте):

Включаем режим S-Curve Acceleration, чтобы снизить нагрузку на моторы:

Если у вас инвертированы пины моторов, то инвертируем их в прошивке или оставляем как есть:

Изменяем направления вращения моторов, если это необходимо:

Настраиваем расположение концевиков и размеры печатной зоны:

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

Включаем поддержку SD карты платой:

Если в принтере используется несколько моторов для оси Z и мы их подключаем к разным(!) драйверам, то изменяем настройки ниже, если мы подключили второй мотор оси Z в разъём Z1, то настройки ниже трогать не надо:

Для того, чтобы SD карта заработала, надо указать прошивке что мы будем использовать карту вставленную в саму плату(если мы хотим использовать карту вставленную в экран, то замените ONBOARD на LCD ):

Включаем Linear Advanced и настраиваем коэффициент:

Настраиваем количество G-code команд которые плата будет держать в оперативной памяти:

TMC2209

Настраиваем используемые драйвера. В примере TMC2209 в режиме работы по UART, если вам необходимо использовать их в standalone режиме, то замените TMC2209 на TMC2209_STANDALONE . Аналогичным образом можно подключить другие драйверы.

Настраиваем напряжения( _CURRENT ) и шаги( _MICROSTEPS ) для необходимых нам осей (X, Y, Z, E0, E1):

Если мы хотим использовать тихий режим работы моторов, то включаем StealthChop:

Обязательно настраиваем напряжение подающееся на драйвера(будет использоваться если мы не включили на драйверах тихий режим):

Настраиваем парковку без концевиков(Sensorless Homing). Параметр _STALL_SENSITIVITY придётся подбирать методом проб.

Если возникают проблемы и непонимания с драйверами, имеет смысл расскоментировать вывод отладочной информации:

TFT35

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


Для этого необходимо скачать соответсвующий вашему экрану бинарник с официального GitHub BigTreeTech и содержимое папки с названием экрана оттуда же, положить их в корень SD карточки и воткнуть в экран. Если после обновления пропали все иконки - то проверьте, в корне карты должны быть 2 папки bmp и font, а не папка с названием вашего экрана.

Для работы экрана всё что необходимо - это включить SERIAL_PORT_2 и настроить скорость его общения с экраном. Но данная операция отключит работу платы по USB, поэтому этот функционал мы перенесём на порт 1:

Power Control Relay

Для того, чтобы плата могла себя выключать посредством реле, раскомментируем следующий функционал:

PT100 с усилителем или без

Для работы PT100 без усилителя настраиваем температурный датчик как 147 и подключаем его в стандартный разъём для датчика, но в таком случае шаг измерений температуры будет 3-4 градуса. Если же мы хотим повысить точность, то нам потребуется усилитель и его мы будем настраивать как датчик с номером 20. Но если подключить усилитель в стандартный разъём, то показания температуры будут искажаться подтягивающим резистором на 4.7кОм. Конечно, резистор можно выпаять с платы, но всё-же это вандализм и можно обойтись без этого:

Для этого мы подключим усилитель в аналоговый пин 4 (см. подключение выше) и переопределим используемый пин в определении самой платы(файл Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h независимо от версии платы):

Если после этого показывается температура

180-190 градусов, то вы пропустили часть инструкции по подключению, где было сказано, что не смотря на то, что на плате усилителя написано 5V, мы подключаем его к 3.3V.

BLTouch (3DTouch)

Включаем "двигающийся вверх"(PULLUP) концевик пробы оси Z:

Инвертируем его поведение:

Если вы следуя инструкции по подключению выше подключили концевик BLTouch в разъём концевика оси Z, указываем на это плате:

Включаем непосредственно BLTouch:

Настраиваем положение концевика датчика относительно сопла следуя псевдографике ниже:

Изменяем высокую скорость движения осей X и Y на что-то более скромное:

Отключаем программное ограничение перемещения оси Z в минусовую зону:

Включаем режим автоуровня стола. Для простоты и удобства рекомендуется использовать AUTO_BED_LEVELING_BILINEAR :

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

Включаем безопасное определение высоты стола. По умолчанию это происходит в его центре, но если вы решили использовать сетку 4х4 в прошлом шаге, то замените координаты на деленные на 3.

Популярные вопросы

Датчик толщины филамента никто не изобретал?

Именно толщины. Не обрыва.

А то тут прикупил филамент, отправил деталь на печать, в результате деталь в мусорку, мотор подачи горячий.

Creality Ender CR10-S5 или Tronxy X5SA-500PRO

У меня стартап 3д принт центр, и в основном заказы у меня - детали из АБС или АСА (реже ПЛА или ПЕТГ), в габарите 30-45 см. Самые большие детали печат.

помогите выбрать 3Д принтер

нашел четыре недорогих принтера. по описанию только на АНЕТ А6 много инфы а вот на остольные н

почти нету! подскажите какой из переч.

Читайте в блогах

Обустройство рабочей зоны возле принтера

Маска Cyber-Oni

Роботизированая гидравлическая рука. Платформа.

Просмотрщик 3D моделей и показ параметров модели.

Авто-отключение 3D принтера

Популярные
3D-принтеры

Комментарии и вопросы

А надо чтоб и то и то горизонт.

Был прецедент на одной из таки.

Посмотрим) может тоже поучаств.

Коллеги, уже не раз рассматрив.

Вопрос не праздный, хочется уз.

Помогите выбрать среди моделей.

Доброго времени суток всем, ув.

СООБЩЕСТВО

РАЗДЕЛЫ

СОЦСЕТИ

http://ariat.ru
http://ariat.ru

Пароль успешно изменен

Пароль успешно изменен

На ваш e-mail высланы новые регистрационные данные.

Пожалуйста, проверьте Вашу почту

Пожалуйста, проверьте Вашу почту

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

Настройка драйверов TMC2208 и TMC2209 StandAlone (без UART)

Настройка драйверов TMC2208 и TMC2209 StandAlone (без UART)

Обратите внимание, что при расчете максимального тока:

для TMC2208 - опорное напряжение надо делить на 1.4
для TMC2209 - опорное напряжение надо умножать на 0.63

Изображение

Не бойся поломать. Бойся не починить ))

Изображение

Не бойся поломать. Бойся не починить ))
То, которое подстроечником выставляется.
VRef.
Но там ещё зависимость от сопротивлений. VREF - reference voltage
если не "опорное напряжение", то как это правильно перевести?

Изображение

Не бойся поломать. Бойся не починить ))
Поставлю вопрос по другому что надо умножить на 0.63 минимальный ток или максимальный?

На 0.63 умножаете значение напряжения измеренное мультиметром и получаете максимальный ток.

Вращением переменного резистора изменяется значение напряжения, подаваемое на ножку VREF микросхемы драйвера.
Микросхема драйвера использует значение тока проходящего через VREF для расчета тока подаваемого на мотор.

VREF - Analog reference voltage for current scaling or reference current for use of internal sense resistors (optional mode).
Motor run current either is fixed, or set by the CPU using the analog input VREF.

Изображение

Не бойся поломать. Бойся не починить ))

Изображение

Я так понимаю, что значение коэффициента в формуле расчета определяется подстроечным резистором и входным сопротивлением VREF.
Драйверы 2208 и 2209 имеют разное входное сопротивление VREFT.
TMC2208 - 1,00 кОм
TMC2209 - 0,45 кОм

В итоге максимальный ток, который драйвер выдаст на мотор = 3000 х "ток через контакт VREF".
Ток на контакте VREF = 5V / (Сопротивление VREF + сопротивление подстроечного резистора)

Изображение

Не бойся поломать. Бойся не починить ))

Настройка драйверов TMC 2209, подключение по UART к robin nano

Datasheet на микросхему драйвера:

Описание модулей драйверов от BIGTREETECH:

Видео о работе шаговых двигателей:

Описание управления шаговым двигателем:

Есть две важных настройки драйвера: деление шагов и ток на моторы.

Этот параметр задает, сколько "шагов" сделает шаговый двигатель, на один импульс по линии STEP. Эти настройки задаются либо программно, если подключен интерфейс UART, либо в ручную установкой перемычек MS1 и MS2. В случае ручной установки, шаги задаются так:

Выбор деления шагов

На плате robin nano, эти перемычки находятся под драйвером. В данном случае, можно считать, что GND в таблице это снятая перемычка, а VCC_IO это установленная.

Если увеличить значение делителя шагов, например до 64, то для перемещения на 1мм по оси X понадобится уже 320 импульсов по линии STEP. Таким образом, на один импульс, перемещение по оси X составит 0,003125 мм.

В ручном режиме максимальный ток, который будет выдавать драйвер на шаговый двигатель, устанавливается вращением переменного резистора на драйвере. Контролируется напряжение на выводе Vref. Формула для расчета:

Расчет тока двигателя

Следует учитывать, что в формуле значение тока стоит RMS.

На практике, рекомендуемое значение Vref=1.2V соответствует току в 900мА (для драйверов от BIGTREETECH).

Управление драйвером по UART

Настраивать режим работы драйвера можно не только перемычками MS1 и MS2 и переменным резистором, но и программно. Драйвер использует однопроводную шину UART. Более того, на одну шину можно подключить до 4 драйверов одновременно. Схема из datasheet на драйвер:

Схема подключения драйвера

В схеме показаны два варианта подключения: полноценный (read/write) слева и режим только записи справа (write only).

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

Пакет данных

Устанавливается адрес перемычками MS1 и MS2. Двумя битами можно выставить 4 разных комбинации, что соотвествует максимальному количеству драйверов на одной линии.

При управлении драйвером по UART есть возможность задавать ток двигателя и устанавливать делитель шагов. Делитель шагов, при установке программно, имеет следующие возможные значения: 1/1, 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128, 1/256 (биты 24-27 регистра 0x6C).

Практическая реализация на плате robin nano

На плате robin nano не разведены дорожки для подключения драйверов по UART, поэтому подключить драйвера можно только проводами. На драйверах от BIGTREETECH ноги UART сделаны удлиненными, поэтому к ним можно подключиться при помощи обычных dupont проводов. Положение ноги UART на драйвере зависит от запаянной перемычки PDN и в состоянии по-умолчанию находится на 4-той ноге драйвера. Подробнее в руководстве на драйвер

На плате для управления драйверами можно использовать свободные ноги управления вторым экструдером. Перед разъемом для драйвера находится стандартный штырьковый разъем с линиями En, Step, Dir.

Для подключения драйверов используются ноги Step и Dir. Я пробовал подключать к одной ноге, без резистора на линию TX и все так же работало. В итоговом варианте, я сделал схему как рекомендует производитель драйвера - напрямую в RX и через резистор в TX. Провод для подключения (на белом проводе внутри термоусадки резистор на 1K):

Кабель для подключения

Подключение на одну ногу:

Плата robin nano

В обоих случаях, при подключении только на ногу STEP и при подключении к STEP и DIR, драйвера работают в режиме read-write, управляется каждый драйвер индивидуально.

Для переключения драйверов в режим UART нужно снять перемычку MS3. Это довольно важный момент. Питание драйверов осуществляется от 5V, поэтому при установленной перемычке MS3, нога UART драйвера замкнута на линию 5V. Если подключить ногу UART драйвера к линии STEP и не убрать перемычку, на линию STEP попадет 5V, что может вызвать повреждение МК.

Адреса драйверов задаются перемычками MS1 и MS2. В данном случае, нумерация следующая: X - 0, Y - 1, Z - 2, E - 3.

Адреса драйверов

В Marlin есть полная поддержка драйверов TMC 2209, включая задание адреса.

Установка типа драйвера (Marlin/Configuration.h):

Для работы по UART нужно задать ноги в Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h:

В данном случае, используются две ноги, как рекомендовано в datasheet. Если используется только одна нога, RX и TX pin нужно поставить одинаковыми.

Настройки адресов драйверов (Marlin/Configuration_adv.h):

Установка тока и делителя шагов (Marlin/Configuration_adv.h):

В данном случае для всех драйверов установлен ток в 800мА и деление 1/32.

Установка шагов для делителя 1/32 (Marlin/Configuration.h)

Режим работы драйвера (Marlin/Configuration_adv.h):

Для контроля за драйверами нужно включить (Marlin/Configuration_adv.h):

На этом настойка закончена. После прошивки важно сначала сделать Initialize eeprom.

Посмотреть состояние драйверов можно командой M122 S0. Если в выводе команды значение Driver registers не 00:00:00:00 или FF:FF:FF:FF, то связь с драйвером установлена.

Драйвера TMC 2208

У драйвера TMC2208 отсутствует возможность задать адрес. Поэтому для подключения этих драйверов не получится использовать всего 1 ногу. Их можно подключить используя как минимум 4 ноги. Если к плате не подключено никакого дополнительного оборудования, то можно использовать 3 свободных ноги второго экструдера (En, Step, Dir) и ногу PB2.

Читайте также: