Решение проблемы с 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Д принтеров и не только»

USB-TTL на базе CP2102

USB-TTL на базе CH340

Резистор на 1 кило Ом. дело в том, что они безумно дешевые и взять такие можно в любом радиомагазине

Беспаечная макетная плата

Соединительные провода

Паяльник, например паяльник TS100 или ультра дешевая паяльная станция QUICKO T12-942

«Третья рука», которая позволит удобно паять.

Припой, тоже можно купить в ближайшем радиомагазине, а еще пригодится канифоль.

Дополнительно вам может понадобится мультиметр или тестер радиокомпонентов для проверки работоспособности резистора и соответствия его заявленным характеристикам. Я использую мультиметр UNIT UT61C.

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

Кроме железа, нам понадобится софт для изменения режима работы драйвера TMC2208. Чтобы софт не потерялся, я положил копию в своем репозиторий на Github.

Необходимый софт можно скачать вот тут:

И так, прежде чем начинать перепрограммировать драйер, рекомендую ознакомиться со статьей на сайте производителя TMC2208.

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

 

Но перед тем, как начинать собирать схему, необходимо выполнить одну очень тонкую и очень важную операцию — необходимо впаять перемычку между двумя контактами на плате драйвера. Если этого не сделать, драйвер не перейдет в режим программирования.

Перемычка, которую необходимо запаять на драйвере TMC2208

Для этого необходим вооружиться паяльными принадлежностями:

Зажать драйвер tmc2208 в держатель «третья рука»:

и ловким движением паяльника запаять перемычку. Внимание, для этой пайки крайне не рекомендую использовать какие либо флюсы! особенно китайские. Достаточно припоя в канифолью. А с учетом того что площадки уже залужены, то достаточно просто припоя.

Все. После пайки, наш драйвер готов к перепрограммированию. Перейдем к сборке схемы. Чтобы максимально ее визуализировать, я ее изобразил следующим образом:

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

Схема собранная на макетной плате выглядит следующим образом:

Схема для перепрограммирования TMC2208 на макетной плате

На макетке это выглядит не так наглядно :).

Перед тем как будете устанавливать резистор, прозвоните его либо проверьте на специальном приборчике на работоспособность и соответствие номиналу.

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

Скачать все необходимое ПО можно тут.

Скачиваем, распаковываем в каталог и запускаем файл ScriptCommunicatorSetup_05_10_windows.exe

Установка ScriptCommunicator. Шаг 1

Установка ScriptCommunicator. Шаг 1

Путь установки оставляем по умолчанию. Нажимаем кнопку Next

Установка ScriptCommunicator. Шаг 2

Установка ScriptCommunicator. Шаг 2

 

На следующем шаге нажимаем NEXT 

 

Установка ScriptCommunicator. Шаг 3

Установка ScriptCommunicator. Шаг 3

и снова нажимаем NEXT

Установка ScriptCommunicator. Шаг 4

Установка ScriptCommunicator. Шаг 4

А на этот раз нажимаем INSTALL и ждем пока софтина установится на ваш компьютер

Установка ScriptCommunicator. Шаг 5

Установка ScriptCommunicator. Шаг 5

Установка ScriptCommunicator. Шаг 6

Установка ScriptCommunicator. Шаг 6

Ура! ПО установлено. Нажимаем кнопку Finish и ждем запуска программы. После ее успешного запуска закрываем установленную программу.

Установка ScriptCommunicator. Шаг 7

Установка ScriptCommunicator. Шаг 7

Теперь через программатор подключаем собранную схему к компьютеру (ноутбуку, планшету или что у вас там), ждем пока программатор определится и в диспетчере устройств смотрим какой номер COM порта у вашего программатора. После этого из  ранее  скачанного и распакованного архива  запускаем  файл TMC2208.scezзапускаем файл TMC2208.scez

Запустится программа. В открывшемся окне выберите COM-порт на котором определился Ваш программатор (1) с драйвером шагового двигателя и нажмите на кнопку Connect (2).

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

Программа может не соединиться с драйвером по одной из следующих причин:

  • Драйвер неисправен. Решение — заменить драйвер или использовать заведомо рабочий.
  • Перемычка на драйвере не запаяна. Решение — запаять перемычку и проверить ее мультиметром.
  • Неправильно подключены контакты RX и TX. Решение — поменять местами провода RX и TX на программаторе местами.

При написании этой статьи я столкнулся со второй и третьей проблемой. Первая носит очевидный характер. Если буду находить новые причины отсутствия связи, то дополню статью. Ну а теперь вернемся к нашему драйверу.

Переходим на вкладку OTP Programmer

OTP Pgogrammer

Все. После этого этапа пути назад не будет и после описанных ниже действий драйвер шагового двигателя на веки вечные будет переведен в режим 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 станет доступна для вашего принтера.

Что теперь осталось сделать?

  1. Установить драйвер TMC2208 в ваш 3Д принтер
  2. Прошить 3д принтер соответствующей прошивкой

А после этого наслаждаться тишиной работы Вашего 3Д принтера.

А я в свою очередь в скором времени представлю вашему вниманию прошивки для 3Д принтеров Anycubic i3 mega, Anycubic Mega-S (Anycubic-S), а так же обновлю прошивку для 3Д принтера Anycubic 4max.

Товары, ссылки на которые я выложил в этой статье я покупал сам для данной модернизации у проверенных продавцов.

Если вы еще не обзавелись 3Д принтером и думаете какую модель выбрать, могу порекомендовать следующие модели:

3д принтер Anycubic i3 Mega

3д принтер Anycubic Mega-S (Anycubic S)

3д принтер Anycubic 4Max

Если вам понравилась статья и вы хотите поддержать сайт, получать уведомления о новых материалах, вступите в нашу группу Вконтакте: https://vk.com/ionline_by

Если вы хотите оперативно получать уведомления о выходе новых статей, подключите себе PUSH уведомления по ссылке: https://ionlineby.pushassist.com/

 

Оставить комментарий через социальную сеть VK

Оставить комментарий

Вы должны быть авторизованы, чтобы оставить комментарий.

Поделись с друзьями!
Открыть с мобильного телефона
qr code
Считайте QR-код при помощи камеры мобильного телефона или планшета и откройте страницу на своем устройстве
Мои проекты на GITHUB


Мои проекты на GitHub

Реклама




iOnline в социальных сетях
IOnLine.by в социальной сети Вконтакте (vk.com)


Мы в Facebook


Ionline.by в Instagram


Мы в Twitter