OSD на ATmega1281

alexeykozin

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

ADima
msv:

Вот такая забавная арифметика…

А из каких соображений такое большое время на изменение номера фрейма?
(период передачи пакетов)? так во всех блютузах и вайфаях по номеру фрейма определяется кто занимает канал а после передача идет до конца пакета.

msv
alexeykozin:

зря осд и пилот живут в одном чипе

Этот момент комментировал неоднократно… Есть плюсы, есть минусы для каждого подхода, имхо оба имеют право на существование…

ADima:

А из каких соображений такое большое время на изменение номера фрейма?
(период передачи пакетов)?

Пауза между пакетами 30мс(период)-26мс(время передачи) <4мс. Можно попробовать его уменьшить, но принципиально это ничего не изменит. Проблема в асинхронности получения данных с кодера и момента старта передачи. Если обновленные данные с кодера пришли непосредственно перед стартом передачи, эта задержка близка к 0. Если сразу после старта передачи, (RFM уже передает данные из своего FIFO) будут переданы только в следующем фрейме через время близкое к периоду- 30мс.
В принципе эта проблема думаю присутствует не только в моей системе…😉

ADima
msv:

Проблема в асинхронности получения данных с кодера и момента старта передачи

Наверно больше в том что время передачи больше либо сравнимо с периодом РРМ, нет готовности к передаче следующего пакета и соответственно прогнозируемой задержки на период РРМ. Если нет возможности увеличить скорость передачи то значит надо искать пути уменьшения количества передаваемых данных.
Не помню сейчас что на схеме передатчика но если там декодирование РРМ то лучше перейти на UART чтобы сократить время между опросом положения стиков и получением данных передатчиком.
На лету полезные данные можно на треть ужать по томуже принципу что и цветоразностные сигналы в телевидении.
Сам издеваюсь на ТR24P столкнулся с тем что у меня пока мозгов не хватает добиться синхронности хода часов при большом количестве прерываний но это пройдет.

msv

Даже если время передачи будет меньше, сделав передачу по готовности данных от кодера, не уверен что получится сделать надежную ППРЧ. Радикальное решение- все сделать с минимальными промежуточными звеньями, те кодер управляет сразу RFM, и АП непосредственно связан с RFM. Но в этом случае усложняется реализация универсальности модулей, получается слишком “вещь в себе”… Ну и начинать мне бы пришлось с “чистого листа” (во всяком случае по железу, софт то просто упростится). Пока надеюсь, что эта проблема для моих задач этих подвигов не стоит, мне же не пилотажкой на соревновании управлять…

ADima
msv:

Даже если время передачи будет меньше, сделав передачу по готовности данных от кодера, не уверен что получится сделать надежную ППРЧ.

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

msv:

Радикальное решение- все сделать с минимальными промежуточными звеньями, те кодер управляет сразу RFM, и АП непосредственно связан с RFM.

Думаю здесь будет больше проблем чем выигрыша.

Vlado

Вот такая забавная арифметика…

Когда с шедевром будет возможность ознакомиться?😃

8 days later
korall

И сного о разрешении, а что если взять и разогнать проц и производительность повысится и пикселей больше влезет, провел небольшой эксперимент с 48 мегой (думаю это не принципиально, семейство то одно и ядра у них одинаковые ,других мег просто нет в наличии у меня сейчас), она прекрасно гонится внешним генератором до 40 мГц, а возможно и больше, использовал допилиный код смалтима. И вот результат разрешение в 4 раза больше.

msv

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

www.youtube.com/watch?v=97bJY3ZyXoc

Достает не столько средняя задержка, сколько ее неравномерность…
Буду пробовать переделать с синхронизацией времени начала передачи от полученного PPM. При этом есть два варианта:

  1. Увеличить скорость, что бы успевать передавать за 18мс с периодом 20мс.
  2. Уменьшить скорость в радиоканале и передавать с интервалом 40мс. В приемнике можно интерполировать до 20мс.
    Долго думал какой вариант “правильнее”, решил реализовать оба… 1-й- для низко и близко, 2-й- для высоко и далеко.
    Что будет получаться, поделюсь…
blade
korall:

и пикселей больше влезет,

Тут главный вопрос:а зачем?
Помимо снижения надежности и увеличения разогрева самого “камня” при его “разгоне”, слишком мелкие буквовки- просто нельзя будет разглядеть к примеру, в видеоочки? Даже если они- очень чётко прописаны?
Ведь смысл ОСД не в достижении предела разрешения, а в удобстве для пользователя (в условиях очень ограниченного времени и распределения внимания) -понять и оценить параметры полёта?

korall
blade:

Тут главный вопрос:а зачем?

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

Vlado
  1. Уменьшить скорость в радиоканале и передавать с интервалом 40мс. В приемнике можно интерполировать до 20мс.

Ну так это коррелирует с мах чувствительностью, скорость порядка 2.4-1.2 килобит. Можно использовать каналы и фильтры от профессиональных станций, полосою 15 и меньше киллогерц. Там типичная чувствительность 0.17uV, правда СШ никакой.

1 month later
Vlado

Что будет получаться, поделюсь…

Здравствуйте! Как насчет достижений в OSD, есть ли чем поделиться.

sirQWERTY

Мужики, извините, что не по теме. Просто столкнулся с задачкой, не создавать же целую тему по одному вопросу, а тут много народу бывает, может кто и подскажет. Короче крякнул у меня блок питания импульсный, и эта штучка я так понимаю резистор, погорела. Вот только номинал я не смог расшифровать. Кто знает, подскажите плз.

МаркАнтоний
sirQWERTY:

Мужики, извините, что не по теме. Просто столкнулся с задачкой, не создавать же целую тему по одному вопросу, а тут много народу бывает, может кто и подскажет. Короче крякнул у меня блок питания импульсный, и эта штучка я так понимаю резистор, погорела. Вот только номинал я не смог расшифровать. Кто знает, подскажите плз.

Можно было яндексу вопрос задать. И первая же ссылка из яндекса поможет Вам расшифровать номинал.

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

sirQWERTY

Дружищь, ну я не такой уж и дубовый. Вы пробовали? Не распознается такое сочетание нигде. А за ссылку на тему по распознованию деталей спасибо! Если модератор сюда заглянет, мои сообщения хорошо бы почикать…

torex777
sirQWERTY:

я не смог расшифровать

Катушка индуктивности 15мкГн +_10%

msv
Vlado:

есть ли чем поделиться

Работа проделано много, но пока нечего показать что-то интересное. Да и толком полетных испытаний еще не проводил…
За межсезонье:
Полностью переделал наземку. И железо и софт.
Много изменений ( почти все… 😃 ) в софте OSD/АП. Маленько причесал код, повыкидывал то, что не оправдало себя. Серьезно все упростилось, в тч за счет сознательного уменьшения точности. В результате код немного уменьшился в размере и заметно ускорился в основном за счет уменьшения операций с промежуточными long-ами. Т.е. появились резервы по процессорному времени еще что-нибудь влепить. Наконец переделал вывод пикселя за три такта, теперь разрешение экрана 256x160. Ну и конечно поддержка моего LRS.
Облетал новый носитель, в принципе доволен, но еще стоит поучить его летать… Облетывал на своей LRS, наземный тест до 200м- ни одного дропа (дальше поленился идти). В полете (пока только визуально) к РУ вопросов не было. В общем к сезону более-менее подготовился, жду когда подсохнет, а то новой камерой да прям в грязь плюхать… как-то не хочется.

Увлекся темой IMU… Хотя в инете полно видяшек с идеальной работой этих систем на столе, безупречного поведения в полете что-то пока не видно… 😃 Но тема сама по себе интересная, пока копаюсь в даташитах, теориях, рисую вращающиеся прямоугольники, вспоминая основы 3D-программирования (например вчера целый вечер вспоминал, как определить направление обхода многоугольника…😃 ). К сожалению серьезно подскочили цены на сенсоры на sparcfun. Относительно дешевые платки 9dof нашел только на ebay. Может кто даст наводку?..

ЗЫ Игорь, а вы запустили OSD с той прошивкой, которую я высылал?

alexeykozin
msv:

Может кто даст наводку?..

наводка store.diydrones.com/…/kt-arduimu-30.htm
надеюсь в скором времени собрать такую же немного дешевле (в основном за счет что сборка своими руками)
у нее уже все готово. по сериалу выдает ориентацию

Vlado

ЗЫ Игорь, а вы запустили OSD с той прошивкой, которую я высылал?

О спасибки. Собираюсь неспеша это делать, дел невпроворот поэтому интересуюсь по поводу новинок. Тоже камера + поворотный столик все уже намази. Довольно серьезно подготовился с антеннами и тд и тп. Если можно сбросте последнюю прошивку и пжлс фузы для ОСД, чтобы голову не ломать. Как что нибудь существенное нарисуется, покажу.

msv

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

Крайнюю версию можете скачать здесь: narod.ru/disk/…/osd_msv_v2_5.rar.html
Прошивка тщательно проверялась на симуляторе и на земле, но ни одного полета на ней еще не делал.
Фузы со своей платы скачать не могу, прошивки меняю через бутлоадер (им конечно фузы ни прочитать, ни поменять), программатор на работе, а плата на самолете, да и разъем надо паять( я его сделал, зашил фузы, бутлоадер и разобрал). Поэтому так же придется копать даташит. Думаю Вы сами справитесь… 😃

alexeykozin:

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

Спасибо, неплохой вариант, и по нынешним ценам относительно недорогой. Но мечтается раза в три дешевле и можно без проца…
Как вот такое, сильно плохо?