M5_TMC2130/README.md

8.3 KiB
Raw Permalink Blame History

M5_TMC2130

Тест драйвера и описание его настройки

Общее:

Без радиатора будет греться до 75 градусов
С радиатором 65
Обдув решает все вопросы. Обдув обязателен
Как и в предыдущих версиях драйверов не рекомендуется отключать двигатель при включенном питании драйвера (необходимо предотвратить самостоятельное отключение)


Файл M5_TMC2130.ino - содержит пример кода с комментариями
Папка pdf - документация к драйверу (Полный и понятный документ pdf/TMC2130_datasheet.pdf)
Папка img - рисунку распиновка фото


Лучше всего использовать совместно с BIGTREETECH protector ( https://www.gearbest.com/printer-parts/pp_3005227053225004.html )
Это шилд между драйвером и любой платой управления для защиты драйвера от перегорания при обрыве части контаков двигателя, или ручной прокрутки двигателей. В общем это защита драйвера от токов которые может генерировать мотор, или от обрывов проводов.
Еще лучше использовать готовую плату SKR v1.3 которая приходит по умолчанию настроенная на использование данных драйверов

---------------------------------------

- понятная распиновка/соединение для работы по SPI без промежуточных плат между ардуиной и TMC2130


Первый запуск (Для SPI режима)
Перед запуском необходимо убедится что драйвер не имеет перемычки на контактах SPI
Убедиться что правильно припаяны резисторы на контактах CFG4 (GND), CFG5 (VCC).
Пример установки перемычек: https://arduino.ua/images/HTB18dtMKv9TBuNjy1zbq6xpepXac.jpg

После данных операций подстроечный резистор перестает влиять на работу драйвера, ток выставляется в прошивке.
В прошивке опытным путем было определено: Лучше использовать программный SPI, так как он учитывает все входы которые в аппаратном SPI необходимо подключить вручную к питанию Vio, GND или выставить необходимый уровень (DIR, STEP, EN) которыми возможно управлять в коде. Индивидуально необходимо рассматривать данные пины при использовании шилда.

Пример соединения драйвера с Arduino Mega (Фото добавленно в папку IMG)
Стоит позаботится о качественном контакте пинов. Так как мотор может крутиться медленно из за плохого контакта STEP/DIR

#define EN_PIN 46 // Enable
#define DIR_PIN 24 // Direction
#define STEP_PIN 26 // Step
#define CS_PIN 30 // Chip Select
#define SW_MOSI 34 // Software Master Out Slave In (MOSI)
#define SW_MISO 28 // Software Master In Slave Out (MISO)
#define SW_SCK 32 // Software Slave Clock (SCK)


Для использования нескольких TMC2130 на одной шине и обратных связей необходим контроль на Chip Select (выбор микросхемы). С помощью данного сигнала происходит активация ведомого устройства.
---------------------------------------

- понимание по подстройке ограничителя тока на TMC2130
После перевода в режим SPI подстроечный резистор перестает влиять на работу драйвера, ток выставляется в прошивке.


Установка тока происходит путем вызофа функции rms_current(); для обьекта класса TMC2130Stepper
Пример: driver.rms_current(1000);
1000 - ток устанавливаемый в милиамперах
Для установки тока изначально необходимо знать характеристики мотора (используемого)
модель: JK42HS34-1334AC
Распиновка: зеленый А+, черный А-, синий В+, красный В-.
НОМИНАЛЬНЫЙ ток на обмотку: 1.33 А

Верная настройка токов позволяет:
Избавится от пропуска шагов
Снизить нагрев двигателей
Снизить шум двигателей

---------------------------------------
- выбор библиотеки и экземплы по обработке детектов (stallGuard2)

Пример использования библиотеки с определением текущего состояния параметра StallGuard находится в файле M5_TMC2130.ino

Cуществует старая версия библиотки: https://github.com/teemuatlut/TMC2130Stepper ,но она 3х летней давности Необходимо скачать и установить библиотеку: https://github.com/teemuatlut/TMCStepper (обновляемая и поддерживаем большее количество драйверов)

Про stallGuard2:
Когда подвижный механизм упирается в препятствие, нагрузка двигателя возрастает, что и обнаруживает stallGuard2
Схема измерения определяет электрическую энергию, подаваемую в двигатель (EI) и энергию, которая возвращается в источник питания (EB). Разница между этими показателями определяет энергию, которая была передана механической системе (EM). stallGuard2 контролирует значение EB, и, если оно приближается к нулю, это значит, что вся энергия передается в систему и подвижный механизм, скорее всего, уперся в препятствие.


Видео с примером и принципом работы: https://youtu.be/UrRlFIkvNxc

---------------------------------------
Цитата с форума:
Eсли кто-то собирается использовать библиотеку TMCStepper вместе с ESP32, вам необходимо использовать HardwareSerial из-за проблем с совместимостью. - Но по факту необходимо использовать Software Serial.

Ссылки:
Интересынй пример: https://revspace.nl/TMC2130
Библиотека: https://github.com/teemuatlut/TMC2130Stepper
https://github.com/teemuatlut/TMC2130Stepper/tree/master/examples
Про StallGuard2: https://3dtoday.ru/blogs/svs0724/tms2130-applied-technology-and-connection-to-ruramps4d-in-the-configur/
Решение от автора: https://gist.github.com/teemuatlut/2bc6d85732311087e3e5285e04c36cb5