OSD на ATmega1281

alezalez
Dacor:

Да - летаю в очках. Пользую трекер на ардуинке+ИМУ - прекрасно работает. Без него теперь даже летать немного неудобно.

А ссылочку на это можете дать? Или это полностью Ваша разработка?

dollop

Приветствую!
Да простят меня авторы прошивок, в которые я запустил свои клешни, а именно, Сергей msv, baychi, kha, но уж очень захотелось проверить качество радиоканала этих прошивок на одном железе.
В общем, началось с того, что сделал я плату передатчика под RFM23BP, залил хекс и на мое удивление прошивка Сергея v11 без проблем заработала. В v13 пришлось поменять значение AFC limiter на приемнике.

rfm_wrch(0x2a, 0x28); // AFC Limiter, rx only 0x0e - у msv //у kha это значения 0x1e 0x24 0x28 для разных скоростей обмена

И тоже нормально запустилось. Но только на одном модуле. Второй передатчик на отрез отказывается нормально работать. Если поставить обе частоты передачи одинаковыми и смотреть в терминале, то флаг valid меняется постоянно с 0 на 1. Если поставить частоты разные, то valid = 1 встречается в 2-3 раза реже (не помню уже). С подстройкой частоты наигрался вдоволь. Ну может до лета разберусь.
Это и породило желание копнуть дальше и адаптировать другие прошивки под проект АП. Адаптация свелась к переназначению ног и конвертации значений по каналам управления с последующей выдачей их в последовательный порт.
Немного затронул этот процесс и железо. Прилепил 16МГц кварц на приемник и передатчик. Само собой, для kha и baychi нужна atmega328.
Итак, прошивка openLRS от kha работает с программой конфигурации, сканер частот тоже, да и остальные функции. Но мапинг выводов приемника не проверял. Так как все равно эксплуатация LRS предполагает подключение к АП по 4м проводам. Замечена такая же проблема - с использованием одного из передающих модулей (того самого) - довольно часто приемник переключается на следующий канал.
Прошивка openExpert от baychi. Пришлось перенести порт подключения к АП на выводы D4 - RX, D2 - TX, чтобы сохранить возможность настройки через терминал и получения статистики. Выводы разведены у Сергея на плате как раз рядом с UART, так что плата без изменений. Эта прошивка запустилась и с проблемным передатчиком и работает вообще без нареканий. Правда пришлось поменять смещение кварца передатчика, так как рекомендовали в теме
Так что, желающие потестировать могут присоединяться. Архив

Dacor
alezalez:

А ссылочку на это можете дать? Или это полностью Ваша разработка?

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

Ну и по теме. Народ напомните, в какой версии прошивки был подправлен алгоритм автоматического взлета?
По мануалу в первом подрежиме (отрыв) АП курс не отслеживал до поднятия флага “полет”. Что то в этом плане поменялось? Я почему спрашиваю. Прикорячил я тут стойки шасси к самолету (с носовой стойкой). Интересно как будет работать автоматический взлет. По мануалу получается так, что АП переводит газ в положение «Газ-Макс газ» в момент переключения тумблеров в режим Takeoff. Правильно ли я понимаю?

msv

Эх… писал, писал ответ… Нажал бэкспейс… почему то вместо символа стерлось все произведение… 😦 Попробую повторить…
Константин, очень жаль что не удалось запустить мою прошивку.
Про подстройку частоты кварца Александр (baychi) не совсем правильно написал…
Смотрим datasheet на RFM22B, глава 5.8:
Суммарная емкость конденсаторов, корректирующих частоту, при сброшенном старшем бите равна: 1.8pF+значение в младших 7-разрядов*0.085pF.
При установке старшего разряда, дополнитено подключается 3.7pF, что не является бинарным дополнением к младшим разрядам.
В конфигураторе можно установить соответствующие значения для приемника и передатчика “Cristal calibration Rx/Tx”. Контролировать частоту удобно частотомером, подключенным к тактовой ноге меги и добиваясь ровно 15мГц последовательно на приемнике и передатчике.
У меня получилось для приемника 7A ( 1.8pF+122*0.085pF=12.17pF) и D1 для передатчика ( 1.8pF+81*0.085pF+3.7pF=12.385pF).
Есть одна проблема- если резко изменить где нибудь частоту, перестает работать бинд и изменить значение в приемнике становится невозможно. Поэтому возможно прийдется делать последовательное приближение от исходных 7F (12.595pF).

Dacor:

По мануалу в первом подрежиме (отрыв) АП курс не отслеживал до поднятия флага “полет”. Что то в этом плане поменялось?

Непомню как было, но сейчас это так… Вызвано тем, что используется только GPS-курс, в первые секунды он неопределен.
Для взлета с шасси делайте правильный развал/схождение… 😃

Dacor:

По мануалу получается так, что АП переводит газ в положение «Газ-Макс газ» в момент переключения тумблеров в режим Takeoff.

Было (в опубликованных версиях) так. Сейчас отдельный параметр.

ubd

По мануалу получается так, что АП переводит газ в положение «Газ-Макс газ» в момент переключения тумблеров в режим Takeoff.

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

И вот по вопросу, что АП даёт сразу макс газ, при включении Takeoff. Для меня это не удобно. Ведь теперь с такой посадкой, нужно отойти от машины, метров на 10, а пульт у меня к LRS на проводке, нет ретранслятора. И получается я буду идти по полю 10 метров с включенным мотором на 100%. Появилась идея, подтверждать автовзлёт, кнопочкой на АП. Там есть свободная одна кнопка, её можно нажать и подтвердить взлёт. т.е. сначала на передатчике включаем тумблерами режим Takeoff, потом отходим в сторону сколько нужно, и по нажатию на кнопочку, начинается собственно сам режим взлёта.
Такая идея. Сергей сказал, что подумаю.

Иван
msv:

Непомню как было, но сейчас это так… Вызвано тем, что используется только GPS-курс, в первые секунды он неопределен. Для взлета с шасси делайте правильный развал/схождение…

А АП в этот момент не котролирует борт? он должен и подрулить при разгоне… по идее…

ubd

А АП в этот момент не котролирует борт?

Руль направления он не контролирует. А на полосе только он эффективен.
АП в момент взлёта, просто держит крен в ноль, а тангаж вверх, но с задержкой.

Dacor
ubd:

сначала на передатчике включаем тумблерами режим Takeoff, потом отходим в сторону сколько нужно, и по нажатию на кнопочку, начинается собственно сам режим взлёта.

Ну тут как бы не всем наверное будет удобно. С рук взлетать - понятно. Если речь идет об использовании второй кнопки, то я ее вообще не ставил.

Если такую ф-цию делать, то хорошо бы, если бы была возможность ее отключения.

Иван:

А АП в этот момент не котролирует борт? он должен и подрулить при разгоне… по идее…

ubd:

Руль направления он не контролирует. А на полосе только он эффективен.

Тут мои мысли прям сами озвучиваются, но другими пользователями. Хотел предложить задействовать еще и канал курса (направления) - но только для стабилизации (рулить им не обязательно, а вот стабилизировать модель на взлете и FBW - ИМХО актуально).

Иван
Dacor:

Тут мои мысли прям сами озвучиваются, но другими пользователями. Хотел предложить задействовать еще и канал курса (направления) - но только для стабилизации (рулить им не обязательно, а вот стабилизировать модель на взлете и FBW - ИМХО актуально).

Об этом и речь:) впринцыпе если оч нада а пока нет такой “фичи” можно гир от вертушки воткнуть;) и рулить им через доп канал… ? хотя как штатную функцию “удержание руля направления” былоб здорово.

dollop
msv:

Константин, очень жаль что не удалось запустить мою прошивку.

Сергей, спасибо за подробное разъяснение.
Ваша прошивка без проблем работает на двух передатчиках с RFM23BP из трех (один мой, а один у моего соотечественника). А другой мой, тестовый ТХ, приводит к тому, что приемники рисуют ошибку пакета (вернее, что преамбула кривая). Я даже смотрел на AFC correction value (0x2b) на приемние и при помощи подстройки частоты добивался значения AFC correction=0 (в моем случае получилось на приемнике 7A, а на передатчике 7F). Но все равно через раз на ОСД приходит valid=0.
Я когда упомянул “рекомендации в теме baychi” имел ввиду, что один из пользователей говорил, что если используется RFM23BP, то в конфигурации регистр, отвечающий за калибровку, нужно сразу на передатчике ставить равным 190-195 (вместо 220). Я у себя три раза по пол часа ждал бинда. Поменял значения регистра настроек - забиндилось за 20 сек. Что означают эти цифры у baychi - сильно по коду пока не мотрел, но кажется эти же значения и записываются напрямую в RFMку. Тогда вообще не понятно как оно запустилось и работает.

ubd

Если такую ф-цию делать, то хорошо бы, если бы была возможность ее отключения.

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

У Сергея например, вообще кнопки не выведены.

Dacor

Народ, я снова со своими импульсами РРМ. Кто нибудь может нарисовать картинку, на которой будут обозначены временные параметры импульсов:

  • длина синхроимпульса;
  • длина межканального строба;
  • длина канального импульса.

Потерял я свои предыдущие настройки аппы, теперь снова сижу колдую… На экране надпись FS? Значок РУ - белый кружочек с вращающейся палочкой (т.е. РРМ до АП доходит, но не переваривается).

Я понимаю, что вопросы туповатые, но вот уже как три часа себе мозг взрываю…

Nick_Shl
Dacor:

Народ, я снова со своими импульсами РРМ. Кто нибудь может нарисовать картинку, на которой будут обозначены временные параметры импульсов:

  • длина синхроимпульса;
  • длина межканального строба;
  • длина канального импульса.

Так вроде тут www.rcdesign.ru/articles/radio/tx_intro все доступно расписано…

Dacor

Снова подобрал необходимые параметры импульсов по каналам газа и управления АП - заработало. Но просьба про картинку в силе. Вводил свои значения в настройки - АП не распознает РРМ (палочка не вращается. Также заметил дерганья в каналах крена и тангажа (это даже видно на экране по индикаторам №16 и 17 если по мануалу) в центральных положениях. При чем в режиме Man сервы стоят на месте, а в режиме ST дергаются в такт индикации на экране.

Далее меня немного удивила задержка и заторможенность управления по всем трем каналам (ЛРС дает небольшую задержку, но плюс задержка от АП) - создается ощущение, что в руках Супранар (будь он неладен).

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

Это все нормально?

P.S. Я не придираюсь, а действительно нужно разобраться - может только у меня такое.

Nick_Shl:

Так вроде тут www.rcdesign.ru/articles/radio/tx_intro все доступно расписано…

Спасибо. Остался вопрос по синхроимпульсу. Или в конфигураторе имелось ввиду период?

Nick_Shl
Dacor:

Остался вопрос по синхроимпульсу. Или в конфигураторе имелось ввиду период?

Не знаю ни про какой конфигуратор 😃
Нет в PPM никакого синхроимпульса. Как синхроимпульс используется пауза между каналами:

Общее время пакета 20 мс. Между каналами пауза 0,3 мс. Канальный импульс от 1 до 2 мс(может быть чуть меньше и чуть больше). Все что осталось - пауза, она же синхроимпульс. В примере на картинке(возьмем на глаз) первый канал 1.5 мс, второй 1 мс, третий 2 мс, четвертый 1 мс и пятый 1.5 см. Всего получается 7 мс. Считаем время паузы: 20 - 7 = 13 мс. Если все каналы будут по 2 мс, то время паузы будет 10 мс. Как-то так.

Dacor

Это то все понятно.

В конфигураторе (в проге для прошивки и настройке АП) меня смутило название параметров “минимальная…” и “максимальная длина синхроимпульса”. Разобрался вроде… Я так понимаю, что вне зависимости от указаных мной параметров РРМ для поднятия флага готовности РУ необходимо, чтобы канал газа был меньше 1.025 мс, а канал управления режимами АП был меньше 1.1 мс.

ubd

При чем в режиме Man сервы стоят на месте, а в режиме ST дергаются в такт индикации на экране.

В такт какой индикации на экране?

Далее меня немного удивила задержка и заторможенность управления по всем трем каналам (ЛРС дает небольшую задержку, но плюс задержка от АП) - создается ощущение, что в руках Супранар (будь он неладен).

Сам по себе АП, вообще никакой задержки не даёт, ну т.е. она там есть но мизерная типа 20 мс, где то.
Это не заметно на глаз.
У вас тормозит ваша LRS и аппа. Вы смотрите не на экран на на сервы, в режиме MNL как они реагируют на стики. Если они то же тормозят то значит ваша аппа РУ тормозит.

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

Задержки видеосигнала там быть не может по определению. т.к. там эта часть где происходит наложение OSD - АНАЛОГОВАЯ, собрана на одном транзисторе. Какая задержка? У вас похоже что то очки мудрят, или монитор через который смотрите ну в общем смотрите свой видео тракт.
Попробуйте вместо очков подсоединить любой аналоговый монитор.

У меня никаких тормозов нет, по видео тем более. В качестве монитора у меня ноутбук с USB картой видеозахвата, и тем не менее задержки, по крайне мере видимой нет.
По РУ, у меня LRS от Сергея, не тормозит. А ребята летают на других LRS, по суммРРМ подключеные, как у вас, то же без задержек видимых.
Может у вас видео тормозит вот и реакция на индикаторах 15 и 16 тормозная. Вы подсоедините сервы и посмотрите на них, а не на видео.

чтобы канал газа был меньше 1.025 мс, а канал управления режимами АП был меньше 1.1 мс.

Да, это так сказать, стартовое положение.
Газ в ноль, т.е. 1 мс, и управление АП, в MNL, т.е. 1 мс. Тогда АП запуститься.

создается ощущение, что в руках Супранар (будь он неладен).

😁
Вы как бы не путайте, Супранар был аналоговый полностью, собраный на КТ315 и 361 весь! И там вообще никаких задержке не было. У него была другая проблема - он просто не работал!

Dacor
ubd:

В такт какой индикации на экране?

В инструкции это индикаторы №16 и 17 (такие движочки, которые отображают положение каналов):
“16. Шкала, показывающая что уходит на «пост»-обработчик канала крена. Т. е. это выход логического канала управления, отвечающий за изменение модели по крену. При выключенном V-Tail микшере соответствует управляющему сигналу для отклонения элеронов. С включенным микшером – сигнал, приводящий к дифференциальному отклонению элевонов.
17. Аналогично, но для тангажа.”

ubd:

У вас тормозит ваша LRS и аппа.

Футаба 12ФГ тормозить по опредлению не может. ЛРС - да, есть небольшая задержка. Но у меня самолет собран. Рулевая машинка руля направления подключена минуя АП. Руль высоты и элероны с газом соответственно через АП. Так вот на РН задержка еле заметна, но на остальных каналах просто ужас! В РРМ сигнале с приемника задержка тоже еле заметна.

ubd:

Задержки видеосигнала там быть не может по определению.

Тут наверное моя писАлка с экраном потормаживает (не догадался я телек подключить) - ранее ее не использовал в качестве монитора (только как аварийное средство отображения изображения).

ubd:

Да, это так сказать, стартовое положение.
Газ в ноль, т.е. 1 мс, и управление АП, в MNL, т.е. 1 мс. Тогда АП запуститься.

Тогда немного непонятен смысл появившихся настроек РРМ сигнала в проге, если все равно все длительности нужно подгонять по осциллографу.

ubd:

Может у вас видео тормозит вот и реакция на индикаторах 15 и 16 тормозная. Вы подсоедините сервы и посмотрите на них, а не на видео.

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

ubd:

Вы как бы не путайте, Супранар был аналоговый полностью, собраный на КТ315 и 361 весь! И там вообще никаких задержке не было.

Задержки были в тупорылых рулевых машинках - приходилось “дожидаться” момента пока машинка займет крайнее положение.

msv

По поводу настроек PPM…
В конфигураторе параметры:
Мин/Макс длина синхроимпульсов - Время, которое остается в периоде между канальными импульсами. На картинке (#пост 1432) самый длинный положительный импульс+ ближайший один отрицательный. В зависимости от значений каналов может меняться в широких пределах но предсказуемых пределах.
Мин/Макс длина межканального строба - все отрицательные на картинке импульсы.
Мин/Средняя/Макс длина канального импульса - все положительные канальные импульсы+соседние стробы. Используется не только для контроля валидности но и для масштабирования в условные проценты для дальнейшей обработки.
Все эти параметры контролируют целостность и достоверность PPM кадра, и дальше сигнал пропускается если пройдены все эти проверки.

Dacor:

Так вот на РН задержка еле заметна, но на остальных каналах просто ужас!

В режиме MNL? Тогда в первую очередь проверьте параметр PPM-Длина фильтра каналов. Поставьте 1 или 0. В каких-то старых версиях был косяк, нельзя было ставить 0, не помню на какой версии исправил.

Dacor:

Тогда немного непонятен смысл появившихся настроек РРМ сигнала в проге, если все равно все длительности нужно подгонять по осциллографу.

Тут уже не мс длительностей, а проценты значений. Работает при первом определении готовности канала. Эта больше защита что-бы при включении пульта неожиданно для вас не взревел двиг и не включился наприме Takeoff… Если все параметры PPM по длительностям канальных импульсов и микшер для канала режима правильные, ничего подбирать не надо, просто убрать газ на пульте и включить тумблеры режима в MNL.

Dacor
msv:

В режиме MNL?

Да

msv:

Длина фильтра каналов.

Если не сложно, расскажите подробней физический смысл этого параметра. Спасибо.

msv

Для каждого канала стоит экспоненциальный (см. вики) ФНЧ фильтр. Служит (служил) для подавления джитера в аналоговом канале связи на границе устойчивого приема. ( Вспомните как тряслись сервы в старой аналоговой аппе, особенно когда сигнал на гране пропадания. ) Для цифрового канала не актуален, но пока оставил…
Кстати… и такая строгая проверка параметров PPM-сигнала, тоже для возможности определения корректности пакета полученного с аналогового канала…