OSD на ATmega1281

msv
ubd:

В случае когда это хобби…

Про то и речь… Виталий много говорил, что взялся из-за ограниченного бюджета. Есть куча способов за то время, которое неизбежно будет потрачено на сборку-отладку, заработать на готовый MQ-1 Predator… 😃

alezalez
ubd:

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

Подтверждаю!
С удовольствием собирал плату АП при поддержке Константина (dollop) лично и Сергея (msv) на форуме. За это время мог заработать на заводской АП, но… собранное своими руками предполагает более полное понимание работы девайса! Да и вообще - это здорово - собрать и запустить свой АП!!!

BlackVetal

OffTop!!!

Когда я был еще не такой “взрослый” как сейчас 😉 (это было лет пять назад) -я приобрел автомобиль.
И очень было интересно, что в нем происходит, сколько льется бензина, какие температуры всякие и кислородные датчики.
И зачем-то я решил сделать бортовой компьютер. В то время, товарищ подогнал мне несколько atmega16 в корпусе DIP40.
Ну и собрал я на макетке, нечто с двухстрочным цифровым экраном, и мегой16. И начало “это” измерять длительность впрыска прямо с форсунки (перводя это в бензин), и напряжения с датчиков. Потом, по мере “развития проекта” 😉 потребовалось внедрить в систему кнопки. Но куда приколохозить кнопки в панель автомобиля - вопрос сложный. Поэтому к девайсу был приделан IR-приемник, и кнопки оказались на пульте. И вид не портит, и мобильно. Но помимо кнопок, двухстрочного экрана, мне показалось мало, да и мелко, да и опять же, куда его встраивать в панель авто!? Поэтому, было решено выводить инфу на телевизор.
Для этого, была взята вторая мега16. Но чернобелый вариант “видеоадаптера” меня не сильно устраивал, и в схему для цвета добавилась CXA1145. Не помню точно почему (возможно как и у msv из за размера пикселя и времени выполнения команд процессора), но мегу16 пришлось разогнать до 20Мгц (это при том что Atmega была 16L - т.е. на 8Мгц). При этом, заводиться от штатной схемы с кварцевым резонатором, мега отказалась. Точнее она заводилась, но глючила безбожно. Поэтому, на макетке появился внешний генератор на (угадайте) 155ла3+кварц. В общем в итоге, получился полноценный видеоадаптер в текстовом виде, с таблицей символов, и цветной. Самое страшное для меня было написать “видео”. Я проклял тех кто придумал черезстрочную развертку, и чета долго не мог допереть в чем разница в синхре с точки зрения четных и нечетных кадров. К тому же до того момента я никогда не программировал под avr (ранее, было несколько проектов на PIC) и приходилось находу изучать асемблер, потому что на бейсике (а на нем начинался проект и был реализован “верхний уровень”) видео чета не получалось.

Ну короче, к чему весь этот офтоп.
Я прекрасно понимаю msv, как разработчика. Правда я на его месте запилил бы “верхний уровень” на отдельном МК, но понимаю что это вопрос спорный, и можно конечно говорить что и так “просторно” и достаточно времени на обработку всего кроме видео.

Я также понимаю высказывания о “бюджетности” проекта, и о человеко-часах и все эти факторы осознаю.
Но почему-то выбираю “геморный” вариант. 😃

Ребята - я с Вами!!!

ubd

Когда я был еще не такой “взрослый” как сейчас 😉 (это было лет пять назад) -я приобрел автомобиль.
И очень было интересно, что в нем происходит, сколько льется бензина, какие температуры всякие и кислородные датчики.
И зачем-то я решил сделать бортовой компьютер. В то время, товарищ подогнал мне несколько atmega16 в корпусе DIP40.
Ну и собрал я на макетке, нечто с двухстрочным цифровым экраном, и мегой16. И начало “это” измерять длительность впрыска прямо с форсунки (перводя это в бензин), и напряжения с датчиков. Потом, по мере “развития проекта” 😉 потребовалось внедрить в систему кнопки. Но куда приколохозить кнопки в панель автомобиля - вопрос сложный. Поэтому к девайсу был приделан IR-приемник, и кнопки оказались на пульте. И вид не портит, и мобильно. Но помимо кнопок, двухстрочного экрана, мне показалось мало, да и мелко, да и опять же, куда его встраивать в панель авто!? Поэтому, было решено выводить инфу на телевизор.
Для этого, была взята вторая мега16. Но чернобелый вариант “видеоадаптера” меня не сильно устраивал, и в схему для цвета добавилась CXA1145. Не помню точно почему (возможно как и у msv из за размера пикселя и времени выполнения команд процессора), но мегу16 пришлось разогнать до 20Мгц (это при том что Atmega была 16L - т.е. на 8Мгц). При этом, заводиться от штатной схемы с кварцевым резонатором, мега отказалась. Точнее она заводилась, но глючила безбожно. Поэтому, на макетке появился внешний генератор на (угадайте) 155ла3+кварц. В общем в итоге, получился полноценный видеоадаптер в текстовом виде, с таблицей символов, и цветной. Самое страшное для меня было написать “видео”. Я проклял тех кто придумал черезстрочную развертку, и чета долго не мог допереть в чем разница в синхре с точки зрения четных и нечетных кадров. К тому же до того момента я никогда не программировал под avr (ранее, было несколько проектов на PIC) и приходилось находу изучать асемблер, потому что на бейсике (а на нем начинался проект и был реализован “верхний уровень”) видео чета не получалось.

Вы хотите сказать, что это все зря?

ubd

Сделал фото-сессию АП.
(Белое на плате, это силиконовый герметик, автомобильный который НЕ воняет уксусом (нейтральный) Все лежащие кондёры на него приклеены.)

msv

Уж очень велика mainboard… Раза в два можно бы уменьшить…

ubd

Пофиг. Лишь бы работало и было надежно. Ну и на мелкие самолёты на рассчитывалась просто.
Потом если буду делать следующую версию на заводе, то по меньше сделаю. ВЕС справа можно по меньше сделать.

Вахтанг

dollop:

Итак.
2. Датик скорости отсюда. Альтернатив по цене нет.

А вот еще опровержение:
Просто достал детали из шкафа и спаял 😁

alezalez
Вахтанг:

А вот еще опровержение: Просто достал детали из шкафа и спаял

Ну не у всех есть такой волшебный шкаф 😃

11 days later
ubd

На днях полетали душевно! Все работает класс! Только одна проблема осталась - вибрация от винта. На HD камере плывет все, на определённых оборотах. Жду когда придёт 3-х лопастный винт, отпишусь по испытаниям.

И с Сергеем msv решили мою проблему по поводу перемодуляции видео сигналом с камеры. Оказалось там по входу OSD, нужно было ёмкость не 100 мк, а 2,2мкф поставить, и на выходе можно по больше не 100мкф, а 470мкф. По выходу, не так критично, а по входу 2,2 сделали, и все ОГОНЬ заработало! Трекер заработал как нужно, и изображение не плывет.

В общем, по видео входу на плате OSD меняйте, кондёр вместо 100 мк, на 2,2 мк. Сергей говорит можно 1 мк, и можно керамику, в общем то лучше керамику, от 1 до 2 мк.

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

OSD_2.10 (2).rar

msv

Уточню. Как оказалось у пиксим выход “закрытый”, без привязки по постоянке. Примитивная схема привязки в OSD-модуляторе недостаточно хорошо работает ( с уменьшенным входным кондером еще более-менее ). Радикальное решение - поставить на входе какую-нибудь MAX/OPA, качественно привязывающий сигнал по ПТ без подрезания синхроимпульсов.

ubd

т.е. МАХ4090 прилепить?
Там ещё помнишь мы говорили, сделать правильную подтяжку на + через транзистор, вместо диода. Я правильно нарисовал?
Вот так:

Модулятор_MAX4090.rar

BlackVetal
msv:

Радикальное решение - поставить на входе какую-нибудь MAX/OPA,

Радикальным решением было бы использовать MAX7456
Простите если баян, но таким образом разгрузили бы ЦП, исключили бы из схемы модулятор и детектор синхроимпульсов. Кроме этого, отказались бы от нетрадиционной Atmega.
Сергей (msv), Вы рассматривали этот вариант?

ubd

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

BlackVetal
ubd:

Там написано что это для черно белого изображения.

Ну не очень то и для черно-белого, а как раз таки для цветного. А вносимая графика, да - черно-белая.
Вот ведь!

ubd:

И потом, эта мокруха выдает готовые символы, у нас графический экран.

Ну в этой микросхеме можно символы залить какие тебе хочется.
Вот.

ubd:

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

Да и не нужно отказываться от меги как таковой. Самое ценное в проекте, это программа, которая могла бы работать и в другом корпусе. Ведь кроме OSD, она еще много чего делает.

ubd:

Все и так хорошо работает.

Осталось только МАХ4090 приделать. 😉

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

А еще ссылочку приложу со списком микросхем OSD. Может интересно будет кому.

ubd

Ну в этой микросхеме можно символы залить какие тебе хочется.

Так это получиться символьная псевдо-графика, как в MS-DOS. Это будет типа как у Смалтима старого, или как у китайских автопилотов, все привязано к знакоместу. У нас же графика пиксельная, больше пространство для творчества. Единственный минус, у нас, это нет теней перед пикселем, а только после пикселя. Но в общем то, я сколько летаю, проблем с чтением OSD, ощущаю. Так что смыла нет, делать новую разработку, для того что бы сделать тени нормальные. Сергей конечно об этом мечтает, может будет делать, но не вижу смысла, все будет то же самое, только графика измениться и все. Самое ценное в автопилоте, это алгоритмы управления, всякие фишки, типа полёта по точкам, автоматический взлёт - посадка, на это все качество вывода OSD на экран не влияет, по этому делать упор на графику OSD, как то не рентабельно что ли, т.е. сил потратишь много, а автоматическая посадка как работала криво так и будет работать. Я считаю, важнее алгоритмы управления довести до ума.

Осталось только МАХ4090 приделать. 😉

Это не обязательно конечно. Просто если я буду заказывать новые платы на заводе, то там разведу MAX4090. Пока и без него, все работает идеально, как кондёры поменяли. На прошлых выходных летал, картинка у меня просто шикарная идёт. Все очень нравиться. Цвета правда блеклые, но это по ходу карта видео-захвата что то подрезает, это не так важно. Сейчас у меня Pixom - трава зелёная, небо голубое, с прошлой камерой, трава была серая, небо непонятно какое.

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

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

msv
ubd:

Я правильно нарисовал?

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

ubd:

т.е. МАХ4090 прилепить?

Там много вариантов и у максим, и у texas instruments. Твой вариант на схеме может и рабочий, но это забивание гвоздей микроскопом… 😃 Сигнал уже привязан по постоянке (для этого и ставим микросхему), а ты его опять на емкость… Правильнее присобачить выход видеоусилителя к моей последней схеме.

BlackVetal:

Радикальным решением было бы использовать MAX7456

То что МАХ4090 и MAX7456 начинаются на MAX, не означают именения одного порядка… 😃
Безусловно 7456 интересный чип, делающий красивые обводки символов, встроенный фильтр обеспечивает гладкое наложение картинки (почти без разрывов поднесущей цвета), возможность интернальной генерации синхры при отсутствии внешней…
Но изначально проект был начат из интереса попробовать сделать графический OSD на доступном на тот момент 8-ми разрядном МК… Сейчас при засилии и чуть ли не демпинговым ценам на STM32 наверное этот выбор кажется странным, но напомню, первые вылеты с этим проектом начались больше 4-лет назад…
А автор всего год до старта проекта узнал о существовании фирмы Atmel (про какие-то пики правда слышал…)… 😃

ubd

Не страшно, но АРУ приемника (железки видео-захвата) будет завышать яркость и, соответственно, занижать цветовую насыщенность.

Что у меня и происходит. Как избавиться?

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

У меня нет твоей последней схемы модулятора. Вышлешь?
Хочу попробовать разные варианты. На проводках, сделаю маленькую плату, и к этой плате АП подпаяю сверху.

msv
ubd:

Что у меня и происходит.

Ну вот… То уверяешь, что все зашибись, лучше не бывает…😃
Если помнишь, картинка непосредственно с твоей OSD сразу на мою старенькую pinnacle выглядела более чем достойно. Заметить изменение картинки от “подъедания” на несколько процентов синхры можно только при большой любви к искусству … 😃 Это точно не самое узкое место в твоем канале: камера->OSD->передатчик->приемник->наземка->железка захвата.

ubd

То уверяешь, что все зашибись, лучше не бывает.

Так то да, все хорошо! Изображение стабильное, трекер стал работать идеально. Просто цвета блеклые немного, только и все. Мне не сильно важна курсовая камера. Мне главное что что бы HD на бору писала нормально. Сейчас придёт 3-х лопастный винт, и посмотрим как будет…

22 days later
msv

Что в этом сезоне у меня с GPS какая-то ерунда… В статике быстро ловит 8-10 спутников (как обычно). Но стоит даже просто понести самолет (тем более взлететь), резко уменьшается количество спутников и даже периодически вылетает из 3d-fix. Потом в полете через несколько минут все более-менее устаканивается, но время от времени все равно падает 3d-fix. Обмен с модулем нормальный, проблемы именно в нем, самом. Если бы какие наводки были, по идее и в статике должны возникать проблемы… Никто не замечал таких косяков?
Заказал ublox, посмотрим как с ним будет…
Еще вопросик… Посмотрите, у кого есть возможность, как сделаны входные цепи на “фирменных” LRS на RFM22? У меня антенна цепляется непосредственно к модулю. Это допустимо? Что то очень резко падает уровень от расстояния. Моща как была, проверил, а дальность сильно упала.
Вообщем неудачный сезон, какой-то… Даже носитель стал хуже летать…