Компонент · Исполнительный механизм
Редукторный двигатель TT (DC)
Жёлтый редукторный двигатель TT — привод первых роботов на колёсах. Как работает редуктор, каковы напряжение и скорость и зачем нужен драйвер.
Что это такое
Редукторный двигатель TT — это жёлто-синий двигатель в нижней части почти каждого первого робота на колёсах. Это небольшой коллекторный двигатель постоянного тока, закреплённый на пластиковом редукторе, с выходным валом с двумя D-образными гранями, который плотно входит в подходящее колесо. Купите два, добавьте платформу и опорный ролик — и получите робота, способного ехать и поворачиваться, поэтому именно он служит приводом первого робота, следующего по линии или объезжающего препятствия.
Сам по себе коллекторный двигатель постоянного тока вращается слишком быстро и слишком слабо, чтобы что-то переместить. Редуктор делает его полезным: он превращает это быстрое слабое вращение в медленное и сильное, необходимое колесу.
Как это работает
Внутри жёлтого корпуса происходят два процесса:
- Двигатель преобразует электрическую энергию во вращение. Подайте напряжение на его два вывода — и он начнёт вращаться; измените полярность — и он будет вращаться в другую сторону. Более высокое напряжение означает большую скорость.
- Редуктор снижает эту скорость. Передача ≈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).
- ПроектМашинка-робот под управлением смартфона: Bluetooth или Wi-Fi
- ПроектРобот обхода препятствий: датчик, сканирование и поворот
- ПроектРобот, следующий по линии: от симулятора к реальной трассе
- ПроектСоберите робота для лабиринта из ленты с памятью LSRB
- ПроектСоберите робота, следующего по линии, на микроконтроллере 8051
- Учебный путьУправление двигателями роботов: дорожная карта обучения
Сравнение
Альтернативы
Вопросы
Редукторный двигатель 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 одного двигателя, либо установите энкодеры колёс и замкните контур регулирования скорости. Поэтому роботы, объезжающие препятствия и следующие по линии, управляют движением, независимо задавая скорости двух колёс.
Дополнительные материалы