OSD Платы.

okan_vitaliy
flygreen:

Для статистики.

Купил миним ОСД на ХоббиКинге. Залил 370 прошу от KVteam. Питалово подал 5 В от бэка (общего), 12 В от степ ап-степ даун конвертера ( на нем же висит передатчик и камера). При подаче 12В на плату, происходли глюки в виде дергания изображения и полного пропадания. 12 В , убрал все подключил от бэка. Вроде стало работать стабильно.

От одного питания- нежелательно. На видеоизображение накладываются помехи от аврки. Просто так ведь не разносят питания чипа. Кстати они зажали еще индуктивность вместо соединения общей земли. А то что изображение у Вас дергается, то сядьте осциком и поглядите чего там по питанию твориться. Кстати на прошлой неделе занимался осд и обнаружил такую вавку - при отсутствии входного видео сигнала осд гонит наружу свой. Был подключен 2 входовой маленький китайский автомонитор. И только при определенных половых манипуляциях появлялось стабильное изображение. Че только не делал, и общую землю переносил и с бубном бегал. Все решилось простым усаживанием на землю второго входа монитора. Причем если на вход осд подавался видеосигнал, то таких плясок ваще не наблюдалось, все работало на ура. Вот так то.

v-k
okan_vitaliy:

обратите внимание возможность совместного доступа к переменной vsync_wait. Я б все таки до её изменения из основного цикла запретил прерывания, а после разрешил.

Спасибо…
я где-то читал, что имеет смысл защищать операции с неатомарными данными, в нашем случае vsync_wait - один байт, т.е. переменная атомарная. Чтоб лучше разобраться, открыл asm-код:

Скомпилированный код прерывания

00000954 <__vector_1>:
     954:	1f 92       	push	r1
     956:	0f 92       	push	r0
     958:	0f b6       	in	r0, 0x3f	; 63
     95a:	0f 92       	push	r0
     95c:	11 24       	eor	r1, r1
     95e:	10 92 6a 04 	sts	0x046A, r1
     962:	0f 90       	pop	r0
     964:	0f be       	out	0x3f, r0	; 63
     966:	0f 90       	pop	r0
     968:	1f 90       	pop	r1
     96a:	18 95       	reti

А вот начало DrawScreen

00003f12 <_Z18MAX7456_DrawScreenv>:
    3f12:	81 e0       	ldi	r24, 0x01	; 1
    3f14:	80 93 6a 04 	sts	0x046A, r24
    3f18:	80 91 6a 04 	lds	r24, 0x046A
    3f1c:	88 23       	and	r24, r24
    3f1e:	e1 f7       	brne	.-8      	; 0x3f18 <_Z18MAX7456_DrawScreenv+0x6>

0x046A - volatile vsync_wait, 0x3f - SREG

насколько я могу судить, вызов прерывания после любой из строк не должен ничего нарушить, SREG в прерывании сохраняется/восстанавливается. Единственно, если значение vsync_wait изменится между 3f18 и 3f1с, то brne перейдет на 3f18 всего один лишний раз. Вроде так… Я не настоящий сварщик только учусь, поэтому поправьте, если где-то ошибаюсь.

Кстати, там Carlo из KVTeam интересуется, можно ли им Ваш мод использовать 😃 www.multiwii.com/forum/viewtopic.php?p=44844#p4484…

Now we need to ask the RC guy (may be okan_vitaliy as Russian is not my second language to read the whole tread) the permission to use this mod.

okan_vitaliy
v-k:

Кстати, там Carlo из KVTeam интересуется, можно ли им Ваш мод использовать 😃 www.multiwii.com/forum/viewtopic.php?p=44844#p4484…

Передайте Карло, что можно пользоваться кодом на здоровье, это ж опенсорс. Посмотрел асм - должно работать нормально. Желаю Вам творческих успехов в доработке минимосд. Это вещь нужная.

omegapraim

Здравствуйте. Долгое время был без ОСД (max сгорел) и вот наконец мне пришли 2а макса из Китая. В общем, решил выяснить причину сгорания микрухи и заодно спросить возможные способы устранения её, ибо это как я думаю насущный вопрос не только для меня.

Итак начнем))))

Что имеем: Две платы minimOSD с хоббикинга.
Первая плата имеется неполадка в цепи (возможно сгорел один из диодов) симптомы были таковы что макс на ней просто тупо перестал работать. Почему диод? да потому что когда втыкаешь видео сигнал лампочка начинала гореть ярче.
Плата 2а это изначально бракованная плата с дохлым максом (по сути идеальный стенд, ибо кроме микрухи все новое).

Итак тесты:
Тест 1. Плата один (со сдохшим диодом) новая микруха на ней даже не запустилась, выдавала тупо черный экран и все. Тесты с этой платой закончил.
Тест 2. Поставил абсолютно новую микруху на плату два (та что со сдохшей микрухой) и все заработало. Поскольку купил себе курсовую камеру которая работает от 12В решил все запитать через схему, которая предложена Арду (с раздельным питанием для видео части и ардуино части) Все работало хорошо, единственное что, максимка грелся как утюх, пальцем не дотронуться. Питал все от липохи и через тв тюнер, для удобства подключил к компу.
Видео тракт 5.8 и приемник и передатчик питались от одной батареи все работало нормально (разве что микруха грелась сильно). Дай думаю дам отдохнуть, ну и выключил все это великолепие на 5 минут.
Потом включил. Описываю свои действия:

  1. Включил питание передатчика (ЛИПО 12в) ну и видео части ОСД.
    2)Включил питание Ардуино части осд.
    иииииииии
    3)Включил приемник, но поскольку, он у меня подключался к той же липо, что и передатчик включил сначала + (и приемник заработал т.к. в цепи общий минус, который проходит через ардуино и комп), и потом как только я поднес минусовой крокодил к батарее ШЛЕП минус 1 макс))))))))) Симптомы дохлова макса: Греется еще сильнее видео через себя пропускает, но шрифты уже не выводит.
    Я считаю разность потенциалов. А вы?

Тест 3 , Разделил питание, сделал всю осд от 5 вольт, но увеличил площадь соединения шины минуса, путем сошкуривания краски в месте где ставится капелька и залил этот стык припоем по всей площади кромки.
Запаял микруху залил прошивку все работает))))))) В общем, если у кого есть какие соображения, как обезопасится от этого я бы послушал)))))

Shuricus

Питать от 5ти.
У меня с двойным питанием тоже куча погорела.

okan_vitaliy
omegapraim:

Здравствуйте. Долгое время был без ОСД (max сгорел) и вот наконец мне пришли 2а макса из Китая. В общем, решил выяснить причину сгорания микрухи и заодно спросить возможные способы устранения её, ибо это как я думаю насущный вопрос не только для меня.

Итак начнем))))

Что имеем: Две платы minimOSD с хоббикинга.
Первая плата имеется неполадка в цепи (возможно сгорел один из диодов) симптомы были таковы что макс на ней просто тупо перестал работать. Почему диод? да потому что когда втыкаешь видео сигнал лампочка начинала гореть ярче.
Плата 2а это изначально бракованная плата с дохлым максом (по сути идеальный стенд, ибо кроме микрухи все новое).

Итак тесты:
Тест 1. Плата один (со сдохшим диодом) новая микруха на ней даже не запустилась, выдавала тупо черный экран и все. Тесты с этой платой закончил.
Тест 2. Поставил абсолютно новую микруху на плату два (та что со сдохшей микрухой) и все заработало. Поскольку купил себе курсовую камеру которая работает от 12В решил все запитать через схему, которая предложена Арду (с раздельным питанием для видео части и ардуино части) Все работало хорошо, единственное что, максимка грелся как утюх, пальцем не дотронуться. Питал все от липохи и через тв тюнер, для удобства подключил к компу.
Видео тракт 5.8 и приемник и передатчик питались от одной батареи все работало нормально (разве что микруха грелась сильно). Дай думаю дам отдохнуть, ну и выключил все это великолепие на 5 минут.
Потом включил. Описываю свои действия:

  1. Включил питание передатчика (ЛИПО 12в) ну и видео части ОСД.
    2)Включил питание Ардуино части осд.
    иииииииии
    3)Включил приемник, но поскольку, он у меня подключался к той же липо, что и передатчик включил сначала + (и приемник заработал т.к. в цепи общий минус, который проходит через ардуино и комп), и потом как только я поднес минусовой крокодил к батарее ШЛЕП минус 1 макс))))))))) Симптомы дохлова макса: Греется еще сильнее видео через себя пропускает, но шрифты уже не выводит.
    Я считаю разность потенциалов. А вы?

Тест 3 , Разделил питание, сделал всю осд от 5 вольт, но увеличил площадь соединения шины минуса, путем сошкуривания краски в месте где ставится капелька и залил этот стык припоем по всей площади кромки.
Запаял микруху залил прошивку все работает))))))) В общем, если у кого есть какие соображения, как обезопасится от этого я бы послушал)))))

Читая Ваш пост, я немного обалдел. Только без обид, Вы пишите наверно неисправен диод. Вы его проверяли или нет. Опыты и тесты странные какие то. Нужно было сдуть на двух платах чипы. Проверить подводимое питание к максу, величину и качество. И только если все в норме,надуть новые максы, обязательно с пропайкой подложки. А после этого уже подключать и смотреть. По поводу температуры макса - греться он меньше не будет если Вы внешнее 12 вольтовое питание замените на 5 вольт. У меня макс в термоусадке внутри аппы стоит и никаких проблем. Если очень переживаете за его перегрев, то можно поставить радиатор на него.

omegapraim

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

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

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

wenom86

Здравствуйте. Обращаюсь ко всем. В этой теме у Вас получилось вывести информацию о напряжении, скорости и т.д. поверх видеосигнала. Дело в том, что я собираю подводный аппарат, который будет управляться по проводам ( rcopen.com/blogs/93764/18127 ) и мне необходимо выводить информацию поверх видео о температуре воды, потребляемом токе и т.д. (это для начала). Управляться мой аппарат будет ардуиной.
Скажите, откуда MobidroneOSD или любой другой модуль OSD получает информацию о скорости, высоте и тд (как в вашем случае), и самое главное- в каком формате ему эта информация приходит.?

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

Опыт в программировании ардуин имеется, правда не профессиональный, скорее любительский. Пайкой занимаюсь уже лет 10-в этом опыт есть.

omegapraim
wenom86:

Здравствуйте. Обращаюсь ко всем. В этой теме у Вас получилось вывести информацию о напряжении, скорости и т.д. поверх видеосигнала. Дело в том, что я собираю подводный аппарат, который будет управляться по проводам ( rcopen.com/blogs/93764/18127 ) и мне необходимо выводить информацию поверх видео о температуре воды, потребляемом токе и т.д. (это для начала). Управляться мой аппарат будет ардуиной.
Скажите, откуда MobidroneOSD или любой другой модуль OSD получает информацию о скорости, высоте и тд (как в вашем случае), и самое главное- в каком формате ему эта информация приходит.?

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

Опыт в программировании ардуин имеется, правда не профессиональный, скорее любительский. Пайкой занимаюсь уже лет 10-в этом опыт есть.

информация о скорости температуре и прочая включая положение берется по минимум 3м датчикам 2а из которых работать будут едва ли.

  1. Компас указывает направление, изза того тчто в вашем аппарате есть металлические детали будет врать либо работать не будет.
    2)GPS он показывает положение, направление скорость, высоту, честно сказать думается мне что он будет работать только в том случае если его вывести над поверхностью воды скажем на поплавке.
    3)Давление и температура это барометр, честно сказать хз как его в подлодке приспособить чтобы он показывал нормально.
    4)Если есть желание изменять температуру то это скорее всего просто термопара, я думаю по ее использовании есть пример в самой ардуино программе.
    5)Данные насколько я знаю высылаются пакетно по запросам самой осд или может они всегда кидаются в порт а осд ловит нужные ей. Можно перепрограммировать все что угодно вопрос времени.

Мобидрон наверное для этой цели не подходит слишком капризная штука надо наверное что то типа E-OSD или что то еще. У мобидрона есть только один плюс это то что он если дохнет то не обрубит видиолинк как например миним осд. И все это очень капризно к питанию.

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

troff
2fast2real:

Перезагружается в полете, высоту показывает че попало.

Разобрался я почему есть жалобы на remzibi OSD.
Проблема с модулем GPS которым их комплектуют. У меня два remzibi, оригинал и клон, сначала купил клон, у него GPS MTK сразу оказался нерабочий, поставил взамен Ublox и поэтому никаких проблем у меня с ним ни разу не было.
Недавно задействовал второй remzibi, оригинал, сразу получил перезагрузки в полете и тормоза с высотой, после замены модуля GPS проблемы исчезли.
Но, что интересно, и с модулем МТК после перезагрузки в полете OSD не теряла дом по всем трём измерениям, так что худо-бедно можно было летать.

wenom86

Со снятием показаний с датчиков я разберусь. У меня этим будет заниматься отдельная ардуина. Мне непонятно, по какому протоколу передать информацию в osd? Вот например по ссылке www.aliexpress.com/item/…/917409455.html это устройство может принимать несколько видов сигнала с телеметрии.

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

omegapraim

Есть множество проектов включая мультиви а для него уже есть проект KVteam вот поройтесь в нем.

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

wenom86

я просто уже дторой день сижу-изучаю возможность соединения Arduino mega 2560 и osd (например minimosd). Голова идет кругом- брожу вокруг да около, и собрать в кучу не могу. С проектом KVteam ознакомился - как я понял, по части osd в нем можно менять расположение индикаторов, шрифт и т.д. ?
Осталось найти где-нибудь расшифровку, какие данные и в каком формате посылает ардупилот в osd. Наверно надо покопаться в прошивке ардупилота.

Панкратов_Сергей

Абсолютно не верный с моей точки зрения подход.
Пытаетесь микроскопом забить гвоздь и для этого изучаете как устроен микроскоп.
Зачем Вам ардупилот, зачем этот протокол, что в нем используется?
minimOSD это и есть ардуина с установленной на ней микросхемой ОСД.
Берете описание от max7456 и пишете то что Вам нужно, или еще проще- берете готовую библиотеку к max7456.
Контроллера на minimOSD для Ваших задач- выше крыши.
То есть платка minimOSD, видеокамера и подключенные датчики- более ничего не нужно.

okan_vitaliy
wenom86:

я просто уже дторой день сижу-изучаю возможность соединения Arduino mega 2560 и osd (например minimosd). Голова идет кругом- брожу вокруг да около, и собрать в кучу не могу. С проектом KVteam ознакомился - как я понял, по части osd в нем можно менять расположение индикаторов, шрифт и т.д. ?
Осталось найти где-нибудь расшифровку, какие данные и в каком формате посылает ардупилот в osd. Наверно надо покопаться в прошивке ардупилота.

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

wenom86

дело в том, что под мои задачи не зватит ножек атмеги328 на minimOSD. поэтому сразу выбрал плату на 2560. программу для убирания-добавления информации на экране осд уже прошерстил - с этим проблем быть не должно.

Я правильно понимаю, что в ардуину 2560 (у меня вот такая плата www.aliexpress.com/item/…/871139081.html) можно залить прошивку multiWii (вот как в этой статье, aviamax.livejournal.com/54910.html , только на мою плату)
А саму прошивку можно стачать здесь (версия 2.8)? code.google.com/p/megapirateng/downloads/list
code.google.com/p/ardupilot-mega/downloads/list

okan_vitaliy
wenom86:

дело в том, что под мои задачи не зватит ножек атмеги328 на minimOSD. поэтому сразу выбрал плату на 2560. программу для убирания-добавления информации на экране осд уже прошерстил - с этим проблем быть не должно.

Я правильно понимаю, что в ардуину 2560 (у меня вот такая плата www.aliexpress.com/item/…/871139081.html) можно залить прошивку multiWii (вот как в этой статье, aviamax.livejournal.com/54910.html , только на мою плату)
А саму прошивку можно стачать здесь (версия 2.8)? code.google.com/p/megapirateng/downloads/list
code.google.com/p/ardupilot-mega/downloads/list

Наберите в гугле мультивий и скачайте его , www.multiwii.com/software мультивий это не ардупилот. Мультивий лезет и мегу 2650. Насколько я понял, то Вам сразу необходимо потренироваться на мультивие(на кошках), а потом что то свое писать. Мультивий это уже готовый движек для Вашего проекта. Ведь Вы хотите я так понял подлодку с нуля делать.

Панкратов_Сергей
wenom86:

дело в том, что под мои задачи не зватит ножек атмеги328 на minimOSD. поэтому сразу выбрал плату на 2560.

Тогда лишняя атмега328 и этот протокол обмена.
У Вас задача много проще, потому куда правильней и проще с нуля написать.
Мало того- вполне можно и без max7456.

serenya

Вы путаетесь в проектах, мультивии и мегапират это 2 разных проекта.

Art_Nesterov

Приехали две платки minimosd v1.1 с ХК.
Попробовал залить KV_Team, не заливается, Arduino пишет ошибку “avrdude: stk500_getsync(): not in sync: resp=0x00”
(естественно плату и порт выбрал)
Подключил к выход к видеовходу телевизора, на экране появляется “Arducam v 2.1”. (то есть вроде живая)
Попробовал сконфигурировать при помощи программки Arducam, не подключается, пишет “Filed to talk to bootloader”.
Когда подключил к АПМ, данные идут, наклоны, повороты контроллера отображаются на ТВ, но на экране куча информации (90% совершенно не нужной).

Как перепрошить такую платку? Что я не так делаю?

PS (предыдущие 2 платки брал на рстаймере, перепрошились и работают идеально)