лента / запись 04 / 22 авг 2026 / кноб
04

Выбор двигателя для кноба

Главным органом проекта является правильный трёхфазный BLDC-мотор. В нём должны быть соблюдены следующие требования:

  • в двигателе должен быть сквозной полый вал. В отверстие пойдут провода для экрана.
  • двигатель должен иметь низкий коггинг. Про коггинг подробнее расскажу ниже.
  • габариты двигателя должны быть в пределах размеров корпуса кноба.

В оригинальном проекте используется двигатель компании SparkFun ROB-20441, который очень сложно достать на рынке. По крайней мере, у меня пока не получилось, на алишке видел всего два лота: за 8000 и 14000. В будущем планирую заказать оригинальный потестировать, посмотреть действительно ли в нём есть разница. А пока работаю с двигателями Yuntai 2804. 

Существует сообщество SmartKnob в дискорде, где комьюнити постоянно обсуждает разные альтернативы. Но я пока решил сначала понять, что же действительно отличается эти на первый взгляд идентичные двигатели. И самый простой способ купить несколько вариантов, сделать стенд и на нём руками потрогать и записать значения. Именно этим я решил и заняться. Ведь стенд не требует сложных технологических решений, но на нём можно обкатать все финальные настройки.

Проект SmartKnob кроме очевидных украшательств в виде светодиодов и дисплея, построен на определённой схемотехнической базе, которая не вся доступна в РФ. Например, чип TMC6300 (драйвер двигателя) не поставляется к нам. Пришлось заказать их из Китая, и то, не факт, что придёт оригинал. А ещё магнитный энкодер, тоже сложно найти в удобном для пайки корпусе.

Пока я жду деталей, решил на столе собрать всё на проводах. Мотор 2804 заказал 2 штуки, одна из которых с энкодером и драйвером. Драйвер DRV8313, конечно, отличается от TMC6300 тем, что питается от 9 вольт, а TMC6300 от 5. Что делает оригинальный проект питающимся от USB-C. 

Стенд пока выглядит как набор проводов и лабораторный блок питания
Стенд пока выглядит как набор проводов и лабораторный блок питания

Первое, что я считаю надо сделать — это максимально замерить те двигатели, что у меня в доступе. Сначала померил сопротивление между фазами двигателя. У обоих оно похожее. Это измерение дало в будущем чёткие значения силы амплитуды управляющего сигнала (то есть с какой силой сдвигает мотор одна единица ШИМ 1.35·10⁻⁴ Н·м), сколько будет выделяться тепла при разных амплитудах (нагрев двигателя в щелчках мог бы быть полным провалом для устройства. В прошлых итерациях у меня именно так и сгорел мотор), и мы можем посчитать и оценить значение электрического демпфирования.

Главное проблемой «неоригинальных» моторов считается коггинг (cogging), с какой силой магниты мотора цепляются за двигатель. То есть они создают неплавный, а щелчкообразный ход. Да, мы добиваемся щелчков, но мы хотим, чтобы они были именно там, где запланировано, а не где «решил» двигатель.

Как Скотт Безек рекомендует выбирать мотор:

Low/zero cogging (completely smooth rotation when off) — This is the most important aspect and also hardest to find. The majority of cheap hobby BLDC motors (even one marketed as «gimbal» motors) have noticeable cogging, meaning the motors wants to snap to certain points when unpowered. Cogging torque must be extremely low for the SmartKnob so that the knob turns completely smoothly when no virtual detents are enabled, and to avoid the cogging torque «pulling» to an adjacent position when you let go of the knob. The original motor has essentially zero discernible cogging. Generally motors that use discrete neodymium

High pole count and/or low «kv» — In order to get smooth/precise angle control, it's useful to have more poles. This generally goes hand-in-hand with a low «kv» value, and both generally mean that the motor was specifically designed for low-speed operation and will be less likely to overheat when driven at low speeds with no airflow. The original motor has 7 pole-pairs and a KV around ~270.

Appropriate coil resistance — Somewhere around The SmartKnob is designed around 5V USB operation using a USB-C connector, allowing theoretically up to 3A (but the TMC6300 motor driver currently used is limited to 2A). This means the motors need to be high enough resistance to avoid drawing too much current. The original motor has a U-V resistance of ~8 ohms, which results in a nice balance of torque vs heat. The design could be changed to accommodate a different voltage/current if absolutely necessary (e.g. using USB PD for higher voltage, and changing to a different motor driver), but this would result in substantial redesign.

Я провёл следующий эксперимент: Ставлю магнитное поле в одно положение, жду когда ротор в него сядет, записываю, где он вставал по магнитному энкодеру. Потом чуть вращаю поле и снова записываю. И так 720 раз за один оборот. Ротор при большом коггинге не доезжает до конца поля, его держат магниты. Насколько не доехал, настолько и держало. Проходясь туда и обратно, можно рассчитать карту коггинга двигателя. У одного вышло 1.49 мН·м, а у второго 2,49 мН·м. Это очень мало, значит двигатели проходят по коггингу.

Карта коггинга для мотора 2
Карта коггинга для мотора 2

Также померил сколько тормозит подшипник (выбег). Раскрутил ротор, отключил питание, записали, как останавливается. Получилось 0.87 мН·м (это оценка всего механического сопротивления мотора).

Также померил на практике сколько пар полюсов у мотора. Поворачиваю поле на 60 электрических градусов, смотрю, насколько повернулся вал.

После замеров я решил, что можно для каждого отдельного экземпляра двигателя записывать его «днк», чтобы потом как-то калибровать прибор под конкретное устройство. Пока данных мало ещё, но думаю у этой идеи есть потенциал. 

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

На графике по горизонтали — сколько примерно требуется фазного тока. По вертикали — запас момента:

  • ниже 1 — мотору может не хватить силы;
  • 1–3 — работать будет, но щелчки могут быть слабыми или разными;
  • выше 3 — хороший запас.
Замеры момента двигателя
Замеры момента двигателя

На сегодня пока всё. В следующий раз расскажу, как дела обстоят с щелчками в каждом из двигателей.