Создание моделей для прошивки DeviationTX
Вы просматриваете редакцию с названием "Создание моделей для прошивки DeviationTX", сохраненную 16.02.2017 в 14:33 в Night_Ghost |
---|
Предисловие. первоначально это задумывалось как перевод этой статьи, О терминологии. В оригинале использовались термины "воздушное судно" и
Введение.Давайте сначала отвлечемся от техники. Что особенного в прошивке DeviationTx? Стандартный (standard) режим микшеров это вовсе ничего особенного. Во всяком случае, он даже кажется немного менее мощным по сравнению с фирменной прошивкой передатчика. А вот расширенный (advanced) режим микшеров намного сложнее настроить, потому что вы должны понимать, как желаемое поведение управления дроном выражается через значения выходных каналов, а также как использовать микшеры (mixers) для получения таких значений выходов. Зато этот режим обеспечивает прямой доступ к внутренней работе микшеров, что делает его невероятно мощным. Что в этом документеПосле этого вводного материала и обзора устройства конфигурации модели, этот документ проведет вас через полную установку для современного коптера и самолета с использованием режима Advanced. Начиная с базовой конфигурации - четыре канала плюс канал выбора режима полета, которые есть у всех современных полетных контроллеров. После небольшого введения, объясняющего как выяснить привязки канала, когда они не известны, речь пойдет об использовании расширенных функций deviationTx. По пути будет рассмотрено как настроить конфигурацию канала, основную конфигурацию страницы, автоматически изменяя выходные значения, и все остальное, что по моему опыту может оказаться полезным. Как бонус, будет раздел, рассказывающий про все вещи, которые можно сделать с помощью кнопок Тримов, кроме как использовать их в качестве триммеров. Предполагаемая аудиторияЭтот документ предназначен для опытных RC-пилотов. По правде говоря, я сейчас не верю что прошивка DeviationTx подходит для начинающих, хотя прогресс в этой области есть. Из-за этой целевой аудитории стандартный режим не будет рассмотрен. Возврат долга это обязанностьСообщество DeviationTx является особенным. Они свободно обмениваются конфигурациями моделей и трюками микшеров в форумах. Информация в данном документе происходит почти исключительно из этих форумов. Некоторые небольшие его кусочки именно мои, но большая его часть поступила из форумов, хотя я и изложил это собственными словами. Про некоторые моменты я могу вспомнить где нашел, но далеко не про все. Так что вместо того чтобы рисковать пропустить кого-то, кто заслуживает упоминания, я буду благодарить сообщество в целом. Мои благодарность и уважение каждому в этой великой группы. Обзор главЭто введение в различные переменные, которые имеются в модели deviationTx. Эта информация из руководства по deviationTx, но я повторю ее здесь для вашего удобства. Значения входов и выходов обычно работают от 100% до -100%, что означает переход от полного значения в одном направлении до полного значения в другом, но также и от включенного к выключенному. Так как все значения в процентах, знак % будет использоваться или нет в зависимости от контекста. Многие переменные могут принимать значения до 150, а не 100, а максимальные и минимальные значения выходных сигналов можно задать явно. ВыходыСердцем прошивки deviationTx являются микшеры (Mixers) - сущности, позволяющие вычислить значения канала по определенному закону из входных значений. Конечная цель всех микшеров - получить определенное поведение для выходов передатчика, которые появятся на входе контроллера вашего дрона. Итак, давайте перейдем к ним в первую очередь. Каналы передатчикаВыходные каналы передатчика это те значения, которые он передает. Их число обычно соответствует количеству каналов на приемнике, и может варьироваться от всего лишь 1 до 12. Виртуальные каналыОдна из необычных особенностей deviationTx является наличие 10 виртуальных каналов. Они могут использоваться так же, как каналы передатчика, за одним исключением - они не передаются на приемник. Они полезны для создания промежуточных значений для использования в других микшерах. Вы увидите, как они используются при создании конфигураций модели. ВходыВходы включают в себя все элементы управления на передатчике, а также некоторые внутренние значения. Я не буду описывать физические элементы управления в деталях, так как они различаются в зависимости от модели передатчика, и вы уже скорее всего знакомы с ними. СтикиДве ручки управления, являющиеся основой передатчика радиоуправления. Они также имеют пару триммеров, располагающихся сбоку и снизу стика. В прошивке deviationTx они называются ELE (elevator, управление рулем высоты), AIL (aileron, элероны), THR (throttle, дроссель) и RUD (rudder, руль направления). Крутилки и слайдерыНекоторые пульты также имеют аналоговые ручки или ползунки, используемые в качестве входных данных. Они обозначены AUX #, где # цифра от 2 до 7. ТриммерыТриммеры обозначены как TRIM**D, где ** это его место: LH это левый горизонтальный (Left Horizontal), RV это правый вертикальный (Right Vertical) и так далее, или для крайних верхних _L для левого и _R для правого. Значение D это направление триммера: "+" для увеличения значения или "-" для уменьшения. КаналыЭто либо каналы передатчика либо виртуальные каналы. Можно использовать значение любого канала как входное значение микшера. Но на самом деле это предыдущее значение канала, так что можно использовать значение канала для микшера этого же канала, что позволяет создавать такие вещи, как каналы, удерживающие свое значение, а не фиксированное значение, или изменять значение по определенному закону ПереключателиЕсть разные штуки, которые могут быть использованы в качестве переключателя в deviationTx. Обычно они имеют значения 100% если включены и -100% когда выключены. Физические переключатели Как и любой современный передатчик, серия Devo имеет набор переключателей. Они отмечены наподобие GEAR#, MIX# and FMOD# где # это цифра, указывающая позицию переключателя. Она может быть 0 или 1 для двухпозиционного переключателя, для переключателя на три положения добавится 2. Каждый из них имеет значение, равное 100%, когда переключатель находится в соответствующем названию положении, и -100% в остальных случаях. Это использование очень удобно, но это не означает, что FMOD0 и! FMOD1 одно и то же: в положении FMOD2 значением FMOD0 будет -100% а значением ! FMOD1 будет 100%. Каналы в роли переключателей Все каналы могут быть использованы в роли переключателей. В таком случае любое значение больше 0 означает "Включено" а любое значение меньше или равное 0 - "выключено". Кнопочные выключатели Любые кнопки передатчика, включая те что используются для управления самим передатчиком, могут использоваться как виртуальные переключатели. Это требует настройки их как триммеров для виртуального канала, и использования этого канала в роли переключателя. Про это будет в оследней главе. PPMИ наконец, можно использовать DSC (он же тренерский разъем) передатчика для ввода PPM-сигнала. Это можно использовать для подключения к передатчику всего, что может выводить PPM. Типичные примеры это подключение второго пульта в роли ученика, и FPV очки с трекером. Такие каналы обозначены PPM #, где # это номер входного канала с 1 по 8. Обзор микшеровА теперь обзор микшеров deviationTx. Опять же, эта информация есть в руководстве deviationTx, но я включил ее для вашего удобства. Его величество МикшерМикшер принимает значение со входа, изменяет его каким-либо образом, а затем смешивает его в выходом предыдущего микшера, если есть. Каждый микшер имеет по меньшей мере четыре различных параметра, которые вы можете задать. Наиболее важным является Src - значение входа для этого микшера. Он может быть любым из всех тех источников, что перечислены в разделе Входы выше.
СмешиваниеСмешивание это последовательность микшеров. Они рассчитываются по порядку, смешивая входное значение, возможно измененное заданной кривой, смещается и масштабируется выход предыдущего микшера, как указано настройкой параметра MUX. Это новый параметр, который контролирует, как значение предыдущего микшера и выход этого микшера будут объединены. Доступны следующие настройки:
Для первого микшера в цепочке в роли выхода предыдущего микшера выступает предыдущее значение канала. Поэтому вы должны установить тип смешивания MUX первого микшера в состояние replace (заменить), за исключением особых случаев.Даже если вы хотите использовать это старое значение, лучше сделать это явно, подав на вход Src первого микшера значение этого канала и включив режим замены значения. Делая это, вы можете обработать значение при помощи кривой перед использованием, что невозможно при неявном использовании. Еще один новый параметр это Switch (переключатель). Если он в положении None, то микшер включен всегда. Если же переключатель задан то микшер активен только когда переключатель включен, иначе он выключен, и на выходе будет значение с выхода предыдущего микшера. А еще можно установить переключатель в состояния Trim и No Trim. В состоянии Trim значения триммеров этого канала будет добавлено к выходу микшера. Загрузка файлов .iniНаверное вы уже заметили, что нет иллюстраций настройки передатчика, которые обычно приводятся в инструкциях. Это потому, что различные типы передатчиков имеют радикально различный внешний вид, несмотря на то, что они предназначены для одной цели. Если вы хотите иллюстраций вашего передатчика, то прочитайте руководство по deviationTx для него.
Описание моделиКак можно предположить по расширению ".ini", файлы модели используют формат файлов настройки (.ini) Windows. Он разделен на секции, начинающиеся с заголовка секции в квадратных скобках, и последующих строк формата Переменная=Значение (name=value) Однако первая часть не имеет имени секции, и описывает глобальные настройки модели. Пример файла, который мы немного начали настраивать:
Так что это настройка для Blade 200 QX, режим микшеров Advanced (расширенный), и используется значок MINIQUAD.bmp. Как напоминание, режим микшеров не меняет содержимого файла, а лишь способ отображения настроек на экране пульта.
Секция radio просто описывает настройки протокола радиосвязи. Будучи из семейства Blade, квадрик использует протокол DSMX. Это довольно простая модель, и использует только 5 каналов. Это типично для многих мультикоптеров, так как они используют 4 канала для управления положением и один канал для полетных режимов. Далее, мы имеем:
Что задает режим работы протокола без телеметрии, поскольку приемник не поддерживает ее. Первый пример микшераОтносительно простой микшер для канала 1 мог бы выглядеть так:
Строка 1 говорит нам что это настройки для канала 1. Строка 2 говорит нам, что будет отображаться шаблон Expo & DR, задавая интерфейс передатчика. Строка 3 начинает секцию первого микшера. Строка 4 устанавливает вход (Src) для этого микшера на вход AIL (стик элеронов). Строка 4 это деталь реализации, просто показывает для какого канала данный микшер. Кривая, масштаб, смещение, переключатель и триммеры (Curve, Scale, Offset, Switch, Trim) не заданы, поэтому принимают значения по умолчанию 1-1, 100, 0, None и 1 (включено) по порядку. Это типичная настройка двух скоростей, переключающая канал 1 от 100% до 70% от входа AIL с помощью переключателя AIL DR. Пример микшера с использованием Кривой (Curve)Микшер с кривой мог бы выглядеть так:
В строке 4 задается тип кривой (Curve type) Экспонента (Expo). В строке 5 задается параметр кривой, точки (points). В данном случае применяется экспонента "35" к обеим половинам кривой. Последние настройки микшераПоследние настройки, которые можно увидеть в параметрах микшера это mux - тип смешивания микшера, и usetrim - принимающий значение 0 для отключения триммеров (режим No Trim), или отсутствует по умолчанию если триммеры используются (режим Trim). Помимо шаблона для микшера, существуют и другие настройки каналов, которые отображаются в разделе канала. Рассмотрим их в следующем разделе. Основная настройка моделиВ этом разделе мы собираемся создать файл model.ini для простого пятиканального дрона Blade 200QX. Четыре канала управляют положением дрона в пространстве, а пятый переключает полетный режим. Этот пятый канал позволяет показать простую установку переключателя. Вобщем-то эти настройки должны работать для большинства четырехканальных дронов, если вы просто проигнорируете канал режима.
Простые микшерыКонфигурация по умолчанию устанавливает первые четыре канала как простые микшеры для тех элементов управления, которые обычно используются в данном протоколе. Пока мы будем считать, что это правильно. Таким образом, первые четыре канала в файле model.ini выглядят следующим образом:
Канала 5 нет в списке, потому что он не настраивается по умолчанию, даже если указано пять каналов. Только первые четыре канала получают значения по умолчанию. Как вы можете видеть, каждый из них представляет собой простой микшер с кривой 1-1, шкалой 100 и смещением 0. Хоть и можно летать в такой конфигурации, это не оптимально. Обычно устанавливается режим двух скоростей и возможно какая-то экспонента, так что давайте сделаем это сейчас. Микшер с экспонентой и двойными скоростями (Expo&DR)Я начал настройку коптера в режиме двух скоростей, используя 35% экспоненту на скорости 100% для быстрых полетов, и линейную зависимость с 70% от максимума на низкой скорости. Это относится только к каналам элеронов и руля высоты, и оба переключаются с помощью переключателя AIL DR. На странице Mixer, выберите один из этих двух каналов и установите тип Expo & DR. На микшер для высокой скорости установите кривую EXPO, выберите и установите значение 35. Установите в качестве переключателя (Switch) вход AIL DR1, и шкалу (Scale ) в значение 70%. Повторим то же самое для второго канала. Результатом для каналов 2 и 3 будет:
Настройки обоих каалов в значительной степени идентичны, мы видели это раньше. Так что - никаких сюрпризов до сих пор Настройка полетных режимовТеперь нам нужно задать режим полета. Для этого на 200QX используетс пятый канал, обозначенный как GEAR. Нам нужны 100/0 / -100 для режимов "начальный", "средний" и "эксперт". Чтобы включить эту функцию, вы можете использовать режим Expo & DR. Для Экспертного режима кривая (Curve) будет иметь значение Fixed (фиксировано), со шкалой -100. Переключать в Средний режим будет переключатель FMOD1, со шкалой (Scale) 0. Для Начального режима, переключатель FMOD0 и шкала (Scale) 100. Получаем:
Теперь должно быть понятно: в режимах 0 и 1 оказывается включен второй (строка 8) или третий (строка 14) микшер, и его выход заменяет значение канала. В режиме 2 они выключены, так что используется выход первого микшера со значением 100.
Намного проще, чем раньше. Теперь, в режиме 1, используется первый микшер, выдавая на выход 0. В режимах 0 и 2 включается второй микшер, и используется его выход. То есть либо 100 в режиме 0, или -100 в остальных. Так как другой режим полета, где этот микшер включен, это режим 2, он единственный получает значение -100. Конфигурация канала Мы почти готовы к полету. Нам просто нужно подстроить еще несколько вещей. Удержание газа(Throttle hold)Существует последняя вещь, которая должна быть сделана, прежде чем взлетать. Это переключатель удержания газа. Так как двигатель является основным источником энергии на борту воздушного судна, закрытие дроссельной заслонки позволяет свести к минимуму ущерб всем, участвующих в аварии. Ваш дрон всегда участвует, но может пострадать чужая собственность или даже люди, так что выключение двигателя не только потенциально экономит ваши деньги, но также это хорошая идея по соображениям безопасности. На большинстве дронов с двигателями внутреннего сгорания, -100 канала газа означает холостой ход, а не выключение двигателя. Это совсем не так на многих мультикоптерах, в том числе 200 QX. Но так как мы хотим закрепить рефлекс, насколько это возможно, то будем ставить его на на каждом дроне, так что сделаем это.
Просто добавлены значения которые мы изменили относительно значений по умолчанию. Остальная конфигурация каналаДругие вещи которые мы могли бы пожелать изменить в конфигурации канала это Reverse (реверс), Fail-safe (значение при потере связи) и две шкалы (Scale), хотя реверс это наиболее частая настройка. Реверс (Reverse) делает именно то, как называется - он меняет канал, так что получив на выходе миксеров значение от -100 до 100, на приемник будет отправлено от 100 до -100, иногда это необходимо. Конечно, это можно сделать поставив инверсию всех входов всех микшеров в цепочке, но легче сделать это один раз на странице конфигурации канала. Это также означает, что вы можете настраивать микшеры без необходимости инвертировать ваше мышление. Другие тонкостиЕсли бы переключатель THR Safety был настоящий выключатель, а не несконфигурированный виртуальный канал, то можно было бы хорошо летать прямо сейчас. Так что давайте исправим этот канал, и добавим несколько других вещей, которые сделают полеты безопаснее и веселее. "Липкое" удержание газаДавайте начнем с виртуального канала 1, который я выбрал для переключателя блокировки дросселя . Мы собираемся создать липкий переключатель, который позволит включить мотор только на холостом ходу (-100 в канале газа). Это означает, что вам не нужно задумываться о том, нулевой ли газ, снимая блокировку, и если вы думаете что газ выключен когда это не так, то пропеллеры начинают вращаться и самолет улетает, когда вы этого не ожидаете. Это также обрабатывает случаи, когда другие переключатели должны быть в определеном положении для старта Так что теперь на странице Mixer найдем канал Virt1. Выберите его, и измените имя на что-то вроде T Hold. Присвоение имен виртуальных каналов облегчает работу с ними. Теперь вернемся к странице Mixer, и отредактировать настройки смешивания. Установите тип Complex (сложный) и количество микшеров 3.
Так что теперь RUD DR0 включает удержание газа, а РУД DR1 не позволяет ему выключиться пока в канале газа не будет -100 или -99. Липкое удержания газа. Хорошо, теперь пришло время, чтобы разобраться с различными передатчиками. Если у вас есть Devo 8, 10 или 12, вы можете использовать переключатели которые я собираюсь использовать. Если у вас есть Devo 6, то вам придется выбрать другие, но это на самом деле лучшие имена для этой конфигурации. Вы можете, например, использовать HOLD1 для переключателя удержания. Если у вас есть Дево 7e - ну, это можно заставить чтобы работать. Если вы установили дополнительные переключатели, можно использовать их, изменив название. Если нет, то вам стоит прочитать последнюю главу - кнопки триммеров - чтобы все получилось. Простой микс200QX, как и многие другие коптеры, теряет подъемную силу, когда он начинает двигаться в сторону. Это то, что, как правило, компенсируется микшерами в фирменной прошивке. Лично мне это не нравится, но дело вкуса. Так что я покажу вам, как добавить компенсацию в канал газа. Обратите внимание, что я не летал с этой настройкой микшеров, так что вам придется проверить это самостоятельно! Перейдите на страницу Mixer и откройте настройку для THR. Измените тип микшеров с простого (Simple ) на сложный (Complex ). Если вы загляните в первый микшер, вы увидите, что это по-прежнему тот же микшер который был в простом режиме. Так обычно бывает - изменение режима микшеров не меняет самих микшеров, по крайней мере, если они все еще там.
Обратите внимание, что задана настройка No Trim для новых микшеров. Кроме того, если вы начинаете двигаться по диагонали, то в канал газа будут добавлены поправки как элеронов, так и руля высоты, что может быть нежелательным. Но вы должны настроить этого самостоятельно. ТаймерыЕсли вы смотрели на главную страницу и немного разбирались с пультом, то возможно вы выяснили, что по умолчанию слева верхнее число это значение канала газа. Но два другие числа не меняются. Это таймеры, и мы собираемся установить их сейчас. Так как мотор крутится всякий раз, когда удержание газа выключено, я хочу чтобы таймеры работали, когда удержание газа выключено, так как это означает, что двигатели работают. Во многих случаях, установив переключатель (Switch) таймера в THR будет лучшим таймером, так как работает, когда выход канала газа выше -100. Тем не менее, это также означает, что канал T Hold, который отлично работает в качестве переключателя безопасности газа, не будет работать в качестве переключателя для таймера. Поэтому нам нужен новый канал. Но если вы не знаете, сколько летает ваш дрон, то лучше установить этот Timer1 в режиме секундомера (stopwatch). После того как вы летали несколько раз и узнали, как долго расходуются батареи, можно изменить его на обратный отсчет. Аварийный сигнал пульта раздастся за 30 секунд до окончания таймера, и затем каждые 10 секунд после этого, чтобы предупредить вас, что пришло время приземлиться. Эти два значения времени могут быть заданы на странице конфигурации передатчика, в соответствии с настройками таймера. Теперь идите вниз к Таймер2, и установить его в режим "постоянный" (permanent). Опять же, установите в роли переключателя (Switch) канал DT Hold или THR, в зависимости от того, что использовано для Timer1. Поэтому этот таймер будет работать, когда Таймер1 работает. Этот таймер всегда считает, и сохраняется значение между полетами. Он будет записывать общее время полета дрона. Если дрон требует регулярного технического обслуживания, это таймер как раз для этого.
Монитор каналовПерейдите в меню Model, а затем "Main page config" (настройка главной страницы). Если у вас есть цветной сенсорный экран, выберите знак плюс в верхней части. На любом дисплее, найти пункт меню 1 и изменить его значение из "Telemetry monitor" (монитор телеметрии) на "Channel monitor" (монитор каналов). Теперь продолжительное нажатие на кнопку UP вызовет монитор каналов, который полезен для проверки микшеров. NG. По мне так монитор телеметрии по нажатию куда как полезнее, конечно если телеметрия есть... Переключаемые иконкиОдин - ладно, три - последние вещи которые осталось сделать, и тогда мы готовы к полету. Это действительно просто подстройка отображения, и совсем не будет влиять на полет. Я должен извиниться заранее - вот одно из немногих мест, где различные передатчики передатчиков настраиваются радикально по-разному. Как настраивать, какие будут по умолчанию, и какие иконки доступны зависит от типа дисплея пульта. Если у вас есть цветной сенсорный экран, выберите флажок Pos 1, а затем выберите значок гаечного ключа. Теперь измените источник на T Hold, выберите Edit, выберите Pos 1, а затем значок удержания газа. Поиск соответствия каналов для RTF & BNFNG. Глава по выяснению "что куда подключено" пропущена за ненадобностью как не относящаяся к делу Продвинутые настройкиХорошо, мы создали простую модель. Но до сих пор мы не сделали ничего, что хорошая фирменная прошивка не может сделать. Даже самый скромный пульт должна быть в состоянии сделать все это, кроме липкого удержания газа. Так что теперь пришло время, чтобы заняться чем-то более серьезным. Тревожная кнопка (A panic switch)The Blade 200 SRX has a Panic switch that changes the flight mode to beginner mode, and disables the cyclic inputs. While I’m not sure if that’s a good idea, it’s easy to implement with deviaitonTx. In the AIL and ELE channel configurations, set GEAR1 as the Safety, and set the Safe Val to 0. For channel five, the Safety is again GEAR1, but the Safe Val is 100. We’ll look at the gear channel in a second. The aileron channel is now:
As you can see, all we’ve done is changed it so the GEAR1 switch disables the cyclic inputs. Since it also switches the flight mode to beginner, the 200QX will auto-level. While we’re doing this, it might be a good idea to add an icon to the main page to indicate that it’s on. So back to the Main page config. and get to the list of toggles. Pick an unused toggle, set it to GEAR, and then edit it to set an appropriate icon for Pos 1. Stagility modeStagility mode was invented by someone using proprietary firmware. They did it by mixing the cyclic controls on a Blade 350QX into the flight mode channel to kick it from Stability to Agility mode - or Intermediate to Expert mode on the 200QX. We can duplicate that, and do it better by not mixing into the flight mode channel, but using the mix as a switch that changes the flight mode channel properly. First warning: “stagility mode” on the 200QX is not supported by Blade or Horizon Hobby, and the flight controller on the 200QX has been known to become disoriented by rapidly changing the flight mode. So use this mode at your own risk. Second warning: The 200QX version 2 firmware in 3d mode has an intermediate flight mode that has stagility-like behavior. Using this mode there is pointless, and not recommended at all. The first step is to create a channel that will be an on switch with enough cyclic input, and off otherwise. There are a number of options for doing this, but let’s set up what I use and then talk about the others. Pick an unused virtual channel on the Mixer page. Change the name to Stagility. Now edit the mix. Change it’s type to Complex (what else?) and set up 3 Mixers. The first mixer will have a Src of AIL, and a Curve of ABSVAL. The second will have a Src of ELE, Curve of ABSVAL and a mux of max. So we now have the output of the second mixer being the larger offset of the two cyclic controls. Other alternatives include a mux of add, or being mathematically accurate and multiplying each cyclic by itself and then adding them. However, taking the max works well in practice. This means we now have a value between 0 (no cyclic) and 100 (one or the other at full cyclic). The third mixer is going to provide the offset to make this so the switch will sometimes go off. If you leave off the third mixer, flight mode 1 would just be expert mode. So we’re going to add a Fixed Curve with a Scale of -80 and a mux of add. This means one of your cyclics will have to be 80% of the way to the edge to trigger the switch to expert mode. The gear channel also needs a minor tweak. Change the first mixer Curve to Min/Max, the Src to Stagility, the Scale and Offset to -50. We’re repeating the technique used in the second mixer, only this time with the Stagility switch. Using Min/Max here means the output values will be 0 and -100. Well, after applying the Scale and Offset to the initial value of -100 and 100, they’ll be 0 and 100. So our Gear channel with the updated mix and Safety now looks like:
Much the same as before: if the FMOD switch is not in position 1, we output -100 and 100 depending on whether or not it’s in position 0. If it’s in position 1, instead of just outputting 0, we output either 0 or -100 depending on the sticks and that third mixer in the Stagility channel. Dialable stagility modeThe downside to all this is that changing the stagility behavior means you have to change the mix, which is clumsy. There ought to be an easier way. And sure enough, there is. Instead of using a Fixed curve for the third mixer in the Stagility channel, let’s pick an analog input source. I’m using a Devo10, so I can just pick AUX5. if you don’t have a convenient dial or slider, see the last section on tricks with trim buttons to see how to turn a trim into an analog input. So, back to the Mixer page, and then the third mixer in the Stagility channel. Set the Src to AUX5 or whatever you are using for your analog input. Set the Curve to 1-1, the Scale to 50 and the Offset to -55. This means that as AUX5 goes from -100 to 100, what gets subtracted from the cyclic offset - and hence how much offset is needed to trigger expert mode - will go from 101 to -99. So when AUX5 is all the way down, you just have stock intermediate mode. Dialed all the way up to 100, then the slightest motion off center will turn on agility mode. And of course, you can get all the behaviors in between. Now that we’re done with it, here’s the Stagility channel:
The difference between this and the non-dialable version is only the third mixer, which had a Fixed curve. Of course, the reality is that you may want to adjust the Offset here to make sure that you actually get a blue light when in flight mode 1 with AUX5 dialed to +100. Stick calibration, trim, and who knows what might be enough to kick it up to turning on expert mode. Given how important AUX5 has become, let’s put it on the main page. Unfortunately, you can’t do that directly - we need to make it available in an output channel. So to the Mixer page, and pick an unused virtual channel. Name it St Dial or something similar for “stagillity dial”. Set the type to Simple, the Src to AUX5, the Curve to 1-1, the Scale to -50 and the Offset to 51. This makes the output value goe from 101% to 1% as AUX5 goes from -100% to 100%. It’s now how much you have to offset the cyclic sticks to switch to agility mode. To display it, go to the Main page config page, and find the unused box. Or add one if you need to, and position it where you want it. I put it underneath the timers and above the rudder trim indicator on my Devo 10. Set the input to St Dial, and you’re done. I could add the St Dial channel here, but I don’t think you need it. One last thing you might do is create a safety for AUX5, just to remind you to set it when you load this model. I know I like having that. So plug your transmitter into the USB port on your computer, hold down the ENT key, and power it on. In the disk that this puts on your computer, you want to edit the file models/model#.ini, the file corresponding to the model number for your aircraft. Any text editor should do, but check the deviationTx forums if you have problems. Find the [safety] section. It should have one line in it, that says Auto=min. Below that, add a line that says AUX5=min. That will cause deviationTx to check that input as well as the throttle channel when this model is loaded. If it’s not in the position where the sticks don’t change modes, it reminds you to correct it. Initialize the flight controllerOk, one last tweak that you can’t do with most proprietary controllers. Right now, you have to do a stick dance to initialize the flight controller. We’re going to automate that, so that turning off throttle hold initializes the flight controller. First, we need a moving value just to start with. The Delay mux setting gives us that. So choose a virtual channel, give it the name Delay, and set Mixers to 2. The first mixer should have a source of T Hold and a Curve of Min/Max. If you remember, the output of T Hold covers a wide range. Using a Min/Max curve causes it to go back to -100 to 100. Now add the delay. Literally. Set the second mixer Curve to Fixed, and the mux to delay. Set the Scale to 3 to start with. You’ll want to experiment with that, though. Here’s the resulting Delay channel.
We now need to use this moving value to make the rudder channel cycle as required by the 200QX. So change it from a Simple mix to a Complex mix. Leave the first mixer as is, and change the second one to have a Src of Delay, a mux of add, and a 5 Point Curve. Select the Curve button so you can set the points in the curve. You want them to be 0, 100, 0, -100 and 0 in order. We are going to be adding either the first or last value to the rudder all the time it’s not initializing, so they need to be 0. In between, you need to have a 100 and a -100 in that order. I put the extra 0 in the middle because I like symmetry, but it could be at either end as well. I now have:
You will want to experiment with the Scale value on the Delay channel. I can set it to 2 and things still work, but they don’t if I set it to 1. I also know it works at 5, and presumably 4. I set it to 3 because I want to avoid possible boundary problems from it being 2. Advanced Flight Mode SettingsWhile the 200QX is a great multirotor, it’s an older flight controller and only has 3 flight modes, which works very well with the 3-position switches on Devo transmitters. However, modern flight controllers have 5 or more flight modes, and the ability to use a single channel to set them. Four or five flight modes with two switches are both easy, you just need to set up a three position switch for three flight modes, then add a mix that’s switched on a second switch, and outputs either a fixed value or the value of one of the other switch positions. Here’s a five-way switch on FMODE and MIX. MIX0 causes FMODE to control the ouput for vlues of 100, 50, 0, and then MIX1 outputing 50 and MIX2 100.
The first two mixers are the same as the previous flight mode selection, except that the scalar and offset move it to the values we want. The last mixer is similar to the second one: when MIX0 is not on, disable this mix, so we use the value selected by FMODE. Otherwise, use the value selected by MIX1 and MIX2, again with a scalar and offset to get the desired values. This clearly doesn’t work with if you need six flight modes. In this case,a 2-position switch and the Mult mux type can be used, like so:
This uses the GEAR switch to toggle between positive and negative values based on FMODE. For GEAR1, FMODE goes from 10o to 67 to 33, and GEAR1 negates those values. The add mux type can be used to do something similar. Set up a three-positions switch to output values of 100, 67, 33, and then use a final mix enabled by the second switch with an add mux type, fixed curve type, and a scalar of -100. Tricks with trim buttonsNormally, trim values are associated with an output channel, and the trim value is added to the channel after the mix value is calculated. But deviationTx has an incredibly flexible trim support, and can do a lot more than that. Not only can trims be used to create a variety of different kinds of switch behaviors, the configuration buttons can also be used as trim buttons. This lets you create controls that aren’t available on your transmitter. Of course, these means you get no feedback on their value like you do with a real switch. Toggle icons on the main page can help with that. Because of their use as normal trim buttons, these extra controls interact oddly with output channels. If you want to use one as a Src in some mixer, you have to make sure there is No Trim on that mixer, otherwise the trim will get added twice, making the output go from -200 to 200. This means it has to be in a Complex mix so you can set No Trim. If you want to use an output channel as the switch instead of a virtual channel as described below, then you have to make sure you have No Trim instead of Trim, otherwise it’ll be added twice. Of course, this also means the mix configuration doesn’t really matter, so long as the output is always 0. But this usage isn’t documented, so the behavior may change in the future. I again recommend sticking with virtual channels unless you’ve run out. As a final note, the navigation buttons only work on the main page. If you’re not on the main page, they don’t do anything. For the non touch-screen transmitters, this means that the ENT button can’t be used, because you use it to start configuration! It works fine on the touch-screen transmitters, though. Similarly, you want to be careful about using the UP and DOWN buttons as momentary switches, as holding them down will cause you to jump to the shortcut page, which will disable changes on it and leave it on. A momentary buttonNone of the Devo transmitters have any kind of momentary button. There’s really no good way to simulate them with switches. When configured, these buttons provide a 1 when the button is down, and a 0 otherwise. For the 200QX config, you could use one to reset the timers. Momentary buttons are also great for edge-triggered controls, like the WLToys cameras. I use one for changing flight modes on the Blade NanoQX. So let’s create one. Go to the Mixer page, and pick an unused virtual channel. Rename it to Reset. Set the mix type to Complex with 1 Mixers. Set that mixer to have a Src of Reset, a Curve of 1-1 and a Scale 0f 0. Make sure the Trim is on. Your channel should like like this:
Now got to the Trims page. Choose an unused trim, and set the Input to Reset, and the Trim Step to Momentary. The Momentary setting, like the other switch settings, is to the left of the 0.1 value in the Trim Step selector. Finally, set the Trim + to Exit. In the model.ini file, you get:
You now have a switch that will be on when you’re holding down the EXT button, and off otherwise. A toggle buttonIf you use the above configuration except set the Trim Step to Toggle, the channel value will toggle between -100 and 100 every time you press that button. They are great for things that you can see the effect of on the aircraft, especially if they are cosmetic in nature. Turning lights on and off, for instance. In the 200QX model, you could use one as the switch for the last mixer in the T Hold channel, but the possibility of bumping it and shutting down the motors while in flight makes me a bit leary of that. One interesting use of these is for tracking an edge-triggered control’s state. You can set up a second virtual channel and a second virtual switch that uses the same button for Trim +, but has a Trim step of Toggle instead of Momentary. If you set up a main page toggle to use this switch, it will change the icon every time you press the button. So you can use it as a flight mode icon on the NanoQX, or to note when video is recording on a camera that uses that button for start and stop. The channel setup is identical to the momentary button, except you probably want to use a name like Lights. As state, the Trim Step is Toggle. Here’s a model.ini showing a pair of trims providing a momentary and toggle on the TRIM_L+ button on the Devo 10:
Note that value settings in the model.ini file. It’s the last value of this trim. Like any other trim value, it is saved between sessions. You’ll want to watch out for that if you depend on it being in the right state when you first load the model. A switchThe toggle switch above has the problem that you need to know the current state in order to know what state you’ll get when you push it. If you instead configure it with an On/Off Trim Step, you get to use one button to turn it on, and a second to turn it off. This makes a nice way to create an extra two-way switch on a transmitter that doesn’t have enough of them. On the 200QX config, one might make a nice panic switch, or you could use one for dual rates. Of course, it does require two buttons, so I recommend using the ones that are already paired. The throttle trims are available on all transmitters, and unused in most models. Some transmitters have extra pairs of trim buttons. And they all have Left/Right and Up/Down button pairs. Again, the configuration is pretty much the same as before, except that Trim Step is now On/Off, and you have to configure the Trim - button as well. So here’s what the model.ini looks like for an On/Off trim pair:
Adding an analog inputAgain, this doesn’t add a new capability, but provides an extra control should your transmitter run out. For the 200QX config here, you could use this for the Stagility dial. The channel setup is the same as for the switches above. Either a virtual channel with a 1-1 Curve, 0 Scale and Trim, or an output channel with an output of 0 and No Trim. But for these, we are going to use the numeric steps of the trim buttons, not the ones below .1. You get 100 steps in each direction. So if you set the Trim Step to 1, the trim value will go from -100 to 100. If you want a shorter range, you can set the Trim step to less than 1. If you want a longer range that -100 to 100, that’s a bit more work. You can’t get it directly, no matter what you set the Trim step to. Even using an output channel with Trim on the mix won’t work. You can use the virtual channel as a Src and leave Trim on in the mix. But in that case it’s probably better to just set the Scale instead. These are still trim values. As such, the have features common to all trim values:
And here’s a model.ini example with a 1.0 step using the Left and Right buttons, with MIX as a switch:
In this case, the step value has a meaning. The Trim Step will be one tenth of this value. A three position switchAs a special case of the above, you can create a three position switch. Unfortunately, it won’t show up with three positions in the various switch and source settings in the configuration. You’ll need to use two more virtual channels to get those. For the 200QX, this could provide a flight mode switch on a transmitter that doesn’t have a three position switch. Star by setting up the virtual channel as usual. Let’s call it FMODE0. As a switch, it will only be true in the -100 position. The trim configuration is just the analog input as above with FMODE0 as Input, except set the Trim step to 100. It now moves between the three values -100, 0 and 100 as you use the up and down buttons. Now set up a second virtual channel. It’s going to be FMODE1. It’s a Complex mix, with 1 Mixers. That mixer has a FMODE0 as the Src, an ABSVAL Curve, Scale is -1, and offset is 1. No Trim, of course. And now the third, as FMODE2. Another Complex mix with 1 Mixers. Src is again FMODE0 (make sure you use the virtual channel, not the switch if you already have one!), Curve is 1-1 and Scale is -1. And again, No Trim. These three virtual channels, when used as switches, will follow the trim values as expected. FMODE2 will be on and the others off when the trim value is 100. FMODE1 when it’s 0, and FMODE0 when it’s -100. Here’s what you get in model.ini with all of them together:
|
Свежие комментарии
Очень красиво!
Много подобных фонарей, видел в китайском магазине Алиэкспресс. Я там часто покупаю… »
Это бесполезно :( Если мне доводится проезжать мимо, то набираю по 6-10 картофельных мешков… »
clopman16:
Да, я понимаю. Они и тушенку выбрасывают, не открыв даже.. и газовые баллоны почти полные.… »
clopman16:К слову говоря -в одиночку спускаться через эту расщелину с лодкой и тактическим рюкзачком… »
Night_Ghost:
про расщелину ту я высказался еще тогда когда мы вместе в ту сторону шли. В дождь с грузом… »
clopman16:
кстати от блюдца влево на сумган (теперь правда не блюдца а куска профнастила) - дорога… »
Night_Ghost:
В начале прошлого года еще читалась, хотя и плохо, но идти по ней проблем не было. Похоже… »
clopman16:
над каким бревном?
Night_Ghost:
над одним из бревен через Атышку мы протянули канат для удобства перехода. Но судя по… »
clopman16:
веревок точно не видел, мест для пересечения Атышки было три. Сразу после спуска - лежало… »
Night_Ghost:
мы шли с другой стороны - от Атыша, веревку вешали на втором дереве, ну да, где-то 20см… »
Прям-таки "свидетельства выживших", блин. О том как в +10 и дождь от переохлаждения погибла… »
clopman16:
Не слышал. Можно подробнее? Разумеется после такой вылазки были внесены изменения в… »
Night_Ghost:
Когда писАл графоманию про Перевал Дятлова, перерыл пол-интернета на тему ЧП в походах, и… »
clopman16:
я чтото помню лет 5-7 назад группа школьников при переходе на Атыш от 71км, вляпалась в… »
Night_Ghost:
Любой выход из города с легкостью превращается в треш и кошмар, стОит чему-то пойти не так.… »
clopman16:
Классен Вадим.
на Зубчатках..
Night_Ghost:
Земля пухом...
Но я не о персоналиях, а о том что в противостоянии "один человек против… »
Как непосредственный участник вышеописанных безобразий, внесу свои 5 копеек.
1. Фонарь был… »
clopman16:
Хм, а у меня четко отложились воспоминания -что дорогу приходилось "запоминать". Наверное… »
clopman16:Мне в прошлом году пришлось двигаться по Лемезе (подходили к Атышу) тоже в около-ночное… »
Night_Ghost:
Тут от тумана зависит. Если можно поднять фонарь так чтобы он вышел из дымки, либо опустить… »
clopman16:
смотрю что китайские монокли, ночного видения неприлично дешевы, интересно как они в таких… »
Night_Ghost:
Тут только пробовать. Разница температуры воды и воздуха может дать засветку.
Я кажется… »
clopman16:
В 2015 у меня был момент когда с наступлением темноты, последние 5 км навигации по Большому… »
Night_Ghost:
Это очень рисковано. Река живет своей жизнью, немного меняя русло каждый год во время… »
clopman16:
кстати а что тогда все таки утонуло?)
Night_Ghost:
Не понял вопроса. Мой навигатор, например, ну и я по плечи почти при причаливании. Что… »