Важно настроить Vref при смене или замене драйверов. Следуйте этому руководству и создайте свой собственный калькулятор Vref!
Шаговые драйверы — это небольшие микросхемы, которые, как следует из названия, отвечают за управление шаговыми двигателями, которые можно найти в 3D-принтерах, лазерных резаках и других станках с ЧПУ. По сути, они управляют количеством тока, посылаемого на двигатели в различных фазах и импульсах.
A4988, TMC2208 и TMC2209 — известные микросхемы драйверов, которые обычно поставляются распаянными на платах, совместимых с такими контроллерами, как Ramps 1.4 и его CNC shield. Сами платы называются «степстик», и они различаются у разных производителей, сохраняя при этом свой форм-фактор и совместимость выводов.
В этой статье мы рассмотрим шаги, необходимые для расчета и настройки важного параметра в драйверах шаговиков — значения VREF. Мы сделаем это для обычного драйвера A4988, а также для современных драйверов TMC2208 и TMC2209.
Что такое Vref?

VREF означает «опорное напряжение» и измеряется в вольтах (V). С практической точки зрения, оно регулирует количество электрического тока, подаваемого на шаговый двигатель и это необходимо для правильного и здорового функционирования как драйверов, так и двигателей.
Каждый шаговый двигатель рассчитан на работу в оптимальном диапазоне электрического тока. Таким образом, недостаточное количество тока приведет к тому, что двигатель будет терять шаги во время движения и следовательно, будет менее точным.
С другой стороны, подача слишком большого тока на двигатели приведет к их перегреву, что может привести к их повреждению при длительном использовании. Сами драйверы также рассчитаны на максимальное значение тока и превышение этого порога, скорее всего быстро выведет их из строя.
Вот почему так важно правильно установить VREF причем значение зависит от конкретного чипа драйвера и используемого шагового двигателя.
Что требуется

Прежде чем перейти к конкретике расчета и настройки VREF каждого шагового драйвера, необходимо иметь в наличии несколько деталей и инструментов.
Во-первых, чтобы рассчитать правильное значение VREF для конкретного драйвера, вам нужно знать номинальный ток для соответствующих двигателей. Эта информация обычно предоставляется производителем, хотя для некоторых двигателей ее бывает трудно найти.
В сообществе RepRap хранится подробная база данных по наиболее распространенным двигателям NEMA 17. Вы можете найти ее по номеру модели, который обычно указан на корпусе двигателя. В качестве примера, здесь мы будем использовать NEMA 17 42SHDC3025-24B, который, согласно базе данных, рассчитан на 0,9 А.
Для регулировки значения VREF непосредственно в шаговиках потребуются некоторые специальные инструменты:
- Цифровой мультиметр
- Плата контроллера (3D-принтера или ЧПУ) с блоком питания
- Отвертка с пластиковым или керамическим наконечником (настоятельно рекомендуется), обычно 1,5 мм
Драйверы A4988

A4988 — один из самых распространенных чипов, используемых в драйверах для настольных машин, включая 3D-принтеры. Разработанные компанией Allegro MicroSystems, они невероятно дешевы и используются в степстиках от множества производителей, наиболее известным из которых является Pololu.
Как рассчитать VREF
VREF рассчитывается по простой формуле:
VREF = I x 8 x Rsense
Где I — максимальный ток шагового двигателя, а Rsense — тип установленного сопротивления. В то время как I в основном определяется номинальным током двигателя, Rsense — это фиксированное значение, которое можно проверить, проверив плату шаговика.
Токоизмерительные резисторы различаются у разных производителей и составляют от 0,05 до 0,2 Ом. Ищите два одинаковых резистора в A4988, как показано на рисунке выше. В данном примере R100 равен 100 мОм или 0,1 Ом.
Хотя шаговый двигатель, который мы будем использовать здесь, рассчитан на 0,9 А, мы никогда не должны устанавливать его на максимальный ток. Настоятельно рекомендуется уменьшить ток двигателя как минимум на 10%, что в нашем случае составит примерно 0,8 А.
VREF = 0.81 x 8 x 0.1 = 0.64 V
Как настроить VREF с помощью потенциометра

Теперь, когда мы рассчитали значение VREF, нам нужно установить его в зависимости от драйвера. Шаговики A4988 поставляются с небольшими потенциометрами, которые используются исключительно для этой цели.
Чтобы настроить VREF, выполните следующие действия:
- Не включая питание, подключите драйвер к выбранной плате контроллера. Убедитесь, что он правильно установлен. Обратите внимание, что для платы Ramps 1.4 он должен быть закреплен и на Arduino Mega.
- Подайте питание на плату через VDD и GND, а не через USB.
- Установите мультиметр на постоянное напряжение и на соответствующую шкалу (около 2 В).
- Поместите черный щуп на GND платы контроллера, как показано на рисунке.
- Осторожно поместите красный щуп на потенциометр драйвера для измерения VREF, как показано на рисунке. Обратите особое внимание на красный щуп — даже прикосновение к другим компонентам может привести к короткому замыканию драйвера или платы контроллера.

Теперь, когда мы знаем текущее значение VREF, давайте с помощью отвертки подгоним его к значению, которое мы рассчитали ранее. Это потребует итеративной регулировки и проверки.
Если вы используете отвертку с пластиковым или керамическим наконечником, вы должны иметь возможность поворачивать потенциометр при включенном питании без риска повредить плату. Если это не так, мы рекомендуем отключить питание платы контроллера, чтобы безопасно отрегулировать VREF, а затем снова включить его для повторного измерения.
Правильное направление поворота ручки потенциометра отличается у разных производителей. Сначала попробуйте слегка повернуть ее и измерить, чтобы проверить, увеличилось или уменьшилось напряжение.
Продолжайте регулировать и измерять VREF, пока не будет достигнуто приблизительное значение рассчитанного VREF. Вы обнаружите, что добиться точного значения трудно, но чем ближе вы к нему, тем лучше.
Вот и все. Не забудьте сделать это для всех шаговых драйверов.
Драйверы TMC2208 и 2209

Драйверы TMC разработаны компанией Trinamic Motion Control. TMC2208 и TMC2209 очень тихие и поддерживают микрошаг до 1/256. Как современные драйверы они могут функционировать в различных режимах работы: UART и автономный.
В режиме UART шаговый ток может быть установлен через прошивку, в то время как в автономном режиме эта регулировка осуществляется вручную и довольно похожа на A4988, как мы увидим.
Как рассчитать VREF
Процедура расчета VREF для TMC2208 и TMC2209 в автономном режиме одинакова. Сначала она может показаться немного сложной, но не останавливайтесь на достигнутом.

IRMS — среднеквадратичный ток, а Rsense — значение сопротивления определения тока.
Rsense для шаговика можно проверить визуально. Как и в случае с A4988, есть два одинаковых резистора, но на этот раз они расположены в нижней части платы шаговика. IRMS можно рассчитать, просто разделив ток шаговика на квадратный корень из 2.
Чтобы проиллюстрировать процесс, давайте рассчитаем VREF для TMC2209 от BigTreeTech в паре с шаговым двигателем 0,9 А. Имейте в виду, что максимальный выходной ток TMC2208 составляет 1,2 А, поэтому будьте осторожны, чтобы не установить значение выше этого.
Rsense для этого конкретного шаговика — R110, и для данной формулы его следует представить в виде миллиомов (110 mΩ). Для максимального тока мы снова используем значение 0,8 A (уменьшение на 10%).

С помощью алгебры мы получаем, что VREF = 0,8 В. Это было не так сложно, не так ли?
Как настроить VREF с помощью потенциометра
Чтобы вручную отрегулировать VREF для TMC2208 и TMC2209, нам нужно выполнить ту же процедуру, что и для A4988, но красный щуп должен быть помещен на вывод (вместо потенциометра).

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

Вот и все! Поздравляем вас с правильной настройкой VREF для ваших драйверов. Теперь вы можете быть уверены, что драйверы и двигатели будут работать правильно в безопасных пределах тока.








Формула для TMS2208 не правильная. В знаменателе должно быть +30мВ, а не +20мВ. И калькулятор для него тоже не правильный — это калькулятор просто вычисляет I = Vref / sqrt(2) то не задавай.
Спасибо за комментарий, покажите пример вычесления, исправим
Добрый, я новичок в этой теме, описание процедуры и калькулятор очень удобны, но испугал последний комментарий… Калькулятору можно доверять? Он верен?
Добрый, думаю, что на этот вопрос Вы должны сами ответить, мы только рекомендуем.
Нет, доверять нельзя. Калькулятор не верный для «TMC2208 и 2209»