OSD на ATmega1281

msv

Спасибо за ссылки! (хоть они мне и знакомы) Про IRA710-e кто-то, где-то уверял, что они не выдают постоянную составляющую. По даташит этот момент мне непонятен. Вроде бы явных кондеров там не просматривается. Но проверить непросто…
Папараци молодцы, конечно… Но… PID - это классика управления. Вся хитрость в волшебных пузырьках (коэффициентах), о которых, как мне показалось, там скромно умолчали( хотя смотрел их сайт по диагонали).
2Nik_Shl Что-то не понял мысль… Вектор по GPS более менее точно можно определить по направлению ( и то этот вектор будет совпадать с продольной осью самолета при 0-вом боковом ветре). Высота по GPS может скакать до 100м ( причем эти значения практически не удается как-то отфильтровать/сгладить) и может быть использована только для оценки, но никак не для определения тангажа. Но самое главное- не понял, как, даже зная вектор продольной оси самолета, можно корректировать гироскоп крена???

Vad64
msv:

Про IRA710-e кто-то, где-то уверял, что они не выдают постоянную составляющую. По даташит этот момент мне непонятен.

msv, поздравляю, отличный проект!

ПИРОдатчики не подойдут точно, любые. Датчики на пироэффекте реагируют только на переменную составляющую (можно почитать, например, здесь cultinfo.ru/fulltext/1/001/008/089/311.htm). FMA используют thermopiles (термопары или термобатареи) - они реально могут выдавать постоянную составляющую.

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

Nick_Shl
msv:

2Nik_Shl Что-то не понял мысль… Вектор по GPS более менее точно можно определить по направлению ( и то этот вектор будет совпадать с продольной осью самолета при 0-вом боковом ветре). Высота по GPS может скакать до 100м ( причем эти значения практически не удается как-то отфильтровать/сгладить) и может быть использована только для оценки, но никак не для определения тангажа. Но самое главное- не понял, как, даже зная вектор продольной оси самолета, можно корректировать гироскоп крена???

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

astr
Nick_Shl:

Гироскоп не надо корректировать. Гироскоп надо интегрировать. Постоянно. На выходе получаем угол крена.

Получите не угол крена, а интегральную ошибку, через небольшой промежуток времени после сброса, расчетный крен с реальным будет иметь мало общего.

msv

Может у кого есть ссылки, где можно купить (подешевле, конечно) эти самые thermopiles? Да и про FMA много слышал, но как-то не отложилось- где и почем?
2Nik_Shl Все равно не догоняю… Даже при идеальном определении высоты ее изменение вовсе не определяет тангаж.
После интегрирования по времени данных от гироскопа имхо можно получить только некоррелированную ошибку. В моем представлении данные от гиро наоборот надо дифференцировать по времени и складывать с проинтегрированным данными от акселя. Не вижу никаких проблемм с математикой, постоянные времени дифференцирования/интегрирования достаточно очевидны и определяются качеством (скоростью “ухода”) гироскопа. Хотя может чего не понимаю…

О… уже опередили…

Nick_Shl
msv:

Даже при идеальном определении высоты ее изменение вовсе не определяет тангаж.

Не высоты! С GPS мы получаем координаты и высоту. Их можно рассматривать как трёхмерные координаты - x,y,z. Имея координаты двух соседних точек мы можем определить положение самолёта в пространстве. Можем определить угол к горизонту. Однако этому положения не хватает “крена”. Можно самолёт представить насаженным на ось - и на ней он может свободно вращаться, а направление при этом не изменяется.

msv:

После интегрирования по времени данных от гироскопа имхо можно получить только некоррелированную ошибку. В моем представлении данные от гиро наоборот надо дифференцировать по времени и складывать с проинтегрированным данными от акселя. Не вижу никаких проблемм с математикой, постоянные времени дифференцирования/интегрирования достаточно очевидны и определяются качеством (скоростью “ухода”) гироскопа. Хотя может чего не понимаю…

Чего-то как-то слишком много умных слов… уже перестаю понимать 😃. Под интегрированием я понимал складывание(крен в одну сторону положительный, в другую - отрицательный). В результате имеем угол отклонения(крен) от продольной оси самолёта. А на счёт ошибки: разве не так работают гироскопы с удержанием хвостовой балки? Как я понимаю, их задача руля машинкой удерживать угол изменения в нуле(если хвост ушёл в сторону на 5 градусов, его надо повернуть в другую сторону на эти же 5 градусов). И ведь прекрасно держат…

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

msv

Можно самолёт представить насаженным на ось…

Нее…, не можем… Я и пишу:

Даже при идеальном определении высоты ее изменение вовсе не определяет тангаж.

(Млин… себя начинаю цитировать… плохой тон…)
Самолет может терять высоту и даже набирать с нулевым тангажом. Для активного управления требуется знать именно тангаж, если конечно это не сверх-устойчивый планер, для которого и РВ не нужен, а высотой управлять, скажем, тягой двигателя.

Чего-то как-то слишком много умных слов…

Ну Вы первый начали про интегрирование… 😃

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

У нас разное представление о гироскопе (вовсе не уверен, что мое правильное). В моем представлении гироскоп выдает абсолютное значение крена, независимо от скорости его изменения, как бы с постоянной составляющей. Поэтому непонятно зачем еще что-то складывать/интегрировать.
Вся беда, что это постоянная составляющая (значение, соответствующее нулевому крену) со временем уплывает, и его надо корректировать. Для этого и можно использовать сглаженное за достаточный период времени значение от акселерометра.
2МаркАнтоний это хорошие аклерометры (наверное), но для измерения крена объекта двигающегося с ускорением, их не достаточно…

Syberian
msv:

У нас разное представление о гироскопе

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

astr
msv:

У нас разное представление о гироскопе (вовсе не уверен, что мое правильное). В моем представлении гироскоп выдает абсолютное значение крена, независимо от скорости его изменения, как бы с постоянной составляющей. Поэтому непонятно зачем еще что-то складывать/интегрировать.

В основном электронные гироскопы выдают скорость поворота, которую нужно проинтегрировать для получения крена. Вы же не собираетесь устанавливать механический? На счет балки вертолета - если пилот не будет подруливать хвостовым ротором, за 5-минутный полет балка сделает несколько оборотов.

Nick_Shl
msv:

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

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

msv:

У нас разное представление о гироскопе (вовсе не уверен, что мое правильное). В моем представлении гироскоп выдает абсолютное значение крена, независимо от скорости его изменения, как бы с постоянной составляющей. Поэтому непонятно зачем еще что-то складывать/интегрировать.

На самом деле(как уже заметили выше) пьезогироскопы - это угловые акселерометры, выдающие скорость поворота относительно оси. Самый простой датчик выдаёт скорость в виде аналогового сигнала, пропорционального скорости поворота. Как мне думается, что бы получить угол, нужно опрашивать датчик с высокой частотой и высчитывать угол поворота с предыдущего отсчёта как скорость поворота * время прошедшее с последнего измерения. Соответственно, что бы отслеживать изменение угла, получаемые значения нужно суммировать…

Русинов_Сергей
Nick_Shl:

это угловые акселерометры, выдающие скорость

Акселерометр не выдаёт скорость, он выдаёт ускорение со знаком. Т.о. для компенсации отклонения от оси необходимо выдать ускорение с противоположным знаком.
З.Ы. Про системы регулирования здесь писать ничего не буду.

Nick_Shl
Русинов_Сергей:

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

Воспользовался термином не подумав. Зато могу подсказать как сделать в домашних условиях простейший акселерометр для баловства 😃.

Русинов_Сергей
Nick_Shl:

могу подсказать как сделать в домашних условиях простейший акселерометр для баловства

Предпочитаю изделия от аналоговых девиц… 😃

msv

Лучший гироскоп - это трехмерный компас

Была такая мысль… Даже уже начал заказывать сет HMC1055. Но подумав, понял, что по одному вектору невозможно построить однозначную 3D систему координат, а значит и посчитать углы (тк. просто непонятно от каких осей их считать). Буду рад выслушать опровержение.
Про гироскопы возможно пишу бред, т.к с ними не сталкивался, сильно не ругайте. Но в моем впечатлении просто угловой аксель это еще не гироскоп. А если уж назвался гироскопом то обязан выдавать угол. И не важно на каком принципе этот угол определяется: механический волчок или угловой аксель+какой-то хитрый вычислитель/интегратор.

Зато могу подсказать как сделать в домашних условиях простейший акселерометр для баловства

Отвес? 😃 Поделитесь конечно…
ЗЫ Кто-нибудь заказывал FMA-голову? Поделитесь впечатлениями, в тч. насколько сложно заказать в Россию. Можно в личку…

Vad64

Трехмерного компаса недостаточно. Например, в ситуации, когда одна ось параллельна линиям магнитного поля Земли, будет полная неоднозначность положения.
Гироскопами тут называют датчики угловой скорости. Они выдают именно угловую скорость, а не ускорение и не угол. Если интересно, посмотрите на моей страничке проект с использованием такого датчика. Акселерометры - это совсем другие устройства и они выдают линейное ускорение.

Syberian
msv:

Буду рад выслушать опровержение.

Не для форума. Завтра отпишу в личку. Это вас убедит 😉

msv

В системе координат 3d компаса вектор S-N будет однозначно определен при любом положении. Но что делать дальше?.. Мне нужны углы с плоскостью параллельной земле. У меня есть вектор в этой плоскости. Но вектор это только две точки, а для определения плоскости в пространстве нужно три… Заинтригован…
2Vad64
За ликбез по гироскопам- спасибо. ( Теперь дошло, что хотел интегрировать Nik_Shl. 😃 ) Посмотрел проект, серьезный подход, спасибо.

Syberian

А графический OSD это отличная идея! Повторил видеодрайвер. Жалко, что весь порт занимает… У меня влезло в 4 килобайта срама на ATMEGA644. Тем более, что 20 МГц это его штатная частота.
В промежутках по краям экрана можно что-то считать + 224 байта памяти в запасе. Неплохо, учитывая, что видеопамять вся внутри и доступ быстрый донельзя. К тому же, основной процесс в Main протекает и не критичен по времени.
Надо попробовать привинтить к нему какой-нибудь 3D интерфейс, ибо драйвер занимает всего 40 слов, а быстродействия осталось еще 10 MIPS 😃 😁
Также есть идея: использовать внутреннюю генерацию синхро, если пропадает внешняя. Так при отказе камеры, например, в облаке от сырости, можно будет и по приборам лететь 😃

Aleksey_Gorelikov

Автору респект!

Сергей, а не пробовал картинку реалистичнее делать? В плане чтоб “освещение” не слева направо было, а в соответвии с солнцем ? 😃