На распродаже я купил по пачке всего, что крутилось: ULN2003, A4988, DRV8825, TMC2209 — и две недели переставлял их между проектами, как фигуры на доске, не понимая, что именно выбираю. Автокормушке достался TMC2209 за пятьсот рублей — там, где хватило бы ULN2003 за сорок; поворотному столику — 28BYJ-48 на ULN2003 там, где момента не хватало втрое и просился NEMA 17. Деньги ушли, зато вывелась шпаргалка из трёх вопросов, по которой я теперь выбираю драйвер за минуту.
Вопросы такие: какой ток у мотора на шильдике, где механизм будет жить и какой шум там переживают, и сколько я готов платить за плавность хода. Всё остальное — производные. В этом уроке пройдусь по четырём популярным драйверам с их числами, сведу в таблицу и скажу своё мнение с границей: что брать на первый проект, чтобы ошибка в выборе стоила ноль.
Каюсь и в обратном: два A4988 до сих пор лежат у меня в коробке «на всякий случай» — не потому что нужны, а потому что я их заказал, не задав себе ни одного из этих вопросов. Коробка с модулями — это склад решений, а не запчастей, и каждый модуль должен знать своё место. Ниже — расклад, который я вывел за две недели перестановок и который сэкономит вам и деньги, и вечер пайки.
Четыре драйвера — четыре характера
ULN2003 — вообще не чоппер, а семь транзисторных ключей: канал открывается и закрывается, куда скажете, а ток фазы определяется сопротивлением самой обмотки. Для униполярного 28BYJ-48 с его 90 мА это идеал: деталь копеечная, лежит в каждом наборе, а плата ULN2003 со светодиодами ещё и показывает фазы глазами — мы гоняли по ней все режимы в уроке про фазы. Микрошага нет вовсе — только такты. И на биполярный NEMA 17 его не поставить: моста нет, а полампера на канал — потолок.
A4988 — рабочая лошадка хобби-станков: до 2 А с радиатором (без него честно около 1-1,2), микрошаг до 1/16, цена 100-150 рублей и гуглимость такая, что любой ваш вопрос задавали раз пятьдесят. Vref выставляется отвёрткой за пять минут — вся процедура с формулой разобрана отдельно. Минус один, но громкий: на средних скоростях чип рубит ток жёстко, и мотор трещит и воет — лечится это не смазкой и не прокладками, а сменой драйвера.
Почему про 90 мА я говорю ULN2003, а не A4988, удобнее всего увидеть на анатомии мотора: у 28BYJ-48 внутри униполярная обвязка с общим плюсом, и каналу драйвера остаётся только замыкать конец обмотки на землю — никаких мостов, никакого чоппера, никакой настройки. Плата греется на удержании, но терпит; светодиоды горят по кругу — и вы видите работу фаз, не подключая осциллограф. Для первого знакомства с шаговиками связка не имеет конкурентов по цене входа.
| Драйвер | Тип мотора и ток | Микрошаг | Шум и цена |
|---|---|---|---|
| ULN2003 | Униполярный, до 0,5 А | Нет, только такты | Тихие щелчки; копейки, лежит в наборах |
| A4988 | Биполярный, 2 А с радиатором | До 1/16 | Треск и вой; 100-150 руб |
| DRV8825 | Биполярный, до 2,2 А | До 1/32 | Тише, но воет на резонансах; 150-250 руб |
| TMC2209 | Биполярный, до 2 А | До 1/256 с интерполяцией | Почти тишина; 300-600 руб |
DRV8825 берите, когда мотору тесно в двух амперах или нужен более мелкий шаг для гладкости: 2,2 А и 1/32 против 2 А и 1/16, при этом модуль садится в ту же колодку. Помните два сюрприза из урока про DRV8825 и TMC2209: своя формула Vref — полвольта на ампер — и минимум питания мотора около 8,2 вольта, от блока на 6-7 В чип не стартует. Аварийный вывод FAULT, если он разведён на плате, заводите на Arduino: перегрев узнается из Serial, а не по запаху.
TMC2209 — выбор для квартиры и ночи: StealthChop убирает 10-20 дБ, микрошаг 1/256 делает ход маслянистым, а UART позволяет менять ток из скетча и ловить остановку ротора через stall detection. Плата за это — цена в два-три раза выше и капризность к горячему подключению. Для станка в гараже тишину покупать незачем, для принтера в спальне — нечего и гадать.
Как я сравнивал драйверы на практике: один и тот же маршрут — четверть оборота, пауза, назад — я гнал на всех четырёх модулях с одним мотором. Маршрут дробил на порции через millis, как в уроке про неблокирующий цикл, чтобы loop() оставался живым и можно было снимать времена честно. Итог читался за минуту: ULN2003 щёлкает и греется, A4988 быстрый, но трещит, DRV8825 плавнее на той же скорости, TMC2209 не слышен вовсе, пока не упрёшься в большую нагрузку.
// Тестер драйвера: DIR=2, STEP=3, EN=8// один и тот же скетч для A4988, DRV8825 и TMC2209 — интерфейс одинconst int DIR_PIN = 2;const int STEP_PIN = 3;const int EN_PIN = 8; void setup() { pinMode(DIR_PIN, OUTPUT); pinMode(STEP_PIN, OUTPUT); pinMode(EN_PIN, OUTPUT); digitalWrite(EN_PIN, LOW); Serial.begin(9600); Serial.println("Test: 400 shagov tuda-obratno");} void run(int n, int dir) { digitalWrite(DIR_PIN, dir); for (int i = 0; i < n; i++) { digitalWrite(STEP_PIN, HIGH); delayMicroseconds(200); digitalWrite(STEP_PIN, LOW); delayMicroseconds(200); }} void loop() { Serial.println("Vpered"); run(400, HIGH); delay(1000); Serial.println("Nazad"); run(400, LOW); delay(1000);}Критерии и мнение с границей
Порядок вопросов у меня теперь жёсткий. Первый — ток мотора с шильдика: до полампера и униполярная обвязка — ULN2003, один-два ампера — A4988, выше двух — DRV8825. Второй — окружение: механизм в спальне, детской или работает ночью — только TMC2209, и тут нечего экономить; станок в гараже или мастерской — шум не считается, берите дешевле. Третий — охлаждение: без радиатора честный потолок около ампера, всё, что выше, — уже с алюминием, и это правило, а не рекомендация.
Отдельный вопрос — плавность. Микрошаг дробит рывок: 1/16 у A4988 сглаживает ход заметно лучше полного шага, 1/32 у DRV8825 — ещё вдвое мельче, 1/256 у TMC2209 с интерполяцией делает движение непрерывным на глаз. Для слайдера камеры и поворотного столика предметной съёмки это не эстетика, а качество кадра. А чтобы увидеть, куда девается ток при дроблении шага, — симулятор ниже.
Четвёртый вопрос я добавил после распродажи: что уже лежит в ящике. Если стоит исправный A4988 с радиатором, покупать DRV8825 ради двух десятых ампера нет смысла — поднимите микрошаг и проверьте нагрев. Если в наборе остался только ULN2003, а проект просит NEMA 17 — это повод докупить ровно один модуль, а не пачку: инвентарь экономит не только деньги, но и время доставки, которое в середине проекта дороже денег.
Моё мнение для первых проектов, оплаченное теми самыми пачками с распродажи: начните с того, что уже лежит в наборе. ULN2003 с 28BYJ-48 закрывает учёбу, кормушки, заслонки и всё медленное; A4988 с NEMA 17 закрывает первый серьёзный механизм. С обоими ошибка в выборе стоит ноль: они переживают перепутанные провода, перекрученный Vref и тысячи шагов в тестовом цикле. TMC2209 покупайте, когда проект дожил до спальни — то есть когда шум стал реальной проблемой, а не гипотетической: тишина заранее — это шуба, купленная летом.
И наоборот, не несите ULN2003 туда, где нужен момент: униполярная схема задействует половину обмотки на такт, и NEMA 17 с ней не поедет. Если сомневаетесь между двумя драйверами, купите оба — дешёвые модули окупаются тестом за вечер, который покажет, что вашему механизму нужно на самом деле. А потолок скорости 28BYJ-48 и срыв шагов на высоких оборотах мы вымеряли в уроке про скорость: драйвер меняет тягу, но не предел редуктора. Скорость выжимайте механикой и питанием, а не покупками.
И последнее из практики: храните драйверы в антистатике и подписывайте Vref маркером сразу после настройки — мотор, ток и дату. Через полгода вы не вспомните, какой модуль для какого мотора крутился, а перепроверка займёт пять минут, которых в тот вечер у вас не будет. У меня такая подпись спасла субботу, когда станок переехал на новый стол и настройки пришлось собирать заново: воткнул, сверил цифры на маркере с мультиметром — и поехал.
- 1. Какой драйвер для 28BYJ-48 из коробки — родной?
- 2. Что ждёт 28BYJ-48 выше 15 RPM, даже с отличным драйвером?
- 3. Сколько честно держит A4988 без радиатора?
- 4. Что у DRV8825 выше, чем у A4988?
- 5. Для какого окружения я советую TMC2209?
- ULN2003 — для униполярных 28BYJ-48 до 0,5 А: микрошага нет, цена копеечная, фазы видно по светодиодам
- A4988 — рабочая лошадка: 2 А с радиатором, 1/16, 100-150 руб; на средних скоростях трещит и воет
- DRV8825 — 2,2 А и 1/32, Vref = ток × 0,5, питание мотора от 8,2 В
- TMC2209 — StealthChop минус 10-20 дБ, 1/256, UART и stall detection; плата — цена и капризность
- Порядок выбора: ток мотора → окружение и шум → охлаждение; на первый проект — ULN2003 или A4988
Частые вопросы по теме урока
- Какой драйвер для 28BYJ-48 из коробки — родной?
- 28BYJ-48 униполярный, ток фазы около 90 мА — ULN2003 создан ровно для этого. Мостовые драйверы ему избыточны, а микрошага у ULN2003 нет вовсе. ULN2003
- Что ждёт 28BYJ-48 выше 15 RPM, даже с отличным драйвером?
- Пластиковый редуктор и слабые обмотки — потолок скорости механики, драйвер тут бессилен. Число вымеряли в уроке про скорость и позиционирование. Срыв шагов на редукторе
- Сколько честно держит A4988 без радиатора?
- Паспортные 2 А — предел с радиатором и обдувом. Голый чип уходит в тепловую защиту ближе к амперу, поэтому мой потолок без алюминия — 1-1,2 А. Около 1-1,2 А
- Что у DRV8825 выше, чем у A4988?
- 2,2 А против 2 А и 1/32 против 1/16. По шуму он между A4988 и TMC2209: вой на резонансах остаётся, треск слабее. Тишина
- Для какого окружения я советую TMC2209?
- StealthChop нужен там, где звук — проблема. В гараже переплата за тишину не работает ни на что — берите A4988 или DRV8825. Спальня, детская, ночная работа