Самодельный передатчик (часть 2)

Pav_13

Мне кажется, некоторая путаница возникает из-за двух понятий - “расходы” и “конечные точки”!
“Конечные точки” - это те положения, за которые серва не имеет права заходить ни при каких условиях, ибо сломает себя или модель… “Расходы” - это установленные пользователем пределы отклонения рулевых поверхностей для комфортного управления… За пределы “расходов” (но не далее “крайних точек”) машинка , мне думается, может отклоняться при микшировании нескольких каналов…
Для “умных” серв установка “крайних точек” возможна программированием самой сервы, для обычных серв это надо делать в передатчике… В имеющихся у меня передатчиках для этого предусмотрена общая функция - EPA! Именно потому, что в EPA объеденены понятия “крайних точек” и “расходов” - возникают некоторые затруднения с их установками 😦… Хотя, пока микшеры не подключаешь, проблем особых нет…
Но если возникает необходимость микшировать каналы, то с “процентами” надо разобраться 😠… А тем более, если самому писать программу, высчитывающую эти самые “проценты”…
Не уверен, что я до конца “въехал” в диаграмму, предложенную EagleB3, но, мое мнение, ход стика всегда должен оставаться полным для любых установок “расходов” и “крайних точек”…
Счас попробую тоже графически изобразить свое видение (если получится) 😵

Для EagleB3:

Вы невнимательно читали мои посты 😃!
Я ж не против того, что “стик уперся, а руль еще не дошел до нужного положения”! Я согласен поделить права на румпель с помощниками или даже совсем отдать их (пусть другие работают 😉)…
Я возражаю против ситуации, когда у меня или у моих помощников еще есть, куда двигать руппеля, а руль уже “встал колом”… мол, “хватит- наработался!”😁

P.S. Запутался с румпелями и рулями!
Не моряк, однако…

EagleB3
Pav_13:

Я возражаю против ситуации, когда у меня или у моих помощников еще есть, куда двигать румпеля, а руль уже “встал колом”… мол, “хватит- наработался!”

Это значит, что вы видите правильное решение проблемы по первому варианту, но с маленькой оговоркой: требуете так настроить управление, чтобы руль лег на борт ровно тогда, когда все три румпеля лягут на упоры в нужном направлении. Не раньше и не позже. И каждому румпелю Вы при этом обязаны назначить предел, в которых он может влиять на руль.

В приведенном мной рисунке это значит, что “запас в 40%” использоваться не должен; EPA используются как предельные точки отклонения.
Далее необходимо разобраться с вариантами построения алгоритма. Например, вот вариантик для начала. Управляем первым каналом (“Первый румпель”):

  • первый канал считаем “главным”. Задаем для него расход. Расход более 100% в этом случае теряет какой-либо смысл. (Но надо еще про это подумать! Помогайте!..)
  • для “второго румпеля” задается % микширования (допустим, 40%), он достигается всегда при 100 отклонении ручки стика второго канала - без учета установленного для второго канала расходов;
  • для “третьего румпеля” задается % микширования (допустим, 30%), он достигается всегда при 100 отклонении ручки стика третьего канала- без учета установленного для третьего канала расходов;
  • главный канал берется с учетом расходов. Все эти проценты становятся весовыми коэффициентами (долями):
    – a) для расхода главного канала 100% получается 100+40+30 = 170 долей
    – б) для расхода главного канала 25% получается 25+40+30 = 95 долей
  • EPA машинки первого канала пересчитывается по полученному коэффициенту в “тики сервы” (миллисекунда/доля),
  • При эксплуатации виртуальное положение стика главного (первого) канала (0…100% для примера “а” и 0…25 для примера “б”) пересчитывается через “тики сервы” в значение времени для машинки первого канала;
  • При эксплуатации абсолютное положение стиков микшируемых (второго и третьего) каналов (0…100%) пересчитывается через “тики сервы” в добавку времени для машинки первого канала.
  • Делаем проверку (“обрезание”) на невыход за минимальное/максимальное время канала и посылаем посчитанное время на машинку.

Но еще надо продумать как быть с возможным возникновением закольцовок. Типа “первый канал микшируется на второй, второй канал микшируется на третий, третий канал микшируется на первый”.

Нормальный алгоритм, не плохой и не хороший, он просто вот такой.

При рализации этого алгоритма потенциальные грабли, вывихивающие мозг:

  • проценты микширования (устанавливаемые во втором и третьем канале) делаются чистой абстракцией. Пилот сам должен помнить (и считать… ощущать…), что реально он оперирует вот теми самыми весовыми коэффициентами. Почему? Потому, что % микширования нельзя взять в качестве % от EPA, так как положение стика главного канала с учетом расходов не может быть % EPA. В приведенном примере 25+40+30 = 95, а вовсе не 100. Можно держать эту сумму в голове, можно сделать калькулятор в программе кодера, можно делать контроль при сохранении настроек на то, что сумма расхода главного канала и всех микшеров, завязанных в первый канал равна точно 100%…
Pav_13

Вот мои “художества” 😊
Зеленым нарисован микшируемый канал (один пока) и его процент влияние на максимальные “расходы”…
Понятно, что другим может быть совсем непонятно, что я тут изобразил 😃 (так же, как и с объяснениями на словах)… но… как умеею 😉
Знаю, что любую геометрию можно описать формулами, но проделать это для мною же нарисованного - не в силах 😵!
А вот случай “перекрестного” микширования (“первый канал микшируется на второй, второй канал микшируется на третий, третий канал микшируется на первый”) совсем не представляю, ни зачем это надо, ни как сделать 😃

EagleB3
Pav_13:

А вот случай “перекрестного” микширования (“первый канал микшируется на второй, второй канал микшируется на третий, третий канал микшируется на первый”) совсем не представляю, ни зачем это надо, ни как сделать 😃

Зачем - не важно. Как сделать - микшеры назначить.
Но если такое перекрестное или кольцевое микширование возможно, значит:

  • либо такое миширование должно быть запрещено идеологически и программа кодера должна препятствовать организации таких завязок;
  • либо алгоритм управления должен корректно его реализовывать.
Pav_13

Я тему читал всю (но давно) и, мне кажется, здесь уже была эта ссылка rconline.ru/modules/smartsection/item.php?itemid=6…

Если да, и уважаемые авторы программы это читали, то можно коротко пояснить… обработка каких функций, использованных в обсуждаемом кодере не рассмотрена в статье по ссылке?
Просто, я статью бегло читал и ранее, и сейчас просмотрел… Вроде бы, в ней рассмотрены и конечные точки, и микширование, и экспоненты 😃
Чего не хватает для математики кодера?

Denn

"Поэтому вопрос к Denn (и я удаляюсь паять кодер):

Так все же, тот факт, “что ручка продолжает двигаться, а машинка уже стоит” - это нормально или “имеет место неверно сконструированный канал”?! "

Ещё раз попробую объяснить: ручка продолжает двигаться, а машинка уже стоит - это нормально при работе микшера. Это значит, что все ручки поставлены в такое положение , что модель должна лететь ( или ехать … ) с таким положением руля.

Если миксеров в канале нет, то , конечно, это не совсем правильно, хотя при желании можно оправдать и такой режим. Всё зависит от необходимости управления.
Лично меня такое положение вещей вполне устраивает, как и JR , и Hitec.
И особенно приятно использование аналоговой крутилки для настройки этих положений!

Pav_13
Denn:

Ещё раз попробую объяснить:

Спасибо за попытку!

К сожалению, по причине моего ничтожного опыта обращения с микшерами, я опять ничего не понял 😊
А может, у меня с Вами логика не совпадает?
К примеру, такой логический ход мои мозги не переваривают:

Denn:

ручка продолжает двигаться… Это значит, что все ручки поставлены

Как может двигаться то, что уже поставлено (остановлено, то есть) 😃?

Предлагаю прекратить дискуссию, тем более, что вот такой аргумент

Denn:

Лично меня такое положение вещей вполне устраивает…

для меня абсолютно бесспорен! Ибо каждый имеет право на личные предпочтения!

А вот в том, что такое положение вещей устраивает

Denn:

как и JR , и Hitec.

у меня есть определенные сомнения, но они требуют проверки, поэтому возражать пока не буду… Пойду читать инструкции … Хайтек у меня есть, ДжиЭр есть у товарища…

serg111

Решил сделать кодер и столкнулся с этим:

dollop:

Не первый раз делаю кодер с экраном от 3310, но такое вижу впервые. Кто подскажет, как лечить?

Я так понял уже пофиксили для этого экрана, можете выложить?

serg111

Разбрался кажись.

void LCD_clear (void)
{
unsigned char x, y;
for (y=1; y<7; y++)
for (x=0; x<84; x++) buff[y][x]=0;

void LCD_refresh (void) // Обновление дисплея (отображение буффера)
{
unsigned char i,j;

LCD_DC=0 ;
spi(64);
LCD_DC=1;
for(i=1; i<7; i++)
{
LCD_DC=0 ;
spi(64+i);
spi(128);
LCD_DC=1;
for (j=0; j<84; j++) spi(buff[i][j]);
}
}

void LCD_pixel (unsigned char x, unsigned char y, unsigned char color)
{ // Рисуем пиксель. Все остальные процедуры работают через нее
unsigned char i, bt;
//x=83-x;
//y=47-y;
y=y+8;
i=y>>3;
bt=1<<(y & 0x7);
if(color) buff[i][x]|=bt;
else buff[i][x]&=(~bt);
}

По мотивам msv1.8 3310 upsidedown

Coder.rar

sslobodyan

Можно, я чуть выскажу свое видение микширования и ЕРА? 😃
Для микширования можно применять два метода.
1 - как сделано у Фокуса. Просто складываем каналы умноженные на их весовые (процентные) коеффициенты.
2 - с пересчетом весовых коеффициентов. Для этого сначала расчитываем новые коеф (К2) пропорционально установленным пользователем, но так, чтобы их сумма давала 100% (или ЕРА). Т.е. если пользователь установил смешивание 3 каналов с коеф. 50, 40 и 30, то расчетные К2 будут 50/(50+40+30)*100=42, 40/(50+40+30)*100=33 и 30/(50+40+30)*100=25. В этом расчете 100 - это ЕРА. Такой расчет гарантирует, что при максимальных отклонениях стиков всех микшируемых каналов не даст машинке выйти за ЕРА. И если мы изменим ЕРА, то соотношение влияния стиков на результат не изменится. Даже если пользователь установит для всех трех каналов 100% микширования, то каждый из каналов получит только по 33% и равную долю влияния на результат. Не будет ситуации, что стик еще движется, а машинка уже уперлась. И функция двойных расходов в таком случае решается как изменение ЕРА в зависимости от какого-либо переключателя или даже крутилки.

Сорри за многабукафф 😃

EagleB3
sslobodyan:

2 - с пересчетом весовых коеффициентов

Вот этот алгоритм и описан в посте #2698. Неужели настолько неузнаваемо? 😊

А вот идея менять расходы движением EPA мне кажется не хорошей. Потому, что в одном месте приходится оперировать весовыми коэффициентами каналов (процентами), а в другом - градусами или миллиметрами.

Гораздо более юзефульно, КМК, определять общий коэффициент канала “одинарные/двойные” из установленных значений расходов и использовать этот коэффициент. На примере sslobodyan’а:
Двойные расходы = 100, одинарные = 60. Считаем коэффициент 60/100 = 0,6.
Веса установлены 50, 40 и 30 (сумма=120); веса, приведенные к 100% составят 0.42, 0.33 и 0,25 соответственно (в сумме = 1).

Полное (100%) отклонение главного стика канала даст:

  • на двойных расходах 100*0,42=42%
  • на одинарных расходах 100*0,42*0,6=25%
    Полное (100%) отклонение стика второго канала даст:
  • на двойных расходах 100*0,33=33%
  • на одинарных расходах 100*0,42*0,6=20%
    Полное (100%) отклонение стика третьего канала даст:
  • на двойных расходах 100*0,25=25%
  • на одинарных расходах 100*0,25*0,6=15%
    Сумма полного отклонения трех стиков:
  • на двойных расходах 42%+33%+25%=100% (А)
  • на одинарных расходах 25%+20+15%=60%. Как просили. (Б)

И при этом не надо никуда EPA перестраивать. EPA как параметр геометрии самолета или… Не знаю как лучше сказать… “На первый вылет - расходы поменьше”. Смысл не в расходах поменьше, а в уменьшении предельно допустимых углов отклонений рулей. Вот это - в чистом виде работа для EPA. КМК.

Проценты (А) и (Б), которые мы получили - это проценты от длительности канального импульса, установленного через EPA. Осталось добавить (вычесть) триммирование - и все, можно грузить длительность в таймер.

Триммирование, КМК, просится в процентах от установленного EPA, ибо тоже имеет прямое отношение к геометрии самолета. Получим простое смещение нуля рулевой машинки (на графике из поста #2696 вертикальная ось, от которой откладываются + и - рулевой машинки двигается триммированием влево-вправо).

dollop
EagleB3:

И при этом не надо никуда EPA перестраивать. EPA как параметр геометрии самолета или… Не знаю как лучше сказать… “На первый вылет - расходы поменьше”. Смысл не в расходах поменьше, а в уменьшении предельно допустимых углов отклонений рулей. Вот это - в чистом виде работа для EPA. КМК.

Ой встряну немножко.
Сразу оговорюсь, что ничего серьезней этого кодера я не видел.
Мне интересно, почему люди у которых есть аппа с возможностью изменения EPA, не могут поставить эксперимент? И выставить-таки все точки над ё. Хотя, может просто времени не хватает 😒
С выше приведенной цитатой не совсем согласен. Ибо даже в очень бюджетных аппах есть переключатель именно расходов. И я не думаю, что нужно на первых полетах рулить этими расходами посредством EPA. Микроскопом гвозди забивать. Хотя, может, я чего-то в высказывании недопонял.
Почитав несколько инструкций от разных футаб (в них говорится, что используется EPA именно для ограничения движения машинки по конкретному каналу. И как пример дается организация предотвращения перемещения манинки в одном из направлений…), хочу задать такой вопрос:
А если мы EPA поставим в 0 - то машинка отклоняться не будет. А стик на аппе мы двигаем. Я не думаю, что тут идеология нарушилась. И что так быть не должно? Машинка все-таки должна рулиться? Стоять как вкопаная она должна?
Ну КМК все в кодере работает вполне корректно в отношении EPA.

Aleksey_Gorelikov

Ребят, Расходы - имхо это логика. Конечные точки - имхо это физика. Вот и все.
Т.е в качестве конечных точек задается предельное положение качалки сервы, при котором серва не упрется в свой ограничитель или не начнет ломать рулем направления руль высоты. А расходы - это уже как вам летать комфортнее.

Посмотрите на ту же футабу к примеру. Там сейчас есть аналогичная, но более продвинутая функция “виртуальное кольцо”. Функция позволяет настроить “конечные точки” серв автомата перекоса таким образом, чтобы тарелка перекоса при угловых положениях стика по одной оси и по двум осям наклонялась от вертикали на один и тот же угол, который максимален для данной тарелки перекоса физически.
Чего спорить то? ЕРА должно ограничивать движение сервы, даже если стик не уперся. Контролировать, чтобы использовался весь ход стика - должен ЮЗЕР при помощи расходов/коэфициентов микширования. По сути - ЕПА это ограничение длительности канального импулься дла конкретной физической реализаци модели.

Pav_13
Aleksey_Gorelikov:

Посмотрите на ту же футабу к примеру.

Хорошее предложение!
Давайте посмотрим, как Вы настраиваете “виртуальное кольцо”

Aleksey_Gorelikov:

…таким образом, чтобы тарелка перекоса при угловых (?) положениях стика… наклонялась от вертикали на один и тот же угол, который максимален для данной тарелки перекоса физически.

Если я правильно понял термин “угловое положение” стика, как “стик уперся в угол”, то мне понятна логика такой настройки… Без вопросов!

А вот следующая Ваша фраза уже вызвала у меня недоумение

Aleksey_Gorelikov:

ЕРА должно ограничивать движение сервы, даже если стик не уперся.

Вы действительно можете проделать такой “фокус” на своей футабе?

Aleksey_Gorelikov:

Контролировать, чтобы использовался весь ход стика - должен ЮЗЕР при помощи расходов/коэфициентов микширования.

Согласен, если фразу закончить: “устанавливая их (расходы) такими, чтобы при крайних положениях стика обеспечивалось комфортное управление и отсутсвие механического ограничения хода машинки”.

dollop:

А если мы EPA поставим в 0 - то машинка отклоняться не будет.

Будет! Но чтобы это заметить, потребуется микроскоп 😉!

dollop:

Ну КМК все в кодере работает вполне корректно в отношении EPA.

Не имею морального права в этом сомневаться - нет пока у меня это кодера 😦

Но “с какого перепугу” были написаны посты 2655 и 2656 ?!
Перечитайте!

dollop:

Мне интересно, почему люди у которых есть аппа с возможностью изменения EPA, не могут поставить эксперимент? И выставить-таки все точки над ё

Да могут… ставили!
Только кто сказал, что за инженерами футабы или хайтека должно оставаться последнее слово 😉?!

EagleB3
Pav_13:

Вы действительно можете проделать такой “фокус” на своей футабе?

Я уверен, что сможет! Хотя сам (на своей футабе) это не проверял и не исследовал.
У “футабы” логика такая. Для них +120% триммера и +140% EPA - это нормально.

А вот 140% чего? Глубоко убежден, что именно стика. Если поставить расход на стике в 140% (такое там тоже возможно! Но не обязательно…), то отклоненный до упора (100% механики) стик как раз и приедет в 140% EPA.

Я же говорю - принципы построения алгоритма могут быть разными. На разной логике.
Эта логика не плохая и не хорошая. Она РАЗНАЯ.
Кому-то ближе и удобнее одна, кому-то другая.

dollop:

И я не думаю, что нужно на первых полетах рулить этими расходами посредством EPA. Микроскопом гвозди забивать. Хотя, может, я чего-то в высказывании недопонял.

Скорее именно недопонял.
Я знаю три метода “уменьшения расходов для первых полетов” (да и не для первых тоже):

  1. Уменьшить расход;
  2. Переставить EPA;
  3. Поставить крепкую экспоненту в минус (-60…-70).
    Каждый по своему удобен. Использовать надо то, что удобно и наиболее подходит.

Я против того, чтобы использовать EPA вместо того, чтобы переназначить расходы. Мне вот это очень не понравилось:

sslobodyan:

И функция двойных расходов в таком случае решается как изменение ЕРА в зависимости от какого-либо переключателя или даже крутилки.

Я против того, чтобы использовать EPA как штатный инструмент для оперирования расходами.

А эксперимент - можно. Я же предлагал. Но я не просто так попросил программу эксперимента. Я не вижу смысла крутить неизвестно что неизвестно зачем; крутить надо ради чего-то.
Ну покрутим, увидим как делает Футаба. Оно имеет смысл, только если кто-то еще возьмется проделать аналогичный эксперимент с Хитеком, или Санвой, или еще с кем. Чтобы сравнить и выбрать базу для нашего кодера.

А иначе… Да , “Футабы” вот так. Да и хрен с ней! А у нас вот эдак, совершенно по-другому, но всем нравится.

P.S. А в алгоритме, который я прописал в посте #2707, надобно сделать улучшение: считать, что двойной расход главного канала тоже может быть менее 100%. Тогда и для двойных расходов, и для одинарных надо считать коэффициент N/100 ; если расход = 100%, то коэффициент равен 1. И если расход меньше 100%, то при полностью упертом стике (и всех вмикшированных стиков тоже!) качалка не доедет до EPA. И это - правильно!

sslobodyan
EagleB3:

А вот идея менять расходы движением EPA мне кажется не хорошей.

Я несколько плохо выразился 😃 Имел ввиду именно так как Вы и поправили. Множить на ЕРА*Кдвойного расхода. Так и делал у себя в кодере.

Pav_13
EagleB3:

Я уверен, что сможет! Хотя сам (на своей футабе) это не проверял и не исследовал.

Ну так, проверте 😉! Как активный участник обсуждения “проблемы”…
Я на своей проверял, но у меня такая футаба, что футабе за нее должно быть стыдно 😊… (4EX) Она так не сможет!
Эклипс тоже так не может…
А может, у меня интеллекта не хватает заставить их так поступить 😦? Хотя… может, и хватило бы, если бы я понимал, зачем такое может потребоваться в управлении моделями? Но пока я такого понимания не достиг… Увы! И по-прежнему пребываю в убеждении (или заблуждении ?), что “машинка не должна останавливаться пока стик не уперся!”

EagleB3:

Я уверен, что сможет! Хотя сам (на своей футабе) это не проверял и не исследовал.

Ну так, проверте 😉! Как активный участник обсуждения “проблемы”…
Я на своей проверял, но у меня такая футаба, что футабе за нее должно быть стыдно 😊… (4EX) Она так не сможет!
Эклипс тоже так не может…
А может, у меня интеллекта не хватает заставить их так поступить 😦? Хотя… может, и хватило бы, если бы я понимал, зачем такое может потребоваться в управлении моделями? Но пока я такого понимания не достиг… Увы! И по-прежнему пребываю в убеждении (или заблуждении ?), что “машинка не должна останавливаться пока стик не уперся!”

EagleB3:

…при полностью упертом стике (и всех вмикшированных стиков тоже!) качалка не доедет до EPA. И это - правильно!

Пока писал свой пост, Вы добавили…

Если вставить в Вашу фразу уточнение “… не доедет до EPA, но и не остановится, пока все стики не упрутся.” - то я соглашусь, что "И это - правильно!" 😁

msv

2serg111

Разбрался кажись.

Что-то не то… Ваши изменения -только неправильная адресация буфера, причем с выходом за его границы… Чревато…

dollop
msv:

2serg111 Что-то не то… Ваши изменения -только неправильная адресация буфера, причем с выходом за его границы… Чревато…

Та не. Там все правильно. У этого дисплея совсем другой буфер. По-более - 102x67 пикселей.

2serg111 И еще, если не устраивает контраст этого “паленого” дисплея, то поиграйтесь напряжением питания дисплея (даже просто резисторным делителем) ну и не забудьте поменять в инициализации значение VOP - контраст улучшится раза в 2-3

void LCD_init(void) // ИНИЦИАЛИЗАЦИЯ ДИСПЛЕЯ
{
LCD_DC =0;
LCD_RESET=0;
delay_ms(1);
LCD_RESET=1;
delay_ms(1);
LCD_DC=0;
spi(0x21);     // включить питание, расшир. команды
spi(0xE4);     // A large VOP for China displays
spi(0x45);     // China LCD Correction (Y offset +5)
spi(0x06);     // Temp. coefficient
spi(0x13);     // bias=3
spi(0x20);     // обычный набор инструкций
spi(0x0c);     // Normal Mode
delay_us(500);
LCD_clear();
LCD_refresh(); 
EagleB3
Pav_13:

Я на своей проверял, но у меня такая футаба, что футабе за нее должно быть стыдно 😊… (4EX) Она так не сможет!

да лааадно прибедняться-то! Расходов у нее нет, а EPA точно также, 0…+140 в каждую сторону.

Я попробую, конечно. Только не уверен что сегодня. Подготовиться надоть. Машинку закрепить, шкалу, стрелочку…

Кому чего интересно проверить/уточнить - пишите!

Pav_13:

Если вставить в Вашу фразу уточнение “… не доедет до EPA, но и не остановится, пока все стики не упрутся.” - то я соглашусь, что "И это - правильно!" 😁

Ы! 😁 А я изначально хотел возле этой добавки “2 Pav_13:” написать…
При таком (модифицированном) алгоритме фишка в том, что по отношению “расход главного канала”/100 считается ОБЩИЙ коэффициент. Допустим, расход = 80%; тогда общий коэффициент = 0,8. Дальше расход главного канала становится весом. Сумма весов относится к 100%. По весам считаются коэффициенты участия каналов. Да, все три (в наших примерах - три…) на полном отклонении дадут 100%, но эти 100% будут умножены на ОБЩИЙ коэффициент. И когда все три стика лягут на упоры, качалка дойдет только до 80% от EPA.
Не нравится, что всего 80? А зачем тогда ставили расход на 80%? Ставьте расход 100% - получите отклонение качалки 100% EPA.

Проверка, как в начальной школе: нету микширования. Никакого. Вообще. Расход 80%. До какого отклонения должна дойти качалка при полном отклонении стика? Тот, кто считает, что до 100% EPA, моментально получает двойку… Логично?..

Пример для осмысления: Условия точно как в “проверке”, но вы добавили 1% микширования от стика второго канала. Отклонили до упора первый стик. Потом до упора второй стик. До скольких процентов отклонилась качалка?
Подсказка: неужели до EPA? До 100% EPA? Как же это 1% от второго канала превратился в эквивалент 20% от первого?
Решение:
Расход главного канала = 80%
Микширование от второго кнаала = 1%
Общий коэффициент 80/100=0,8;
Сумма весов = 80+1
Весовой коэффициент главного канала =(80*100)/(80+1) = 98.76
Весовой коэффициент второго канала =(1*100)/(80+1) = 1.24.
Полное отклонение стика главного канала отклонят качалку на 98,76*0,8=79,008% от величины EPA,
Полное отклонение стика второго канала добавит 1,24*0,8=0,992% от величины EPA.
В сумме полное отклонение обоих стиков вызовет отклонение качалки 80% от величины EPA.
…А сколько хотел получить тот, кто установил расход 80%?

msv

Та не. Там все правильно.

Не могу согласится… В циклах не используется 0-вая строка буфера, зато залезаем за последнюю. Если размер буфера не скорректирован, то недалеко до беды… Единственное изменение во всех этих изменения по логике работы с индикатором- это команда адресации. Попробуйте в функции LCD_refresh поменять spi(64+i); на spi(65+i);,а все остальное вернуть.
//—
Прямо буря! (в стакане? 😃 ) Позиция Pav_13 уже давно понятна. А вот в объяснениях EagleB3 уже потерял нить… Периодически упомянается “главный канал”… Ну не понимаю какой канал главный для правого(левого) элевона… Дмитрий, прошу написать конкретно, какие изменения по вашим соображениям следует внести в логику обработки. Или это абсолютно другая концепция?
//—
Для меня более-менее все ясно, изложил выше. Один вопрос остался - как правильнее обрабатывать триммеры, субтриммеры? Или просто сдвигать всю фукцию (как сейчас) или менять только центр и менять наклон для сохранения конечных точек?