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 в вашем файле конфигурации?


Я могу изменить 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.