Компонент · Исполнительный механизм

Редукторный двигатель TT (DC)

Жёлтый редукторный двигатель TT — привод первых роботов на колёсах. Как работает редуктор, каковы напряжение и скорость и зачем нужен драйвер.

Что это такое

Редукторный двигатель TT — это жёлто-синий двигатель в нижней части почти каждого первого робота на колёсах. Это небольшой коллекторный двигатель постоянного тока, закреплённый на пластиковом редукторе, с выходным валом с двумя D-образными гранями, который плотно входит в подходящее колесо. Купите два, добавьте платформу и опорный ролик — и получите робота, способного ехать и поворачиваться, поэтому именно он служит приводом первого робота, следующего по линии или объезжающего препятствия.

Сам по себе коллекторный двигатель постоянного тока вращается слишком быстро и слишком слабо, чтобы что-то переместить. Редуктор делает его полезным: он превращает это быстрое слабое вращение в медленное и сильное, необходимое колесу.

Разрез редукторного двигателя TT: коллекторный двигатель постоянного тока приводит малую шестерню в передаче 1:48 внутри жёлтого редуктора, выходной вал вращает протектированное колесо; из двигателя выходят красный и чёрный провода, а таблица характеристик указывает 3–6 вольт, около 200 RPM при 6 вольт и ток останова примерно 1 ампер.
Двигатель приводит малую шестерню в передаче с понижением; редуктор меняет RPM на момент, необходимый колесу, а вал с двумя D-образными гранями передаёт вращение колесу. Скачать SVG

Как это работает

Внутри жёлтого корпуса происходят два процесса:

  1. Двигатель преобразует электрическую энергию во вращение. Подайте напряжение на его два вывода — и он начнёт вращаться; измените полярность — и он будет вращаться в другую сторону. Более высокое напряжение означает большую скорость.
  2. Редуктор снижает эту скорость. Передача ≈1:48 означает, что колесо делает примерно один оборот на каждые 48 оборотов двигателя. Скорость уменьшается, а момент увеличивается в том же отношении — это нужный компромисс: колесу требуется сила, а не момент. Подходит ли именно это передаточное число вашему роботу, можно определить расчётом до покупки: см. выбор редукторного двигателя постоянного тока.

Для управления одновременно выполняют два действия: задают направление, выбирая положительный вывод (это делает H-мост), и задают скорость с помощью PWM — быстро переключая питание, чтобы двигатель воспринимал среднее напряжение. Освойте эту пару в руководстве управление двигателями постоянного тока с помощью PWM и H-моста.

Когда его следует использовать

Выбирайте двигатель TT для любого лёгкого колёсного робота с небольшой скоростью: роботов, следующих по линии, объезжающих препятствия и проходящих лабиринт, а также для первой платформы с дифференциальным приводом. Он недорог, прощает ошибки, и каждое руководство для начинающих рассчитано на него.

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

Подключение и важные нюансы

  • Никогда не подключайте его непосредственно к логическому выводу. Ток останова составляет около 1 A. Управляйте им через L298N или аналогичный H-мост, питаемый от батареи, а не от вывода 5 V Arduino.
  • Два двигателя не будут одинаковыми. Даже одинаковый PWM редко обеспечивает идеально прямое движение; скорректируйте один двигатель в программном обеспечении или замкните контур регулирования скорости с помощью энкодеров.
  • Учитывайте бросок тока и противоЭДС. При запуске двигатели просаживают напряжение питания, а при остановке возвращают напряжение. Разделите питание двигателей и логических схем, объединив их через общую землю, — см. питание робота.
  • Согласуйте колесо с валом. Вал с двумя D-образными гранями правильно устанавливается только в такое же отверстие с двумя D-образными гранями; в круглом отверстии он будет проскальзывать.

Четыре числа в спецификации двигателя

Любой коллекторный двигатель постоянного тока характеризуется четырьмя величинами, причём они не независимы: вся кривая следует из двух из них.

Величина Двигатель TT при 6 V Что она означает
Скорость без нагрузки ~200 RPM Максимальная скорость вращения при полном отсутствии нагрузки
Ток без нагрузки ~150 mA Ток при свободном вращении — в основном трение в редукторе
Момент останова ~0.8 kg·cm Максимальная сила при нулевой скорости
Ток останова ~1 A Ток при удержании. Величина, которую должен выдержать драйвер

Момент коллекторного двигателя постоянного тока уменьшается линейно с ростом скорости: от момента останова при нулевом RPM до нуля при скорости без нагрузки. Ток изменяется так же в обратную сторону. Отсюда следуют три важных практических следствия.

Максимальная мощность достигается при половине скорости. Мощность равна моменту, умноженному на скорость, а произведение двух линейных величин достигает максимума в середине диапазона. Двигатель TT при 6 V выдаёт наибольшую мощность примерно при 100 RPM.

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

Ток останова, а не рабочий ток, является расчётным ограничением. Двигатель, спокойно потребляющий 150 mA, мгновенно начнёт потреблять 1 A, если колесо зажмётся на стене, а два остановившихся двигателя потребят 2 A. И драйвер, и батарея должны выдерживать эту нагрузку, потому что на роботе она возникает постоянно.

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

Расчёт занимает пять минут и заранее отвечает на большинство вопросов «мой робот слишком медленный».

Скорость. Окружность колеса × RPM ÷ 60 даёт метры в секунду:

65 mm wheel -> circumference = pi x 0.065 = 0.204 m
200 RPM     -> 200 / 60 = 3.33 rev/s
speed       = 0.204 x 3.33 = 0.68 m/s

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

Момент. Чтобы разогнать робот массой m с ускорением a, каждому из n приводных колёс необходим:

torque per wheel = m x a x r / n

Для робота массой 500 g с ускорением 0.5 m/s² на колёсах 65 mm (r = 0.0325 m) с двумя приводными колёсами:

= 0.5 x 0.5 x 0.0325 / 2 = 0.004 N.m = 0.041 kg.cm

При моменте останова 0.8 kg·cm это почти двадцатикратный запас, поэтому двигатели TT хорошо работают на лёгких роботах и большинству обычно не требуется выполнять этот расчёт. Выполняйте его, когда робот становится тяжёлым или должен преодолевать подъёмы.

Затем проверьте покрытие. Момент двигателя — лишь одно ограничение; вторым является трение. Лёгкий робот на гладком полу обычно достигает предела сцепления примерно при четверти момента останова, то есть большая часть возможностей двигателя вообще не достигает земли. Руководство усилие толкания и сцепление подробно объясняет, какое ограничение вы действительно достигаете.

Почему робот не едет прямо

Два двигателя TT с одинаковым PWM не обеспечат прямое движение, и это удивляет людей сильнее, чем следовало бы. Основные причины по убыванию влияния:

Причина Типичная величина Способ устранения
Различие трения в редукторах Разница скоростей 5–15% Коррекция в программном обеспечении или контур регулирования скорости
Разброс параметров обмоток двигателя Несколько процентов То же
Различие диаметров колёс 1–2% Измерение и коррекция в одометрии
Неравномерное распределение массы Изменяется Перемещение батареи
Разные пороги запуска Одно колесо начинает движение при скважности 25%, другое — при 32% Измерение обоих порогов; на малой скорости это главная причина

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

Существуют два реальных решения. Коррекция в программном обеспечении — это коэффициент для каждого двигателя, найденный опытным путём: двигайтесь вперёд, измеряйте отклонение на 2 m, изменяйте коэффициент и повторяйте. Это быстро, но работает только при том напряжении батареи и на той поверхности, на которых выполнена настройка. Правильное решение — энкодеры и контур регулирования скорости, которые непрерывно корректируют движение независимо от состояния батареи.

Мёртвая зона и её значение

Ниже определённой скважности двигатель вообще не вращается — сначала необходимо преодолеть статическое трение щёток и передачи. Для двигателя TT это обычно скважность 20–35%, причём у двух двигателей из одной упаковки она различается.

Измерьте её:

// Ramp up slowly and note where each wheel starts.
for (int duty = 0; duty <= 255; duty += 5) {
  analogWrite(ENA, duty);
  Serial.println(duty);
  delay(500);                 // long enough to see it start
}

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

const int DEADBAND_A = 65;    // measured, out of 255

int applyDeadband(int speed) {
  if (speed == 0) return 0;
  int sign = (speed > 0) ? 1 : -1;
  return sign * map(abs(speed), 1, 255, DEADBAND_A, 255);
}

Без этого нижняя четверть диапазона регулирования вообще ничего не делает, из-за чего контур ПИД-регулятора (PID) ведёт себя у заданного значения крайне странно: небольшие коррекции буквально не действуют, пока накопленная интегральная составляющая не превысит порог, после чего робот дёрнется.

Диагностика

Симптом Вероятная причина Исправление
Плата перезагружается при запуске двигателей Ток двигателей проходит через контроллер Отдельная батарея; общая только земля
Двигатель гудит, но не вращается Скважность ниже мёртвой зоны или заклинил редуктор Увеличить скважность; проверить сломанную шестерню
Робот уклоняется только на малой скорости Разные пороги трения покоя Измерить и отдельно скомпенсировать каждый двигатель
Робот уклоняется на всех скоростях Нужна коррекция или диаметры колёс различаются Выполнить коррекцию в ПО, затем измерить колёса
Скорость падает по мере работы Просадка батареи Скорость пропорциональна напряжению; замкнуть контур скорости или взять свежий блок
Скрежет, затем свободное вращение Сломана пластиковая шестерня Они ломаются от ударов; при повторении нужен двигатель с металлическими шестернями
Колесо болтается на валу Круглое отверстие на валу с двумя D-образными гранями Использовать подходящее колесо с двумя D-образными гранями
Один двигатель заметно слабее Износ щёток или частично сломанная шестерня Поменять двигатели местами и определить неисправную сторону
Оба двигателя одновременно прерывисто вращаются Источник питания не обеспечивает ток останова Более ёмкий блок; проверить внутреннее сопротивление

Двигатель TT или что-то другое?

Двигатель Типичная характеристика Когда выбирать
Редукторный двигатель TT 3–6 V, ~200 RPM, пластиковые шестерни, ~$2 Обучение, лёгкие роботы, любая плоская поверхность
TT с энкодером То же плюс магнитный энкодер Нужна одометрия — лучше купить такой вариант, доработка неудобна
Редукторный двигатель N20 с металлическими шестернями 6–12 V, много передаточных чисел, металлические шестерни, ~$8 Небольшие роботы, которым нужны точность или долговечность
25GA-370 12 V, большой момент, металлические шестерни Более тяжёлые роботы, подъёмы, колёсные платформы для улицы
Сервопривод непрерывного вращения 4.8–6 V, встроенный драйвер Нужно колесо без отдельного драйвера двигателя

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

Исследуйте граф

Используется в этих сборках

Проекты, учебные пути и симуляторы, в которых используется Редукторный двигатель TT (DC).

Сравнение

Альтернативы

Вопросы

Редукторный двигатель TT (DC): частые вопросы

Что такое редукторный двигатель TT?

Редукторный двигатель TT — это недорогой коллекторный двигатель постоянного тока с пластиковым редуктором и выходным валом с двумя D-образными гранями, который плотно входит в стандартное колесо робота. Это приводной двигатель по умолчанию для первого робота на колёсах, который строит большинство людей, поскольку два таких двигателя и один опорный ролик образуют полноценную платформу 2WD.

Какое напряжение нужно двигателю TT?

Двигатель TT работает от 3 до 6 вольт. Большинство роботов на колёсах питают его от блока 4×AA (6 V) или 2×18650 (7.4 V) через драйвер двигателя. При 3 V он вращается, но с малым моментом; 6 V — обычный оптимальный вариант для лёгкой платформы.

Может ли Arduino непосредственно управлять двигателем TT?

Нет. Двигатель TT потребляет около 150 mA при работе и почти 1 A при останове — намного больше, чем может обеспечить вывод Arduino, а противоЭДС (EMF) может повредить вывод. Всегда управляйте им через H-мост, например L298N, и регулируйте скорость с помощью PWM, подаваемого на драйвер.

Как быстро вращается редукторный двигатель TT?

Около 200 RPM без нагрузки при 6 V. Под весом платформы он вращается медленнее — именно для этого и нужен редуктор 1:48: он меняет высокую скорость двигателя на момент, необходимый для перемещения робота.

Почему из-за двух двигателей TT мой робот уклоняется, а не едет прямо?

Дешёвые двигатели TT никогда не подобраны идеально, поэтому одинаковый PWM даёт немного разные скорости. Скорректируйте это в программном обеспечении, изменив PWM одного двигателя, либо установите энкодеры колёс и замкните контур регулирования скорости. Поэтому роботы, объезжающие препятствия и следующие по линии, управляют движением, независимо задавая скорости двух колёс.

Дополнительные материалы

Источники