OSD на ATmega1281

Иван
korall:

На на скорую руку на макетке собрал ОСД,и

на каком проце собрали?

korall

Вы компилировали под 2560 или прям так залили,и что все работает ?

msv
korall:

Остался только не понятен параметр Drop

В текущей версии OSD не использует счетчик Drop от LRS. OSD/AP сам насчитывает дропы по состоянию флага Valid. Те. приемник должен все время гнать пакеты в LRS с периодом ~20ms (по готовности данных или тайм-ауту), указывая в поле Valid=1, если передаются актуальные данные, и Valid=0, если пакет передается приемником по ТА.

Иван
korall:

Вы компилировали под 2560 или прям так залили,и что все работает ?

я пробовал компилить и так вкатывал - всё путём… только вот если пользовать бут который Сергей сделал наверное не всё прокатит, я не пробовал пока:)

там заморочился только когда печатку делал - порты меги 2560 и 1281 чтобы на одни и те же линии подключались там сервы видео… звук…

msv

Подлючил MPXV7002DP, вроде работает, дуешь- скорость какую-то показывает.
Хочу разобраться в теории…
Итак, скорость определяется по известной формуле:
V(км/ч)=3.6*sqrt( 2*P(Па) / R(кг/м^3) );
Принимаем R (плотность воздуха)=1.3кг/м^3, получаем:
V=sqrt( (3.6*3.6*2/1.3)*P )= sqrt( 19,94 * P(Па) );
Чувствительность манометра 1V/1000Па, а 1V=1024/5=204 квантов АЦП (для Vref=5V);
получаем:
V=sqrt( 19,94 * n*(1000/204) )=sqrt( 98 *n); где n - отсчеты АЦП относительно смещения нулевой разницы давлений.
Для нулевой разницы сенсор дает половину напруги, те ~512попугаев АЦП.
(Пока сделал, смещение, соответсвующее нулю, принимается среднее значение получаемое за 4сек после включения АП). Если АЦП насчитает всего на единицу больше (513-512=1) это уже будет соответствовать скорости sqrt(98)=9,9км/ч!
Можно посчитать дальше: 2->14, 3->17, 4->20, 5->22, 6->24, 7->26, 8->28, 9->30, 10->31 итп…
Вообщем с ростом скорости точность быстро возрастает, но меньше 20-30км/ч получается не измерение, а индикация…

ubd

Сергей, я так понимаю, его не нужно калибровать? Просто по даташиту, он работает стандартно 1V на 1000 Па?
А то ещё придётся его на машину крепить и ехать сличая скорость со спидометра и вводя калибровочную константу в КП. Я тогда застрелюсь…

msv

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

lis713

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

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

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

А это причем?

msv:

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

Если отверстие не бесконечно малое и соединение герметичное - то зависеть не будет.

ubd

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

Диаметр не влияет. Мы не расход воздуха заменяем, а давление. В этой трубке воздух не движется а только изменяется давление. Давление одинаковое по всей длине, и не зависит от диаметра.

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

Сергей посмотри какая трубка-пито на Гиро-БОТе:
radiocontrol-sports.com/lf-technik-gyrobot-900-win…

Она да же с раструбом на конце.

Denn
msv:

но меньше 20-30км/ч получается не измерение, а индикация…

Так и есть! На самолётных указателях скорости обычно самое первое деление шкалы - 50 км/ч

Иван

нашёл тут fpv-community.ru/topic/314-megapirate-x/page-41 вот это alex57russ сказал(а) 29 Ноя 2013 - 14:30:
где на датчике и на трубке вход - выход?
Без разницы, значения всегда положительные. Не забудьте, чтобы во время арминга на трубку ПВД был надет колпачок из поролона или тряпки, чтобы показания не сбивались.

процесс калибровки, видимо

msv

Запустил вчера MS5611. Подключил к ногам PC4…PC7, они оказались разведены на моей плате. Конечно софтовый SPI работает помедленней аппаратного, но время чтения все равно много меньше времени выполнения математики расчета высоты, так что приемлемо. Если кому будет надо честный SPI, может перекомпилировать условной компиляцией.
Вчера за час давление было стабильное и высота не плыла, сегодня давление растет на глазах, и за полчаса высота убежала на 1-2м… Ну в принципе не так и плохо, если учесть что GPS-высота на малой высоте убегает на десятки метров…
Код конечно еще буду причесовать…

msv

Давайте подумаем как теперь использовать воздушную скорость. Вывод сделал универсальным, 4-ре варианта:

  1. Только GPS скорость.
  2. GPS в основное поле + шкала, воздушная в дополнительное поле.
  3. Баро в основное поле + шкала, GPS в дополнительное поле.
  4. Только баро скорость.
    Скорость используется для блокировки двигателя в автоматических режимах. Использование GPS-скорости иногда приводило к ложным блокировкам, когда самолет зависал против ветра. Но и использование воздушной скорости может оказаться ненадежным, например самолет повис на дереве, а в трубку пито задувает ветер… Подумайте, как надежнее организовать блокировку…
    Или просто менять по режимам вывода - если 1,2, то по GPS, если 3,4- по воздушной скорости?
Dacor

ИМХО лучше уж когда самолет повис на дереве и из-за бароскорости мотором маслает, чем упадет еще дальше из-за отключения мотора по скорости ГПС.

Приведу пример снова с Иглов. У них используется при полете обе скорости: максимальное ограниение по бароскороси (чтобы не выйти за эксплуатационные ограничения поанера), а минимальное ограничение по ГПС (чтобы не отключало мотор на скоростях ниже определенного порога, чтобы не останавливаться при полете против ветра).

msv

Желающие могут попробовать баросенсоры: OSD V2.9.0.
Версия несовместима по конфигурации с предыдущими, все будет сброшено в “заводские” настройки. Поэтому нужно не забыть старым конфигуратором прочитать/сохранить все настройки, а потом новым загрузить/записать.
Датчик MPXV7002DP цепляется к порту PF4, тут проблем не должно быть.
Для MS5611-01BA01 собрал такую схемку согласования:

Обратите внимание на ножки меги, к которым следует подключаться, SPI софтовый.
Кстати помучался, то ли сразу продали дохлые полевики (отсыпали из какого-то пакета, а не от ленты отрезали), то ли сам запалил (может так бояться статики?). Но два полевика оказались поддохшими и долго не мог сообразить почему нефига не согласовывает схема, да еще подпитывает до 4В сенсор…
Думаю можно обойтись делителями на резисторах для CLK, SDI, CSB (выходы OSD), а SDO пустить напрямую (не пробовал, есть шанс схватить паразитное питание от включенной подтяжки).
В этой версии дискретные выходы PA1…PA4 заточены под управление серийной съемкой фотиком, пока в тестовом режиме, толком не проверял, поэтому подробности позже.
Спасибы пожалуйста только после проверки… 😃

Иван

Сергей, у меня ламерский вопрос - один без другого барика будут работать адекватно в АП ? или это “система” сенсоров

alexeykozin
msv:

Вчера за час давление было стабильное и высота не плыла, сегодня давление растет на глазах,

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

я использую ардупилот, там тот же MS5611 в основном после 30 минутного полета высота не уходит больше метра, но если порывистый ветер и погода неспокойная то может и на 5 метров измениться. в помещении совсем другая картинка бародавление может прыгать и на 3 и 5 метров.

кстати к ардупилоту осд на дурацком max видеопроцессоре с его убогой графикой, прицепить бы туда толковое осд, все необходимые данные ардупилот выдает по открытому протоколу mavlink, есть библиотеки ардуино

msv
Иван:

один без другого барика будут работать адекватно в АП ?

Да, они полностью независимы.
MPXV7002DP- измерение приборной скорости. После включения 4сек идет авто-калибровка. В ветер перед включением есть смысл закрывать трубку НЕгерметичным колпачком, потом не забыть снять.
В конфигураторе “Калибровка->Коэфф. расчета бароскорости” можно задать чувствительность. Если будет нормально работать коэфф. по умолчанию, потом уберу. В “Экран->Определение скорости по GPS/баро” четыре варианта (0-3): от совсем не использовать баро-скорость (датчик даже не будет опрашиваться), до использовать только ее. Если параметр больше 1, для определения флага “Полет” (см. доку) используется баро-скорость.
MS5611-01BA01- измерение баро-высоты. В конфигураторе “Экран->Определение высоты по GPS/баро” тоже четыре варианта. 0- сенсор не опрашивается. Если больше 1, все алгоритмы (RTH, FBW итп) используют баро-высоту. Так же в конфигураторе можно указать альтернативно вывод температуры с этого сенсора (с точностью 0.1 град) и вывод атмосферного давления c точностью 0.1 мм. рт. ст. (ну может просто интересно).

alexeykozin:

кстати к ардупилоту осд на дурацком max видеопроцессоре с его убогой графикой

Зато какие красивые обводки… Даже завидно… 😃