Выбор экономичных электродвигателей для манипулятора робота

Views icon 5550
Choosing Electric Motors for the Robot Arm

В этой статье я хочу рассказать, как происходил выбор важнейшего компонента манипулятора робота — электродвигателей. Начну с обзора решений, выбранных Trossen Robotics в манипуляторе Viper X 300 S, который является одним из самых популярных решений для исследовательских проектов вроде Aloha 2 и Pi0.

Сервоприводы в манипуляторе Viper X 300 S

Сервоприводы в манипуляторе ViperX 300 S

Сервоприводы в манипуляторе ViperX 300 S

Прежде всего мы изучили существующие решения для манипуляторов с 6DOF (шестью степенями свободы). Манипулятор, на котором я сосредоточился, — Viper X 300 S, так как он изначально входил в список материалов для Aloha 2. Производитель открыл часть документации и чертежей, и мне показалось отличной идеей переиспользовать эти решения.

Настольный манипулятор ViperX-300 6DOF

Настольный манипулятор ViperX-300 6DOF

Главная сложность при создании доступного манипулятора — найти недорогие приводы с высоким крутящим моментом. В Viper X 300 S Trossen Robotics использовали DYNAMIXEL XM430-W350 сервомоторы с моментом заклинивания 4 Н·м по цене $290, and DYNAMIXEL XM540-W270-T/R сервомоторы с моментом заклинивания 10 Н·м по цене $430. A total of 9 сервопривод motors требуются для создания такого манипулятора, что доводит общую стоимость до $3590 — это уже нельзя назвать доступным.

ID Название сустава Сервопривод Скорость передачи Цена
1 талия XM540-W270 1Mbps $430 
2 плечо XM540-W270 1Mbps $430 
3 плечо (дублирующий) XM540-W270 1Mbps $430 
4 локоть XM540-W270 1Mbps $430 
5 локоть (дублирующий) XM540-W270 1Mbps $430 
6 поворот предплечья XM540-W270 1Mbps $430 
7 угол запястья XM540-W270 1Mbps $430 
8 поворот запястья XM430-W350 1Mbps $290
9 захват XM430-W350 1Mbps $290
Итого $3590

Инженер (далее — Алан), который сейчас работает над проектом, сделал кинематический расчёт для манипулятора общей длиной 700 мм и грузоподъёмностью 750 грамм.

Суставы ViperX 300

Суставы ViperX 300

Версия 1.1 — 0,75 кг
Коэффициент запаса по инерции — 1,5
Сустав Ось Плечо, см Нагрузка kg*sm kg*sm Вес на конце kg
Основание 0 0 3 7
Плечо 1 20 1,8 54,0 81 груз 0,75
Локоть 2 20 1,5 30,0 45,0 захват 0,25
Предплечье 3 0 1,2 0 0 сервопривод 0,1
Кисть -1 4 15 1,1 16,5 24,8
Кисть — 2 5 0 1 0 0
Захват 6 0 0,75 0 0

Согласно расчётам, в основании руки нужны приводы с требуемым моментом 81 кг·см, или 8 Н·м суммарно. Это значит, что если установить в основании два сервомотора, каждый с моментом заклинивания 4 Н·м, этого должно хватить. Однако крайне важно понимать: если у сервомотора момент заклинивания 4 Н·м, его пиковый рабочий момент — при котором он может стабильно работать — обычно составляет около половины этого значения, как показано на Performance Graph.

XM430-W350 Performance Graph

XM430-W350 Performance Graph

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

Типы сервоприводов

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

  • Шаговые двигатели, такие как Nema 17, Nema 23.
    Шаговый двигатель Nema 17

    Шаговый двигатель Nema 17

  • ШИМ-двигатели (широтно-импульсная модуляция), такие как Dsservo 160 кг·см.
    Dsсервопривод DS51160MG

    Dsсервопривод DS51160MG

  • UART-двигатели (универсальный асинхронный приёмопередатчик), такие как Feetech STS 3215-C01.
    Feetech-STS3215

    Feetech-STS3215

На какие ключевые показатели мы будем ориентироваться?

  • Крутящий момент
  • Точность
  • Ток, напряжение
  • Обратная связь (датчики температуры, тока, положения)
  • Вес
  • Стоимость

Что такое крутящий момент двигателя?

Крутящий момент = сила (F) × расстояние (d)

Крутящий момент = сила (F) × расстояние (d)

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

Крутящий момент двигателя определяется как произведение приложенной силы на расстояние от точки опоры до точки приложения этой силы. Формула такова:

Крутящий момент = сила × расстояние (или M = F × d). Чем выше момент, тем с большим плечом может работать этот двигатель.

Точность позиционирования

В робототехнике это один из важнейших показателей, ведь задача сервопривода — точно позиционировать руку в пространстве, и чем точнее это удаётся, тем лучше. Главные характеристики манипулятора — повторяемость и абсолютная точность.

Повторяемость

Это способность манипулятора возвращаться в одну и ту же точку пространства после множества циклов. Измеряется в миллиметрах (например, ±0,01 мм). Чем меньше значение, тем выше точность повторения движений.

Абсолютная точность

Это способность манипулятора достигать заданной точки пространства относительно глобальной системы координат. Измеряется в миллиметрах (например, ±0,1 мм). Абсолютная точность обычно хуже повторяемости из-за накопления ошибок в кинематике.

Датчики обратной связи

Датчики положения

  • Датчики Холла: определяют положение ротора. Они используют магниты, чтобы понять, где находится подвижная часть двигателя (ротор) и как быстро она вращается.
    Принцип работы датчика Холла

    Принцип работы датчика Холла

  • Резольверы: обеспечивают точное определение угла поворота. Они работают как точные «угловые детекторы», указывая точное положение ротора двигателя.
    Принцип работы резольвера

    Принцип работы резольвера

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

    Принцип работы потенциометра

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

    Принцип работы оптического энкодера

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

    Принцип работы магнитного энкодера

Датчики тока

  • Датчики измерения тока: измеряют потребляемый двигателем ток для оценки нагрузки.
    Принцип работы датчика измерения тока

    Принцип работы датчика измерения тока

Датчики температуры

  • Термопары или термисторы: следят за температурой двигателя, чтобы предотвратить перегрев.
    Принцип работы термопары

    Принцип работы термопары

Шаговые двигатели

Схема шагового двигателя

Схема шагового двигателя

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

For example, the Nema 17 Bipolar 1.8° 36Ncm можно сравнить с бюджетным UART-сервомотором ST3215-C018 в схожем ценовом диапазоне. Nema 17 весит 280 грамм и имеет момент 36 Н·см (или 3,6 кг·см) при шаге 1,8 градуса.

Шаговый двигатель Nema 17

Шаговый двигатель Nema 17

Сервомотор в схожем ценовом диапазоне, Feetech ST3215-C018, весит 55 грамм, имеет момент 30 кг·см и точность позиционирования 0,09 градуса.

Модель двигателя Масса/граммы  Номинальный момент/кг Точность/градусы Цена/$
Nema 17 Bipolar 1.8deg 36Ncm 280 3,6 1,8 10,75
Feetech ST3215-C018 55 15 0,09 16.45

Итак, если сравнивать по ключевым характеристикам, которые мы учитывали для нашей руки — вес × момент × точность позиционирования, — разница составит (280 / 55) × (15 / 3,6) × (1,8 / 0,09) ≈ 424 раза. Конечно, нельзя сравнивать эти типы двигателей только по трём параметрам — мы упустили ряд других факторов: обороты, передаточное отношение, шум, люфт. Если добавить их в таблицу сравнения, разница уже не будет столь значительной. Для некоторых сценариев двигатель Nema может оказаться лучшим выбором.

ШИМ против UART

Базовая схема сервопривода

Базовая схема сервопривода

Я начал искать доступные сервоприводы с высоким моментом. Первым, что я нашёл, был Dsсервопривод RDS51150, имеющий момент 150 кг·см — очень высокое значение для такого типа сервопривода. Особенность этих сервоприводов в том, что они включают систему управления с датчиком положения на основе потенциометра, что усложняет получение обратной связи и управление положением из-за ограниченной точности и чувствительности потенциометра.

Принцип широтно-импульсной модуляции

Принцип широтно-импульсной модуляции

Особенность работы двигателей Dsservo в том, что это ШИМ-двигатели (широтно-импульсная модуляция). Это способ управления мощностью электрического тока путём его включения и выключения импульсами. У них нет магнитного энкодера для передачи текущего положения вала и нет встроенного контроллера. Эти двигатели не подходят для робототехнических систем, где важны точность позиционирования и обратная связь.

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

Магнитный энкодер AS5600

Магнитный энкодер AS5600

Алан порекомендовал хорошего программиста, работающего в робототехнике. Он предложил отказаться от ШИМ в пользу UART-двигателей, так как дополнительные сложности в программном управлении и технической реализации, скорее всего, не оправдаются. Надёжность недорогих ШИМ-двигателей по сравнению с UART также под вопросом, поскольку встроенные потенциометры для определения скорости часто выходят из строя.

PWM UART
Принцип работы Аналоговый: управление мощностью через широтно-импульсную модуляцию Цифровой: передача команд через последовательный интерфейс
Основная задача Плавное регулирование скорости (двигатели постоянного тока) Точное позиционирование (сервоприводы)
Точность Высокая по скорости, низкая по положению Высокая по позиционированию (точность шага)
Связь Односторонняя (управление → двигатель) Двусторонняя (поддерживает обратную связь)
Сложность аппаратной части Минимальная (драйвер + ШИМ-генератор) Высокая (контроллер с UART + протокол)
Энергоэффективность Выше (прямое управление мощностью) Ниже (зависит от протокола и обработки)
Типовые применения Дрели, вентиляторы, сервоприводы 3D-принтеры, ЧПУ, робототехника

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

Я начал рассматривать подходящие UART-двигатели и после тщательного изучения остановился на следующих типах: Feetech 30 кг и 50 кг. При покупке партиями по 100 штук стоимость составит $12 each.

Сервомотор Feetech STS3215-C018. Момент и люфт

Сервомотор Feetech STS3215

Сервомотор Feetech STS3215

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

График момента, мощности, КПД и тока

График момента, мощности, КПД и тока

На графиках по ссылке following graphs видно, что максимальный рабочий момент, на который стоит ориентироваться, на самом деле вдвое меньше заявленного — это видно в середине графика. В частности, там указано 15 и 25 кг·см. Это значит, что при плече 700 мм с двумя двигателями по 50 кг мы сможем показать максимальную грузоподъёмность 240 грамм, чего недостаточно.

В прошлом месяце Алан заказал несколько образцов для тестирования дома. Вот что мы заметили.

Измерение люфта Feetech STS3215

Измерение люфта Feetech STS3215

Люфт сервомотора вдвое больше заявленного (≤0,5°) в the technical documentation и составляет 3 мм при длине плеча 160 мм, что соответствует примерно 1,072 градуса.

 

Во-вторых, мы измерили температуру под постоянной нагрузкой.

 

Тест 1: Проверка перегрева при удержании статической нагрузки.

Тест перегрева под статической нагрузкой. Feetech STS3215

Тест перегрева под статической нагрузкой. Feetech STS3215

Рука с гантелью была установлена горизонтально, удерживая груз 1 кг на плече 15 см, что даёт момент 15 кг·см. За 10 минут температура поднялась до 48 °C и оставалась стабильной в течение часа без дальнейшего роста.

Тест 2: Колебания в диапазоне ±90 градусов. Измерение температуры

Колебания в диапазоне ±90 градусов. Тест температуры. Feetech STS3215

Колебания в диапазоне ±90 градусов. Тест температуры. Feetech STS3215

Начав с 48 °C, температура достигла 60 °C через 50 минут. Следующие 20 минут температура не росла. Затем скорость колебаний снизили, чтобы ускорить нагрев (см. примечание ниже). Потребовалось ещё 40 минут, чтобы достичь 71 °C, после чего двигатель перегрелся.

Выводы

  • Критический температурный порог: при 71 °C двигатель начинает сбоить, как наблюдалось в экспериментах вчера и сегодня (два случая). Встроенной тепловой защиты, по-видимому, нет, поэтому при достижении этой температуры потребуется ручное отключение.
  • Влияние ускорения на нагрев: снижение ускорения увеличивало скорость роста температуры. Сначала, при ускорении 5, температура достигла 60 °C. Снижение ускорения до 2 привело к перегреву через дополнительное время. Завтра в следующих тестах мы измерим время до перегрева при ускорении 5, так как ускорение 2 слишком медленное для нашего применения.

На этом пока всё по электродвигателям. Обновления о нашем прогрессе в робототехнике обязательно появятся на сайте!