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

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

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

hav22
AlexSneg:

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

Получается наоборот. Про ручной режим все так - только реверсами на передатчике (опять же к вопросу об опции реверса каналов/воздействий на передатчике). Затем настраиваем правильное отклонение серв по стабу (наклонам самолета) с помощью stick_reverse_* (!!!) и уже потом, с помощью srervo_reverse_* - от передатчика. Я вчера час просидел с этим и у меня получается именно так.

AlexSneg:

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

Я подразумеваю, что происходит следующее: у меня входной канал газа на АП - 1 (соответственно он же выходной на передатчике), а выходной канал газа - 5 (то есть мотор подключен к 5-ому каналу приемника). На выходе передатчика, 5-й канал - это тумблер (кстати по иронии судьбы настроил его-же как дисарм двигателя на АП). По этому каналу с передатчика идут значения 1500 (выкл) и 2000 (вкл), то есть не минимальное (1000). Так вот, возможно при подаче питания, приемник стартует раньше АП и все каналы идут транзитом на выход приемника до тех пор, пока приемник не установит связь с АП, то есть 1500 или 2000 с 5-го канала в первые секунды идут с передатчика прямиком на мотор. Может есть смысл в приемнике сделать задержку секунды 3 при старте, в течении которых все каналы будут в минимуме?

AlexSneg:

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

Не правильно выразился. Я имел ввиду установку референсного (горизонтального) положение АП.

AlexSneg:

Я вот только к пониманию никак не приду, их в микшер тоже запускать?

Вообще, я думаю это было бы полезно. Я знаю, что некоторые люди настраивают, например, режим флаперонов и включается это по отдельному каналу. Хотя не уверен, можно ли это будет вообще на АП настроить?

AlexSneg
PAF:

Ставлю СумППМ применить. Данные есть. Сохраняю конфиг. Сброс питания. Включаю. Нет данных

Вопрос в том как сбрасываешь питание. АП передает на модуль конфиг, если видит, что перед этим связи с модулем не было и вдруг появилась. Вот если все настроил и данные пошли, затем сохранить конфиг, затем выкличить питание, выдернуть ЮСБ. А затем опять подать питание. Появляются данные?

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

короче, понятие сбросить питание = выключть акк, выдернуть ЮСБ.

hav22:

Может есть смысл в приемнике сделать задержку секунды 3 при старте, в течении которых все каналы будут в минимуме?

Да, похоже это все объясняет. Приемник действительно не сразу связь с АП может установить, а спустя несколько секунд. Задержку конечно можно сделать, но решит ли это проблему? И 3сек, мне кажется мало. Надо секунд 15 сделать.

hav22:

Я имел ввиду установку референсного (горизонтального) положение АП.

Такого понятия с некоторого момента времени уже не существует. Примерно месяц назад, это все конвертировалось в программные триммера. Можно выставить установочный крен и тангаж. В КП, в настройках IMU есть и кнопка автоматического забора этих значений от текущего положения, и индивидуально поле ввода значения в градусах. Глянь комментарии на cайте к апдейту FlyingBrain-0.1.0.255.zip
а также от 253-ей

telion
hav22:

Не правильно выразился. Я имел ввиду установку референсного (горизонтального) положение АП.

Алексей, установка референсного положения с прошивки “0.1.0.253” делается по другому, стиками его установить уже нельзя. Если ошибаюсь Алекс поправит. В общем, почитай описание к этой прошивке.

hav22
AlexSneg:

Надо секунд 15 сделать.

Я боюсь такая большая задержка может мешать при настройке. Мне кажется секунд 5-7 точно должно хватить. Хотя, пальцы дороже. 😁

AlexSneg:

Такого понятия с некоторого момента времени уже не существует. Примерно месяц назад, это все конвертировалось в программные триммера. Можно выставить установочный крен и тангаж. В КП, в настройках IMU есть и кнопка автоматического забора этих значений от текущего положения, и индивидуально поле ввода значения в градусах. Глянь комментарии на cайте к апдейту FlyingBrain-0.1.0.255.zip
а также от 253-ей

telion:

Алексей, установка референсного положения с прошивки “0.1.0.253” делается по другому, стиками его установить уже нельзя. Если ошибаюсь Алекс поправит. В общем, почитай описание к этой прошивке.

ОК. Гляну.

Спасибо.

PAF
AlexSneg:

Вопрос в том как сбрасываешь питание.

Сначала USB. Потом акк. Теперь стабильно. Разрешение снято - есть данные. И в дискрете, и в сумппм картина одна.

AlexSneg
PAF:

Теперь стабильно

Ну, ОК. Я правильно понимаю, что теперь остался только вопрос почему с микшерами СУМППМ данных не показывает, а без них ОК, верно?

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

hav22:

Мне кажется секунд 5-7 точно должно хватить.

Задержка связи с АП обусловлена временем пока пройдет процедура переговоров с GPS модулем и выяснения кто оно такое. GPS после подачи питания некоторое время молчит совсем, и проходит несколько секунд, пока он свое присутствие в виде выходных данных по УАРТ обозначит. И все равно, правильное решение - это некоторая задержка на стороне приемника + в канале газа совпадать по входным и выходным номерам, когда через АП.

hav22
AlexSneg:

Задержка связи с АП обусловлена временем пока пройдет процедура переговоров с GPS модулем и выяснения кто оно такое. GPS после подачи питания некоторое время молчит совсем, и проходит несколько секунд, пока он свое присутствие в виде выходных данных по УАРТ обозначит.

А может в АП, на RX/TX UART’а выставлять просто 2 нуля/единицы пока идет инициализация GPS и датчиков, а в приемнике сделать проверку - в первые 3-5 секунд проверять RX/TX на такие-же значения. Если есть, ждать пока АП закончит инициализацию, если нет, продолжать как обычный приемник. Ну, или в АП включать UART стразу и говорить приемнику, что АП есть и что бы приемник ждал пока АП закончит инициализацию.

AlexSneg:

в канале газа совпадать по входным и выходным номерам, когда через АП

Да, так будет безопаснее.

PAF
AlexSneg:

попробую у местных одолжить эксперта на пару дней.

AlexSneg:

где бы сумппм источник взять.

Так ведь и дискрет при микшерах тоже отсутствует.

AlexSneg
PAF:

Так ведь и дискрет при микшерах тоже отсутствует.

Глюк найден. У тебя выходные структуры никогда не сбрасывались. Там, если откроешь, то все выпадающие списки пустоту показывают, а должны после сброса показывать “не используется”. Короче КП не подавала команду сброса.
FlyingBrain_CP-1.0.0.66.zip
Эта панель делает все правильно. Зайдешь, откроешь настройки каналов. На каждой закладке нажмешь кнопку сброса в начальные значание: входные, выходные, микшеры. после этого сохранить конфиг общий, конфиг по каналам (это отдельная галочка в диалоге сохранения настроек). Пересброс питания и все должно работать. В дальнейшем дергать сброс не нужно. Эта тема актуальна только, если плату спаяли и ни разу в дефолт все не устанавливали.

PAF
AlexSneg:

Глюк найден.

Это не глюк. Пора радмин ставить… и камеру на лоб.
“Алекс, а меня не лета-ает!.. Щас погляжу…Поставь батарейку на зарядку и вынь самолет из машины!”
Ох, хлебнешь ты с нами! 😆

hav22
AlexSneg:

FlyingBrain_CP-1.0.0.66.zip

Алексей, а исходники не выложишь? А то, я как всегда, со свей Windows 8. 😃