TMC2208 драйверы - неправильно настроены микрошаг

10

Я только что установил два драйвера TMC2208 на мою плату RAMPS. Я следовал очень хорошему пошаговому руководству, и после некоторых проблем я получил его почти к работе.

У меня остается одна проблема: когда я приказываю принтеру поднять ось Z на 5 мм, он поднимает ее на 10 см.

Я ничего не изменил относительно шагов / мм. Раньше у U был Pololus с 1/16 микрошагом, и теперь у меня также есть 1/16 в файле configuration_adv.h на Marlin 1.1.8

Однако, что я заметил, когда делал M122, это строка, которая гласит:

msteps 256

что звучит так, как будто микрошага был установлен на 1/256 вместо этого.

Может быть, кто-нибудь может сказать мне, если я что-то пропустил?

ОБНОВИТЬ:

Еще немного покопавшись в этом, вот что я сделал до сих пор:

  • Припой булавки на драйвере. Оригинал от Watterrot
  • Припой прокладки моста для включения связи UART
  • Припой штырь для связи направляется вверх
  • Измените configuration_adv.hна Marlin (1.1.8) и включите все, что нужно: USE_TMC2208, Включить отладку, выбор оси Z и т. Д.
  • Проверьте контакты pins_RAMPS.hи убедитесь, что они доступны в моей настройке
  • Сделайте Y-кабель с резистором 1 кОм для контакта TX
  • Подцепить все

Независимо от того, что я сделал, мотор движется вдвое больше, чем требуется. Несмотря на то, что я установил 1/16 микрошаг, как и в случае с Pololus, я выполнил обратный расчет, чтобы выяснить, что фактический микрошаг в драйвере составляет 1/8.

После дополнительного расследования проблема, похоже, заключается в том, что водитель Marlin / Board вообще не признает водителя. Думая, что это была проблема со связью TX / RX, я покопался в доступной информации и обнаружил это : Ошибка: TMC2208 UART Communication использует неправильные контакты для SoftwareSerial # 9396 .

Я приступил к изменению назначенных контактов для последовательного RX / TX, но все точно так же.

Я попробовал другую Arduino (оригинал), другую плату RAMPS и даже ветки с исправлениями 1.1.x и 2.0 от Marlin.

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

Феликс Хаузер
источник
Вы решили эту проблему? Если вы решили эту проблему, было бы здорово поделиться своим опытом с сообществом, разместив свой собственный ответ, чтобы другие могли извлечь из него уроки или решить свои аналогичные проблемы. Вы также можете принять свой собственный ответ через 48 часов.
0scar
tmc заранее интерполирует ваши шаги до 256 config #define INTERPOLATE true // Интерполирует X / Y / Z_MICROSTEPS в 256
ddjikic
Мой еще хуже, у меня есть все контроллеры TMC2208 и после некоторого несвязанного обновления прошивки Z начал ходить дважды совпадать. Другие оси в порядке.
Слава

Ответы:

1

У меня нет этих контроллеров, но я прочитал, что при настройках по умолчанию TMC2208 будет интерполировать микрошагы, заданные выводами конфигурации ввода / вывода, до 256 микросетей. Пожалуйста, посмотрите, как вы установили DIP-переключатели / колпачки перемычек на вашей плате, похоже, что используются только 2 (MS1 и MS2). Кроме того, вы не можете просто уменьшить количество массивов DEFAULT_AXIS_STEPS_PER_UNITдля записи Z в вашем файле конфигурации?

0scar
источник
Я могу изменить steps_per_unit, но это патч для результата, это не решает причину этого. Я исследовал дальше, пожалуйста, смотрите обновление на моем оригинальном сообщении ...
Феликс Хаузер
0

Скорее всего, ваша проблема связана с выводом PDN_UART на плате драйвера TCM2208, на некоторых платах производителей перемычка по умолчанию не установлена ​​в режим UART, поэтому, скорее всего, вам нужно припаять перемычку к правильной конфигурации. Посмотрите на таблицу данных вашей доски водителя. например, https://github.com/bigtreetech/BIGTREETECH-TMC2208-V3.0/blob/master/TMC2208-V3.0%20manual.pdf

Григор Тоникян
источник
2
Он сделал это, это упоминается в разделе ОБНОВЛЕНИЯ
FarO