#Самолёты и планерыГайд

Сервомашинки для моделей: типы, характеристики, проверка

Как устроена сервомашинка и что значат кг·см и с/60°, чем цифровая серва отличается от аналоговой, какую взять для паркфлаера, как проверить сервотестером или Arduino и подключить к полётному контроллеру.

Набор для Arduino на столе: плата, макетки, датчики и две синие микросервомашинки SG90
Фото: Robin Glauser / Unsplash

Сервомашинка, или серва, поворачивает руль модели на угол, который задаёт пульт. Внутри стоят маленький мотор, редуктор, потенциометр на выходном валу и плата, которая сравнивает команду с положением вала. Команду серва получает импульсом раз в 20 мс (50 Гц): импульс 1500 мкс ставит её в центр, 1000 и 2000 мкс отклоняют в крайние положения. Для пенопластового паркфлаера массой до килограмма обычно хватает микросерв класса 9 г вроде HXT900, TG9e или SG90 с моментом 1,5–1,8 кг·см. Дальше о том, как читать характеристики, подбирать, проверять и подключать сервы.

Как устроена серва

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

Связь импульса и угла линейная. В радиоуправлении принят диапазон 1000–2000 мкс с центром 1500, и большинство серв в нём проходят около ±45° от центра. Многие сервы принимают и более широкие импульсы: китайские учебные материалы по SG90 указывают 0,5–2,5 мс для поворота на 180°, но такой ход есть не у каждой модели, а упор в механический ограничитель быстро убивает шестерни.

Ширина импульса задаёт угол сервомашинкиТри кадра по 20 миллисекунд с импульсами 1000, 1500 и 2000 микросекунд. Им соответствуют положения качалки −45 градусов, центр и +45 градусов. Внизу примечание: библиотека Arduino Servo по умолчанию использует диапазон 544–2400 микросекунд.Один кадр 20 мс (50 Гц): важна только ширина импульса1000 мкс: вал поворачивается на −45°…20 мс1000 мкс−45°1500 мкс: вал поворачивается на центр…20 мс1500 мксцентр2000 мкс: вал поворачивается на +45°…20 мс2000 мкс+45°Стандарт радиоуправления: 1000–2000 мкс. Библиотека Arduino Servo по умолчаниюрастягивает write(0…180) на 544–2400 мкс: это шире хода многих серв.
Ширина импульса задаёт угол: 1500 мкс — центр

Цифровая и аналоговая

Снаружи они одинаковые и понимают один и тот же сигнал. Разница в том, как плата управляет мотором. Аналоговая серва подаёт на мотор импульсы с той же частотой, что приходит от приёмника, около 50 раз в секунду. Цифровая обрабатывает команду микроконтроллером и обновляет мотор чаще: Hitec называет для своих цифровых серв 300 Гц. Отсюда полный момент уже при малом отклонении от заданного угла, жёсткое удержание руля и быстрый отклик. Платить приходится током: цифровая серва потребляет больше, особенно когда держит нагруженный руль, и тихонько «поёт» в нейтрали.

Для медленного пенолёта разницы почти не видно. Переплачивать незачем. Цифровые сервы ставят на пилотажные модели, вертолёты и рули с большой нагрузкой.

Мотор тоже бывает разным. Дешёвые сервы несут обычный коллекторный мотор с железным ротором. В сервах получше ставят безжелезный (coreless) мотор: ротор без сердечника легче, разгоняется быстрее и меньше дёргается. Такой мотор, по данным HobbyKing, ставили и в HXT900. Верхний класс собирают на бесколлекторных моторах: например, у KST есть HV-сервы на таких моторах с моментом в десятки кгс·см.

Характеристики: кг·см, с/60° и вольты

  • Момент пишут в кг·см (в паспорте иногда кгс·см или kg/cm, смысл одинаковый). 1,6 кг·см значат, что на плече 1 см от оси серва удержит 1,6 кг, на плече 2 см только 0,8 кг. В американских паспортах момент дают в oz·in: 1 кг·см ≈ 13,9 oz·in.
  • Скорость указывают временем поворота на 60°: 0,12 с/60° у HXT900, 0,08 с/60° у быстрой MG90S на 6 В.
  • От напряжения зависят обе цифры, поэтому в паспорте их дают при 4,8 и 6,0 В, у HV-серв ещё при 7,4 или 8,4 В. Сравнивайте сервы при одном и том же напряжении.
  • Шестерни бывают пластиковые и металлические. Пластиковые (нейлон) лёгкие и дешёвые, но срезаются при ударе по рулю. Металлические (буква MG в названии) переносят жёсткие посадки, весят больше и со временем дают люфт.

Вот сервы, которые чаще всего встречаются в пенопластовых моделях, и для сравнения одна стандартная:

Серва Масса Момент Скорость, с/60° Особенности
HXT500 (Hextronik) 6,2 г 0,6 кг·см 0,08 субмикро для лёгких моделей
HXT900 (Hextronik) 9 г 1,6 кг·см 0,12 при 4,8 В аналоговая, coreless, нейлон
TG9e (Turnigy) 9 г 1,5 кг·см при 4,8 В 0,10 при 4,8 В аналоговая, пластик, снята с производства
SG90 (TowerPro) 9 г 1,8 кг·см при 4,8 В 0,10 при 4,8 В аналоговая, пластик
MG90S (TowerPro) 13,4 г 1,8 / 2,2 кг·см 0,10 / 0,08 металлические шестерни
ES08MA II (Emax) 12 г 1,6 / 2,0 кг·см 0,12 / 0,10 металл, тонкий корпус
SH-0255MG (Savöx) около 16 г 3,1 / 3,9 кг·см 0,16 / 0,13 цифровая, металл, подшипник
HS-311 (Hitec) 43 г 3,0 / 3,5 кг·см 0,19 / 0,15 стандартный размер 40 × 20 × 37 мм

Через косую черту даны значения при 4,8 и 6,0 В (у MG90S производитель указывает момент 2,2 кг·см при 6,6 В). Цифры взяты со страниц производителей и HobbyKing, а у HXT900 источники расходятся: HobbyKing пишет 1,6 кг·см при 4,8 В, база Servo Database относит эту цифру к 6 В, а при 4,8 В даёт 1,2 кг·см. Дешёвые 9-граммовые сервы продаются под разными брендами и в разных ревизиях, поэтому паспорт конкретной партии лучше проверить, а не верить надписи на корпусе.

HXT900, HXT500 и TG9e когда-то продавались в том числе в магазине, который раньше работал на этом домене. Первые две теперь встречаются реже, но посадочное место под 9-граммовую серву стало стандартом: в него встают SG90, ES08 и десятки клонов.

Как выбрать серву для модели

Массу модели формула нагрузки на руль не учитывает. Руль нагружает поток воздуха, поэтому считают по размеру руля, скорости и углу отклонения. Британские моделисты на форуме BARCS приводят такую оценку:

момент (кг·см) ≈ 0,133 × L × C² × V² × α / 2 000 000

где L — длина руля в сантиметрах, C — его средняя хорда в сантиметрах, V — скорость в м/с, α — отклонение в градусах. Формула верна, если плечо качалки и кабанчика одинаковое.

Пример. Элерон паркфлаера длиной 35 см и хордой 4 см отклоняется на 20° при 15 м/с (54 км/ч): выходит около 0,17 кг·см. На 25 м/с, в пологом пикировании, уже около 0,47 кг·см, потому что скорость входит в квадрате. Моделисты удваивают результат на порывы и флаттер, а на пенопласте ещё и на посадку, когда руль цепляет траву. Даже с запасом 9-граммовая серва на 1,5 кг·см справляется. С большим запасом. Серва на пределе работает медленно, греется и живёт недолго.

Ориентиры по классам:

Класс серв Масса сервы Момент Куда ставят
Субмикро 2–6 г до 1 кг·см комнатные модели, планеры-метательки, модели до 150–200 г
Микро около 9 г 1,2–2 кг·см пенолёты и паркфлаеры от 0,5 до 1 кг и чуть тяжелее
Мини 12–25 г 2–4 кг·см модели 1–2 кг, рули побольше, жёсткие посадки
Стандарт 40–55 г от 3 кг·см тренеры и модели от 2 кг

Опорная точка для микрокласса: команда Flite Test комплектует набор электроники для своих самодельных моделей массой 500 г–1 кг пятью 9-граммовыми сервами Emax, и те же сервы кладёт в набор для моделей тяжелее килограмма. Для самолёта из потолочки размахом около метра нужны две-четыре таких сервы. Тому, кто ещё выбирает первую модель, поможет статья «Что такое паркфлаер».

Молодой пилот с пультом радиоуправления на авиамодельном поле, позади стоят модели самолётов
Перед первым вылетом с поля каждую серву проверяют с пульта: руль должен отклоняться в нужную сторону и без люфта · Фото: Clint McKoy / Unsplash

Разъёмы и цвета проводов

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

Стандарт Минус Плюс Сигнал
JR коричневый красный оранжевый
Futaba чёрный красный белый
Hitec чёрный красный жёлтый

Штекеры JR и Futaba совместимы, у Futaba на корпусе есть ключ-выступ, который иногда срезают ножом, чтобы штекер встал в гнездо JR. Сигнальный провод самый светлый. Всегда. Для длинных удлинителей, например к сервам в консолях крыла, берут витой провод: он меньше ловит помехи.

Проверка: сервотестер, приёмник, Arduino

Сервотестер — недорогая коробочка, которая проверяет серву без пульта. У типичного тестера три режима: ручной (ручкой крутите импульс в диапазоне 1,5 ± 0,5 мс), нейтраль (держит 1,5 мс, чтобы поставить качалку ровно) и автоматическое качание из края в край. Питание 4,8–6 В берут от BEC регулятора или от отдельного источника.

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

Arduino удобен, если нужно точно знать длину импульса. Скетч ниже ставит серву в центр, качает её на весь диапазон и принимает команды из монитора порта. Сигнал подключите к пину 9, минус к GND Arduino, а плюс сервы к отдельному источнику 5 В с общим минусом: питание сервы от вывода 5V платы часто перезагружает плату при рывке мотора.

#include <Servo.h>

const int SERVO_PIN = 9;     // сигнальный провод сервы
const int US_MIN = 1000;     // типичный диапазон аппаратуры
const int US_MAX = 2000;
const int US_CENTER = 1500;

Servo servo;
int pulse = US_CENTER;

void setPulse(int us) {
  pulse = constrain(us, US_MIN, US_MAX);
  servo.writeMicroseconds(pulse);
  Serial.print(F("Импульс, мкс: "));
  Serial.println(pulse);
}

void sweep() {
  for (int us = US_MIN; us <= US_MAX; us += 10) {
    servo.writeMicroseconds(us);
    delay(20);               // один кадр 50 Гц
  }
  for (int us = US_MAX; us >= US_MIN; us -= 10) {
    servo.writeMicroseconds(us);
    delay(20);
  }
  setPulse(US_CENTER);
}

void setup() {
  Serial.begin(115200);
  // Без min/max библиотека считает крайними 544 и 2400 мкс
  servo.attach(SERVO_PIN, US_MIN, US_MAX);
  setPulse(US_CENTER);
  Serial.println(F("c — центр, s — качание, + / - — шаг 10 мкс, число — импульс"));
}

void loop() {
  if (!Serial.available()) return;
  int ch = Serial.peek();
  if (isDigit(ch)) {
    setPulse(Serial.parseInt());
  } else {
    Serial.read();
    if (ch == 'c') setPulse(US_CENTER);
    else if (ch == 's') sweep();
    else if (ch == '+') setPulse(pulse + 10);
    else if (ch == '-') setPulse(pulse - 10);
  }
}

Откройте монитор порта на 115200 бод и отправьте 1500, 1200 или c. Почему в скетче writeMicroseconds, а не привычный write(90)? Стандартная библиотека Servo по умолчанию считает крайними импульсы 544 и 2400 мкс и пересчитывает градусы в этот диапазон, поэтому write(90) даёт около 1472 мкс, а не 1500, а write(0) и write(180) загоняют серву дальше хода, к которому она привыкла от пульта. Вызов attach(pin, 1000, 2000) задаёт привычный диапазон и заодно обрезает слишком длинные импульсы.

Установка, центровка и тяги

  1. Включите серву в нейтраль (1500 мкс с тестера или центр стика при нулевых триммерах) до того, как надевать качалку.
  2. Наденьте качалку так, чтобы она стояла перпендикулярно тяге. Шлицы на валу позволяют подобрать положение точнее, если перевернуть качалку другой стороной.
  3. Руль закрепите в нейтрали и только потом подгоните длину тяги: Z-изгибом, регулируемым замком или винтовым наконечником.
  4. Остаток выставьте субтримом в пульте. Если субтрим нужен больше 20–30 мкс, лучше переставить качалку на один шлиц.

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

Типичные неисправности

  • Дрожание в нейтрали. Изношенный потенциометр, помехи на длинном удлинителе или просевшее питание. Проверьте серву тестером: если там она неподвижна, проблема в проводке или питании.
  • Сорванные шестерни. Серва гудит, а вал прокручивается или проскакивает на одном месте. Для популярных моделей продаются ремкомплекты шестерён, их меняют, сняв нижнюю крышку корпуса. После удара проверьте все шестерни, а не только видимый сломанный зуб.
  • Перегрев и гудение. Тяга упирается, и серва держит руль в упоре. Уменьшите расходы в пульте или переставьте тягу в другое отверстие.
  • Brown-out. Сервы при рывке берут ток, BEC не вытягивает, и приёмник перезагружается прямо в полёте. Spektrum в инструкции к приёмникам называет порог 3,5 В и советует, чтобы под нагрузкой на всех сервах питание не опускалось ниже 4,8 В. Проверка простая: вольтметр на свободный канал приёмника, модель включена, рули зажимаете руками и смотрите на напряжение.

Если напряжение проседает, поставьте отдельный импульсный BEC для серв или регулятор с более мощным BEC. Как подобрать сам регулятор и мотор, мы разбирали в статье о моторах и KV, а про выбор аккумулятора есть материал о LiPo.

Подключение к полётному контроллеру

На самолёте с автопилотом сервы подключают не к приёмнику, а к выходам полётного контроллера. Он смешивает команды пульта со стабилизацией и выдаёт импульсы на сервы сам.

INAV. В конфигураторе выберите тип платформы Airplane и пресет модели во вкладке Mixer: там видно, какой выход отвечает за какой руль и к какому таймеру он привязан. Не каждый выход платы умеет работать с сервой, а выходы на одном таймере обязаны иметь одну функцию, поэтому мотор и сервы на один таймер не сажают. Реверс, центр и ход каждой сервы задают во вкладке Outputs. По умолчанию INAV выдаёт на сервы 50 Гц (параметр servo_pwm_rate, до 498 Гц), центр 1500 мкс. Частоту поднимают только для цифровых серв: по документации INAV, большинство из них поддерживает 330 Гц, а аналоговая на высокой частоте перегревается и может выйти из строя.

ArduPilot (ArduPlane). Каждому выходу назначают функцию параметром SERVOn_FUNCTION: 4 — элерон, 19 — руль высоты, 21 — руль направления, 70 — газ. Ход и центр задают SERVOn_MIN, SERVOn_MAX и SERVOn_TRIM, реверс SERVOn_REVERSED.

Betaflight тоже умеет работать с сервами: в списке миксеров есть AIRPLANE (до четырёх серв), FLYING_WING и TRI для трикоптера с сервой на хвостовом моторе, а тонкая настройка идёт командами servo и smix в CLI. Для самолётов эту прошивку выбирают редко, навигация и стабилизация крыла проработаны в INAV и ArduPilot.

Питание: выходы контроллера дают только сигнал, плюс на сервы приходит с отдельного BEC. У плат для крыльев он встроен, например у Matek F405-WTE линия серв Vx перемычкой переключается на 5, 6 или 7,2 В и выдаёт 8 А длительно. Ставить 7,2 В можно только при всех HV-сервах на борту.

С чего вообще начинать в моделизме и какие модели проще, мы рассказывали в гиде «Радиоуправляемые модели для начинающих».

Источники

Частые вопросы

Можно ли поставить SG90 вместо HXT900?

Да. Обе сервы весят около 9 г, разъём у них одинаковый, а момент близкий: у HXT900 около 1,6 кг·см, у SG90 по данным TowerPro 1,8 кг·см при 4,8 В. Корпус SG90 чуть выше (29 мм против 22 мм), поэтому проверьте, войдёт ли он в посадочное место, и при необходимости подрежьте пенопласт.

Какое напряжение подавать на обычную серву?

Классические сервы рассчитаны на 4,8–6,0 В: столько выдаёт BEC регулятора или четыре NiMH-банки. HV-сервы работают от 6,0 до 7,4 или 8,4 В и могут питаться напрямую от двухбаночного LiPo. Обычную серву на 7,4 В подключать нельзя, у неё сгорит плата.

Почему серва дрожит в нейтрали?

Чаще всего из-за изношенного потенциометра, помех на длинном проводе или просевшего питания. Проверьте серву сервотестером с отдельного источника: если там она замирает ровно, ищите причину в BEC, удлинителях или в частоте импульсов полётного контроллера. Если дрожит и на тестере, её пора менять.

Сколько серв нужно самолёту?

Трёхканальному тренеру хватает двух: руль высоты и руль направления, мотором управляет регулятор. С элеронами нужно три или четыре сервы (одна общая или по одной на каждую консоль), летающему крылу хватает двух на элевоны.

Термины в статье

Читайте также