Я могу установить напряжение и ток драйвера TMC2130 вручную. Но в каких случаях некоторые компоненты могут сгореть?

Мне нужно знать, если что-то сгорит заранее я подключаю все цепи:

  • RAMPS 1.6+
  • Arduino Mega 2560
  • Блок питания 12 В, 15 А
  • 2 TMC2130 V3.0 Драйвер шагового двигателя
  • 2 Шаговых двигателя 17hs3401

Потенциометр водителя

Водитель имеет потенциометр для изменения напряжения, которое дает двигателям. Диапазон значений Vref:

  • По умолчанию: 1 В (±0,2)
  • МАКС: 2,4 В
  • МИН: 0 В

Поскольку один человек ответил мне на другой вопрос, мне понадобится 3,2 В, чтобы двигатель работал хорошо (2. Ω * 1,3 А = 3,2 В). Как водитель просто может предложить 2 А я предполагаю, что скорость будет ниже, и водитель будет теплее, потому что двигатель будет сливать больше тока.

stepper_motor

Текущая конфигурация Marlin

Есть файл в прошивке Marlin (Configuration_adv.h), где я могу установить ток, который драйвер собирается дать двигателям. Я делаю это, чтобы вычислить ток в двигателе XCURRENT = 1300 мА x sqrt(2) = 1838,5 мА и установить значение в файле

    #if AXIS_IS_TMC(X)
        #define X_CURRENT       1838.5      // (mA) RMS current. Multiply by 1.414 for peak current. Default 800
        #define X_CURRENT_HOME  X_CURRENT   // (mA) RMS current for sensorless homing
        #define X_MICROSTEPS    16          // 0..256
        #define X_RSENSE        0.11
        #define X_CHAIN_POS     -1          // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
    #endif

Возможные проблемы

Что я собираюсь сделать, так это установить потенциометр драйверов на максимум и проверить, что происходит. И я также установлю ток в Марлине на 1838.5 мА

Поскольку драйверы имеют меньшее напряжение, чтобы дать двигателям, будут ли мои драйверы гореть, потому что им придется давать больше тока в течение длительного периода времени? Или шаговые двигатели будут гореть, потому что они не получат достаточного тока или напряжения?

Я также нашел некоторые другие возможные проблемы в этом другом ответе

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

Если вы находитесь в пределах спецификаций двигателей, нет проблем, связанных с двигателем, вызванных более высокими токами.

Но другие проблемы могут быть вызваны увеличением тока. Ток должен находиться в пределах мощности двигателей и их теплоотвода. Если водители перегреваются, многие просто отключаются, заставляя двигатели не двигаться, когда они должны, что будет выглядеть как рассогласование на X, Y или Y.

Этот другой человек также сказал мне

вы устанавливаете уровень мощности для TCM2130 более чем на 50%, после чего он перегреется. Однако он может делать это только при беге на низкой скорости. Я сомневаюсь, что он перегреется, если работать на высокой скорости

Драйверы TMC2130 могут выдерживать рабочий ток двигателя 1,2 А (пик 2 А). Я устанавливаю максимум на 1838,5 мА (это нормально), а среднеквадратическое значение двигателя составляет 1,3 А (более 1,2 А). Будут ли эти настройки перегревать драйвер?

Вопрос

Будут ли у меня какие-либо из этих проблем с конфигурацией, которую я установил выше? Перегреется ли TMC2130?

Обновление 22 апреля

Мой чип-TMC2130-LA. Затем, чтобы вычислить значение X_CURRENT:

Imax = 1.2 A            # максимальный ток, доступный в контроллере
Irms = Imax / 1.41 = 0.851
X_CURRENT = 90% Irms = 0.851 * 0.9 = 0.766 = 766 mA   # 90% for safety

, 👍1


1 ответ


3

Водитель имеет потенциометр для изменения напряжения, которое дает двигателям.

[...]

Поскольку один человек ответил мне на другой вопрос, мне понадобится 3,2 В, чтобы двигатель работал хорошо (2. Ω * 1,3 А = 3,2 В).

Вы неправильно понимаете этот ответ и то, что делает потенциометр. Потенциометр не контролирует напряжение, идущее к двигателям. Нет смысла сравнивать это напряжение с номинальным напряжением двигателя. Потенциометр управляет током, идущим к двигателю, с напряжением потенциометра 0 В, соответствующим 0% тока водителя, и напряжением потенциометра 2,5 В, соответствующим 100%. Документация вашего драйвера немного неясна, но похоже, что максимальный пиковый ток составляет 1A на фазу или 0,7 A RMS (на фазу).

В прошивке Marlin есть файл (Configuration_adv.h), где я могу установить ток, который драйвер будет подавать на двигатели.

Это работает только в том случае, если драйвер настроен в режим SPI, в противном случае эта настройка игнорируется. Чтобы включить режим SPI, вам нужно снять перемычку резистора с надписью "SPI" mode и подсоединить ее к длинным контактам, торчащим из верхней части драйвера. Этот параметр конфигурации переопределяет текущую настройку, заданную потенциометром.

Что я собираюсь сделать, так это установить потенциометр драйвера на максимум и проверить, что произойдет. И еще я установлю ток в Марлине равным 1838,5 мА

Это не очень хорошая идея. Было бы разумнее установить потенциометр относительно низко и увеличить его ровно настолько, чтобы двигатели не пропускали шаги.

Поскольку драйверы имеют меньшее напряжение для подачи на двигатели, будут ли мои драйверы гореть, потому что им придется давать больше тока в течение длительного периода времени?

Нет, потому что у водителей нет "меньшего напряжения для подачи на двигатели". Они так не работают. Они являются движущими силами постоянного тока.

Или шаговые двигатели сгорят, потому что им не хватит тока или напряжения?

Нет. Единственное, что может привести к сгоранию двигателей, - это (далеко) слишком большой ток или напряжение. Это никогда не произойдет, потому что ваши водители сгорят раньше, чем двигатели.

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

Резюме

  • Текущая настройка в configuration_adv.h не имеет значения, если вы не включили SPI (но я сомневаюсь, что у вас есть)

  • Не начинайте с потенциометра, установленного на максимум

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

Что касается вашего обновления

Да, если вы используете управление током SPI, то потенциометр игнорируется.

TMC2130 может обрабатывать среднеквадратичное значение 1,2 А на катушку, хотя в техническом описании отмечается, что более 1 А среднеквадратичное значение на катушку требует особого внимания к тепловыделению (небольшая пробивающаяся печатная плата, вероятно, не обладает большими тепловыми свойствами).

Ваш расчет слишком консервативен, потому что он трактует цифру 1,2 А как пиковый ток, когда имеется в виду среднеквадратичный ток. Вам не нужно делить на $\sqrt{2}$, чтобы преобразовать его в RMS, потому что эта цифра уже является RMS.


,

Спасибо, что ответили с таким количеством подробностей. Моя плата-это [RAMPS 1.6+](https://www.hta3d.com/en/ramps-1-6-plus-compatible-with-spi-compatible-with-tmc2130), а мой контроллер - [TMC2130 v3.0](https://www.hta3d.com/en/tmc2130-welded-for-spi-stepper-motor-controller-silent-driver) (Сварено для SPI). Я установил перемычки на плате, чтобы включить режим SPI. Таким образом, мне не нужно перемещать потенциометр, потому что он игнорируется, верно? Я установлю "X_CURRENT = 766". Я обновил свой вопрос, чтобы добавить уравнения, которые я использовал, @ChesuCR

@ChesuCR Я обновил ответ., @Tom van der Zanden