FPV с OSD весом до 25 грам. для мелколётов
Есть в наличии G-OSD. Шил под CL-OSD - не впечатлило…
Именно это и побудило переписать/оптимизировать код и изменить картинку.
Без спроса автора, дам ссылку на пост, думаю он не будет против.
Конечно не против.
Продублирую 😃
Ссылка на видео - извините за качество, очень сильный ветер был…
Ссылка на исходный код 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 вольт.
Если интересно могу скомпилить и выложить под разные конфигурации.
Если возможно, выложите вариант под e-osd+gps. Такой есть в наличии, но картинка у Вас гораздо красивее.
Если возможно, выложите вариант под e-osd+gps. Такой есть в наличии, но картинка у Вас гораздо красивее.
Хорошо, я вечерком скомпилю и проверю на E-OSD. Такой тоже есть в наличии, но не доходили руки 😃
а где посмотреть схемку G-OSD?
а где посмотреть схемку 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 нет подстроечных резисторов для калибровки напряжения
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ом посте…
Ну тогда помоему схема лежит в вашем 16ом посте…
Это схема E-OSD
Вот схема G-OSD
Отличается от E-OSD ножками на кнопку и светодиод
Если в E-OSD довавить вывод от 30 ноги - RXD данные от GPS и вывод от 25 ноги - RSSI, то будет функциональный аналог.
Ножки светодиода и кнопки переназначаются в прошивке.
Сегодня пробовал скомпилить проект u-osd под E-OSD. Переназначил ножки, запретил 9600 в GPS, разрешил PAL. Все нормально скомпилилось, прошить не успел, завтра буду шить.
Сегодня пробовал скомпилить проект u-osd под E-OSD. Переназначил ножки, запретил 9600 в GPS, разрешил PAL. Все нормально скомпилилось, прошить не успел, завтра буду шить.
PAL не пробовал совсем. Будет интересно увидеть результат. Возможно придется немного сдвинуть Линию начала апдейта.
а для чего используется кнорка на осд платке?
Длинное нажатие на кнопку вызывает запоминание HOME позиции.
а куда вещается токовый датчик
а куда вещается токовый датчик
Я вешал на вход RSSI, а вообще можно на любой правда от этого страдает точность.
Длинное нажатие на кнопку вызывает запоминание HOME позиции.
В пределах одной секунды после того как GPS приемник увидит спутники.
Я вешал на вход RSSI, а вообще можно на любой правда от этого страдает точность.
а в прошивке как это цчитывать чтоб ма считал
а в прошивке как это цчитывать чтоб ма считал
В CURRENT_INPUT номер ADC
А также указываются лимиты какое напряжение какому току соответствует, зависит от вашего датчика тока, смотрите даташит на него.
Вот схема G-OSD Отличается от E-OSD ножками на кнопку и светодиод Если в E-OSD довавить вывод от 30 ноги - RXD данные от GPS и вывод от 25 ноги - RSSI, то будет функциональный аналог.
В схеме ошибка. Между RSSI входом и землей сопротивление 100кОм.
У меня в Е-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.
Спасибо Александр, отличная работа.
У меня в Е-OSD нет этого резистора, и слава Богу.
Я думаю потом возникнут проблемы при измерении показаний с датчика тока. Сознаюсь, я не силен в схемотехнике, но когда экспериментировал со своим датчиком и подключал напрямую без делителя - значения убегали далеко в бесконечность. Вот немного инфы.
Обновил и выложил конфигурацию проекта для компиляции E-OSD / GPS.
Вчера наконец-то нашел PAL камеру. Подключил без изменения прошивки (NTSC) - картинка есть но соотв. немного меньше чем экран так как PAL разрешение выше. Сегодня подправлю код.
TEXT_CALL_SIGN - это не для имени автора, а позывной 😃 каждый меняет под себя. Так же гляну почему съезжают строки.
И спасибо за отзыв! Приятно что еще кому-то пригодилось 😃
Александр, большое спасибо! попробую на днях и свою е-осд перешить
У меня камера пал, как раз и посмотрим, как оно будет сочетаться =)
Александр, большое спасибо! попробую на днях и свою е-осд перешить У меня камера пал, как раз и посмотрим, как оно будет сочетаться =)
Как раз сейчас чиню PAL, к выходным будет все норм.
Без GPS - моя прошивка бестолкова… выводить нечего.
так гпс прикручен… в общем-то, стоит сейчас прошивка cl-osd, но у меня непонятки с координатами для гпс-модуля EB-240 TD
valera_o поделился прошивкой
Изменения коснулись файла gps-nmea.h
а именно 2 строки:
1)
было:
gGpsLastData.pos.latitude = parseFloat(gGpsText, GPS_MAX_CHARS);
стало:
gGpsLastData.pos.latitude = parseFloat(gGpsText, GPS_MAX_CHARS-2);
2)
было:
gGpsLastData.pos.longitude = parseFloat(gGpsText, GPS_MAX_CHARS);
стало:
gGpsLastData.pos.longitude = parseFloat(gGpsText, GPS_MAX_CHARS-1);
в таком варианте ошибка гпс была порядка 500 метров
пару раз сам поковырял прошивку, пробовал выводить координаты напрямую, т.е. просто посимвольный вывод на экран. первые четыре-пять символов до точки выводятся норм, а после точки почему-то бред… На компе гпс кажет точно, ошибка в 3-5 метров. Пока что нет времени поковыряться, попробую вашу прогу =)