micro / minimOSD для NAZA

SerjikLSV
pitalenko:

супер! еще бы крупное фото платы с двух сторон и такая плата Моцарта стала бы популярной

Приветствую.
Тоже собираю данный OSD
Я сделал подобный переходник из макетки с шагом отв. 2,54мм
Цена вопроса - 2 разъема по 5р. + макетка (была)
Разъем мама (который на плату) пришлось подтачивать иначе не лез в Назу.
В планах надеть термоусадку и сделать подобную плату для вывода состояния лед уже с резисторами на борту.
Хотел изначально сделать общую плату для LED и GPS но оказалось что не попадает в шаг дырок на макетке.

Теперь о грустном
После включения OSD наблюдаю белые полосы по всей ширине экрана там где есть цифры данных.
Т.е. показывает например скорость в нижнем левом углу. Цифры читаются хорошо но от них идет горизонтальный шлейф до самого правого угла как-будто цифры протащили по всему экрану справа-налево.
Летать конечно можно но неприятно. На предыдущем OSD (правда совсем другой модели) такого не было.
Данный эффект наблюдается только в очках при выводе сигнала на передатчик. При подключение телевизора на прямую к выходу OSD такого артефакта нет.
Есть подозрение что наложенный видео сигнал с текстом от OSD слишком высокий по уровню хотя в конфиге выставил Low.
Очки - Fatshark Altitude SD, передатчик из комплекта на 250мВт 5,8
Кто сталкивался с данной проблемой?

alezz
SerjikLSV:

Есть подозрение что наложенный видео сигнал с текстом от OSD слишком высокий по уровню хотя в конфиге выставил Low.
Очки - Fatshark Altitude SD, передатчик из комплекта на 250мВт 5,8
Кто сталкивался с данной проблемой?

такая же петрушка. Попробуй яркость/контрастность на очках покрутить, можно уменьшить эффект до приемлемого. Кстати, перешел на 7" монитор, там такой беды нет

SerjikLSV
alezz:

такая же петрушка. Попробуй яркость/контрастность на очках покрутить, можно уменьшить эффект до приемлемого. Кстати, перешел на 7" монитор, там такой беды нет

Понял покручу
Помню на предыдущем OSD там видео In и OUT были соединены и можно было поставить переменный резистор перед OSD входом.
Сдесь же In и Out разнесены. Может как-то можно уменьшить мощность сигнала с OSD?

alezz:

Кстати, перешел на 7" монитор, там такой беды нет

В очках больше нравится летать. Эффект погружения больше и угол обзора неплохой у Altitude.

alezz
SerjikLSV:

В очках больше нравится летать. Эффект погружения больше и угол обзора неплохой у Altitude.

хоть это не касается и основной темы топика, но выражу противоположное мнение. Начитавшись отзывов монитор vs очки купил attitude sd. Полетал вроде все нравится. Ради любопытства попробовал монитор, понравилось даже больше очков 😃

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

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

короче я перешел на монитор, на очки вернусь вряд-ли

saigo
SerjikLSV:

… Может как-то можно уменьшить мощность сигнала с OSD?..

Можно поставить на выходе OSD 75ОМ сопротивление (мне на кролике помогло)

SerjikLSV
saigo:

Можно поставить на выходе OSD 75ОМ сопротивление (мне на кролике помогло)

Спасибо, помогло. Резистор поставил на 200 Ом

Подскажите, какое напряжение должно поступать на вход Current sens., Voltage sens. на сам чип максимальное, что бы его не спалить, делитель посчитаю сам.
У меня есть датчик тока от старой OSD так там данные по напряжению идут прямо с аккума а по току идет в районе 5V

saigo
SerjikLSV:

…Подскажите, какое напряжение должно поступать на вход Current sens., Voltage sens. на сам чип максимальное, что бы его не спалить, делитель посчитаю сам…

Судя по datasheet atmega держит до 5,5В. Но я через делитель уменьшал до 3,3В (т.к. сказать шоб “не портить отчетность” (с) 😃

drozd79

Подскажите вопросик! По умолчанию OSD я так понял работает в NTSC формате, так? А чтобы она работала в Пал, надо запаять перемычку сзади платы. То есть, у меня ГоПро как ходовая, я в ней должен выставить NTSC? Просто пробовал замыкать перемычку на платке OSD там где ПАЛ, ничего не меняется, картинка даже не дергается. Как перевести OSD в ПАЛ? Пробовал кто?

SerjikLSV
alezz:

я же написал выше - у атмеги вход держит максимум до 3.3В! Если закон Ома знаешь, посчитай какое напряжение у тебя сейчас на вход попало?
Не уверен живой ли еще вход, но для 3S и 4S батареи нужен делитель: 1.1кОм на землю и 16кОм на плюс. Если таких номиналов нет, можно заменить на 1.5кОм и 22кОм или посчитать самому по вкусу

Вот тут пишут что до 3,3 вольта после делителя? Так 5V или 3.3V?

sanyok_amd:

Вход атмеги ограничен уровнем 1,1 вольт. Если вы подключаете батарею к атмеге напрямую без датчика напряжения, то нужно ставить делитель на резисторах такой, чтоб уровень измеряемого напряжения не превышал 1,1 вольт. Для 4s акб макс напряжение 16,8 вольт. Ставьте последовательно сопротивления 16кОм и 1кОм. Плюс батареи подключайте к 16к резистору, общую точку соединения резисторов подключайте к атмеге, второй вывод 1к резистора кидайте на нулевой провод (минусовой).

А здесь пишут что вход 1,1V максимум. Где же истина?

mozzart
SerjikLSV:

Где же истина?

“Держит” и нормальный уровень - разные вещи; ориентироваться правильнее на номинал - 1.1 вольта

alezz

угу, вроде так: выше 1.1В но ниже 3.3В ацп не сгорит, но измерять ничего не сможет а будет постоянно выдавать максимальное значение

drozd79

Вчера полетал, расстроен! Не показывает, точнее не меняются координаты, один раз показывает и все. Спутники тоже не меняются. Высоту и скорость не показывает, точнее 0 постоянно стоит. Показывает корректно только напряжение и время. И то, дома посмотрел рабочее видео, на 30 секунд было зависание телеметрии, потом напряжение снова начало показываться. Я заливаю не hex фаил, а правлю все в ардуино-проекте. Скачал все библиотеки, все разобрался как полностью скачать проект с сайта. Запускаю на компе в режиме GPS симуляции - все показывает, радар работает. Когда заливаю прошивку без симуляции, ничего не показывает радар. Такое впечатление, что не читается инфа с GPS NAZA, хотя, первоначально координаты моего места показывает, я проверял и они замирают на экране. GPS подключен 3-мя проводами и в проекте выбрано

#define GPS_PROTOCOL_DJI

В общем, отчаялся уже (((. Не осилю видимо. Попробую залить hex. из первой страницы темы.

Heading - тоже не меняется, даже в режиме симуляции. Хотя, стрелка показывает направление на базу.
Заметил еще такое, подключен у меня Throttle как по схеме, когда отключаю питание с OSD, а приемник включен, то на OSD слабо горят светодиоды. Почему так? Это нормально? Плюс выдернут из серворазъема, только PWM и земля.

SerjikLSV
alezz:

угу, вроде так: выше 1.1В но ниже 3.3В ацп не сгорит, но измерять ничего не сможет а будет постоянно выдавать максимальное значение

Спасибо, собрал делитель, откалибровал - все работает
Хорошая OSD и не дорогая с богатой возможностью настройки.
Поместил все в корпус и разместил на носу коптера с доступом к FTDI. Вот несколько фото.

brusse

Люди, помогайте. Ни как не получается откалибровать датчик тока, точнее вывести правильные показания силы тока. У меня подключено и канал газа и канал дисплея, т.е. для калибровки я делаю все как было описано в этой теме:
Если паяли выход на screen switch и Throttle, то

  1. Заливаете прошивку setup_001_TS
  2. Отключаетесь от компа и подключаете аккумулятор (к балансиру подключаем мультеметр).
  3. Если screen switch настроен правильно, при его переключении будет меняться возможность калибровки VOLT DIFF RATIO, AMP OFFSET, AMP PER VOLT.
  4. Screen switch`ем переключили в VOLT DIFF RATIO. Throttle должен быть примерно в середине сначала, затем двигая газ вверх вниз добиваемся совпадения значений на экране ОСД с мультеметром. Далее если хотите можете калибровать ток.
  5. Отключаем от аккумулятора, подключаемся к компу и заливаем обычную прошивку.
    Все.
    Напряжение я выставил, а ток не получается, то есть я перехожу в AMP OFFSET и в AMP PER VOLT выставляю чтобы показывало ноль без нагрузки, затем подключаю нагрузку 5 А и выставляю … что мне надо выставить, что такое AMP OFFSET и AMP PER VOLT? Потому как если я выставляю 5А, то уплывает ноль. Уже всю голову сломал.
    Датчик тока такой.
alezz
brusse:

я перехожу в AMP OFFSET и в AMP PER VOLT выставляю чтобы показывало ноль без нагрузки, затем подключаю нагрузку 5 А и выставляю … что мне надо выставить, что такое AMP OFFSET и AMP PER VOLT? Потому как если я выставляю 5А, то уплывает ноль. Уже всю голову сломал.

у меня датчика тока нет но попробуй так:

  1. Подключаешь амперметр последовательно с батареей, включаешь аппарат
  2. Переходишь в AMP OFFSET выставляешь на OSD то что видишь на амперметре, по идее несколько сотен мА
  3. Переходишь в AMP PER VOLT, запускаешь движки, выставляешь на OSD то что видишь на амперметре, по идее пару А
  4. Заливаешь нормальную прошивку OSD, осторожненько даешь газку в мануале, коптер желательно привязать или придавить, смотришь что получилось сравнивая измерения тока по OSD и амперметру
    если есть значительная погрешность повторяешь пункты 2-4
brusse

Спасибо, но проблема была в другом, используемый мной датчик тока на сигнальный контакт тока выдает при 5А всего 0,26 В, т.е. делитель по схеме оказался не нужен, я его выкинул и подал сигнал напрямую, после чего смог нормально настроить датчик тока.
У меня еще вопрос, скажите, у меня заведен канал переключения дисплеев, но он почему-то не работает, т.е. если я хочу переключить дисплей, то ничего не получается, но в положении -100 тумблера ОСД начинает обновлять показания раз в 2 секунды, что это может быть. Хотя когда я заливаю программу для калибровки напряжения и тока, то данный переключатель работает как положено.

SerjikLSV

Тоже было такое с тумблером. Вешайте на 3х позиционный, тогда в первом положение будет экран осд1, во втором осд2, а в третьем осд выключается.
Для калибровки напряжения и вольтожа этот переключатель будет работать как set volt - set offset amp - set amp per volt

brusse

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

SerjikLSV:

set volt - set offset amp - set amp per volt

brusse
brusse:

канал переключения дисплеев, но он почему-то не работает

С данной проблемой разобрался.
У меня еще вопросик возник, почему у автора проекта координаты в одну строчку на ОСД, и почему у себя настроить так же в одну строчку не получается? Или хотя бы дайте почитать какую нибудь нормальную информацию по этим minimosd.

alezz
brusse:

у автора проекта координаты в одну строчку на ОСД, и почему у себя настроить так же в одну строчку не получается?

можно скомпилить прошивочку с разкомментареным JR_SPECIALS
или поправь сам вот эту функцию:

/******************************************************************/
// Panel  : panGPS
// Needs  : X, Y locations
// Output : two row numeric value of current GPS location with LAT/LON symbols
/******************************************************************/
void panGPS(int first_col, int first_line) {
    osd.setPanel(first_col, first_line);
    osd.openPanel();
#ifdef JR_SPECIALS	// I like it more one row style
    osd.printf("%c%10.6f     %c%10.6f", 0x83, (double)(osd_lat), 0x84, (double)(osd_lon));
#else
    osd.printf("%c%11.6f|%c%11.6f", 0x83, (double)osd_lat, 0x84, (double)osd_lon);
#endif
    osd.closePanel();
}

в osd_panels.ino