Многим знакома недорогая система стабилизации полета от OrangeRX. Предполагалось, что она будет подспорьем начинающим пилотам, позволяя им меньше отвлекаться на борьбу с ветром, а также даст возможность выполнять более ровные и красивые полеты. В каком-то смысле это удалось - стабилизатор действительно неплохо парирует порывы ветра. Но в то же время, реализация алгоритмов стабилизации оказалась далеко не идеальной... Например, эта система пытается бороться не только с внешними возмущениями, но и с действиями пилота, в результате чего заметно "зажимаются" расходы рулей, а сами маневры становятся дергаными и ступенчатыми. Также, нередко мне встречались сообщения о дрожании сервомашинок с этим стабилизатором и прочих неадекватностях.
Но не все так плохо, и ситуацию довольно легко исправить, попутно получив несколько весьма интересных и полезных возможностей.
Так как в качестве процессора в данном стабилизаторе используется распространенный контроллер AtMega 168PA, идея написать для него альтернативную прошивку, наверное, витала в воздухе с момента появления в продаже самой первой версии этого устройства. Чем и занялся один хороший человек из Чехии с ником Noobee. Проект открытый и постоянно совершенствуется. Последний релиз был от 22.03.2014, также в свободном доступе лежат и исходные тексты прошивки. Проект поддерживает множество платформ. Это и все варианты "оранжевых" стабилизаторов (RX3S V1, V2, V3, RX3SM), и NanoWii, Hobby Eagle A3 Pro, Hobby King MINI MWC, Flip MWC 1.5...
Но вернемся к нашим баранам.
Подготовка для прошивки требуется минимальная. На плате стабилизатора уже имеются контактные площадки для подключения программатора, и их расположение соответствует разводке 6-контактного ISP-разъема AVR-программаторов (вроде USBAsp):
Контакты подписаны, так что, перепутать их будет трудно. Если же на вашем программаторе имеется только 10-контактный разъем, то можно будет сделать переходник:
Остается подпаять к контактным площадкам проводки или шестиконтактный разъем от старых компьютерных "железок":
Обратите внимание, что процессор стабилизатора питается напряжением 3,3в. Если ваш программатор оснащен переключателем 3,3-5 вольт, не забудьте установить нужное напряжение!
Мой программатор был еще из старых партий и такой возможности не имел, поэтому питающую ножку в разъеме я припаивать не стал, а вывел ее проводком к соответствующей контактной площадке, благо, она на плате имеется и расположена довольно удобно.
Также стоит сразу припаять трехштырьковый разъем на контакты Tx, Rx, Gnd, т.к. они понадобятся для реализации отдельного канала для второго элерона и подключения стабилизатора через S.BUS или к Спектрумовскому сателлиту вместо полноценного приемника.
Внимание!!! Ни в коем случае не подавайте на пин Rx напряжение питания! Спалите процессор!
Немного поработав бормашинкой и ножом, в корпусе проделываются отверстия под новые разъемы:
Может, не очень красиво, зато функционально и доступно.
Теперь выбираем нужный вариант прошивки. Их для данного стабилизатора существует 5:
- обычное подключение через PWM-входы, дополнительный канал на второй элерон подключается к пину Tx;
- обычное подключение через PWM-входы, дополнительный канал на второй элерон подключается ко входу Rud_In (для тех, кто не стал распаивать дополнительный разъем, но хочет задействовать раздельные элероны, потеряв стабилизацию по каналу руля направления);
- вариант для подключения по CPPM;
- вариант для подключения по Sbus;
- вариант для подключения сателлита Spektrum вместо обычного приемника.
Заливать прошивку можно при помощи любого программного обеспечения, поддерживающего AtMega168P(PA). Я использовал USBASP AVRDUDE PROG - довольно простую и удобную оболочку к AVRDude. В ней достаточно указать тип программируемого микроконтроллера, путь к файлу прошивки и выбрать нужный программатор:
Перед программированием нужно полностью очистить чип, нажав кнопку "стереть все". При этом старая прошивка будет безвозвратно потеряна, т.к. с завода в чипе стоит блокировка на чтение. Заодно и все фьюзы сбросятся на значения по умолчанию. Затем нажимаем кнопку "программирование" и, спустя несколько секунд, получаем устройство с новыми возможностями.
А они впечатляют:
- стабилизация полета на базе трехосевого гироскопа;
- 2 режима работы - "Rate" (парирование возмущений, то, что было изначально) и "Hold" (удержание положения);
- возможность настройки значений PID с помощью карт программирования для регуляторов хода серии AQUASTAR или dlux;
- включение\выключение стабилизации, переключение режимов и контроль чувствительности при помощи всего одного канала управления (AUX1);
- установка режимов микширования DIP-переключателями или с помощью карты программирования;
- поддержка различных режимов микширования: фиксированное крыло (с одной или двумя сервомашинками на элероны), режим элевонов для летающего крыла, V-образный хвост и т.п.;
- поддержка последовательных протоколов подключения: CPPM, S.BUS, Spektrum satellite, при этом каналы газа и с 6 по 8-й также выводятся через стабилизатор;
- настраиваемые конечные точки каналов для предотвращения повреждения сервомашинок;
- возможность настройки большинства параметров с передатчика или при помощи карты программирования;
- cохранение настроек в EEPROM (могут быть сброшены установкой джамперов перед включением);
- вспышки светодиода отображают режим работы и статус при каких либо ошибках;
- нулевое положение стиков калибруется при каждом включении устройства;
- возможность перекалибровки каналов управления в полете;
- автоматическая калибровка гироскопа при каждом включении, для предотвращения "уплывания" (после подключения модель нужно несколько секунд держать неподвижно, до подтверждения готовности взмахами элеронов);
- потенциометры на стабилизаторе регулируют как усиление, так и направление отработки рулей (реверсы);
- усиление стабилизации зависит от положения стиков: максимум в нулевой точке и плавно уменьшается до нуля при отклонении стика до 100%;
- стабилизатор теперь может быть установлен и на боковую поверхность фюзеляжа контурных моделей без изменения коммутации сервомашинок.
(Здесь и далее пойдет вольный перевод инструкции к альтернативной прошивке, той ее части, что относится к RX3S v2. Все, что относится к другим платформам, смотрите в оригинальном документе).
Доступные режимы микширования:
Режим | Расшифровка |
RUDELE 1-AIL | Классическая схема: руль направления, руль высоты, одна сервомашинка на элероны |
DELTA 1-AIL | Микшер элевонов (для летающего крыла и прочих бесхвосток). Поддерживается наличие руля направления. |
VTAIL 1-AIL | Микшер V-хвоста, одна сервомашинка на элероны |
RUDELE 2-AIL | Классическая схема: руль направления, руль высоты, две сервомашинки на элероны (возможна их работа в качестве флапперонов). |
DELTA 2-AIL | Наиболее "хитрый" режим. Раздельные половинки руля высоты работают как элевоны, а раздельные элероны могут выступать в роли закрылков, флапперонов или флаппероневаторов (флаппероны смикшированные с рулем высоты). Управление рулем направления отсутствует, вход RUD-IN используется для переключения "связанных" режимов работы элеронов. |
VTAIL 2-AIL | V-хвост с поддержкой флапперонов. |
DUCKERON | Расщепляемые элевоны (требуется по 2 машинки на каждый элевон). Используются в качестве руля направления и воздушного тормоза на моделях типа "летающее крыло" (например, копия стелс-бомбардировщика B2). |
Цвет | Тип |
Синий | DIP-переключатели |
Оранжевый | Разъемы стабилизатора |
Красный | Выходы на сервомашинки или ESC |
Зеленый |
Входы сигнала от приемника |
RudEle 1-AIL |
Delta 1-AIL |
VTail 1-AIL |
RudEle 2-AIL |
Delta 2-AIL |
VTail 2-AIL |
Duck | |
AUX_SW (RxD) | |||||||
RUD_SW | |||||||
ELE_SW | NOR ▶ | NOR ▶ | NOR ▶ | NOR ▶ | REV ◀ | REV ◀ | REV ◀ |
AIL_SW (TxD) | NOR ▶ | NOR ▶ | NOR ▶ | NOR ▶ | |||
VTAIL_SW | NOR ▶ | NOR ▶ | REV ◀ | REV ◀ | NOR ▶ | REV ◀ | NOR ▶ |
DELTA_SW | NOR ▶ | REV ◀ | NOR ▶ | REV ◀ | REV ◀ | NOR ▶ | NOR ▶ |
AIL_OUT | AIL | DELTA-2 | AIL | AIL-L | AIL-L | AIL-L | LEFT-1 |
ELE_OUT | ELE | DELTA-1 | VTAIL-1 | ELE | DELTA-1 | VTAIL-1 | LEFT-2 |
RUD_OUT | RUD | RUD | VTAIL-2 | RUD | DELTA-2 | VTAIL-2 | RIGHT-2 |
AILR_OUT | AIL | AIL | AIL | AIL-R | AIL-R | AIL-R | RIGHT-1 |
AIL_IN | AIL | AIL | AIL | AIL-L | AIL-L | AIL-L | AIL |
ELE_IN | ELE | ELE | ELE | ELE | ELE | ELE | ELE |
RUD_IN | RUD | RUD | RUD | RUD | LINKED | RUD | RUD |
AUX_IN | MODE | MODE | MODE | MODE | MODE | MODE | MODE |
TxD pin | AIL-R | AIL-R | AIL-R | BRAKE | |||
Мигания светодиода | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
RudEle 1-AIL |
Delta 1-AIL |
VTail 1-AIL |
RudEle 2-AIL |
Delta 2-AIL |
VTail 2-AIL |
Duck | |
AUX_SW (RxD) | NOR ▶ | NOR ▶ | NOR ▶ | NOR ▶ | NOR ▶ | NOR ▶ | NOR ▶ |
RUD_SW | |||||||
ELE_SW | NOR ▶ | NOR ▶ | NOR ▶ | NOR ▶ | REV ◀ | REV ◀ | REV ◀ |
AIL_SW (TxD) | |||||||
VTAIL_SW | NOR ▶ | NOR ▶ | REV ◀ | REV ◀ | NOR ▶ | REV ◀ | NOR ▶ |
DELTA_SW | NOR ▶ | REV ◀ | NOR ▶ | REV ◀ | REV ◀ | NOR ▶ | NOR ▶ |
AIL_OUT | AIL | DELTA-2 | AIL | AIL-L | AIL-L | AIL-L | LEFT-1 |
ELE_OUT | ELE | DELTA-1 | VTAIL-1 | ELE | DELTA-1 | VTAIL-1 | LEFT-2 |
RUD_OUT | RUD | RUD | VTAIL-2 | RUD | DELTA-2 | VTAIL-2 | RIGHT-2 |
AILR_OUT | AIL | AIL | AIL | AIL-R | AIL-R | AIL-R | RIGHT-1 |
AIL_IN | CPPM | CPPM | CPPM | CPPM | CPPM | CPPM | CPPM |
ELE_IN | FLP | FLP | FLP | FLP | FLP | FLP | FLP |
RUD_IN | THR | THR | THR | THR | THR | THR | THR |
AUX_IN | AUX2 | AUX2 | AUX2 | AUX2 | AUX2 | AUX2 | AUX2 |
TxD pin | |||||||
RxD pin | spek/sbus | spek/sbus | spek/sbus | spek/sbus | spek/sbus | spek/sbus | spek/sbus |
Мигания светодиода | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Основные инструкции.
Перед использованием любого режима стабилизации дважды убедитесь, что вы в любой момент сможете отключить стабилизацию с передатчика. Обязательно проверьте правильность направления отклонения рулей – они должны препятствовать изменению положения модели. Первые полеты лучше проводить при небольшой чувствительности, выставленной регуляторами на самом стабилизаторе и на достаточной высоте. Постепенно добавляйте чувствительность, но следите, чтобы не появилась раскачка в результате перестабилизации.
- Подключите устройство согласно таблицам. DIP-переключателями или с помощью карты программирования установите требуемую конфигурацию рулей (1 или 2 машинки на элероны, V-хвост, элевоны и т.п.).
- Чувствительность гироскопов также уменьшается при отклонении стиков. Она максимальна при стиках в нулевой позиции и линейно падает до нуля при отклонении стика к 100%. Это сделано для того, чтобы стабилизация не мешала выполнять резкие маневры.
Индикация состояния.
В серии миганий светодиода существует 4 слота для сообщений. Каждый слот – это серия вспышек, сообщающая о состоянии стабилизатора. Вспышки можно разделить на длинные – 600мс, короткие – 200мс и сверхкороткие – 30мс. Количество вспышек каждого типа составляют сообщение.Вспышек светодиода | Сообщение |
2 длинных | Классическая конфигурация с одним каналом элеронов |
3 длинных | Включен микшер элевонов |
4 длинных | Включен микшер V-хвоста |
5 длинных | Задействован второй канал для элеронов (независимо от прочих микшеров) |
1 короткая | Калибровка сигналов управления |
2 коротких | Калибровка гироскопа |
3 коротких | Одновременная калибровка гироскопа и сигналов управления |
4 коротких | Режим удержания положения - HOLD (при отсутствии - режим RATE) |
5 коротких | Ошибка инициализации гироскопа |
20 сверхкоротких | Недостаточно памяти |
50 сверхкоротких | EEPROM был обнулен, переподключите питание |
Калибровки при включении.
При включении питания устройство пытается откалибровать нейтральные позиции каналов управления и гироскоп в состоянии покоя. Во время калибровки старайтесь не смещать стики передатчика и удерживать модель неподвижно (неважно, в каком положении, хоть вверх ногами, лишь бы без движения). При задействованных флапперонах также нет разницы, в каком они положении будут при включении. Как только по всем каналам пойдут стабильные значения, они записываются в память процессора и используются в качестве точки отсчета.Режимы стабилизации.
Канал AUX1 позволяет переключаться между двумя режимами стабилизации RATE или HOLD.Триммирование.
Триммирование модели в полете при включенной стабилизацией возможно, но имеет некоторые особенности. В режиме RATE можно проводить триммирование без ограничений, но, так как, фактически, при этом смещаются нулевые точки каналов управления, могут возникнуть проблемы в режиме HOLD. Таким образом, если вам пришлось значительно триммироватьмодель, воздержитесь от использования режима удержания положения.Сброс нулевых точек в полете.
Калибровка каналов управления в воздухе по умолчанию включена, но может быть отключена при помощи карты программирования или настройкой с передатчика. Эта функция активируется при трехкратном переключении режимов RATE\HOLD в течение 0,5 секунды.Настройка конечных точек.
Существует 3 варианта установки конечных точек по всем каналам:Режим | Диапазон длины сервоимпульсов |
Полный (стандартно) | 1000-2000 нс |
Нормальный | 1100-1900 нс |
Адаптивный | Начинается с 1250-1750 нс, затем изменяется до максимальных значений, приходящих с приемника. |
Подключение по CPPM.
Некоторые приемники могут выдавать комплексный PPM сигнал (содержащий данные по всем каналам одновременно). Это устройство (с соответствующим вариантом прошивки) также поддерживает подключение по CPPM. Такой вариант сокращает количество соединений между приемником и стабилизатором, а также позволяет вывести большее число каналов через разъемы стабилизатора, в том числе газ, AUX2 и FLAP (обычно, 7-8 каналы).Подключение по S.BUS и сателлитов Spektrum.
Эти режимы очень похожи на вариант CPPM. Так же, как и в предыдущем случае, требуется всего один кабель для соединения с приемником. Но, в отличие от CPPM, протоколы S.BUS и Spektrum – цифровые, что исключает какую либо возможность ошибки измерения длины импульсов.Нормальная установка:
Монтаж на горизонтальной поверхности разъемами вверх (0 град.) или вниз (180 град.). Это стандартный вариант установки. Никаких дополнительных настроек не требуется.Режим настройки стабилизатора при помощи передатчика.
Для входа в режим программирования, нужно в течение 15 секунд после включения питания перевести правый стик (для передатчиков mode 2) в положение 7-9-7-9-7. Номера позиций соответствуют клавиатуре телефона.
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Параметры | Взмахи элеронами | Взмахи рулем высоты | |
WING_MODE | Установка конфигурации рулей | 1 ail | |
DIPSW (default) | основано на положении DIP-переключателей |
1 ele |
|
RUDELE 1-AIL | переустановить на RUD+ELE+1-AIL |
2 ele |
|
DELTA 1-AIL | переустановить на DELTA+1-AIL |
3 ele |
|
VTAIL 1-AIL | переустановить на VTAIL+1-AIL |
4 ele |
|
RUDELE 2-AIL | переустановить на RUD+ELE+2-AIL |
5 ele |
|
DELTA 2-AIL | переустановить на DELTA+2-AIL |
6 ele |
|
VTAIL 2-AIL | переустановить на VTAIL+2-AIL |
7 ele |
|
DUCKERON | переустановить на DUCKERON |
8 ele |
|
MIXER_EPA MODE | Ограничение диапазона сервосигналов | 2 ail | |
FULL (default) | 1000-2000 нс |
1 ele |
|
NORM | 1100-1900 нс |
2 ele |
|
TRACK | Адаптивный, от 1250-1750 до максимальных значений входного сигнала |
3 ele |
|
SERVO_FRAME_RATE | Максимальная скорость следования сервоимпульсов (в 1/мс) |
NA |
NA |
min = 0 max = 20 |
ограничение до 1/0мс (∞ Гц – максимальное значение не определено), используется для цифровых машинок. ограничение до 1/20мс (50Гц), используется для аналоговых машинок. |
||
SERIALRX_ORDER | Порядок каналов при подключении CPPM/Spektrum/SBUS |
NA |
NA |
поканальная настройка | Каждому каналу из диапазона [12345678] может быть назначено одно из значений [RETA1a2F] | ||
SPEKTRUM_LEVELS | Разрешение сигнала для Spektrum 1024 или 2048 |
NA |
NA |
1024 | 1024 levels (10 bits) | ||
2048 (default) | 2048 levels (11 bits) | ||
MOUNT_ORIENT | Ориентация устройства на модели | 3 ail | |
NORMAL (default) | горизонтальная установка |
1 ele |
|
ROLL_90_LEFT | установка на левой стороне фюзеляжа |
2 ele |
|
ROLL_90_RIGHT | установка на правой стороне фюзеляжа |
3 ele |
|
STICK_GAIN THROW | Уменьшение чувствительности гироскопа в зависимости от отклонения стика пропорционально: | 4 ail | |
FULL (default) | полному ходу стика |
1 ele |
|
HALF | половинному ходу стика (т.е. стабилизация отключится при отклонении стика на 50%) |
2 ele |
|
QUARTER | четверти хода стика |
3 ele |
|
MAX STICK_ROTATE | Установка скорости маневров при полном отклонении стика | 5 ail | |
VERY_LOW | 0.25x |
1 ele |
|
LOW | 0.5x |
2 ele |
|
MEDIUM (default) | 1.0x |
3 ele |
|
HIGH | 2.0x |
4 ele |
|
RATE STICK_ROTATE | Включение ограничения скорости маневров в режиме RATE | 6 ail | |
DISABLE (default) | отключено |
1 ele |
|
ENABLE | включено |
2 ele |
|
INFLIGHT CALIBRATE | Возможность калибровки нулевых точек по каналам управления в полете | 7 ail | |
DISABLE | отключено |
1 ele |
|
ENABLE (default) | включено |
2 ele |
|
VR_GAIN | Переопределение максимальной чувствительности |
NA |
NA |
AIL/ELE/RUD |
“POT” = использовать значения регуляторов (по умолчанию) -127–127 = установка конкретного значения чувствительности для каждой оси в отдельности |
||
RATE_PID | Настройка параметров P, I, D в режиме RATE |
NA |
NA |
Ail P/I/D | P/I/D для оси крена (по умолчанию 500/0/500) | ||
Ele P/I/D | P/I/D для оси тангажа (по умолчанию 500/0/500) | ||
Rud P/I/D | P/I/D для оси рысканья (по умолчанию 500/0/500) | ||
HOLD_PID | Настройка параметров P, I, Dв режиме HOLD |
NA |
NA |
Ail P/I/D | P/I/D для оси крена (по умолчанию 500/500/500) | ||
Ele P/I/D | P/I/D для оси тангажа (по умолчанию 500/500/500) | ||
Rud P/I/D | P/I/D для оси рысканья (по умолчанию 500/500/500) | ||
EEPROM | Действия с EEPROM | 8 ail | |
Update Cfg | сохранить настройки в EEPROM |
2 ele |
|
Erase Cfg | сброс всех настроек |
NA |
|
Erase Stats | сброс значений 1/2/R в EEPROM на 0/0/0 |
NA |
Коллеги, кто-нибудь пробовал прошить приёмник со стабилизатором ?
ORANGERX RX3S 3-AXIS FLIGHT STABILIZER W/DSM2 COMPATIBLE 6CH 2.4GHZ RECEIVER
На ХоббиКинге его уже нет.
Возможно это?
Перепрошил своего зверька без проблем, все глюки ушли. ))))
Все работает четко, красота!
Со стоковой прошивкой, к сожалению, второй канал на элероны задействовать не получится...
У меня лично таких карт нет, поэтому с этой темой я не разбирался и подробно объяснить, что к чему и почему, не смогу. Смотрите в английской инструкции (ссылка была в статье).
В общем, режим Hold на земле включать и бесполезно, и небезопасно для машинок и рулей (если с пульта приходилось ограничивать расходы). В воздухе можно попробовать, на достаточной высоте, но будьте готовы отключить стабилизацию, если почувствуете неадекватность поведения модели. Не на всех моделях оно будет работать как надо. Я сам на пилотажках Оранж не проверял - они и без стабилизации хорошо летят. На ЛК "Вжик" удержание мне понравилось, а вот на АЛ-605 (тоже, по сути, ЛК, точнее, бесхвостка) - нет.
У меня есть стаб EagleTree Guardian 2D/3D, так там у меня на пульте задейтвован трёх позиционный переключатель и крутилка на отдельном канале для регулировки чувствительности. Работает так, переключатель вверх 2D режим-----средние положение Выкл стабилизация------переключатель вниз 3D режим. Миксы в пульте на канале переключения +100(2D) 0 (off) -100(3D). Крутилка на отдельном канале. А тут КАК ?
Но я немного запутался:
1. Перепрошил на - вариант для подключения по CPPM
2. Имею
- Turnigy 9X
- FrSky D8R-||plus перепрошитый на XP
- SKY EYE 2000
3. Подключаю по схеме:
Если я правильно понял, то если настроить управление на AUX1 - не важно, в каком положении находяться потенциометры yav, pitch и roll???
Так вот, какие вытикают вопросы:
-Нужно ли подключать этот канал "физически" к стабилизатору (если "да", то как?) или он уже есть в CPPM (какой канал).
- Не совсем понятно различие между 2 видами стабилизации, вероятно пойму в полете. Как нстроить переключение режимов стабилизации на тумблер, например, на Gear, а его "мощьность" - на P1.
Заранее спасибо!