OSD на ATmega1281

korall

Почти разобрался, отвечаю сам себе по всем пунктам да ,Valid 1=OK, 0=FS, CRC считается оказывается с количеством байт и типом пакета ( случайно подсмотрел как выглядит пакет от IMU ) а то никак не мог понять почему не работает.
Остался только не понятен параметр Drop ,пробовал отправлять любое число ОСД всё равно показывает ноль (только при включении там пробегают цифры от 128 на уменьшение ) также как и при ППМСУМ подключении, от куда он берется в оригинальной LRS и что означает?

Иван
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, есть библиотеки ардуино