flybrain. передатчик + приемник + автопилот. powered by stm32

AlexSneg

Вот весь полет по деревенской местности. Сразу предупреждаю, не резал и не обрабатывал. Яркости и контраста прибавил, вроде все хорошо теперь по сравнению с предыдущими. Все задуманные датчики вроде показывают правильно: ток, емкость, напряжение, воздушная скорость, компас. Ошибка показаний емкости сейчас примерно 50мА, сравнивал с зарядником после полета.

telion

Вставлю свои пять копеек.
Полетал на выходных поднялся на 2 км. Замикшировал в АП рудер с элеронами, теперь скай делает развороты гораздо быстрей и без сильного крена. Проверял как поведет себя АП при выходе из инверта, на 27 минуте в ручном режиме сделал бочку чтоб понять как скай вобще реагирует на такие маневры и дальше уже перевернул и включил стаб. Я даже не успел опомниться как скай обратно встал в горизонт ). Видео полностью как есть…

PAF
telion:

Замикшировал в АП рудер с элеронами

Просветите, плиз про микшера на ЛК? Какое-то оцепенение берет при открытии этих вкладок в КП…😵

AlexSneg

создай два новых выходных канала
например так
канал 6 = Элерон + элеватор + рудер
канал 7 = Элерон + элеватор + рудер
Это задается на закладке Микшеров

Затем на закладке выходных каналов включи выходы с шестого и седьмого. Замапируй их на физические номера каналов СТДАПП. Стандартные элероны, элеватор и рудер можно на выходах отключить. Они тебе для крыла не нужны.
А дальше только подобрать знаки и проценты в первых формулах в зависимости от реверсов и уровней вклада. Тут уже индивидуально под самолет.

hav22

Алексей,

Подскажи пожалуйста, как на передатчике настроить двойные расходы? Включил эту опцию для воздействий “рудер”, “элеватор” и “тангаж”. Указал в качестве переключателя один из двойных переключателей. Смотрю монитор входных PPM в КП - а там ничего не меняется, как был диапазон от 1000 до 2000 так и остается, не зависимо от переключателя.

AlexSneg

О, передатчик задышал 😃 Ура!
Вот когда мы говорим о 1000 - 2000 это фактически длина импульса в мкс. То есть, абсолютный диапазон канала от минимума до максимума. А понятие двойной расход, это как бы абстракция для передатчика. Он на самом деле изначально не понимает этого, пока ему не объяснишь, что такое норма, а что такое “двойной”. Там в меню (в передатчике) при настройке воздействия есть параметр Дв.Рсх и число в процентах. Соответственно эти проценты, это коэффициент, на который умножается полученное значение, а выключатель, на который назначил, только лишь разрешает этот множитель, либо алгоритм его игнорирует. Только надо помнить, что внутри передатчик оперирует абсолютным диапазоном от -1024 до +1024. Соответственно, если твоя норма настроена от -1024 до +1024 (что эквивалентно 1000 - 2000 мкс в терминах канала), то увеличить еще в 2 раза уже некуда, согласен? Вот чтобы голову не забивать сложностями, попробуй поставить значение ДВ.Расх на 50% в сторону уменьшения и пощелкай переключателем. В этом случае ты как бы получишь то, что хочешь, но в терминах не увеличения диапазона, а уменьшения его в два раза. Если посмотришь в код исходников, файл RC_Controls.cpp, функция RC_Controls_Class::CalcManipulations()
то увидишь, что коэффициент двойных расходов применяется практически самым первым в цепочке правил. До него только нормировка джойстиков и триммер.

Ежели хочется по сути именно увеличения, то можно этого эффекта достичь при помощи произвольных функций, они как раз три штуки друг за другом. Соответственно первой функцией умножаешь на 0,5 а второй умножаешь на 2 и вешаешь ее активацию на выключатель. На самом деле можешь даже три положения на расходах иметь, если фантазия требует этого.

hav22

Задышал то - задышал. Уже давно. Но…, как говорится, электроника - наука о контактах. Мне видать попались некачественные разъемы (на плату) через которые все стики, кнопки, переключатели, крутилки и экран подключены. Постоянно где то, что-то да отходит. То перключатель не работает, то при включении передатчика экран вверх ногами отрисовывается (с этим вообще не понятно, как такое может быть). Да и со стиками не все впорядке (все равно есть небольшое плавание в пределах двух разрядов, даже после того, как я проклеил токопроводящим клеем неиспользованные части дорожек в резюках). Боюсь, придется мне все таки в другой корпус все это переставлять, где стики нормальные (может свой Spectrum DX5e раскурочу).

По поводу уменьшения, а не увеличения расходов это впринцепе понятно. У меня есть Spectrum DX5e. Там тоже по умолчанию полные расходы, а при включении тумблера, они уменьшаются в два раза. Было бы правильнее называть половинчатые расходы. 😃

Кстати, а что за опция в двойных расходах (не помню точно как называется, что типа “Знач.Вкл” с значениями вкл и выкл). Что она делает?

Спасибо.

AlexSneg
hav22:

с этим вообще не понятно, как такое может быть

Ну программно я в самом начале центр координат при инициализации экрана задаю и все. Если только эта команда на дисплей не проходит…Но как-то странно, если оно после этого все показывает, но вверх ногами, ну значит прошла инициализация. Без инициализации дисплей вообще светиться не будет.

hav22:

что типа “Знач.Вкл”

можно сделать вкл, но не задавать тумблер. Тогда это просто постоянное умножение диапазона на некоторую заданную константу.

hav22
AlexSneg:

Ну программно я в самом начале центр координат при инициализации экрана задаю и все. Если только эта команда на дисплей не проходит…Но как-то странно, если оно после этого все показывает, но вверх ногами, ну значит прошла инициализация. Без инициализации дисплей вообще светиться не будет.

Вот вот. Выключишь, разъем пошевелишь - опять нормально. Странно как-то. Наверное придется все разъемы разбирать (вытаскивать контакты на маме) и поджимать. Иначе (по закону подлости), глюканет в самый не подходящий момент.

AlexSneg:

можно сделать вкл, но не задавать тумблер. Тогда это просто постоянное умножение диапазона на некоторую заданную константу.

ОК. Понял.

Тут у меня возникло предложение по передатчику. Я когда собирал, у меня не было резюков нужного номинала на делитель с которого меряется напряжение питания. Я поставил близкие по номиналу и теперь передатчик показыает неверное значения напряжения на батарее. Не мог бы ты добавить в меню пункт для настройки такого коэффициента?

Кстати, вспомнил еще один важный момент. Подскажи пожалуйста, а как мне для связки передатчик/приемник/АП настроить failsafe? У тебя в документации приведен пример, когда failsafe настраивается по каналу газа, а точнее по значению 500 на этом канале. А как мне например задать такое значение на передатчике, что бы потом передать failsafe на приемник? Вот это момент не очень понятен пока.

Спасибо.

AlexSneg
hav22:

Не мог бы ты добавить в меню пункт для настройки такого коэффициента?

Да, это не проблема. Добавлю коэфф. коррекции.

hav22:

А как мне например задать такое значение на передатчике, что бы потом передать failsafe на приемник?

АП и приемник друг друга без всяких настроек failsafe понимают. Они сами договорятся.

Ну а если в теории для любого другого АП, то надо добавить новый канал на передатчике в выходных воздействиях. Источником должен быть канал с постоянным значением. Там это можно задать. Затем задать значение ФС в этом канале. А затем в меню “МОДЕМ” есть опция, типа “передать значения ФС на приемник”. вот ее жмешь. Приемник соответственно запоминает на своей флешке и будет выставлять это значение на заданном канале. Вместе с ФС будут переданы значения частотных каналов.

PAF

Алексей, в настройках каналов, вкладка входные, есть понятия правый и левый элероны. Я не могу сообразить какой из них относится к каналу “Крен” ( стик влево-вправо)? С “руль высоты” вроде все логично, один канал - одна серва. С выходом понятно, два элерона, две сервы. Но вход??

hav22
AlexSneg:

АП и приемник друг друга без всяких настроек failsafe понимают. Они сами договорятся.

Так… Все еще не до конца ясно. Я понял, что приемник сам (без дополнительных настроек) говорит АП (а АП соответственно без дополнительных настроек понимает) что включился режим failsafe. А как сказать АП, что надо делать в этом режиме (включить возврат домой или/и что-то еще, например выставить какой нибудь выходной канал приемника в определенное значение)?

Спасибо.

AlexSneg

Так когда приемник в паре с АП, то приемник сам ничего не делает и на сервы ничего от передатчика не шлет, он тупо все в АП транслирует и ждет от него решения, что дальше делать. АП видит, что Р/С пропало, активирует режим Автовозврата в своем коде и далее по плану. Когда АП и приемник в паре, они становятся одним устройством с центром управления в АП.

hav22
AlexSneg:

Так когда приемник в паре с АП, то приемник сам ничего не делает и на сервы ничего от передатчика не шлет, он тупо все в АП транслирует и ждет от него решения, что дальше делать. АП видит, что Р/С пропало, активирует режим Автовозврата в своем коде и далее по плану. Когда АП и приемник в паре, они становятся одним устройством с центром управления в АП.

ОК. То есть для АП всегда failsafe = только автовозврат и нельзя управлять никакими внешними устройствами (подключенными к выходам передатчика). Правильно? Просто ты где то в этой ветке писал, что перед одним из полетов забыл настроить failsafe. Что тогда ты имел ввиду?

AlexSneg
PAF:

Но вход??

Если память не изменяет, то правый основной, а левый просто сквозняком для ручного управления. Подай на правый, должно работать. Делалось для облегчения, когда есть и левый и правый с приемника и лень реверсами себе мозг полоскать. Так что не пугайся. Можешь запараллелить, то есть и на левый и на правый подать один и тот же источник, тогда точно не промахнешься 😃

===============
Вот ведь моделисты никак не хотят мыслить как программисты, везде хотят конкретики и чтобы надпись была. Если первый канал, то элерон, если второй, то элеватор. Вроде бы сделал вариант в стиле “назначай как хочешь” 😃, ну привыкайте, это издержки мозга системных программистов. Представляю, что будет когда передатчик в дело пойдет, там же вообще никакой конкретики, а все изначально конструируется и назначается под модель вплоть до кол-ва физических каналов в эфире. 😃))))))

hav22:

Что тогда ты имел ввиду?

Не помню, уже. Ты меня прям засомневаться заставил. Ок, давай так, я сегодня дома уточнюсь как ФС передается на АП от родного приемника. Завтра уже точно скажу. Но отдавать отдельный эфирный канал под ФС только ради того, чтобы флаг ФС транслировать, ну это было бы расточительно с моей стороны. Короче, завтра точно скажу.

А реакция на ФС пока только одна - Автовозврат и баста. Не ну, конечно, если хочется можно дальше в даль лететь.

hav22
AlexSneg:

Короче, завтра точно скажу.

ОК. Спасибо. Сегодня еще сам поэкспериментирую.

PAF
AlexSneg:

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

😃 Дык я ж СумППМ заюзать хочу. Мне лениво струны тянуть.

hav22

Алексей,

Пытаюсь настроить каналы для пан-тилт - не получается. Во входных каналах настроил две строки (с номерами 10 и 11) для 9 и 10 каналов соответственно (крутилки с передатчика) с типом воздействия “Не используется”. В мониторе входных каналов вижу, что показания 9 и 10-го каналов реагируют на поворот крутилок правильно. Далее в выходных каналах прописал две строки: тип воздействия “Тип 10” и “Тип 11”, номер канала 6 и 7 соответственно. Далее подключаю пан-тилт сервы к 6 и 7 каналам приемника, но они не реагируют на крутилки. Что я делаю не так? (Основные каналы настроил без проблем).

AlexSneg
hav22:

Что я делаю не так?

Тут походу пока засада. Я как-то упустил момент простого транзита. Пока не мучайся с этим. Постараюсь исправить на выходных. Только смикшировать их пока не получится. Можно будет только напрямую пробросить.

Далее посмотрел как ФС реализован. Все так, как я и говорил. Настраивать ничего не надо. АП сам разберется. На потерю связи сейчас он автоматом включает АВТОВОЗВРАТ.

hav22
AlexSneg:

Далее посмотрел как ФС реализован. Все так, как я и говорил.

Да, вчера уже попробовал.

hav22

Алексей,

Сегодня настраивал АП и заметил несколько глюков.

  1. Сложилось впечатление, что переменные stick_reverse_* и servo_reverse_* работают наоборот (servo_reverse_* на входе и stick_reverse_* на выходе). Изменение переменных servo_reverse_* влияет на направление отклонения серв только от стиков передатчика (в режиме стаба), но не от стабилизатора (при отклонении самолета в стороны). А вот изменение переменных stick_reverse_*, изменяет направление движения серв и от передатчика и от стабилизатора. Может я чего не так понял в документации?

  2. Переменная test_ruder не работает ни в одном из режимов (ручной, стаб, возврат). Остальные переменные test_* (aileron, elevator) работают нормально.

  3. В контрольной панели, изменение минимального и максимального значений для выходного канала (без изменения типа воздействия для него) не вызывает генерацию соответствующей команды в COM порту. Пришлось использовать терминал для этой цели.

  4. Иногда после выключения и включения приемника (с АП) при включенном передатчике, происходит запуск мотора на 1-2 секунды. Сегодня испытал это на собственном пальце - попал под винт. 😃 Посмотри, может можно какую то дополнительную защиты сделать?

  5. После настроек реверсов в АП, пропала возможность установки 0-го положения самолета с пульта. До настроек реверсов все работало. Уже перепробовал все комбинации право-лево, верх-низ. В чем может быть засада? (полные расходы включены).

Есть предложение - добавить опцию реверса для каждого воздействия/канала, а то не очень удобно настраивать через функции.

Как прогресс с пробросом простых каналов?

AlexSneg
hav22:

Да. Все именно так. Это я в доках лоханулся.
Сначала надо настроить в ручном режиме, используя только реверсы передатчика.
Затем в режиме стаб БЕЗ наклонов, используя servo_reverse_, но реверсы на передатчике уже не трогаем.
А вот затем уже наклоняем, и если не в ту сторону, то stick_reverse_. В результате должно получиться, что рули во всех режимах работают идентично.

hav22:

проверю сегодня, допускаю что могут быть глюки. Сам я этот режим не пользовал очень давно.

hav22:

Ок. Исправлю сегодня.

hav22:

Странно, у меня вроде не стартует, как ни дергай питание. А у тебя разве приемник отдельно от АП питается? Или может от USB идет запитка?
Я на поле, бывает, по нескольку раз дергаю питание на премнике, но при этом и на АП питание пропадает соответственно. Можешь почетче условия этого глюка уточнить? Если вообще без АП, чисто приемник передергивать по питанию, тоже проявляется?

hav22:

Не понял, что такое нулевое положение? Нули на стиках? Так они должны быть заданы на входных воздействиях вроде как.

hav22:

Как прогресс с пробросом простых каналов?

Да. Вчера восстанавливал в памяти, как я там чего делал. Самое просто и быстрое сейчас, это сделать еще 4 транзитных канала. Я там оставил в структурах под это место, оно уже есть. В КП соответственно появится тип воздействия “ТРАНЗИТ 1”, “ТРАНЗИТ 2”, “ТРАНЗИТ 3”, “ТРАНЗИТ 4”. Я вот только к пониманию никак не приду, их в микшер тоже запускать? Тогда появится в таблице микширования еще 4-ре колонки соответственно.

PAF

Алексей, у меня при установленной галке “Разрешить микшеры”, нет приема данных. 😦 СТДАПП запитываю от батареи.

AlexSneg
PAF:

Алексей, у меня при установленной галке “Разрешить микшеры”, нет приема данных.

Да, я понял. только сегодня посту прочитал. Сегодня в код залезу, покумекаю, какая может быть взаимная связь.

PAF

А может быть это мой экземпляр? Что-то не так все четко.
Итак, - аппаратная конфигурация - СТДАПП - СумППМ - разрешить снято. Данные есть.
Ставлю СТДАПП - Дискретный - снято. Данные есть. Ставлю галку. Применить. Ставлю СумППМ применить. Данные есть. Сохраняю конфиг. Сброс питания. Включаю. Нет данных.
Ставлю СТДАПП - дискретный - разрешить снято. Нет данных. Сохраняю. Сброс питания. Включаю проверяю конфиг все на месте. Монитор - есть данные. Ставлю разрешить. Применить. Звук рега. - Есть данные! Сохраняю. Сброс питания. — Нет данных.
Это плавающая бага! Похоже на железо конкретного экземпляра?