Решение проблемы с Linear Advanced на драйверах шаговых двигателей TMC2208 с помощью OTP. Меняем режим работы драйвера TMC2208
Всем привет! постоянные читатели моего сайта помнят историю, которая приключилась со мной при установке драйверов шаговых двигателей на 3Д принтера Anycubic 4max. Для тех кто не в теме, рекомендую ознакомиться со статьей “Дневник 3Д печатника. Устанавливаем тихие драйверы TMC2208. Часть 3. Решение проблем с Linear Advanced“. Если вкратце, то при активации этой функции драйвер шагового двигателя TMC2208 просто зависал и экструдирование пластика прекращалось. При этом притер продолжал печатать. На тот момент единственным решением проблемы была установка родного драйвера A4988. Но как показала практика, при печати с большим количеством ретрактов, мотор экструдера начинал противно пищать, что заставило искать решение этой проблемы. Очень неприятно, когда тихо работающий принтер начинает доставать писками. Как всегда, кому интересно, добро пожаловать под кат. Внимание! Тут огромная туча фотографий и скриншотов!
Долгое раскуривание инфы по этой тематике привело к тому, что проблема такая есть. В баг-трекере марлина такой баг зафиксирован и решения есть следующие:
- Использовать для мотора экструдера драйвер типа A4988
- Перевести драйвер TMC2208 из режима stealthChop в режим spreadCycle
Остальные методы не приводят к рабочим результатам.
Процесс переключения режима из stealthChop в spreadCycle я и опишу в этой статье. Для проведения работ нам понадобится следующее:
Драйвер шаговых двигателей TMC2208 V1.2
Программатор на базе чипа CP2102 или программатор на базе чипа CH340. Подробнее о программаторах вы можете почитать в статье”Программаторы для Arduino, 3Д принтеров и не только”
Резистор на 1 кило Ом. дело в том, что они безумно дешевые и взять такие можно в любом радиомагазине
Паяльник, например паяльник TS100 или ультра дешевая паяльная станция QUICKO T12-942
“Третья рука”, которая позволит удобно паять.
Припой, тоже можно купить в ближайшем радиомагазине, а еще пригодится канифоль.
Дополнительно вам может понадобится мультиметр или тестер радиокомпонентов для проверки работоспособности резистора и соответствия его заявленным характеристикам. Я использую мультиметр UNIT UT61C.
Можно, конечно, не городить огород, а купить готовый программатор для TMC2208, но он стоит дороже, чем обычный программатор + провода + макетка вместе взятые. Ну а так как такую операцию мне нужно будет проделать только пару раз, то нет смыла покупать отдельный программатор. Обойдусь подручными средствами.
Кроме железа, нам понадобится софт для изменения режима работы драйвера TMC2208. Чтобы софт не потерялся, я положил копию в своем репозиторий на Github.
Необходимый софт можно скачать вот тут:
И так, прежде чем начинать перепрограммировать драйер, рекомендую ознакомиться со статьей на сайте производителя TMC2208.
Начнем со сбора схемы подключения, которая выглядит следующим образом:
Но перед тем, как начинать собирать схему, необходимо выполнить одну очень тонкую и очень важную операцию – необходимо впаять перемычку между двумя контактами на плате драйвера. Если этого не сделать, драйвер не перейдет в режим программирования.
Для этого необходим вооружиться паяльными принадлежностями:
Зажать драйвер tmc2208 в держатель “третья рука”:
и ловким движением паяльника запаять перемычку. Внимание, для этой пайки крайне не рекомендую использовать какие либо флюсы! особенно китайские. Достаточно припоя в канифолью. А с учетом того что площадки уже залужены, то достаточно просто припоя.
Все. После пайки, наш драйвер готов к перепрограммированию. Перейдем к сборке схемы. Чтобы максимально ее визуализировать, я ее изобразил следующим образом:
Схема собранная на макетной плате выглядит следующим образом:
На макетке это выглядит не так наглядно :).
Перед тем как будете устанавливать резистор, прозвоните его либо проверьте на специальном приборчике на работоспособность и соответствие номиналу.
Со сложностями, связанными со сборкой схемы покончено. Переходим к подготовке компьютера. Для начала установите драйвера на свой программатор. Про программаторы и про драйвера на них я рассказывал в статье, упомянутой выше. После установки драйверов и перезагрузки вашего компа, займемся установкой софта.
Скачать все необходимое ПО можно тут.
Скачиваем, распаковываем в каталог и запускаем файл ScriptCommunicatorSetup_05_10_windows.exe
Путь установки оставляем по умолчанию. Нажимаем кнопку Next
На следующем шаге нажимаем NEXT
и снова нажимаем NEXT
А на этот раз нажимаем INSTALL и ждем пока софтина установится на ваш компьютер
Ура! ПО установлено. Нажимаем кнопку Finish и ждем запуска программы. После ее успешного запуска закрываем установленную программу.
Теперь через программатор подключаем собранную схему к компьютеру (ноутбуку, планшету или что у вас там), ждем пока программатор определится и в диспетчере устройств смотрим какой номер COM порта у вашего программатора. После этого из ранее скачанного и распакованного архива запускаем файл TMC2208.scez
Запустится программа. В открывшемся окне выберите COM-порт на котором определился Ваш программатор (1) с драйвером шагового двигателя и нажмите на кнопку Connect (2).
Если соединение установлено, то в окне часть пунктов станет активной и оно будет выглядеть следующим образом:
Программа может не соединиться с драйвером по одной из следующих причин:
- Драйвер неисправен. Решение – заменить драйвер или использовать заведомо рабочий.
- Перемычка на драйвере не запаяна. Решение – запаять перемычку и проверить ее мультиметром.
- Неправильно подключены контакты RX и TX. Решение – поменять местами провода RX и TX на программаторе местами.
При написании этой статьи я столкнулся со второй и третьей проблемой. Первая носит очевидный характер. Если буду находить новые причины отсутствия связи, то дополню статью. Ну а теперь вернемся к нашему драйверу.
Переходим на вкладку OTP Programmer
Все. После этого этапа пути назад не будет и после описанных ниже действий драйвер шагового двигателя на веки вечные будет переведен в режим spreadCycle и ничего назад вернуть уже не получится. И так, приступим.
В разделе OTP Writter есть две строки OTP BYT и OTP BIT для включения режима spreadCycle необходимо ввести значения как показано на рисунке:
Т.е. в поле OTP BYT вводим цифру 2 а в поле OTP BIT цифру 7
Теперь нажимаем кнопку Write 1-bit to OTP Memory
В следующем окне подтверждаем свои намерения нажатием клавиши Yes
В следующем окне подтверждаем то что в драйвер шагового двигателя будут записаны данные нажатием клавиши Yes
Снова откроется новое окно в которым программа- программатор доложит об успешной записи данных в драйвер шагового двигателя TMC2208. Нажимаем кнопку OK
Теперь в разделе OTP Writter нам необходимо ввести следующие значения:
в поле OTP BYT вводим цифру 1
в поле OTP BIT вводим цифру 1
Или как показано на рисунке:
Теперь нажимаем кнопку Write 1-bit to OTP Memory
В следующем окне подтверждаем свои намерения нажатием клавиши Yes
В следующем окне подтверждаем то что в драйвер шагового двигателя будут записаны данные нажатием клавиши Yes
Снова откроется новое окно в которым программа- программатор доложит об успешной записи данных в драйвер шагового двигателя TMC2208. Нажимаем кнопку OK
Все. Процесс перевода из режима stealthChop в режим spreadCycle драйвера шагового двигателя TMC2208 можно считать завершенным. Переключение режима работы не скажется на качестве печати. Да, мотор экструдера будет работать громче, чем если бы драйвер работал в режиме stealthChop, однако это будет все равно тише, чем с драйвером A4988. Да и фича Linear Advanced станет доступна для вашего принтера.
Что теперь осталось сделать?
- Установить драйвер TMC2208 в ваш 3Д принтер
- Прошить 3д принтер соответствующей прошивкой
А после этого наслаждаться тишиной работы Вашего 3Д принтера.
А я в свою очередь в скором времени представлю вашему вниманию прошивки для 3Д принтеров Anycubic i3 mega, Anycubic Mega-S (Anycubic-S), а так же обновлю прошивку для 3Д принтера Anycubic 4max.
Обновление от 14.01.2020
Уважаемый читатель. Есть еще один способ решить проблему с Linear advanced. Подробности описаны в статье “Решение проблемы с Linear Advanced на драйверах шаговых двигателей TMC2208. Замена на драйвер TMC2209”
Товары, ссылки на которые я выложил в этой статье я покупал сам для данной модернизации у проверенных продавцов.
Если вы еще не обзавелись 3Д принтером и думаете какую модель выбрать, могу порекомендовать следующие модели:
3д принтер Anycubic Mega-S (Anycubic S)
Данные ссылки на проверенных продавцов, которые продают оригинальные принтеры. Оказывают техническую поддержку и дают годовую гарантию.
Если вам понравилась статья и вы хотите поддержать сайт, получать уведомления о новых материалах, вступите в нашу группу Вконтакте: https://vk.com/ionline_by
Если вы хотите оперативно получать уведомления о выходе новых статей, подключите себе PUSH уведомления по ссылке: https://ionlineby.pushassist.com/