OSD на ATmega1281

ubd

Можно всё, но этим никто не будет заниматься.

msv

Наконец запустил серийную съемку фотика. Для этого слепил такой адаптер:

На своей старенькой мыльнице вывел на разъем необходимые цепи.
Работает… 😃
В конфигураторе для первого дискретного канала, выбирается канал и диапазон который будет включать съемку. Для каналов 2-4 можно задать только инверсию.
Логика такая:
Если значение в управляющий канал значение в заданном диапазоне-

  1. Включается питание фотика. Пауза 4 сек.
  2. На 1сек “нажимается” кнопка включения. Пауза 4 сек.
  3. На 2сек “нажимается” фокусировка.
  4. На 4сек “нажимается” спуск с удержанием фокусировки.
  5. Пауза 5сек.
  6. Если управляющий канал остается активным переход на п. 3.
    Если нет:
  7. На 1сек “нажимается” включение (в этом случае- отключение). Пауза 5сек.
  8. Отключается питание.

ЗЫ. Обдумываю новый алгоритм автопосадки. Как будет время, сформулирую для обсуждения…

msv

Серега, не льсти… Зазнаюсь, перестану здороваться… 😃
Вообще-то неплохо было добавить транзисторный ключ (ОЭ) на управление LM для четкого отключения преобразователя на время включения борта.
ЗЫ Забавно, но это оценили в высшей степени мои домочадцы… То что самолет сам прилетает домой фиг знает откуда, это не произвело впечатления. А вот то, что я щелкаю тумблером на пульте в одном углу комнаты, а фотик САМ (!) включается и начинает снимать с вспышкой… это показалось круто…😃

Dacor
msv:

Обдумываю новый алгоритм автопосадки. Как будет время, сформулирую для обсуждения…

Очень интересно

korall

Облетал на праздники свой свеже испеченый АП, не смотря на не летную погоду и многочисленные тех.накладки АП летает просто СУПЕР! Все настройки по умолчанию (кроме калибровок кончно же) .

Не оч. удобным показолось процедура настройки, а именно необходимость каждый раз отключать ГПС и подключать кабель, на мой взгляд интерфейс настройки логичней былобы перенести на порт с ЛРС.
Какие плюсы при этом появляются:
1 те кто пользуют ппмсум избавляются от процедуры каждый раз чтото отключать, достаточно просто воткнуть кабель в свободный разьем.
2 использующим ЛРС при соттветствующем его программном допиливании( обратный канал) можно менять настройки через нее прямо в воздухе,бонусом в обратный канал можно дублировать данные для наземки.

ubd

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

Серёга, это реально? Было бы удобно…

msv

Для нашего передатчика LRS потребуется антенный коммутатор, а так… были такие мысли… Можно в принципе без обратного канала (без подтверждения) слать конфигурацию. Все параметры конечно нельзя давать менять, потенциально опасно. Ну и когда стал думать, а что бы хотелось иметь возможность менять на лету (в прямом смысле 😃) что-то ничего не придумал…
//-------------------
Мои мысли по посадке:

Самое сложное для определения логики посадки- простая и очевидная для пользователя привязка к точке старта и направлению старта (ВПП). ( Это посложнее “Бурана”, там все аэродромы уже были построены и зафиксированы…😃 ) При этом должна остаться возможность относительно гибкого конфигурирования этого процесса. Ну и хотелось бы по максимуму использовать текущий алгоритм, который проверен на практике и в принципе не так плох.
Вот что предлагаю:
Вектор посадки определяется вектором взлета OK.
Точка O определяется в момент получения готовности GPS, можно ее уточнить кнопкой (как и было). Дополнительно будет опционально автоуточнение- точка переопределяется координатами самолета в момент, когда GPS скорость впервые превысит “Общие->Мин. скорость”, если далее в течении 4 сек эта скорость не опустится ниже этого порога. Это автоуточнение будет происходить только один раз после включения АП (защита от переопределения позиции базы в полете).
Сама посадка осуществляется с круга ожидания, который по касательной находится на прямой, определяемой вектором взлета. Возможно 4 возможных положения этих кругов. C какого именно будет посадка, определяется в конфигураторе всего двумя очевидными параметрами-флагами: круг ожидания по/против часовой стрелки, посадка по/против направления взлета. Расстояние L определяется конфигурацией “Дополнительно->Удаление точки возврата”, центр круга находится на перпендикуляре к вектору старта/посадки на расстоянии “Дополнительно->Радиус кружения” (возможно плюс скажем 10м на компенсацию скольжения). Центр круга ожидания и собственно вектор посадки рассчитываются на основании позиции самолета в момент, когда самолет пролетел со скоростью “Общие->Мин. скорость” больше 4 сек и удалился от точки O на расстояние больше “Дополнительно->Удаление точки возврата”.
Теперь, когда круг ожидания определен, именно на него будет приводиться самолет в режиме RTH на высоту “Автопилот->Целевая высота”. В режиме LND аналогично в первую очередь самолет встанет на эту же высоту. После того, как целевая высота будет достигнута с точностью 20% и расстояние до центра круга ожидания с точностью 50%, будет выключен двигатель и самолет, удерживаясь на этом круге, будет снижаться с тангажем “Тангаж->Glide, макс. смещение”. (все почти как в текущей версии) Достигнув высоты “Дополнительно->Минимальная высота”, двигатель опять включится и будет вести самолет на этой минимальной высоте (очень надеюсь на баровысоту), пока его курс не совпадет ( не станет противоположен) с курсом взлета. После этого двигатель будет отключен, и самолет с нулевым тангажем (для сбрасывания скорости) будет планировать, выдерживая курс на точку старта. Конечно при попутном ветре будут перелеты, при встречном недолеты, но думаю все должно быть достаточно забавно…

.

ubd

но думаю все должно быть достаточно забавно…

😃 Будем пробовать…

В общем то логику посадки, я себе такую и представлял.
Гениально!

korall
msv:

Ну и когда стал думать, а что бы хотелось иметь возможность менять на лету (в прямом смысле ) что-то ничего не придумал…

ПИДы, чутьё ,в общем то что нельзя настроить дома заранее.

msv:

Для нашего передатчика LRS потребуется антенный коммутатор

А если слегка доработать саму RFMку, разорвать связь между TX(2) и RXn(4),RFp(3) на платке модуля и вывести на прием вторую антенну, обойдясь таким образом без коммутатора, если я правильно понял на самом чипе это же разные ноги?

msv

Может и так, честно говоря чип не изучал, но что то не хочется ковырять модуль… Ну и для организации полноценного обратного канала надо бы и на борту иметь ту же мощность, что на базе… Для конфигурации на лету в принципе в качестве обратного канала можно использовать сообщения OSD. Те. АП принял новую настройку, на пару сек вывел на OSD “Параметр: Значение”.

Давненько мучает мысля (уже озвучивал в этой теме), что по взрослому надо бы делать новый проект, в основе которого качественный двунаправленный канал. На борту только минимальная математика для работы АП, а на земле и любые дорасчеты, какие пилот пожелает, и виртуальная приборная панель, и OSD без ограничений, хоть во все цвета радуги, прозрачностью итп… Кстати по железу это пожалуй даже проще, чем сейчас сделано. На земле RFM-ка (BP), мега (для ее управления, управления трекером, и связь с ПК), ПК и джойстик. На борту таже RFM-ка, тоже мега (ну или STM, непринципиально) с минимальной обвязкой, кучка датчиков.
Увы, пока морально не готов… 😃

ubd

но что то не хочется ковырять модуль…

В это всё упирается…

korall

С текущем функционалом АП полноценный обратный канал не требуется 200-300 м. достаточно для настроек, на врятли комуто придет в голову настраиват пиды на удалении 10 км. Хотя конечно можно обойтись и без него.Идея разделить антенны подсмотренна на некоторых 2.4ру модулях. там приемная антенна выполнена в виде дорожки на плате для оценки свободности каналов в эфире. Возможно и на RFMке достаточно будет перерезать одну дорожку и припаять кусок проволоки нужной длинны в качестве антены. В подтверждении полученных параметров настройки в виде сообщений на ОСД не вижу смысла, зачем? от записи ошибочных данных это не спасет, хотя если это не сильно усложнит программу то лишнем не будет.
В любом случае иметь возможность подключать к АП альтернативный двухсторонний линк былобы сдорово к примеру в виде 3DR модемов популярных у ардушников.
По поводу перехода на новое железо ,считаю ,что вся прелесть текущей реализации в простоте повторяимости и потенциал далеко еще не исчерпан, да и желающих повторить это не прибавит, а только отпугнет не многочисленных уже имеющихся.
По мне так лучше стабильно работающая система с ограниченным функционалом, чем красивая с наворотами глючаящая и сложная в настройке (по типу ардупилота).
А вот полноценный двухсторонний канал и наземный софт с картой ,записью треков и логов это былобы круто!

ubd

Ну сильно круто… И не к чему пока. Давайте этот проект до ума доведём…

korall

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

msv

Меня бы устроил существующий алгоритм (там все же точность посадки поменьше км 😃 ), если бы не наш холмистый рельеф местности, для которого важно предсказуемое направление посадки. Связываться с абсолютными координатами в модельном АП считаю идеологически неправильно… Все эти карты, полеты по точкам, указания целевых координат посадки… ИМХО Ну не должно этого быть в хоббийных самоделках с открытым кодом… Надеюсь поймете и простите… 😃

korall:

В подтверждении полученных параметров настройки в виде сообщений на ОСД не вижу смысла, зачем?

Так а в чем смысл обратного канала?

ubd

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

Сильно много хочется и сразу… Посмотрим как будет работать этот алгоритм посадки. А потом уже делать выводы.
Честно, старым алгоритмом посадки пробовал пользоваться всего один раз, и не понравилось, т.к. сильно не предсказуемо куда он сядет. А так всегда в ручную сажу, т.к. рельеф местности холмистый. Но теперь, когда точку посадки можно примерно определить и задать вектор взлёта, он же примерно вектор посадки, это уже интересно. Можно пользоваться.

Я то же мечтаю о полётах по точкам, и что? Проект постоянно развивается, всё не сразу…

korall

Согласен, непредсказуемость самого процесса это самое верное определение, того чего не хватает в нынешнем алгоритме посадки.
Под поляной в км. я имел ввиду не точность самого места приземления, а площадь выполнение всех LND маневров ,когда нет уверенности что модель в процессе не зацепится за фонарный столб, не сядет на лес или охраняемую территорию, у нас хоть местность не особо холмистая, но летать приходится на весьма ограниченных пространствах, и когда самик кружа выключает мотор летя в сторону опасного объекта нервишек не хватает , чтобы не отключить этот LND и поддать газку.
Новый вариант в этом плане выглядит по интересней.

msv:

Ну не должно этого быть в хоббийных самоделках с открытым кодом

Я извиняюсь, может плохо искал ,а где с этим кодом можно ознакомится? Честно обещаю не нарушать Вашу идиологию и не реализовывать полет по точкам😁.
Если серьезно ,то планирую собрать еще один экземпляр АП и весьма заманчиво взять проц. по проще и по дешевле например 1284.

msv:

Так а в чем смысл обратного канала?

Я представляю это себе так (не уверен ,что это правильно и нужно): отправляем на борт то что хотим записать, он возвращает хеш(ну или обратно все то что принял) база проверяет что данные приняты верно и отправляет команду на запись, борт отвечает ОК. или игнорит по Т.A.

ubd:

Я то же мечтаю о полётах по точкам, и что?

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

Пока собираю данные по наземке и думаю над механикой (уж больно стандартные сервы не внушают доверия с моей тяжелой антенной) надеюсь к весне собрать,скажите это актуальная на данный момент версия rcopen.com/forum/f8/topic162911/532 или что то уже поменялось?

ubd

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

Нас уже двое…

Пока собираю данные по наземке и думаю над механикой (уж больно стандартные сервы не внушают доверия с моей тяжелой антенной)

Я уже выкладывал свою конструкцию наземки, но в другом форуме. Кинь мне в личку почту, я чертежи своей наземки кину и фотки.

скажите это актуальная на данный момент версия OSD на ATmega1281 или что то уже поменялось?

А по древнее не мог найти? Это ещё с пиродатчиками… Причём без вертикальной пары.
Вместе с наземкой вышлю последнюю версию АП.

msv

Какие пиродатчики, это же наземка… Вроде последняя.