MG996R приехал ко мне в пакете с надписью «как SG90, только мощнее», и я повесил его на шлагбаум из фанеры с чистой совестью: провода те же три, код тот же. При первом же write(90) Uno мигнула и скетч пошёл заново, при втором — снова. Вечер я ловил брак в проводах, потом на секунду подключил серво к лабораторному блоку с индикатором тока и увидел цифру, которой в мире SG90 не бывает: на старте движения стрелка прыгнула за ампер. Серво была исправна — исправным был и закон, по которому она это сделала.
Разница с SG90 не только в моменте. Рабочий ток на порядок, стопор — в пятерку раз больше, шестерни металл вместо пластика, вес 55 граммов против девяти, и люфт, которого у пластика не было. Всё, что вы выучили на маленькой синей коробочке, здесь приходится перепроверять: подвеска, провода, и главное — питание, которое у SG90 прощало что угодно.
План урока: таблица сравнения с числами и условиями, почему от 5 В USB MG996R честно перезагружает плату на старте, отдельный БП 6 В с конденсатором 1000 мкФ и скетч с мягким ходом, который снижает пик тока без потери управляемости. Если вы ещё не трогали большой серво, таблицу токов я раскладывал подробнее в уроке про MG995 и MG996R — здесь же упор на практику подключения.
Момент и токи: где цифры, там и условия
Момент: SG90 держит 1,8 кг·см при 4,8 В — шторка из картона и не больше; MG996R по даташиту 9,4 кг·см при 4,8 В и 11 кг·см при 6 В — плечо в сантиметр с килограммом на конце. Обратите внимание на условие: момент зависит от питания, и та же коробочка на 5 В от платы отдаёт меньше паспортного. Скорость тоже гуляет с напряжением: 0,14 с на 60° при 6 В против 0,17 при 4,8 В — SG90 со своими 0,1 с всё ещё шустрее, но ей и нести нечего. Цифры в карточках магазинов всегда паспортные, а ваша шина может отдавать меньше номинала — держите условие в голове, когда сравниваете.
Токи — главная строка всей таблицы. SG90 в движении берёт 100-250 мА, в стопоре около 0,65 А. MG996R под движением — порядка 1,2 А при 6 В, стопорный ток по даташиту 2,5 А, а на заклинивании с холодного старта рывком подлетает к трём. Отсюда и репутация: серво не жрёт ток постоянно, она жрёт его вспышками в десятки миллисекунд, и вспышки эти на порядок выше, чем у пластика.
Шестерни: у MG996R металл, и это не только плюс. Плюс — удар об упор или палец в механизме не срезает зуб, как у SG90, где одна поспешная проверка рукой стоила мне корпуса. Минус — люфт 0,5-2° прямо из коробки, который нарастает с износом: для шлагбаума незаметно, для стрелочного индикатора или штатива камеры — уже видно. И вес: 55 граммов требуют кронштейн, а не двухсторонний скотч.
| Параметр | SG90 | MG996R | Что это меняет на практике |
|---|---|---|---|
| Момент | 1,8 кг·см при 4,8 В | 9,4 кг·см при 4,8 В, 11 при 6 В | MG996R жмёт крышку люка, SG90 — только лёгкую шторку |
| Ток в движении | 100-250 мА | около 1,2 А при 6 В | два MG996R съедают бюджет USB целиком ещё до старта |
| Ток стопора | около 0,65 А | 2,5 А по даташиту, рывком до 3 А | на заклинивании просаживает 5 В ниже сброса платы |
| Шестерни | пластик | металл | не срезает зуб об упор, но люфт 0,5-2° нарастает со временем |
| Скорость на 60° | около 0,1 с | 0,14-0,17 с, зависит от напряжения | SG90 резвее на лёгкой оси, MG996R возит груз |
Питание. Правильная схема — отдельный блок 6 В на 3-5 А только для серво, земля общая с платой в одной точке, сигнальный провод на D11. Шесть вольт — это сетевой БП с подстроечкой или пять NiMH-аккумуляторов АА; четыре алкалиновые дадут 4,8-6 В до первой просадки. Почему отдельный и почему с запасом: вспышка старта до 1,2 А плюс запас под стопор 2,5-3 А — это не щедрость, а стоимость одной перезагрузки посреди цикла. Как разводить землю и чего не делать, я подробно писал в уроке про внешнее питание и общий GND.
Конденсатор 1000 мкФ на 10 В и выше — электролит прямо на клеммах серво, плюс к плюсу, минус к минусу, короткими проводами. Он не питает серво, он держит локально те самые 10-50 миллисекунд стартовой вспышки, чтобы просадка не долетала по проводам до всего остального: без него у меня срабатывал реле-модуль от каждой команды шлагбауму. Это та же физика, что в уроке про пик тока и сброс платы, только ставки у тяжёлого привода выше.
Теперь причина перезагрузок с первого абзаца. Пять вольт на USB-шнурке — это 500 мА бюджета на всё: на саму Uno, на приёмники, на светодиоды. MG996R просит 1,2 А только в движении, и шина проваливается вниз за миллисекунды; как только питание просело к порогу, детектор brownout ATmega328P отдаёт плате команду перезапуска — и скетч начинается заново, пока серво ещё не доехала. Симптом всегда один: перезагрузка именно на старте движения, а не в покое. Я проверял просадку наглядно: индикатор на плате тускнел в момент старта серво, а Serial печатал мусор — до сброса дошло не сразу, но направление было понятно уже в первую секунду.
#include <Servo.h> Servo kran; // MG996R на отдельном БП 6 В, сигнал D11 const int PIN_POT = A0; // ручка задаёт цельconst unsigned long T_HOD = 12; // 1 градус за 12 мс: 90° за 1,08 с int tsel = 90;int tek = 90;unsigned long tHod = 0;unsigned long tLog = 0; void setup() { Serial.begin(9600); kran.attach(11); kran.write(tek); Serial.println("MG996R: myagkij hod, tsel iz potenciometra");} void loop() { unsigned long now = millis(); int novaya = map(analogRead(PIN_POT), 0, 1023, 0, 180); if (novaya != tsel) { tsel = novaya; // цель может меняться на каждом проходе } if (tek != tsel && now - tHod >= T_HOD) { tHod = now; // тик хода: один градус за тик if (tsel > tek) tek++; else tek--; kran.write(tek); } if (now - tLog >= 500) { // журнал для сверки цели и позиции tLog = now; Serial.print("cel="); Serial.print(tsel); Serial.print(" tek="); Serial.println(tek); }}Почему медленный ход помогает с током. Один write(120) с позиции 30 приказывает серво разгонять редуктор через весь ход разом — электрически это максимальная тяга с первой миллисекунды. Ход по градусу растягивает разгон: каждые 12 мс серво берёт маленькую позицию с коротким импульсом тока, и шина видит серию умеренных вспышек вместо одной длинной. На 90° уходит 1,08 секунды — для шлагбаума это ничто, а разница в просадке видна даже на лампочке в цепи питания. Арифметика для журнала: тик 12 мс — это 83 градуса в секунду и около девяноста маленьких позиций за ход вместо одной большой вспышки; темп идеальный для шлагбаума и ворот, для гонок — нет, но гонки и не на серво.
Второй потребитель тока — удержание: MG996R, которому приказали стоять под нагрузкой, греется и ест непрерывно. Для шлагбаума с пружиной или шторки с противовесом это лишнее: в простое серво можно отпустить detach(), а позиции с фиксацией механики она переживёт без электричества. Сколько серво ест и греется в удержании и когда режим оправдан, я разбирал в уроке про ток удержания.
И про дёрганье: при неустойчивом питании серво дёргается раньше, чем плата перезагружается. Если шина проседает на границе, MG996R начинает мелко вибрировать и подрагивать на месте — я грешил на скетч, пока не пересадил серво на нормальный блок, и дрожь ушла целиком. Полный список причин, включая питание, собран в уроке про дрожание и помехи; таймеры в скетче выше — обычные гейты на millis() из урока про millis вместо delay.
Порядок запуска и проверка без лаборатории
Порядок включения я завёл как ритуал: сначала питание серво, потом USB, земля всегда раньше сигнала. Дешёвый блок на 1 А не спасёт положение — вспышка старта у MG996R длиннее, чем его защита успевает сообразить, и просадка всё равно долетит. Быстрая проверка без амперметра: лампочка накаливания 6 В в разрыв плюса серво — при спокойном ходе она тлеет, на старте вспыхивает вполсилы, а на заклинивании горит как в фонарике. Мультиметр в режиме амперметра покажет точнее, но лампочка отвечает быстрее.
Числа для бюджета, если серво станет две: рабочий 1,2 А плюс рабочий 1,2 А плюс вспышка первого — вот откуда в заголовке блока 5 А. Батарейки АА на такие токи садятся заметно, но живой вариант для выездных проектов — пакет NiMH: пять банок дают ровно 6 В и держат вспышки лучше алкалиновых. Кронштейн крепите жёстко: 55-граммовый привод на люфтящем основании добавляет к реальному моменту собственные вибрации и недоезжает.
Отдельный случай — стол без блока под рукой: пять алкалиновых АА в держателе дают 7,5 В свежими и проседают к 5,5-6 под нагрузкой, для MG996R это допустимо — паспортный диапазон 4,8-7,2 В. Но держатель с тонкими пружинками — узкое место: на вспышке старта контакт подгорает, и дальше начинается перемежающееся дёрганье, которое легко перепутать с браком серво. Провода от блока к серво держите не тоньше 0,5 мм² и короче полуметра: каждый лишний метр тонкого провода добавляет омы, а ом на ампере рабочего тока — это целый вольт просадки, которого хватает на дрожь и сброс.
- Момент 1,8 против 9,4-11 кг·см: MG996R — про груз, SG90 — про лёгкую шторку
- Токи: 100-250 мА против 1,2 А рабочего и 2,5-3 А стопорного — БП 6 В на 3-5 А
- Металл держит удар об упор, но люфт 0,5-2° нарастает со временем
- Конденсатор 1000 мкФ у клемм гасит стартовую вспышку, но не заменяет БП
- Плавный ход 1° за тик по millis растягивает разгон и снижает пик тока
- 1. MG996R питается от 5 В USB, на первом write(90) Uno перезагружается. Причина?
- 2. На какой ток выбирать блок питания одного MG996R?
- 3. Что делает конденсатор 1000 мкФ у клемм серво?
- 4. Зачем тяжёлому приводу ход шагом 1 градус?
- 5. Чем платим за металлические шестерни MG996R?
Частые вопросы по теме урока
- MG996R питается от 5 В USB, на первом write(90) Uno перезагружается. Причина?
- Бюджет USB — 500 мА, вспышка старта MG996R — ампер с лишним. Питание проваливается ниже порога, и детектор brownout перезапускает контроллер. Серво тянет около 1,2 А, шина проседает и срабатывает brownout
- На какой ток выбирать блок питания одного MG996R?
- Заклинивание и упор дают стопор 2,5-3 А при 6 В, и случается он внезапно. Блок накрывает стопор с полуторным запасом — отсюда 5 А. 2,5-3 А стопорных, лучше 5 А с запасом
- Что делает конденсатор 1000 мкФ у клемм серво?
- Электролит держит локально 10-50 мс стартового рывка, не давая просадке долететь до платы. Он вспомогательный — БП по-прежнему нужен. Сглаживает стартовую вспышку в десятки миллисекунд
- Зачем тяжёлому приводу ход шагом 1 градус?
- Один write приказывает максимальную тягу на весь ход; серия маленьких позиций заменяет длинную вспышку серией коротких. Скорость платой: 90° за 1,08 с при тике 12 мс. Разгон растянут во времени — пик тока ниже
- Чем платим за металлические шестерни MG996R?
- Металл не срезает зуб об упор, но выборка в зацеплении даёт люфт от половины до двух градусов, и он растёт. Для стрелки камеры это уже заметно. Люфтом 0,5-2°, который нарастает с износом