Рассмотрим простейший случай настройки нашего четырехканального кодера, и основные линейные операции выполняемые в КУ.
Подразумевается, что выходным мультиплексором (ВМ — программный или аппаратный переключатель «4 входа х 4 выхода») мы можем скоммутировать любой УС на любой ВС, но пока используем базовую настройку: УС1-ВС1, …, УС4-ВС4.
Подробно остановимся на КУ1 (УС1-ВС1), т.к. остальные КУ имеют такие же входные/выходные параметры, настраиваются аналогично, и отличаются лишь по Fу. Поэтому дальше пока не будем нумеровать КУ, УС и ВС, считая, что речь идет о КУ1.
Описание операции реверсирования ВС пропускаем (о реверсе подробнее поговорим чуть позже).
Следующая операция — масштабирование ВС.
Здесь ненадолго вспомним о конечном потребителе ВС — о рулевой машинке (РМ). РМ, как любой механизм имеет конструктивные параметры, ограничивающие диапазон хода (поворота) выходного вала.
Так вот операция масштабирования нужна именно для того, чтобы исключить чрезмерный поворот выходного вала РМ, который может привести к механической поломки самой РМ, или связанной с ней механики модели. Будем считать, что среднее положение вала РМ (нейтраль РМ) соответствует Nt КУ, а вал РМ может поворачиваться только в одну сторону от нейтрали. Максимальный угол поворота в одну сторону ограничим 45 градусами, и положим, что это отклонение соответствует длительности ВС = 0,5 мс. Это позволит нам больше не упоминать РМ, а все рассуждения ограничивать параметрами ВС.
Здесь мы определили параметры ВС, но пока еще не «привязали» его к УС, т.е. не определили закон, связывающий ВС и УС.
Как было показано выше, математически связь ВС и УС описывается так:
ВС = Fу(УС) (1)
Будем считать, что в нашем кодере имеется АЦП с диапазоном измерения Uвх = 0¬ − 1,0 В, перемещение ручки управления — от нулевого положения (Nt) до максимального — изменяет уровень сигнала на УС от 0 до 1 Вольт, а при дальнейшем преобразовании уровня УС в длительность ВС выполняется соотношение 1 мВ = 1 мкс.
При этих условиях из (1) следует, что при Fу = 1 максимальная длительность ВС окажется равной 1 мс, что противоречит принятым ранее ограничениям (ВСмакс = 0,5 мс).
Для приведения в соответствие наших аппаратных возможностей и наложенных ограничений по параметру ВС – масштабирования ВС (читай – масштабирования хода РМ) — следует изменить (уменьшить) значение Fу.
При линейных преобразованиях УС, ВС изменяется прямо-пропорционально входному воздействию, и (1) можно представить в таком виде:
ВС = К*УС, (2)
где К — коэффициент пропорциональности. В реальной аппаратуре К может изменяться примерно в 10 раз относительно какого-то базового минимального значения (допустим, от 0,2 до 2,0).
Графически изменение К приводит к изменению наклона линии пропорциональности ВС от УС (см. Рисунок 1).
Обратите особое внимание на этот график — мы к нему будем обращаться довольно часто.
Первичное значение К задается при технологической настройке устройства. Это значение является максимальным, и не должно превышаться при последующих пользовательских настройках в течение эксплуатации.
Для большего упрощения дальнейших расчетов, уменьшим заданное ранее соотношение УС и ВС с 1 мВ = 1 мкс на 2 мВ = 1 мкс, тогда максимальное значение К можно будет считать равным единице (Кмакс = 1), и не принимать его во внимание в большинстве случаев (иногда Кмакс все-таки будет использоваться).
Строго говоря, именно теперь следует вернуться к рассмотренному выше примеру, и провести масштабирование ВС каждого из четырех КУ. Далее будем считать, что после выполнения масштабирования нашего условного кодера, коэффициенты К оказались такими:
К1 = 0,7; К2 = 0,9; К3 = 0,75; и К4 = 0,8,
что при нашем «единичном» нормировании однозначно ограничивает и предельные значения ВС в каждом канале:
ВС1макс = 0,7; ВС2 = 0,9; ВС3 = 0,75; ВС4 = 0,8,
что хорошо видно на следующем Рис.2:
Физическая суть этих значений такова: ход вала РМ первого канала будет равен всего 0,7 максимально возможного хода, второго канала — 0,9 максимального хода, третьего и четвертого каналов, соответственно — 0,75 и 0,8 максимального хода.
В реальных устройствах для RC-управления операция (обычно говорят — функция) масштабирования обозначается аббревиатурой ATV.
Следующей линейной операцией, применяемой в RC-аппаратуре является функция Dual Rate (D/R), которая обычно не совсем верно называется «двойным расходом».
При помощи D/R оператор (пилот) может прямо в процессе управления моделью изменять значения К, тем самым изменяя «чувствительность» как ручки управления, так и рулей модели. В большинстве случаев используется только один дополнительный Кх, который всегда имеет значение меньше, чем у основного К настраиваемого канала. Но это не значит, что нельзя ввести большее количество К — Ку, Kz, и т.д…
На Рис.3 показаны зависимости ВС для разных К (Кa = 1, и Кb=0,7), выбираемых при переключении D/R:
Для реализации функции D/R в «настоящей» аппаратуре требуется дополнительный переключатель, не связанный ни с одним из КУ, а выполняющий просто вспомогательную роль — с его помощью оператор выбирает нужный К для каждого режима полета (или движения) модели. Так, с помощью одного переключателя на два положения (Вкл/Откл) можно реализовать выбор из двух значений К, а переключатель со средним положением позволит выбирать уже из трех значений К.
Далее мне придется часто использовать в рассуждениях такие сервисные выключатели, переключатели и кнопки. Поэтому давайте сразу определимся — в данном материале этими терминами я буду называть не физические, а логические устройства, с помощью которых будут включаться, отключаться или переключаться процессы, происходящие в кодере, или параметры этих процессов.
Вопросы практической реализации этих устройств в данный момент непринципиальны, и при необходимости их можно будет рассмотреть позже.
Теперь давайте рассмотрим операцию (функцию), которую принято называть «микшированием». В аппаратуре эта функция может называться по разному: MUX, MIX, PMIX и т.д., но это — одно и тоже.
В нашем случае, микширование — это ПОДмешивание к УС одного канала, УС другого канала. Канал к которому добавляется внешний сигнал будем называть основным (master) каналом (ОКУ), канал от которого будет получаться сигнал назовем дополнительным (slave) каналом (ДКУ).
Пусть необходимо смикшировать наши КУ1 и КУ3. Принимаем КУ1 за ОКУ1, соответственно, КУ3 становится ДКУ3. Это значит, что к сигналу ОКУ1 будет добавляться (подмешиваться) сигнал ДКУ3, а обратного подмешивания, при этом, быть не должно.
В простейшем варианте микширования происходит алгебраическое сложение двух исходных сигналов (УС1 и УС3) в одном канале управления (ОКУ1). С учетом выполненного ранее масштабирования КУ, эту операцию можно описать так:
ВС1 = К1*УС1 + К3*УС3. (3)
Казалось бы, этого достаточно, но давайте попробуем сложить сигналы обоих каналов при максимальных отклонениях ручек управления:
ВС1 = 0,7 + 0,75 = 1,45.
Результат более чем в два раза превышает максимально-допустимое значение (0,7)!
Теперь следует вспомнить, что нас интересует не просто смешивание, а смешивание в строго определенной пропорции, которая задается при «наземной» настройке модели. Обычно к основному сигналу подмешивается не более 50% дополнительного. Давайте «подмешаем» к КУ1 всего лишь 20% УС3 (0,2 значения УС3), и посмотрим, что у нас получится на выходе:
ВС1 = К1*УС1 + 0,2*К3*УС3 = 0,7 + 0,2*0,75 = 0,7 + 0,15 = 0,85. (4)
Опять — перебор! Но выход из этой, казалось бы — патовой, ситуации есть. Для того, чтобы остаться в пределах заданного максимального значения ВС1, при микшировании нужно пропорционально изменять оба слагаемых сигнала, но в противоположные стороны: если мы хотим добавить к УС1 только 20% от УС3, мы должны на столько же уменьшить сам УС1! Введем еще один коэффициент — КМ (коэффициент микширования). Он будет определять соотношение входных управляющих сигналов на выходе. Сейчас КМ = 0,2 (20%).
Итог сложения максимальных значений управляющих сигналов на языке математики будет выглядеть так:
ВС1 = (1-КМ)*К1*УС1 + КМ*К3*УС3 = 0,8*0,7 + 0,2*0,75 = 0,71. (5)
Как видим — опять не попали…
И хотя в большинстве случаев реальной работы с этим можно было бы смириться (не так часто приходится обе ручки управления одновременно «клинить» в крайних положениях), попробуем решить задачу самым корректным способом. Для этого нам понадобится еще одна константа — отношение максимальных значений ВС1 и ВС3, определенных при масштабировании каналов. Обозначим эти величины как ВСмакс1 и ВСмакс3 (в нашем примере, они получаются равными К1 и К3, но так будет далеко не всегда), и снова займемся арифметикой. Сначала вычислим их отношение, а полученный результат обозначим, как М:
М = ВСмакс1 / ВСмакс3 = УС1*К1 / УС3*К3 = 0,7 / 0,75 = 0,933…, (6)
а затем перепишем (5) с учетом полученного М, и получим требуемый результат:
ВС1 = (1-КМ)*К1*УС1 + М*КМ*К3*УС3 = 0,56 + 0,14 = 0,7. (7)
Пусть вас не пугает некоторая громоздкость полученной формулы — ее легко можно привести к более компактному виду, используя дополнительные промежуточные коэффициенты, что в итоге позволит вернуться к записи, аналогичной (3). Наша задача не столько оптимизировать процесс вычисления, сколько найти математически правильное решение, корректно описывающее процесс микширования. И кажется, нам это удалось.
Векторный вид процесса микширования изображен на Рис. 4:
Из графика хорошо видно, как влияют на ВС оба исходных сигнала.
Замечу сразу, что все приведенные выше рассуждения по масштабированию и микшированию, будут верны и для нелинейных преобразований, в том числе — для знакопеременных входных сигналов. Эти операции мы будем рассматривать далее.