OSD на ATmega1281

Dacor

А у меня нет СмалТима - я не в курсе.

Frr
msv:

Лучше помогите решить задачку для 8-го класса:

Для 8-го наверно так:
Решаем систему равнений {1-е: (x2-x)^2+(y2-y)^2=L^2; и 2-е: x/x1=y/y1; } относительно x,y.
Получаем: x = (±sqrt((y1^2+x1^2)*L^2-(x1*y2-x2*y1)^2) + y1*y2+x1*x2)*x1/(y1^2+x1^2);
соответствующий y=x*y1/x1;
На С:
float x1, x2, y1, y2, L; //на входе
float xy[2 + 2]; //результат
int zad() { //возвр. кол-во решений
float r1, d, a, b;
r1 = x1 * x1 + y1 * y1;
if (r1 <= 0.0)
return -1; // прямая не определена
d = x1 * y2 - x2 * y1;
d = r1 * L * L - d * d; // детерминант
if (d < 0.0)
return 0; //нет решений
a = y1 * y2 + x1 * x2;
if (d == 0.0) { //одно решение
b = a / r1;
xy[0] = b * x1;
xy[1] = b * y1;
return 1; //кол-во решений =1
}
//иначе два решения, d>0
d = sqrt(d);
b = (a + d) / r1; //первое решение
xy[0] = b * x1; //это x
xy[1] = b * y1; //это y
b = (a - d) / r1; //второе решение
xy[2] = b * x1; //это x
xy[3] = b * y1; //это y
return 2; // кол-во реш.=2
}
Подходит?

Иван

Всех с прошедшими!!!
по поводу полёта по точкам, моё мнение - согласен с Сергеем игрушки это, либо спец техника. Самое важное от АП - нужно чтобы “домой” правильно возвращался, причём с вероятностью максимально близкой к 100%

msv
Frr:

Для 8-го наверно так:

Систему уравнений составил такую же. Решение немного другое получилось, наверное где-то ошибся.
Хотел использовать такой подход для последней фазы посадки: курс держать на точку, находящейся на прямой взлета на некотором отдалении от текущей позиции самолета. Что-то слишком навороченная математика получается (ведь почти все придется в long-ах считать, это в меге довольно затратно по времени). Поэтому пока буду делать все в углах: изначальный нужный угол посадки через точку старта считается один раз после старта, текущий угол на точку старта тоже уже считается (для OSD). Осталось найти разницу этих углов и по расстоянию до точки старта (тоже уже считается) элементарно вычислить расстояние (отклонение) до прямой, по которой должен лететь самолет. По этому отклонению простой пропорцией корректировать курс.
В любом случае, спасибо за работу, возможно еще где-то пригодится…

Иван:

по поводу полёта по точкам, моё мнение - согласен с Сергеем игрушки это

Автопосадка в принципе то же баловство… Просто интересная задачка… 😃

ubd

Автопосадка в принципе то же баловство…

Для некоторых не баловство. Есть те кто вообще сажать самолёт не умеет, они то и пользуются посадкой, всегда в автомате. Т.к. вероятность что он его грохнет, меньше…
Ну а взёт, это вообще тема. Просто удобно, когда один в поле.

msv

Ну кто сажать не умеет, не успеет настроить АП…😃

Хочу посоветоваться… Сделал форсирование газа по мин скорости. Реализация пока такая:
В конфигураторе задаются две мин. скорости (GPS и баро).
Если соответствующая текущая скорость (баро, для предотвращения сваливания, или GPS, для движения против ветра) оказывается меньше этих уставок, газ начинает возрастать со скоростью, задаваемой в конфигураторе. До какого значения увеличивать, до абсолютного максимума или максимальной в конфигураторе?
Если скорость становится больше уставок, газ уменьшается до нормального значения. Нужен гистерезис (скока?), или пусть играет газом пытаясь удерживать желанную скорость?
В случае если самолет упадет, к сожалению сначала врубится форсаж, и только через 4сек получения нулевой GPS-скорости, двигатель будет остановлен (если еще будет что останавливать…)… И вообще… что-то, как-то все не нравится мне это…

ubd

Я думаю так:

максимальной в конфигураторе?

Если скорость становится больше уставок, газ уменьшается до нормального значения. Нужен гистерезис (скока?), или пусть играет газом пытаясь удерживать желанную скорость?

Как у старого Смалтима интересно. У него по моему он играет. У него вообще, если упал то будет по потери сознания пытаться взлететь и набрать скорость. У него режима автоматического взлёта и нет. У него режим автовозврата, это и есть автоматический влёт. Т.е. включаешь его он сразу включает двигатель, и пытается лететь.

Я думаю не гистерезис нужно а временную задержку. Не важно какую скорость он наберёт, а то получается режим удержания скорости.

И вообще… что-то, как-то все не нравится мне это…

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

Иван
msv:

Ну кто сажать не умеет, не успеет настроить АП…

Факт!! 😃)

Мне бы хотелось видеть обороты двигуна, к ним наверное можно как то и общее управление прицепить, думаю этим можно переходные процессы облегчить.

lis713
ubd:

У него вообще, если упал то будет по потери сознания пытаться взлететь и набрать скорость

Если ты имеешь ввиду- упал на землю- то смолтим вырубает двигатель и ни куда он не стремится взлететь.

ubd

то смолтим вырубает двигатель и ни куда он не стремится взлететь.

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

Сергей, спроси у baychi, он должен знать как у Смалтима реализован алгоритм добавления газа если скорость GPS меньше минимальной.
И по какому фактору он вырубает двиг на земле, если с ней случайно встретиться.

msv
ubd:

Нужно пробовать в реале.

Это по сути аварийные ситуации… Вряд ли кто захочет специально в них залазить, дабы посмотреть что будет…

Иван:

Мне бы хотелось видеть обороты двигуна, к ним наверное можно как то и общее управление прицепить

Тахометр пока не готов делать, может позже. Кстати была мысль управлять газом не просто значением PPM, а мощностью (имхо это даже правильнее, чем оборотами). Ведь скажем 50% PPM для 11.5В и 9.5В большая разница, квадратичная зависимость мощности от напряжения. Запугался сложностью настройки устойчивого контура регулирования. Для оборотов будет та же проблема.

ubd:

… как у Смалтима реализован алгоритм добавления газа если скорость GPS меньше минимальной.
И по какому фактору он вырубает двиг на земле, если с ней случайно встретиться.

Иногда лишнии знания вредны… 😃 Газ там вроде функция только от скорости (во всяком случае было вроде так). Ну и вряд ли какой волшебный алгоритм можно придумать. Cобытие “сел/упал” на основе имеющихся данных, вероятностное:
Скорость GPS=0- зависли против ветра, не факт что не летим.
Бароскорость не 0- задувает ветер, не факт что летим.
Высота=0, вообще ничего не означает, обсуждали. итп…
Конечно можно накрутить кучу конфигурационных параметров, и благополучно с ними окончательно запутаться…
Пока для определения сделал возможность задавать время, если в течении которого GPS-скорость больше минимальной, значит “полет”.
И время, если GPS скорость равна 0, значит на дереве. Для любителей летать против ветра можно поставить побольше… Но понимать, что при аварии это время двигатель будет еще крутиться. А если еще форсаж включен, тем более…

Иван
msv:

Тахометр пока не готов делать, может позже. Кстати была мысль управлять газом не просто значением PPM, а мощностью (имхо это даже правильнее, чем оборотами). Ведь скажем 50% PPM для 11.5В и 9.5В большая разница, квадратичная зависимость мощности от напряжения. Запугался сложностью настройки устойчивого контура регулирования. Для оборотов будет та же проблема.

это уже очень круто:))

Frr
msv:

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

Без корней решается такая задача: Найти точку на прямой {(0,0);(x1,y1)}, равноудаленную от (x2,y2) и (0,0).
Решаем: { (x-x2)^2+(y-y2)^2=x^2+y^2; x/x1=y/y1; } относительно x,y.
Получаем: x=x1*(y2^2+x2^2)/(y1*y2+x1*x2)/2; y=y1*(y2^2+x2^2)/(y1*y2+x1*x2)/2;
Кмк. тут хватит char-ов и short-ов из сектора ±60град. от пос.напр.
Точность пос.напр. - пол градуса, положение - 1бит=1м.(удаление 100м.) (или 10м., тогда 1км.)
char x1,y1,x2,y2; short x,y;
int zad2() { short t,z;
t=(y2*y2+x2*x2)/2;z=y1*y2+x1*x2;
x=(x1*t)/z; y=(y1*t)/z;
return 1; }
Траектория - дуга окружности, касательной к ВПП. С изрядной высоты, по маленькой окружности будет похоже на “Баграмский заход”.

Иван

Всем доброго времени суток!
Подлетнул впервые на вжике с описанным тут АП, вся операция была относительно наспех проведена. поплатился вжиком, нашёл на дереве, крыло вхлам 😦( сам виноват в сумерки надо с огнями летать.
Попробовал функционирование АП режим стаб - нетриммированный вжик вполне себе летел!!! учитывая сколько я ему в мануале триммеров с пульта накрутил… режим триим у меня не настроен был посему тут тоже косяк:(
Не успел только возврат проверить:( 😃)

АП мне понравился !!!
буду новый ЛА делать и дальше летать:)

Сергею(MSV) отдельное БОЛЬШОЕ СПАСИБО!!!

250 метров на 8ми Дб дальности это нормально ? на штырях 1/4 плюс по противовесу тож 1/4. штыри - сварная проволока 0,8.
это лрс но без бустера.

ubd

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

Не торопитесь! Всё сделайте грамотно! Никуда, он от вас не денется, этот АП, не нужно торопиться.

250 метров на 8ми Дб дальности это нормально ?

Нормально. Где то -65 db будут сыпаться дропы.

msv
Иван:

крыло вхлам … АП мне понравился !!!

Вот какая удачная конструкция, человек разгрохал самолет и все равно счастлив… 😃

Иван:

250 метров на 8ми Дб дальности это нормально

На OSD показывает -8dbm на расстоянии 250м? Что-то много, у меня на 100мВт только совсем рядом (десяток метров) такие уровни…

korall:

Не оч. удобным показолось процедура настройки

Не дает покоя эта претензия, тем-более с ней сложно не согласиться…
Конечно делать ради этого полноценный дуплексный канал РУ, да обеспечить возможность прям в полете конфу менять пока не готов…
А вот сделать возможность менять основные параметры (которые реально невозможно заранее дома настроить) без мех. переключений и даже без компа вполне несложная задача. И сделать это проще через OSD-меню, как на большинстве подобных конструкций.
Комбинацию для входа в меню предлагаю: Режим MNL, Газ ноль, Крен и Тангаж на максимум ( стик в правый верхний угол) в течении 3 сек.
Выход аналогичен, время можно меньше.
Будет минимально необходимый набор параметров, поэтому надеюсь обойтись простым меню без всякой иерархии в виде набора строк со скролингом: “Название параметра: значение”.
Теперь хочу опросить народ, какие параметры вы хотите иметь возможность подправлять таким образом? Желательно вспомнить, что реально приходилось править в поле.

Dacor

Готов таскать с собой нетбук (все равно всегда в машине лежит). Но вот отключение ГПСа и подключение на его место шнурка немного неудобно. ИМХО.

P.S. Или я что то пропустил?

Иван
msv:

Вот какая удачная конструкция, человек разгрохал самолет и все равно счастлив…

Ап - крайне удачный - в том виде в каком оно всё полетело И достаточно стабильно!!! это супер!

Радости по уши ещё и потому что ЛА был НАЙДЕН!! и ничо перепаивать не надо.

8ДБ это моща на передаче была, модуль без бустера, пока что:)
если на столе всё рядышком в полуметре друг от друга рсси -14 - -17

ubd

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

Да почти всё, кроме калибровок, всяких.
Общие - Из общих минимальная скорость только нужна.

Нужно:
IMU, Крен (только самое необходимое), Тангаж (только самое необходимое), Газ (только самое необходимое), Автопилот (всё), Дополнительно (4 последних), Экран (не помешает).

Не нужно:
Доп каналы, дискретные, Аллармы, Калибровка, РРМ.

Иван
Dacor:

Готов таскать с собой нетбук (все равно всегда в машине лежит). Но вот отключение ГПСа и подключение на его место шнурка немного неудобно. ИМХО.

присоединись,

а вот жпс - это издержки 1281 меги - на ней всего 2 уарта… у меня их 4; у меня этот ап на 2560 меге собран

ubd

У меня, ноут в качестве монитора и писалки одновременно. Так что он всегда на поле.