FPV с OSD весом до 25 грам. для мелколётов

Dimmitri
alldn:

А Ваш вариант прошивки доступен простым смерным?

Без спроса автора, дам ссылку на пост, думаю он не будет против.

alldn

Эту ссылку видел, но там написано:

This only works for G-OSD and Mini OSD

А я спрашивал про E-OSD, ведь в посте №9 говорится о

(G-OSD\E-OSD + MTK3229 10Hz + датчик тока

Ну и тогда попутно вопрос, чем отличаются схемы E-OSD и G-OSD? Если я правильно понимаю они довольно похожи. Может возможна переделка из E-OSD в G-OSD, если эта схема лучше?

alexmx
Dacor:

Есть в наличии G-OSD. Шил под CL-OSD - не впечатлило…

Именно это и побудило переписать/оптимизировать код и изменить картинку.

Dimmitri:

Без спроса автора, дам ссылку на пост, думаю он не будет против.

Конечно не против.

Продублирую 😃

Ссылка на видео - извините за качество, очень сильный ветер был…

Ссылка на исходный код github.com/amaximchuk/u-osd

Конфиг в коде настроен так:

  • плата G-OSD
  • GPS MTK3229 baud rate 9600 update 10Hz на прием 2-ух сообщений NMEA, заменил ионистор на батарейку для того чтобы не сбрасывались настройки (в атаче скрин из Mini GPS)
  • датчик тока с RC Timer немного модифицировал завел на вход RSSI
  • video NTSC

Отличия E-OSD от G-OSD:

  • не выведен на разъем Rx на GPS
  • нет входа RSSI
  • Vbat1&2 заведены на другие ножки Atmeg’и поэтому нужно менять код.

E-OSD легко модифицируется в E-OSD + GPS (в атаче пример).
Также легко можно вывести дополнительные ADC входы +1 G-OSD и +2 в E-OSD, правда придется немного попаять - собрать делитель из 2 резисторов, на вход должно поступать не выше 5 вольт.

Если интересно могу скомпилить и выложить под разные конфигурации.

alldn

Если возможно, выложите вариант под e-osd+gps. Такой есть в наличии, но картинка у Вас гораздо красивее.

alexmx
alldn:

Если возможно, выложите вариант под e-osd+gps. Такой есть в наличии, но картинка у Вас гораздо красивее.

Хорошо, я вечерком скомпилю и проверю на E-OSD. Такой тоже есть в наличии, но не доходили руки 😃

alexmx
Rabbit_Fly:

а где посмотреть схемку G-OSD?

Схему G-OSD в инете я не встречал.
По коду отличия:

E_OSD / E_OSD_GPS
#define KEY (1<<PD5)
#define LED (1<<PD6)
#define ANALOG_IN_1 1 // Voltage 1 = ADC1
#define ANALOG_IN_2 0 // Voltage 2 = ADC0 (can be RSSI)

G_OSD
#define KEY (1<<PD4)
#define LED (1<<PD3)
#define ANALOG_IN_1 0 // Voltage 1 = ADC0
#define ANALOG_IN_2 1 // Voltage 2 = ADC1
#define ANALOG_IN_3 2 // RSSI = ADC2 (only 0-5 Volt!)
#define ANALOG_IN_4 3 // No input, just a pot = ADC3

Ну и в E-OSD нет подстроечных резисторов для калибровки напряжения

Rabbit_Fly
alexmx:

G_OSD
#define KEY (1<<PD4)
#define LED (1<<PD3)
#define ANALOG_IN_1 0 // Voltage 1 = ADC0
#define ANALOG_IN_2 1 // Voltage 2 = ADC1
#define ANALOG_IN_3 2 // RSSI = ADC2 (only 0-5 Volt!)
#define ANALOG_IN_4 3 // No input, just a pot = ADC3

Ну тогда помоему схема лежит в вашем 16ом посте…

alexmx
Rabbit_Fly:

Ну тогда помоему схема лежит в вашем 16ом посте…

Это схема E-OSD

alldn

Вот схема G-OSD
Отличается от E-OSD ножками на кнопку и светодиод
Если в E-OSD довавить вывод от 30 ноги - RXD данные от GPS и вывод от 25 ноги - RSSI, то будет функциональный аналог.
Ножки светодиода и кнопки переназначаются в прошивке.


Сегодня пробовал скомпилить проект u-osd под E-OSD. Переназначил ножки, запретил 9600 в GPS, разрешил PAL. Все нормально скомпилилось, прошить не успел, завтра буду шить.

alexmx
alldn:

Сегодня пробовал скомпилить проект u-osd под E-OSD. Переназначил ножки, запретил 9600 в GPS, разрешил PAL. Все нормально скомпилилось, прошить не успел, завтра буду шить.

PAL не пробовал совсем. Будет интересно увидеть результат. Возможно придется немного сдвинуть Линию начала апдейта.

Rabbit_Fly

а для чего используется кнорка на осд платке?

alldn

Длинное нажатие на кнопку вызывает запоминание HOME позиции.

alexmx
Rabbit_Fly:

а куда вещается токовый датчик

Я вешал на вход RSSI, а вообще можно на любой правда от этого страдает точность.

alldn:

Длинное нажатие на кнопку вызывает запоминание HOME позиции.

В пределах одной секунды после того как GPS приемник увидит спутники.

Rabbit_Fly
alexmx:

Я вешал на вход RSSI, а вообще можно на любой правда от этого страдает точность.

а в прошивке как это цчитывать чтоб ма считал

alexmx
Rabbit_Fly:

а в прошивке как это цчитывать чтоб ма считал

В CURRENT_INPUT номер ADC

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

alexmx
alldn:

Вот схема G-OSD Отличается от E-OSD ножками на кнопку и светодиод Если в E-OSD довавить вывод от 30 ноги - RXD данные от GPS и вывод от 25 ноги - RSSI, то будет функциональный аналог.

В схеме ошибка. Между RSSI входом и землей сопротивление 100кОм.

alldn

У меня в Е-OSD нет этого резистора, и слава Богу.

Докладываю, сегодня изголялся над своей платой E-OSD. Пробовал прошивку U-OSD в варианте G-OSD.
Закоментарил объявление GPS для настройки скорости UART на 4800 потому что мой GPS приемник работает на этой скорости.

//#define GPS_MTK3229

Для совместимости изменил строки, определяющие выводы кнопки и светодиода:

#define KEY (1<<PD5) //4)
#define LED (1<<PD6) //3)

Скомпилировал, прошил - все работает как обещал автор, за что ему отдельный респект и уважуха!!! Кодировка NTSC.

Плата E-OSD у меня доработана как показано здесь.
Отличие от этой доработки в том, что я на дополнительные выводы подключил сигналы от 30 ножки контроллера (RX) и 25 ножки контроллера - вход от измерителя тока. Измеритель пока не подключал.

Пробовал перекомпилить прошивку под PAL. К сожалению в этом режиме программа на заработала. На экране моргает что-то, причем это не значения переменных, а имена переменных. В частности моргала надпись %OSD.

Сильно я не расстроился по этому поводу, как выяснилось мои камеры переключаются и в PAL и в NTSC, телевизоры сами понимают что им передают, Шарки тоже сами понимают кодировку, так что решил остановиться на NTSC и не париться.

Не понравилась надпись ALEX в левом верхнем углу. Это право автора без сомнения, но мне свое имя перед глазами не нужно, решил не загружать экран. Сделал эту переменную пустой.

#define TEXT_CALL_SIGN ""    //Set this to your call sign.

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

#define TEXT_CALL_SIGN " "    //Set this to your call sign.

Теперь ничего лишнего не видно. Будет квадратик серенький, но это не страшно.

Работали над платами параллельно с товарищем. Он свою плату мучал, я свою. Остались очень довольны прошивкой. Выглядит очень круто, гораздо лучше, чем прошивка CL-OSD.
Спасибо Александр, отличная работа.

alexmx
alldn:

У меня в Е-OSD нет этого резистора, и слава Богу.

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

Обновил и выложил конфигурацию проекта для компиляции E-OSD / GPS.

Вчера наконец-то нашел PAL камеру. Подключил без изменения прошивки (NTSC) - картинка есть но соотв. немного меньше чем экран так как PAL разрешение выше. Сегодня подправлю код.

TEXT_CALL_SIGN - это не для имени автора, а позывной 😃 каждый меняет под себя. Так же гляну почему съезжают строки.

И спасибо за отзыв! Приятно что еще кому-то пригодилось 😃

lamakazzz

Александр, большое спасибо! попробую на днях и свою е-осд перешить
У меня камера пал, как раз и посмотрим, как оно будет сочетаться =)