RSS лента

Michurin

DIY OSD

Оценить эту запись
03.03.2014 в 03:00 (4123 Показов)
Хочу рассказать о самой дешевой системе OSD, стоимостью около 20 у.е.
Захотелось поставить OSD себе на квадрокоптер для получения полетных характеристик, точнее хотелось видеть напряжение батареи когда улетаешь достаточно далеко, ну так чтоб вернуться. Во время изучения рынка OSD и возможностей его изготовления я наткнулся на DIY OSD, про нее и пойдет речь.
Возможности DIY OSD: (может все)
- Напряжение
- Потребление тока
- Расход энергии
- Время в полете
- Координаты БЛА
- Скорость
- Высота
- Направление на "дом"
- Расстояние до "дома"
- RSSI
- Сигнализации параметров
- Отображение максимальных параметров после полета

Фото экрана с OSD текстом





Схема OSD


Работа OSD (нюансы)
Устройство не генерирует изображение, а накладывает текст на сигнал с изображением, поэтому подключив его к монитору без источника сигнала ни какой картинки не будет. Подключать надо так


После подключения видеокамеры и OSD к монитору от символов были заметны белые горизонтальные полосы. Исправляется увеличением резистора R2, теперь R2 = 240 Ом, дальнейшее увеличение приводит к заметному уменьшению яркости символов.

В настройке прошивки есть функция диммирования - фон символов становится темнее, полезно зимой, белые символы не видно на белом фоне.
При резисторе R1 = 100 Ом фон символов светло серый и их все ровно не было видно на светлой картинке. Исправляется уменьшением резистора R1, теперь R1 = 75 Ом.

При подключении к OSD модуля GPS выяснилось что для питания всего устройства не хватает стабилизатора напряжения расположенного на Arduino, пришлось добавить внешний стабилизатор на 5 вольт (LM7805 в корпусе SMD).

После этих доработок устройство было собрано на печатной плате изготовленной по лазерно-утюжной технологии.

Печатная плата.



Настройка OSD (Код прошивки)

Настройки находятся в файле config.h.
Так как используем микросхему LM1881 в коде указываем SimpleOSD:
Код:
//Arduino = 0, SimpleOSD = 1
#define CONTROLLER 1
Настройка делителя напряжения:
Код:
// Voltage divider
#define voltage_divider_cal 5.12          // For SimpleOSD, I have used 1.82 - the formula gives 1.86. Test with a multimeter
Число 5.12 получаем по формуле (1024)/(50*divider), где divider - коэффициент делителя напряжения вычисляется по формуле (R4+R5)/R4

Включение диммирования:
Код:
// Dimming can be turned off. Mainly for debugging
// 1 = on, 0 = off
#define dim_on 1
Настройка параметров по которым включается отображение максимальных летных данных:
Код:
// Quad/helicopter example
#define summary_speed 99       // Speed less than (in km/h)
#define summary_los 9999       // LOS less than (in meters)
#define summary_current 3   // Current less than (in amps)
#define summary_time 0       // Flight time more than (in seconds)
#define summary_altitude 999  // altitude less than (in meters)
В данном случае отображение максимальных параметров включается при потреблении тока меньше 3 ампер - двигатели остановлены (настройка для квадрокоптера). Девятки исключают параметр из условия, а ноль на таймере быть не может, что тоже исключает его из условия.

Включение отображения RSSI:
Код:
// RSSI setup. Please note, when RSSI is active it will replace mah/km.
#define show_rssi 0 // 1= on, 0 = off
У меня на приемнике нет RSSI, поэтому эта функция у меня отключена.

По настройке датчика тока я не разбирался, так как у меня его пока нет, но в коде приведены рабочие значения для стандартных датчиков.
Код:
// Current-sensor
#define offset_ 0
#define current_cal 0.24 
// These values should more or less be correct. Feel free to make a calibration (a few measurements and a linear approksimation) if you feel like it. 
// 25 A sensor = 0.24
// 50 A sensor = 0.49
// 100A sensor = 0.98
Настройка видео системы, я думаю понятна:
Код:
//===========================
// Video system: PAL or NTSC
//===========================
// Pal = 0, NTSC = 1
#define VIDEO_SYSTEM 0
Остальные необходимые функции(алармы параметров и т.д.) можно настроить используя кнопку "Menu".
Чтобы вызвать меню необходимо зажать кнопку и включить питание. Как пользоваться меню одной кнопкой, я думаю, вы разберетесь.

Компоненты OSD
Arduino Pro mini, модуль GPS, и COM адаптер CP2102 для прошивки были куплены на ebay.com, а остальные детали в радио магазине.

GPS





COM адаптер CP2102 для прошивки Arduino



Фотографии готового устройства

















Архив с прошивкой схемой и печатной платой.
DIY OSD проект.zip
Миниатюры Миниатюры Нажмите на изображение для увеличения
Название: Sch2.JPG‎
Просмотров: 1456
Размер:	10.4 Кб
ID:	909384   Нажмите на изображение для увеличения
Название: Pcb.JPG‎
Просмотров: 1478
Размер:	173.8 Кб
ID:	909391   Нажмите на изображение для увеличения
Название: gps_1.jpg‎
Просмотров: 1468
Размер:	61.4 Кб
ID:	909409   Нажмите на изображение для увеличения
Название: gps_2.jpg‎
Просмотров: 1468
Размер:	70.0 Кб
ID:	909410   Нажмите на изображение для увеличения
Название: prog.jpg‎
Просмотров: 1465
Размер:	61.7 Кб
ID:	909412   Нажмите на изображение для увеличения
Название: div_1.jpg‎
Просмотров: 1466
Размер:	52.5 Кб
ID:	909413   Нажмите на изображение для увеличения
Название: div_2.jpg‎
Просмотров: 1463
Размер:	46.6 Кб
ID:	909414   Нажмите на изображение для увеличения
Название: div_3.jpg‎
Просмотров: 1500
Размер:	46.5 Кб
ID:	909415   Нажмите на изображение для увеличения
Название: div_4.jpg‎
Просмотров: 1462
Размер:	54.7 Кб
ID:	909416   Нажмите на изображение для увеличения
Название: div_5.jpg‎
Просмотров: 1464
Размер:	41.4 Кб
ID:	909417   Нажмите на изображение для увеличения
Название: div_6.jpg‎
Просмотров: 1465
Размер:	45.1 Кб
ID:	909418   Нажмите на изображение для увеличения
Название: div_7.jpg‎
Просмотров: 1473
Размер:	59.4 Кб
ID:	909419   Нажмите на изображение для увеличения
Название: div_8.jpg‎
Просмотров: 1468
Размер:	50.0 Кб
ID:	909420   Нажмите на изображение для увеличения
Название: disp_1.jpg‎
Просмотров: 4225
Размер:	38.8 Кб
ID:	909421   Нажмите на изображение для увеличения
Название: disp_2.jpg‎
Просмотров: 4223
Размер:	36.7 Кб
ID:	909422   Нажмите на изображение для увеличения
Название: Sch.jpg‎
Просмотров: 1508
Размер:	34.6 Кб
ID:	909423  
Метки: osd
Категории
Без категории

Комментарии

  1. Аватар для {gorbln}
    По составу и схемотехнике очень напоминает Mobidrone OSD. Делал такое. Из минусов - на белом фоне не видно надписей.
    Ещё момент: LM-ка очень критична к цепи C2-R6. Если это место фигово промыть - не запустится. Я долго искал проблему, пока не промыл плату. По этой же причине - хотя бы эти лапы лучше паять с канифолью, а не с флюсом.
  2. Аватар для {gorbln}
    А вообще - туда б ещё впилить гироаксель для авиагоризонта (ну или хотя бы просто аксель) и барометр. Вот тогда было бы "может всё"
  3. Аватар для Michurin
    Цитата Сообщение от {gorbln}
    ...
    Из минусов - на белом фоне не видно надписей.
    ...
    Этот минус устраняется включением в коде опции dim_on.
  4. Аватар для Michurin
    Цитата Сообщение от {gorbln}
    А вообще - туда б ещё впилить гироаксель для авиагоризонта (ну или хотя бы просто аксель) и барометр. Вот тогда было бы "может всё"
    Согласен, авиагоризонта нехватает, но для квадрокоптера мне и этого с избытком.
  5. Аватар для Dynamitry
    а как он направление чует? Где у него компасс?
  6. Аватар для Michurin
    Цитата Сообщение от Dynamitry
    а как он направление чует? Где у него компасс?
    Направление вычисляется по GPS, показывает направление с текущего положения на точку "ДОМ".
  7. Аватар для Serg27
    День добрый.
    Какая скорость порта GPS?
  8. Аватар для Michurin
    Цитата Сообщение от Serg27
    День добрый.
    Какая скорость порта GPS?
    Скорость порта для GPS задается в config.h - #define BAUD 9600
  9. Аватар для SiMuS
    Здравствуйте!
    Стабилизатор внешний как подключали?
  10. Аватар для Пневмослон
    Скажите. Могу ли я использовпть акк на 5 - 6 s в качестве питания камеры и сего девайса, в режиме измерения напряжения?? И каким образом я могу отключить все режимы отображения кроме скорости и пройденного растояния?? Предполагаю использовать на ру скоростной лодке.