Самодельный передатчик (часть 2)
согласен несколько путано высказался.
с РВ промахнулся говорил про рулевые машинки на елевонах, а вообще имел ввиду тот кто настраивает микшеры должен понимать где и что у него ограничится и как будут вести себя рули в зависимости от положения стиков, задача математики микширования произвести расчет и ограничение в фиксированном логическом диапазоне значений а уже с помощью ЕРА приводятся физической величине длительности импульса максимальные пределы которого определяются возможностями конкретной РМ и если нам по конструктивным сооборажениям необходимо ограничить расходы РМ то мы с помощью ЕРА изменяем коэффициент пересчета логического значения в физическое. MSV писал что думал сделать подобное но на текущий момент решил с помощью ЕРА сделать просто ограничение, а чтобы не было ситуации стик двигается а РМ нет в случае если на канал смикширован только один орган управления надо выставлять процент влияния <100%
чтоб дисплей не “сбоил” можно на сигнальные провода последовательно поставить резисторы ом по 100. керамику можно. не более 10 нф. на питание прям у дисплея надо керамику 0,1 мкф и электролит мкф на 10.
Решил, что от такого бурного обсуждения должен остаться хоть какой-то выхлоп… 😃 Поэтому предлагаю версию 1.9. Ну на полноценную версию это конечно не тянет, но дабы не путаться не стал обзывать ее “1.8 1/2”.
Зато хорошая новость, схему менять не надо, все старые калибровки/настройки можно сохранить и загрузить после прошивки. Только скорректировать EPA прийдется (см. ниже).
--------
1.Пофиксил замедленный автоповтор для расходов.
2. (Специально для Pav_13… 😃 А он мишерами-то и не пользуется… Вот ведь ирония судьбы… 😃 ) В меню “Channel x” после пункта “Mixer” добавлена команда “Normalize”. Команда нормализует все значения микшера к общей сумме 100% пропорционально старым значениям. Может оказаться полезной при построении сложных микшеров, когда есть необходимость не выходить за физические ограничения PPM-сигнала при любых положениях органов управления. При расчете считаются и изменяются только коэффициенты микшера. “Расходы”, конечные точки кривых ( то-же влияющие на итоговые расходы) не учитываются и тем-более не меняются.
3. Шкала EPA приведена к ±120%. Это соответствует крайним точкам как для логического ( так и было), так и физического уровня (теперь срослось). В исходниках имеются три варианта работы EPA.
3.1 Как и было, просто ограничение исходной функции, полученной от логического уровня.
3.2 Масштабирование исходной функции в отдельных интервалах EPA-…0 и 0…EPA+. При нессиметричном ограничении EPA, cреднее положение сохраняется, но будут разные коэффициенты масштабирования для интервалов и исходная функция искажается.
3.3 Линейное масштабирование функции во всем интервале EPA-…EPA+. При нессиметричном EPA вид исходной функции полностью сохраняется, но сдвигается центр. Те. если поставить EPA-=120, EPA+=0, средней точкой становится -60, и исходная функция уменьшенная по амплитуде в 2 раза, будет крутится вокруг этой точки.
С позиции идеологии разделения на логический и физический уровень имхо вариант 3.3 самый правильный, тк. физический уровень не имеет обратного влияния на логику построения канала. Поэтому скомпилированная прошивка идет с этим вариантом.
Но каждый может выбрать то, что посчитает правильным и перекомпилить под себя.
4. После включения кодер верещит как недорезанный и запускается только после установки ручки газа в мин.
--------
Естественно, как обычно, сам толком ничего не проверил, жду замечаний…
narod.ru/disk/18899799000/3310_1_9.rar.html
…Специально для Pav_13… 😃
Польщен 😌!
Жаль, прямо счас оценить не могу 😊… но все скачал! Буду пытаться вкурить ☕…
3.2 Масштабирование исходной функции в отдельных интервалах EPA-…0 и 0…EPA+. При нессиметричном ограничении EPA, cреднее положение сохраняется, но будут разные коэффициенты масштабирования для интервалов и исходная функция искажается.
Мне кажется, что такое поведение наиболее правильное.
Допустим, стик элерона ставим в среднее положение. Элерон горизонтально. Затем ограничиваем ход вниз до 20% (-ЕРА = 20%). Элерон же не должен сдвинуться из своего горизонтального положения? Мы же только не даем ему сильно отклониться?
А если сделать ЕРА по 3 варианту, то изменяя ЕРА получим изменение положения рулевой плоскости в центральном положении стика.
Тут может быть разное виденье правильности… С одной стороны да, плохо что центр уезжает при нессиметричном ограничении, с другой- задав -120…0 вроде бы тоже неправильно отрезать ход стика скажем вправо… Думал и так и так… была мысль даже сделать пункт меню EPA Mode… Но решил, что это уже перебор… тем более, что EPA я вообще не пользуюсь… 😃
задав -120…0 вроде бы тоже неправильно отрезать ход стика скажем вправо…
А ведь через ЕРА ход стика не отрезается? Отрезается ход машинки.
А он мишерами-то и не пользуется…
EPA я вообще не пользуюсь…
Может провести опрос - кто еще чем не пользуется, да и вернемся к “Сигналу-1”? 😁
Тут уже было про EPA=0… В этом случае даже я не буду против, если стик будет двигаться, а машинка стоять, ибо =0 означает “выключено”!
И вообще, надо задаваться разумными пределами значений функций… К примеру, как можно всерьез рассматривать значение триммеров +\- 100% 😮?!
Это как же надо модель собрать, чтобы триммировать в таких пределах?
Так же и с расходами и с конечными точками…
А ведь попадались тут такие значения в доказательствах…
И еще, мне кажется, что полемика разгорается еще и потому, что мы рассматриваем электронику, забывая, что она предназначена для управления механикой ! А надо это рассматривать в комплексе! В любой модели сначала должна быть настроена механика с учетом возможности электроники, а затем должна настраиваться электроника , учитывая ограничения механики…
Если об этом подумать, то окажется, что не нужны супер-сложные схемы микширования и офигенные значения параметров…
Решил, что от такого бурного обсуждения должен остаться хоть какой-то выхлоп… 😃 Поэтому предлагаю версию 1.9.
Вот это правильно! Трепаться - охотников много; хорошо, что кто-то и руками работает. 😃
… хорошо, что кто-то и руками работает.
Ну я то руками, а вы головой! 😃
…забывая, что она предназначена для управления механикой !..
При мысли о EPA, только о ней и помню… Это не параметр оперативной настройки. Он даже не зависит от режима полета. Он зависит от конструкции!
По той причине, что определяет физический сектор машинки, в котором должна быть реализована функция. Вся. И без искажений.
Представьте окружность… Нет, лучше не поленитесь, возьмите бумажку, карандаш и начертите. Градусов 80 вправо/влево от вертикали границы сектора. Будем считать, что он определяющий полный возможный угол отклонения (EPA-+=120%). Среднее положение получается вертикальная линия. Теперь представим что границы нового сектора вертикальная линия и старая левая граница (EPA-=120%, EPA+=0). Эти линии тоже определяют вполне полноценный сектор. С новой серединой. И в этом секторе вполне возможно воспроизвести всю фунцию, а не только ее левую часть. А вот для формировании этой функции, в том числе ее нессиметричности и нелинейности, служит достаточно богатый инструментарий логического уровня.
Допустим, стик элерона ставим в среднее положение. Элерон горизонтально. Затем ограничиваем ход вниз до 20% (-ЕРА = 20%).
Для какой цели ограничиваем в одну сторону 20 и оставляем вдругу 120? Для дифференциального отклонения? Для это существуют расходы. Кстати они зависят от полетного режима и можно оперативно менять прямо в полете. Еще раз кстати - двойные расходы правильнее называть в этом кодере- вторыми. Тк. ими можно накрутить и больший и меньший расход относительно первого и разную степень ассиметрии. Ну и не забудем про кривые -ими можно накрутить вообще что угодно, под каждый полетный режим.
Да, я придумал где мне нужны EPA! Для сервы, управляющей камерой (а то все по старинке- настраивал расходами…). Поворотник сделал по простому- корпус камеры физически закреплен на оси сервы. Механически расходы в принципе не поменять. Угол отклонения более чем достаточный для обзора, при этом элементы конструкции не позволяют использовать весь ход сервы. Вот здесь то и поможет EPA. И похоже одна граница будет близка к нулю… И то что появится новый центр- абсолютно правильно- камера будет перемещаться пропоционально ручки доп. аналогового канала.
“Охх… Болять мои крылья…” © слова народные.
Для msv:
Сергей! Чаще рекомендуйте пользователям кодера читать Вами же написанную инструкцию для него 😁!
Ранее я ее проглядел мельком, а сейчас, по причине того, что приступил к реализации кодера “в железе”, распечатал и прочел внимательно…
Все там написано - и о расходах, и о конечных точках, и о триммерах-субтриммерах, и о настройке механики…
Так что, если в ветке будет назревать какая-то полемика, то кандидаты в спорщики сначала сдают зачет по знанию инструкции… и только потом начинают спорить 😃 !
А мне кажется , что при изменении ЕРА средняя точка не должна уходить. Пример: модель оттриммирована, но потом пришлось ( по какой-то причине ) изменить ЕРА, и тогда её снова надо триммировать.
И чуть не в тему: сделал приспособу для настройки передатчиков:
rcopen.com/forum/f8/topic179615
Вот!
А какая пропускная способность ВЧ модулей необходима для нормальной работы аппаратуры?
Ну… если принять PPM-пакет из 8-ми канальных импульсов за “байт”, то, учитывая, что он передается 50 раз в секунду… можно говорить о “пропускной способности” 400 Байт/сек… или 3200 бит\сек 😉!
А можно уточнить, какие ВЧ-модули и какая аппаратура имеется в виду?
При мысли о EPA, только о ней и помню… Это не параметр оперативной настройки. Он даже не зависит от режима полета. Он зависит от конструкции!
По той причине, что определяет физический сектор машинки, в котором должна быть реализована функция. Вся. И без искажений.
Зависит от концепции (в целом).
Мне кажется более правильной концепция, основанная на таких положениях:
A) EPA задает физический сектор, в пределах которой работает машинка. Секторов два (один в минус, другой в плюс), каждый сектор задается раздельно. Итого имеем два параметра E1 и E2. Сектора задаются как 0…-E1% и 0…+E2%.
B) Расходы задают проекцию стика на сектор, заданный EPA (если прямо сейчас вспомнить про расходы - то проекцию стик ов). Расходов тоже два (один в минус, другой в плюс), тоже задаются раздельно. Итого имеем два параметра R1 и R2. Расходы задаются в пределах 0…-R1% и 0…+R2%. R1 задает проекцию на сектор “минус” EPA, второй - на сектор “плюс” EPA. Расход +80% означает, что 100% отклонения стика сдвинут качалку на 80% сектора, установленного параметром E2 (сектор 0…+E2).
C) Триммеры двигают среднюю точку рулевой машинки (аналог механической перестановки качалки на валу машинки на один, два… N зубцов). Триммер один, итого имеем один параметр T. Триммирование задается как -T%…+T%.
D.вариант 1) Средняя точка машинки определяется динамически, как середина диапазона, заданного параметрами E1 и E2. => Средняя точка должна переопределяться при переназначении EPA.
D.вариант 2) Средняя точка не должна переопределяться при переназначении EPA. Она соответствует длительности канального импульса 1,5mS и сдвигается только триммером.
Следствия из концепции:
1) Функция (закон управления) - это закон преобразования положения стика => она работает на всем диапазоне отклонения стика => ее правая точка соответствует полному отклонению стика, запрограммированному “на сейчас” => функция масштабируется (растягивается, сжимается) по установленному расходу. Расход 50% означает, что экспонента не будет обрезана на половину (и при этом мы лишимся ее крутого участка); расход +50% означает, что форма экспоненты будет полностью реализована на участке отклонения качалки 0…50% (50% сектора, ограниченного 0…E2).
2) Так как масштабирование ведется по установленному расходу, а расходов два (R1 (в минус) и R2 (в плюс)), то и коэффицентов масштабирования тоже два. Один будет работать на минусовую зону сервы, а второй - на плюсовую зону сервы. Если функция линейная (т.е. не заданы экспонента или произвольная характеристика), и расходы в плюс и в минус не одинаковы (-60 и +90), то график функции будет иметь излом в точке “0”.
3) Перестановка триммера не влияет на масштабирование функции => перестановка триммера вызовет именно обрезание той части ветки функции, которая вылезает за диапазон, установленный EPA.
4) вариант 1 Диапазон действия триммера должен быть ограничен зоной, заданной EPA (E1 и E2). Представляется разумным работа триммера в тех же единицах, в которых задается EPA; Триммер можно не ограничивать в интерфейсе значениями, установленными пользователем для E1 и E2. Границы могут быть заданы числами, предельными для установки EPA, а в процессе вычислений надо сделать “обрезание” полученного значения управляющей функции до установленного значения EPA.
4) вариант 2 Триммер может работать и в относительных величинах (% от установленного пользователем интервала E1…E2.
4) вариант 1 лично мне представляется более разумным и очевидным, чем 4) вариант 2.
D.вариант 1 дает нам динамическую среднюю точку. “Умную”.
D.вариант 2 делает настройку более “прозрачной”. Средняя точка, установленная качалкой, КМК, есть основная опорная точка при настройках; именно от нее мы отсчитываем отклонения рулей. Если она ползает при изменении EPA - это может доставлять неудобства.
У каждого варианта свои достоинства…
Примечание: То, о чем мы рассуждали три дня (кто первым упрется в край - стик или серва) - алгоритм, реализующий концепцию B в соответствии со следствиями 1 и 2.
P.S. Место для субтриммера в этой концепции пока вакантно. Я еще раз проштудировал мануал, и получил впечатление, что “Триммер” = ручка на пульте, а “Субтриммер” = параметр настройки. КМК, дергая за триммер, мы меняем субтриммер, только делаем это не через меню. Если это так, то понятие “субтриммер” не имеет смысла - есть параметр, отвечающий за триммирование и его надо называть “триммер” во избежание разночтений.
Если это не так - проясните ситуацию, плиз!
Еще раз, понятия Control и Channel в текущей концепции абсолютно логически независимы.
Субтриммер в этом кодере конфигурационный параметр физического уровня, установлен после микшеров, уже на выходе канала (Channel), и триммирует (устанавливает в 0) серву. В отлиичии от триммера, оперативной настройки логического уровня, триммирует только одну (соответствующую) ручку управления (Control). Разница принципиальная.
По EPA остаюсь на своем мнении, не убедили. 😃 Мне проще представить ситуацию для применения EPA с сервой привода моей камеры (где моя логика единственно правильная), чем управления элероном… Ну не представляю ситуацию, зачем для элерона может оказаться вообще необходим или хотя бы полезен EPA… Это при живых-то расходах (где действительно “0” никуда не уходит при ассиметрии), да еще и кривых. А уж тем более его(её?) изменение на оттримированной модели… Предвидел этот момент, поэтому, в коде условной компиляцией, каждый может выбрать свою “правду”…
Субтриммер в этом кодере конфигурационный параметр физического уровня, установлен после микшеров, уже на выходе канала (Channel), и триммирует (устанавливает в 0) серву.
Спасибо, понял.
Триммер, стало быть, эквивалентен классическому смещению “0” потенциометра?
А субтриммер дает абсолютную поправку к длительности импульса?
Тогда, видимо, надо подправить diagram.jpg:
.
и меню настройки канала:
====================
Mixer
Trimmer
EPA-
EPA+
Reverse
====================
Две разных вещи с одинаковым названием - нехорошо…
Да , это субтриммер.
Полное название не влезло на экран. Сокращение Subtrimm показалось не очевидным. Ну а раз в меню другого триммера нет, то решил пусть это будет… Открою тайну, вообще не уверен в правильности терминологии, тк. даже не помню то ли где-то прочитал, то ли сам придумал, что раз на ручках триммеры, то это можно обозвать субтриммеры… 😃
Впервые столкнулся с Subtrimm на Graupner JR MC-15 в где-то 1990-х годах.
…не помню то ли где-то прочитал, то ли сам придумал…
Причем, с каждым годом такие моменты возникают все чаще 😁!
Вот фрагмент инструкции к моему пульту (Hitec Eclipse-7):
“Меню Subtrim используется, чтобы вносить мелкие регулировки или корректировки в нейтральное положение каждой серво, независимо от рычажков триммирования. Рекомендуемая процедура - это обнуление и триммеров и саб-триммеров. Тогда крепятся качалки серво и устанавливаются тяги таким образом, чтобы нейтральное положение каждой управляющей поверхности было как можно ближе к требуемому, в то время, как качалка находится под углом 90 градусов к тяге. В итоге, требуются небольшие значения саб-триммера, чтобы внести точные корректировки.Мы рекомендуем, чтобы Вы старались устанавливать значения саб-триммеров как можно меньшими. Иначе, когда саб-триммеры имеют большие значения, полный диапазон отклонения серво может быть ограничен.”
Сабтриммеры практически не нужны, пока не пользуешся смикшированными каналами (V-хвост, хотя бы)… Я с ними был вынужден разобраться, когда пришлось настраивать вертолет…
Теперь первый глупый вопрос 😊… По конструктивным соображениям желательно размещение дисплея на расстоянии сантиметров 15-ти от платы кодера… Будет ли работать дисплей при такой длине проводов?